Как настроить ссылки на подсписки в LaTeX?

у меня есть структура list/sublist в моем документе 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.ля." Есть ли способ заставить ref использовать нумерацию исходного перечисления? Если нет, нужно ли создавать правильные ссылки на элементы в подсписке с более чем 26 элементами?

2 ответов


Я смотрю на свою копию LaTeX Companion, p.129, и из того, что я вижу, я бы предложил что-то вроде следующего:

\renewcommand{\theenumii}{\arabic{enumii}}
\renewcommand{\labelenumii}{\theenumi.\theenumii.}
\makeatletter
\renewcommand{\p@enumii}{\theenumi.}
\makeatother

У меня нет доступа к рабочей среде LaTeX, чтобы проверить это на данный момент.


Так за 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{\p@enumii}{\theenumi.}
\renewcommand{\p@enumiii}{\theenumi.\theenumii.}
\makeatother

...

\end{enumerate}

Мне потребовалось слишком много времени, чтобы понять это. Надеюсь, это поможет, так как эта нить помогла мне.

спасибо.