LaTeX 数学运算

LaTeX 数学运算

我试图将两个值相加,然后将它们乘以一个数字,但为了按此顺序进行操作,我必须使用括号。问题是,当我添加括号时,会出现编译错误。

下面是我正在做的事情的一个例子:

 \value{#2} is 10. 
 \value{#1} is 5.

(\value{#1}+\value{#2})*.5

我想要达到的值是 7.5。上面的代码只有在添加括号时才会出错。

如果我做不带括号的等式,我会得到 10。

重要提示,我无法知道#1或中的 2 个值#2,我仅将值作为示例。

为了获得更多上下文,这是在节点中完成的。

\path (\value{#1}+\value{#2}*.5,-\value{cou}),-\value{cou}) node(msg) {node msg}

我现在的解决方案是制作一个计数器并将两个值相加然后乘以 1/2。

当前解决方案

\newcounter{avg}
\addtocounter{avg}{\value{#1}+\value{#2}}
\path (\value{avg}*.5,-\value{cou}) node(msg) {node msg}

答案1

如果有更多背景信息就更好了。也许这不是最终答案。

我觉得xfp,与fpeval,可以为您做到这一点。这是一个使用节号进行加法和乘法的简单示例。

\documentclass{article}

\usepackage{xfp}

\def\a{\fpeval{\value{section}*2+1}}

\def\b{\fpeval{round(sqrt(2)+2,3)}}

\newcommand\ccc[2]{%
    \fpeval{(#1 * #2)*.5}}

\begin{document}

\section{test 1}
\a
\section{test 2}
\a

\begin{center}
\b

\ccc{2}{5}
\end{center}

\end{document}

输出: 在此处输入图片描述

相关内容