我正在使用该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
在定义两个列表之后,添加到你的序言中。