我在使用该包裹时遇到了一个新问题etoolbox
。
事实上,我想在 LaTeX 文档中对我的图形、表格等进行编号......
但是,当我将计数器的值添加到列表中时,它不会添加当前值(即增加的值),而是添加最终值。就像在etoolbox
执行文档末尾的命令一样。
请问您有什么解决办法吗?
谨致
托马斯·福切特
PS:使用并expl3
不能解决问题。
\documentclass{minimal}
\usepackage{etoolbox}
%COMMAND FOUND ON INTERNET AND WORKS
% \printlist[<sep>]{<list macro>}
\newcommand{\printlist}[2][,]{{% Print list
% http://tex.stackexchange.com/a/89187/5764
\def\listsep{\def\listsep{#1}}% Delayed execution of list separator
\renewcommand{\do}[1]{\listsep`##1'}%
[\dolistloop\languagelist]
}}
\newcounter{test}
\stepcounter{test}
\begin{document}
%Add 1
\listgadd{\languagelist}{\thetest}
\stepcounter{test}
%Add 2
\listgadd{\languagelist}{\thetest}
%Expected result : ['1','2']
%Result : ['2','2']
\printlist{\languagelist}
\end{document}
答案1
用于\listxadd
扩大价值:
\documentclass{minimal}
\usepackage{etoolbox}
%COMMAND FOUND ON INTERNET AND WORKS
% \printlist[<sep>]{<list macro>}
\newcommand{\printlist}[2][,]{{% Print list
% http://tex.stackexchange.com/a/89187/5764
\def\listsep{\def\listsep{#1}}% Delayed execution of list separator
\renewcommand{\do}[1]{\listsep`##1'}%
[\dolistloop\languagelist]
}}
\newcounter{test}
\stepcounter{test}
\begin{document}
%Add 1
\listxadd{\languagelist}{\thetest}
\stepcounter{test}
%Add 2
\listxadd{\languagelist}{\thetest}
%Expected result : ['1','2']
%Result : ['2','2']
\printlist{\languagelist}
\end{document}