I'm typesetting in LaTeX, and I'd like to display a "variable" (in my case, a reference \ref{blah} to an item number in list) in roman rather than the default arabic. Is there an easy way to do this? Thanks for any pointers!
You can try \def\theenumi{\roman{enumi}}
inside an enumerate
environment -- this changes both labels and refs, but you'll have to then explicitly undo it (if you want to).
lowercase
\romannumeral 0\ref{blah}\relax
uppercase
\uppercase\expandafter{\romannumeral 0\ref{blah}}
0
is needed because of if \ref{blah}
is ??
then \romannumeral
gives an error and \romannumeral 0??
gives ??
. \relax
is needed because of if there are digits after \ref{blah}
you have a wrong result. For example, if \ref{blah}
is 1
then \romannumeral 0\ref{blah}0
gives x
rather than i
. And \romannumeral 0\ref{blah}\relax 0
gives x0
as you wish. –
Fluted What are the references to? Usually, you would redefine how that particular counter is displayed.
For example, to change how a section number is displayed, you could use the following command:
\renewcommand\thesection{\Roman{section}}
Now, each command that internally uses \thesection
will print the section number as a roman numeral.
Similar commands work for chapter
, figure
etc.
\roman
(lowercase r
) yield lowercase roman numerals.
For lowercase: {\romannumeral \ref{blah}}
For uppercase: \uppercase\expandafter{\romannumeral \ref{blah}}
A good solution seems to me to declare
\renewcommand{\theenumi}{\roman{enumi}}
\renewcommand{\labelenumi}{(\theenumi)}
in the header and then cite by \eqref{blah}
to get your (iii) for the third item. (Note that \eqref
requires the amsmath package. Alternatively, write (\ref{blah})
.)
\eqref
requires the inclusion of amsmath
, I guess?. –
Sandor © 2022 - 2024 — McMap. All rights reserved.