Я печатаю в LaTeX и хочу отображать «переменную» (в моем случае ссылку \ref{blah} на номер элемента в списке) на римском языке, а не на арабском по умолчанию. Есть простой способ сделать это? Спасибо за любые указатели!
латекс: печать переменной римскими цифрами
Ответы (5)
Вы можете попробовать \def\theenumi{\roman{enumi}}
внутри среды enumerate
-- это изменит как метки, так и ссылки, но вам придется отменить это явно (если вы хотите).
нижний регистр
\romannumeral 0\ref{blah}\relax
верхний регистр
\uppercase\expandafter{\romannumeral 0\ref{blah}}
0
необходим, потому что если \ref{blah}
равно ??
, то \romannumeral
выдает ошибку, а \romannumeral 0??
выдает ??
. \relax
необходимо, потому что если после \ref{blah}
есть цифры, у вас будет неправильный результат. Например, если \ref{blah}
равно 1
, то \romannumeral 0\ref{blah}0
дает x
, а не i
. А \romannumeral 0\ref{blah}\relax 0
дает x0
как хотите.
- person Alexey Malistov; 06.04.2010
На что ссылаются на? Обычно вы переопределяете способ отображения этого конкретного счетчика.
Например, чтобы изменить способ отображения номера раздела, вы можете использовать следующую команду:
\renewcommand\thesection{\Roman{section}}
Теперь каждая команда, которая внутри использует \thesection
, будет печатать номер раздела в виде римской цифры.
Аналогичные команды работают для chapter
, figure
и т.д.
\roman
(строчные r
) дают строчные римские цифры.
Для нижнего регистра: {\romannumeral \ref{blah}}
Для верхнего регистра: \uppercase\expandafter{\romannumeral \ref{blah}}
Мне кажется хорошим решением объявить
\renewcommand{\theenumi}{\roman{enumi}}
\renewcommand{\labelenumi}{(\theenumi)}
в заголовке, а затем процитируйте \eqref{blah}
, чтобы получить (iii) для третьего пункта. (Обратите внимание, что для \eqref
требуется пакет amsmath. Либо напишите (\ref{blah})
.)