Go to file
Bastien Dumont ac73606c99 Don't indent paragraphs in the changelog 2024-04-14 20:58:03 +02:00
doc Bump version number 2024-04-13 12:27:53 +02:00
test Switched tests to lualatex 2024-04-14 20:56:51 +02:00
tex Updated metatada in t-crossrefenum.tex 2024-04-13 12:35:24 +02:00
CHANGELOG.md Don't indent paragraphs in the changelog 2024-04-14 20:58:03 +02:00
LICENSE.txt Initial commit 2022-11-13 19:32:36 +01:00
README.md Bump version number 2024-04-13 12:27:53 +02:00
release-to-CTAN.sh Updated the template for Pandoc and slightly improved the manual 2023-02-20 21:35:57 +01:00


crossrefenum 2024/04/13 v1.1

Smart typesetting of enumerated cross-references for various TeX formats.

Copyright (C) 2022-2024 by Bastien Dumont bastien.dumont@posteo.net

CTAN: macros/generic/crossrefenum


crossrefenum lets TeX manage the formatting of bunches of cross-references for you. It features:

  • Automatic collapsing of references;
  • Support for references by various criteria, including page and note number, line number in ConTeXt and edpage and edline when used in conjunction with reledmac;
  • Handling of references combining two criteria (e.g. by page and note number);
  • Extension mechanisms to add support to other types of references without modifying the internal macros.

Note that sorting is not supported. I assume that users know in what order the labels they refer to appear in their document.

It is written in Plain TeX as much as possible in order to make it compatible with a wide array of formats. For the moment, it works out of the box with ConTeXt and LaTeX.

List of files

  • LICENSE.txt: GNU Public License v. 3
  • README.md:
  • doc/:
    • crossrefenum.md: Markdown source of the user guide to be typeset with Pandoc.
    • crossrefenum.pdf: User guide typeset with ConTeXt.
    • fixes.lua: Lua filter to be used with Pandoc for some typographic improvements.
    • LICENSE_FDL_1-3.md: GNU Free Documentation License
    • Makefile: Provides the target crossrefenum.pdf with the required instructions for Pandoc
    • TEMPLATE_crossrefenum.context: Template to be used with Pandoc.
  • test/:
    • config-crossrefenum.tex: Configuration macros for crossrefenum specific: to the test file.
    • config-formats.tex: Preambles to be used in the test file for all supported formats.
    • data-common.tex: Text input to be used with all formats.
    • data-lines.tex: Text input to test line numbering.
    • data-reledmac.tex: Text input for reledmac.
    • format-specific-defs.tex: Definition of the macros used in the test and data files that depend on format-specific macros.
    • main-test_context.pdf: Test file generated with ConTeXt.
    • main-test_latex.pdf: Test file generated with LaTeX.
    • main-test.tex: Main test file.
    • Makefile: Provides targets to generate the test file (test for LaTeX, test-context) and to check its correctness.
    • validated_output: Used by make check.
  • tex/
    • crossrefenum.sty: Wrapper for LaTeX.
    • crossrefenum.tex: Macro file.
    • t-crossrefenum.tex: Wrapper for ConTeXt.

Manual installation

In your local texmf tree, create tex/generic/crossrefenum and put in it crossrefenum.tex and, if required, crossrefenum.sty and/or t-crossrefenum.tex.


Copyright 2022-2024 by Bastien Dumont (bastien.dumont@posteo.net)

crossrefenum.tex is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

crossrefenum.tex is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with crossrefenum.tex. If not, see https://www.gnu.org/licenses/.