CTAN Comprehensive TeX Archive Network

CTAN update: refenums

Date: October 20, 2026 7:22:43 AM CEST
Oliver Kopp submitted an update to the refenums package. Version: 2.0.0 License: lppl1.3 Summary description: Define named items and provide back-references with that name Announcement text:
Completely reworked package, so that usage is possible with less and shorter commands. ### Added - `\setupRefEnum` sets up an enum with key-value options (`separator`, `enclosing`, `combined`). - `\setupRefEnum` accepts `titleformat` to format the title of each element. - `\setupRefEnum` accepts `plural` for the plural of the print name. - `\refEnumFullColon` is the new name of `\refEnumFullT`; the old name still works. - `\refEnum*`, `\refEnumFull*`, and `\refEnumFullColon*` prefix the print name, e.g., "Requirement Req-1 ("Detect concurrent modification")". - `\refEnumTitle` prints the title of an element. - `\setupRefEnum` defines shorthands: `\def<EnumId>` for `\defRefEnum{<EnumId>}`, `\def<EnumId>Inline` for `\defRefEnumInline{<EnumId>}`, and `\ref<EnumId>`, `\ref<EnumId>Full`, `\ref<EnumId>FullColon`, `\ref<EnumId>Title` for the corresponding `\refEnum…{<EnumId>}`. Documents defining such commands themselves need the package option `shorthands=false`. - The full LPPL license text is now included as `LICENSE`. - `\setupRefEnums` accepts a second optional argument naming the command each element is wrapped in (e.g., `subsection`). The optional argument of `\defRefEnum` still overrides it per element. ### Changed - `\ref` prints the identifier, e.g., `Req-1` instead of `1`. - Titles of elements are set in italics, unless the elements are wrapped in another command, e.g., `subsection`. Use `titleformat={}` for the former upright titles. - `refenums-demo.pdf` shows the LaTeX code of each example next to its output. - `refenums-demo.tex` demonstrates the package with requirements and a decision record (MADR style) modeled on JabRef. - `demo.tex` was renamed to `refenums-demo.tex`, so that `texdoc refenums-demo` finds it, and is typeset with LuaLaTeX. - refenums references with zref-clever instead of cleveref; `\zcref` prints the print name and the identifier, e.g., "Risk R1" or "Risks R1 and R2". `\cref` prints the identifier, like `\refEnum`, if cleveref is loaded before `\setupRefEnum`. - refenums requires LaTeX 2023-06-01 and zref-clever 0.4.0 or later. ### Removed - `README` was removed; `README.md` is the only readme. - `README.pdf` is no longer in the CTAN archive; CTAN renders `README.md`. - `test/demo-sec-param.tex` was removed; `refenums-demo.tex` covers the same case. ### Fixed - The README named the inline command `\defineReferenceableEnumElementInline` instead of `\defRefEnumInline`.
This package is located at https://mirrors.ctan.org/macros/latex/contrib/refenums More information is at https://ctan.org/pkg/refenums
Thanks for the upload. For the CTAN Team Manfred Lotz CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs .

Refenums – Define named items and provide back-references with that name

The package provides commands to define numbered items with a title, such as requirements, risks, or milestones, and to reference them by identifier, title, or both, with hyperlinks to the definition. For instance, Milestone M1: Specification created can be defined and later on be referenced with M1, Milestone M1, or M1 (Specification created). The references are derived from the definition, so they stay consistent when they change. The package builds on zref-clever, which allows for referencing several items at once, e.g., Risks R1 and R2.

PackageRefenums
Version2.1.0
Copyright2013 Oliver Kopp, Tobias Binz
2014–2026 Oliver Kopp
MaintainerOliver Kopp

Announcements

more

Guest Book Sitemap Contact Contact Author