如何设置一个计数器以使另一个计数器的值加倍?

如何设置一个计数器以使另一个计数器的值加倍?

标题说明了一切。让我们来反驳一下:

\newcounter{myCount}
\newcounter{anotherCount}

我设置myCount为某个值例如10

\setcounter{myCount}{10}

如何将计数器anotherCount的值设置为两倍myCount?我尝试过类似

\setcounter{anotherCount}{2\value{myCount}}

\setcounter{anotherCount}{2\themyCount}

但这些都不起作用。

答案1

“官方” LaTeX 方式(仅使用LaTeX:文档准备系统)是使用\addtocounter,如评论中提到的

\documentclass{article}
\newcounter{A}
\newcounter{B}
\begin{document}
\setcounter{A}{3}
\setcounter{B}{\value{A}}
\addtocounter{B}{\value{A}}

\arabic{A} and \arabic{B}
\end{document}

加载该calc包(核心 LaTeX2e 系统的一部分)允许

\documentclass{article}
\usepackage{calc}

\newcounter{A}
\newcounter{B}
\begin{document}
\setcounter{A}{3}
\setcounter{B}{2*\value{A}}

\arabic{A} and \arabic{B}
\end{document}

当然,您也可以使用低级 TeX 或 e-TeX 构造,如其他答案中所述。

答案2

\documentclass{minimal}
\begin{document}
\newcounter{A}    \newcounter{B}
\setcounter{A}{3} \setcounter{B}{\numexpr\theA*2\relax}

\theA\ and \theB

\end{document}

答案3

不要忘记计数器与长度不同。使用命令\advance\divide\multiply处理计数器。

例如,此代码将计算印刷图纸的值(在文档末尾运行它):

\newcount{\podp}
\newcount{\podpfr}
\podp=\c@page
\podpfr=\c@page
\divide\podp by 16
\multiply\podp by 100
\multiply\podpfr by 100
\divide\podpfr by 16
\advance\podpfr by -\podp
\divide\podp by 100
\hbox to 0pt{Формат $60\!\times\!84\;1/16$}\hfil Усл.печ.л.~%
{\the\podp.\ifnum\podpfr<10 0\fi\the\podpfr}\hfil

相关内容