带有 enumitem 的内联列表的计数器名称

带有 enumitem 的内联列表的计数器名称

我正在使用该enumitem包,需要在环境结束后访问计数器值。使用标准

\newlist{Example}{enumerate}{2}

例如,计数器值只是列表名称i后面附加一个:Examplei

当声明内联列表时计数器名称是什么,例如

\newlist{Example*}{enumerate*}{2}%

红色突出显示的值不正确,应为2

在此处输入图片描述

笔记:

  • 理想情况下,我更希望内联版本使用与非内联版本相同的计数器。但对于遇到此问题的其他人来说,仅访问内联计数器的解决方案可能会有用。

代码:

\documentclass{article}
\usepackage{enumitem}
\usepackage{xcolor}

\newlist{Example}{enumerate}{2}%
\setlist[Example]{label={\arabic*.}}

\newlist{Example*}{enumerate*}{2}%
\setlist[Example*]{itemjoin={\hspace*{2.0em}}, label={\arabic*.}}


\begin{document}
\textbf{Vertical List}
\begin{Example}
    \item First V item.
    \item Second V item.
    \item Third V item.
\end{Example}

There were \arabic{Examplei} elements in prior list.

\bigskip
\textbf{Horizontal List}:
\begin{Example*}
    \item First H item.
    \item Second H item.
\end{Example*}

\medskip
%% How do I get the correct count here?
There were \textcolor{red}{\arabic{Examplei}} elements in prior list.

\end{document}

答案1

它是Example*i

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem}
\usepackage{xcolor}

\newlist{Example}{enumerate}{2}%
\setlist[Example]{label={\arabic*.}}

\newlist{Example*}{enumerate*}{2}%
\setlist[Example*]{itemjoin={\hspace*{2.0em}}, label={\arabic*.}}


\begin{document}
\textbf{Vertical List}
\begin{Example}
    \item First V item.
    \item Second V item.
    \item Third V item.
\end{Example}

There were \arabic{Examplei} elements in prior list.

\bigskip
\textbf{Horizontal List}:
\begin{Example*}
    \item First H item.
    \item Second H item.
\end{Example*}

\medskip
%% How do I get the correct count here?
There were \textcolor{red}{\arabic{Example*i}} elements in prior list.

\end{document}

如果您希望内联枚举Example*使用相同的计数器Example,您可以添加

\makeatletter
\expandafter\let\csname c@Example*i\endcsname\c@Examplei
\makeatother

在定义两个列表之后,添加到你的序言中。

相关内容