标题说明了一切。让我们来反驳一下:
\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