获取引用以显示对嵌套项的完整、累积引用

获取引用以显示对嵌套项的完整、累积引用

我正在使用enumitem并尝试仅使用其当前级别来标记项目,但使用其完整的“绝对”值来引用它们。以下是示例文档:

\documentclass[letterpaper]{article}
\usepackage{enumitem}
\newlist{parin}{enumerate}{4}
\setlist[parin,1]{label=\arabic*.,ref=\arabic*,leftmargin=*}
\setlist[parin,2]{label=(\alph*),ref=\theenumi\alph*,leftmargin=*}
\setlist[parin,3]{label=(\arabic*),ref=\theenumii\arabic*,leftmargin=*}
\setlist[parin,4]{label=(\roman*),ref=\theenumiii\roman*,leftmargin=*}
\begin{document}
\begin{parin}
\item Foo
\label{foo}
\begin{parin}
\item Bar
\label{bar}
\begin{parin}
\item Baz
\label{baz}
\begin{parin}
\item Label Me
\label{labelme}
\end{parin}
\end{parin}
\end{parin}
\end{parin}
\ref{foo}
\ref{bar}
\ref{baz}
\ref{labelme}
\end{document}

预期输出的引用如下所示:

1 1a 1a1 1a1i

但实际上,它们显示为:

1 0a 1 i

希望得到一些指导,谢谢!

答案1

您的新列表是,因此parin相关计数器是parini、、,而不是、、:pariniipariniiienumienumiienumiii

\documentclass[letterpaper]{article}
\usepackage{enumitem}
\newlist{parin}{enumerate}{4}
\setlist[parin,1]{label=\arabic*.,ref=\arabic*,leftmargin=*}
\setlist[parin,2]{label=(\alph*),ref=\theparini\alph*,leftmargin=*}
\setlist[parin,3]{label=(\arabic*),ref=\theparinii\arabic*,leftmargin=*}
\setlist[parin,4]{label=(\roman*),ref=\thepariniii\roman*,leftmargin=*}
\begin{document}
\begin{parin}
\item Foo
\label{foo}
\begin{parin}
\item Bar
\label{bar}
\begin{parin}
\item Baz
\label{baz}
\begin{parin}
\item Label Me
\label{labelme}
\end{parin}
\end{parin}
\end{parin}
\end{parin}
\ref{foo}
\ref{bar}
\ref{baz}
\ref{labelme}
\end{document}

在此处输入图片描述

相关内容