如何使用自己的命令将Latex中的两个数字求和?

Fat*_*mmy 5 latex sum

我必须在LaTeX中对两个数字(整数)求和。我还必须“打印”总和的过程。因此,它看起来像是5 + 2 = 7。有任何想法吗?到目前为止,我的代码:

\newcommand{\Sum}
{\newcounter{cnt}
\setcountter{cnt}{1+1}
}
Run Code Online (Sandbox Code Playgroud)

Phe*_*nik 8

在 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)

  • @FatTommy 您不能像那样在 `\numexpr` 中使用计数器的名称。计数器的名称只是对实际计数器的符号引用。请记住,TeX 是一种排版系统,因此任何没有特殊含义的东西(例如,以“\”开头的控制序列)都只是印刷材料。我更新了我的答案以满足您的需求。 (2认同)

Fat*_*mmy 6

我已经成功解决了这个问题。

\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)


Wer*_*ner 5

也许可以使用不同的语法。您可以为运算符提供操作数,而不是提供每个参数来计算总和。这样可以使您在输入方面更加灵活,还可以提供更多功能:

打印输出

\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格式进行可打印的计算。