CTAN update: refenums
Datum: 20. Oktober 2026 07:22:43 MESZ
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 .
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 (
.
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., Specification created
)Risks R1 and R2
.
| Paket | Refenums |
| Version | 2.1.0 |
| Copyright | 2013 Oliver Kopp, Tobias Binz 2014–2026 Oliver Kopp |
| Betreuer | Oliver Kopp |