Изменение печати счетчика только в ссылках

Изменение печати счетчика только в ссылках

У меня следующая проблема: у меня есть счетчик (в моем случае enumi), который я хочу использовать для ссылки с другим именем, чем когда он появляется первым. Есть ли инструмент в Tex/Latex, чтобы сделать это?

Если быть точнее, я хочу написать это в теле документа:

\section{Lorem}
\subsection{Ipsum}

\begin{enumerate}
\item \label{my_item} dolor sit amet
\item consectetur
\end{enumerate}

и список будет выглядеть так:

i) долор сит амет

ii) консектетур

но при использовании \ref{my_item}getting 1.1.i (предполагая, что "Ipsum" - это подраздел 1.1). Таким образом, используя:

\renewcommand{\theenumi} {\bf \arabic{section}.\arabic{subsection}.\roman{enumi}~}

это не то, чего я хочу.

решение1

Ваша цель форматирования может быть достигнута без загрузки дополнительных пакетов LaTeX (хотя, конечно, нет ничего плохого в загрузке подходящих пакетов). Просто добавьте следующий код в преамбулу:

\renewcommand\labelenumi{\roman{enumi})} % determine look of label
\renewcommand\theenumi\labelenumi
\makeatletter
\renewcommand\p@enumi{\thesubsection.} % "prefix" for cross-references
\makeatother

Полная версия MWE:

введите описание изображения здесь

\documentclass{article} 
\renewcommand\labelenumi{\roman{enumi})}
\renewcommand\theenumi\labelenumi
\makeatletter
\renewcommand\p@enumi{\thesubsection.}
\makeatother
\begin{document} 

\section{Lorem}
\subsection{Ipsum}

\begin{enumerate}
\item \label{my_item} dolor sit amet
\item consectetur
\end{enumerate}

\section{Dolor}

A cross-reference to item \ref{my_item}.
\end{document}

Приложение: Того же результата можно добиться, загрузив enumitemпакет следующим образом:

\usepackage{enumitem}
\setlist[enumerate,1]{label*=\roman*),
                      ref=\thesubsection.\roman*)}

Связанный контент