Как настроить ссылки на подсписок в LaTeX?
У меня есть структура списка/подписок в моем документе LaTeX. По умолчанию подсписчик разделяется буквами, поэтому вы получаете следующее:
1. Item
(a) sub item
(b) sub item
В моем документе у меня есть более 26 подпунктов, поэтому я столкнулся с ошибкой переполнения счетчика, которую я исправил, переписав ярлык поддерева, чтобы они теперь выглядели следующим образом:
1. Item
1.1 sub item
1.2 sub item
Я поместил ярлык на один из элементов, чтобы позже я мог ссылаться на конкретный шаг. Проблема заключается в том, что при визуализации ссылки она отображается с использованием буквы, а не числа подэлемента.
Вот пример документа, который показывает проблему.
\documentclass[11pt]{report}
\begin{document}
\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}}
\begin{enumerate}
\item Item
\begin{enumerate}
\item \label{lbl} Label here
\end{enumerate}
\end{enumerate}
Ref: \ref{lbl}
\end{document}
Это выглядит так:
1. Item
1.1 Label here
Ref: 1a
Поэтому вместо того, чтобы говорить "Ref: 1.1", он использует "Ref: 1.a". Есть ли способ сделать \ref использовать нумерацию нумерации источника? Если нет, есть ли способ создать правильные ссылки на элементы в подсписке с более чем 26 элементами?
Ответы
Ответ 1
Я смотрю на свою копию The LaTeX Companion, стр .129, и из того, что я вижу, я бы предложил что-то вроде следующего:
\renewcommand{\theenumii}{\arabic{enumii}}
\renewcommand{\labelenumii}{\theenumi.\theenumii.}
\makeatletter
\renewcommand{\[email protected]}{\theenumi.}
\makeatother
У меня нет доступа к рабочей среде LaTeX, чтобы проверить это на данный момент.
Ответ 2
Итак, для 2 вложенных списков это должно быть сделано следующим образом:
\begin{enumerate}
\renewcommand{\theenumi}{\arabic{enumi}}
\renewcommand{\theenumii}{\arabic{enumii}}
\renewcommand{\theenumiii}{\arabic{enumiii}}
\renewcommand{\labelenumi}{\theenumi.}
\renewcommand{\labelenumii}{\theenumi.\theenumii.}
\renewcommand{\labelenumiii}{\theenumi.\theenumii.\theenumiii.}
\makeatletter
\renewcommand{\[email protected]}{\theenumi.}
\renewcommand{\[email protected]}{\theenumi.\theenumii.}
\makeatother
...
\end{enumerate}
Мне было слишком много времени, чтобы понять это.
Надеюсь, это поможет, поскольку эта нить помогла мне.
Спасибо.