LaTeX 可以执行简单的数学运算吗?

LaTeX 可以执行简单的数学运算吗?

可能重复:
如何自动计算 LaTeX 表中的总和?

LaTeX 可以做简单的数学运算吗?

我有一张包含两列的表,并且想要自动添加第三列,其中包含前两列之间的差异:

+------+------+-------+
|  M1  |  M2  | M2-M1 |
+------+------+-------+
| 80.1 | 95.2 | +15.1 |
+ ...  | ...  |  ...  |

我可以编写一个 Perl 脚本来生成第三列,但如果 LaTeX 可以直接做到这一点就更好了……

答案1

Herbert 和 Alexander 已经提到过spreadtab。这是一种无需使用它的简单方法。

\documentclass{article}
\usepackage{booktabs}
\usepackage{fp}
\begin{document}
\def\printnum#1{%
        \expandafter\printnumaux#1\relax
}
\def\printnumaux#1.#2#3\relax{%
        $\ifnum#1>0+\fi#1.#2$%
}
\def\row#1#2{#1&#2&\FPsub\r{#2}{#1}\printnum\r\\}
\begin{tabular}{rrr}
\toprule
M1&M2&M2$-$M1\\
\midrule
\row{80.1}{95.2}
\row{37.2}{73.1}
\bottomrule
\end{tabular}
\end{document}

\row宏接受两个参数并生成所需的三列。减法由fp包完成,数字格式化由宏完成\printnum

答案2

我不知道如何轻松地“自动”添加第三列。也许你可以自己起草第三列,然后让 LaTeX 添加内容。

这可以通过spreadtab 来完成,但使用LuaTeX 效果会更好。

答案3

你可以用包轻松完成spreadtab

相关内容