我想实现这一点:每次我写,比如说\mypair
,它应该输出,比如说#Pair 1
,然后在下次使用时#Pair 2
,等等。
(1)我该怎么做? (2)如何添加重置或恢复计数器的选项?
答案1
这定义了命令\resetmycounter
、\resumemycounter
和\mypair
。当您使用 时\resetmycounter
,它会记住该值并使用新的计数器重新开始。当您使用 时,\resumemycounter
它会忘记当前值并返回到上一个值。
\documentclass{article}
\newcounter{mycountnum}
\newcounter{mycount}
\newcommand\resetmycounter{
\stepcounter{mycountnum}
\ifcsname themycount\roman{mycountnum}\endcsname \else
\newcounter{mycount\roman{mycountnum}}
\fi
}
\newcommand\resumemycounter{\addtocounter{mycountnum}{-1}}
\newcommand\mypair{%
\stepcounter{mycount\roman{mycountnum}}
\#Pair \csname themycount\roman{mycountnum}\endcsname
}
\begin{document}
\mypair
\mypair
\mypair
\mypair
\mypair
Reset:
\resetmycounter
\mypair
\mypair
\mypair
Reset:
\resetmycounter
\mypair
Resume:
\resumemycounter
\mypair
Resume:
\resumemycounter
\mypair
\mypair
Reset:
\resetmycounter
\mypair
\end{document}
答案2
正如您所猜测的,您需要一个计数器。当您定义计数器时,假设\newcounter{Test}
还\theTest
定义了一个将打印数字的命令。如果您愿意,您可以重新定义它以其他方式打印它,但如果不了解如何使用它,我不建议将其放在这里#Pair
。无论如何,您需要在使用计数器之前增加它,使用\stepcounter
或完成\refstepcounter
。因此,定义一个增加并打印计数器的命令,如下\myTest
例所示。
要重置计数器\setcounter{Test}{0}
,您可以执行 ,这是手动形式。您还可以使用可选参数将\newcounter
其重置为其他计数器,例如section
。
您可以在以下位置找到有关计数器的更多信息https://en.wikibooks.org/wiki/LaTeX/Counters
\documentclass{article}
\newcounter{Test}[section]
\newcommand\myTest{\stepcounter{Test}\#Pair \theTest}
\begin{document}
\section{First section}
\myTest\ \myTest
\setcounter{Test}{0}
\myTest\ \myTest
\section{New section}
\myTest\ \myTest\ \myTest
\end{document}