仅在参考文献中更改计数器的打印

仅在参考文献中更改计数器的打印

我遇到了以下问题:我有一个计数器(在我的情况下enumi),我想用与第一次出现时不同的名称来引用它。Tex/Latex 中是否有工具可以做到这一点?

更准确地说:我想在我的文档正文中写下这个:

\section{Lorem}
\subsection{Ipsum}

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

并使列表显示为:

i)dolor sit amet

ii) 连接

但是使用\ref{my_item}获取 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*)}

相关内容