我必须在LaTeX中对两个数字(整数)求和。我还必须“打印”总和的过程。因此,它看起来像是5 + 2 = 7。有任何想法吗?到目前为止,我的代码:
\newcommand{\Sum}
{\newcounter{cnt}
\setcountter{cnt}{1+1}
}
Run Code Online (Sandbox Code Playgroud)
在 LaTeX 中,首先你必须定义一个计数器:
\newcounter{countername}
Run Code Online (Sandbox Code Playgroud)
然后你可以在这个计数器中放置一个值:
\setcounter{countername}{<value>}
Run Code Online (Sandbox Code Playgroud)
其中<value>是一个整数。或者您可以使用以下命令向此计数器添加一个:
\stepcounter{countername}
Run Code Online (Sandbox Code Playgroud)
或者您可以使用以下命令向该计数器添加一些任意值:
\addtocounter{countername}{<value>}
Run Code Online (Sandbox Code Playgroud)
然后,要访问此计数器,请使用:
\value{countername}
Run Code Online (Sandbox Code Playgroud)
例如,您可以使用此计数器进行计算:
\setcounter{anothercounter}{%
\numexpr\value{countername}+10\relax%
}
Run Code Online (Sandbox Code Playgroud)
然后,当您需要将此计数器的值打印到 pdf 文件时,您可以\the:
\the\value{countername}
Run Code Online (Sandbox Code Playgroud)
或者您可以使用以下之一:
\arabic{countername}
\roman{countername}
\Roman{countername}
\alph{countername}
\Alph{countername}
Run Code Online (Sandbox Code Playgroud)
我已经成功解决了这个问题。
\newcommand{\Sum} [2] {#1 + #2 = \the\numexpr #1 + #2 \relax \\}
Run Code Online (Sandbox Code Playgroud)
然后我使用我的命令:
\Sum {7} {3}
Run Code Online (Sandbox Code Playgroud)
也许可以使用不同的语法。您可以为运算符提供操作数,而不是提供每个参数来计算总和。这样可以使您在输入方面更加灵活,还可以提供更多功能:
\documentclass{article}
\usepackage{xfp}
\NewDocumentCommand{\showcalculation}{o m}{$
\IfValueTF{#1}
{#1}{#2} = \fpeval{#2}
$}
\begin{document}
\showcalculation{7+3}
\showcalculation{1+2-3+4}
\showcalculation[22 \div 7]{22 / 7}
\showcalculation[10 \times 3^{7 - 7}]{10 * 3 ^ (7 - 7)}
\end{document}
Run Code Online (Sandbox Code Playgroud)
的可选参数\showcalculation使用LaTeX格式进行可打印的计算。