如何排版基本算术

如何排版基本算术

使用 TeX 排版基本算术的最佳方式是什么,就像在学校里做的那样——例如,排版方程式

 356
+ 42
 ---
 398

这样写?

答案1

您可以定义一个命令来处理这个问题:

\documentclass{article}
\usepackage{array}
\makeatletter
\def\ae@arithmetic{\@ifnextchar[%]
  {\@ae@arithmetic}
  {\@ae@arithmetic[+]}}
\def\@ae@arithmetic[#1]#2#3{%%
  \def\ae@tmp{*}%%
  \def\ae@tmp@mult{x}%%
  \def\ae@operation{#1}%%
  \ifx\ae@tmp@mult\ae@operation\def\ae@operation{*}\fi
  \edef\ae@result{\number\numexpr#2\ae@operation#3\relax}%%
  \ifx\ae@tmp\ae@operation\def\ae@operation{\times}\fi
  \begin{tabular}{c@{}>{$}r<{$}}
                  & #2 \\
  $\ae@operation$ & #3 \\\hline
                  & \ae@result
  \end{tabular}
  }
\newcommand\arithmetic{\ae@arithmetic}
\makeatother
\pagestyle{empty}
\begin{document}

\begin{tabular}{rcr}
  \arithmetic{1234}{234}     &     &    \arithmetic[-]{1234}{234}   \\[1cm]
  \arithmetic[x]{1234}{234}  & vs. &    \arithmetic[*]{1234}{234}  
\end{tabular}

\end{document}

在此处输入图片描述

在上面的代码中,我假设默认操作是加法,但我允许提供一个可选参数来更改操作。我还允许通过在可选参数中传递*或来表示乘法。x

答案2

一种方法是在右侧放置加法符号(我曾见过),看起来像这样:

\documentclass[]{article}

\usepackage{amsmath,tabu}
\begin{document}

\begin{equation*}
\begin{tabular}{r@{\;}l@{}}
356  \\
42 & +\\
\hline
398
\end{tabular}
\end{equation*}

\end{document}

给出:

数学方程

由于加法符号在左侧,所以代码有点笨重:

\documentclass[]{article}

\usepackage{amsmath,tabu}
\begin{document}

\begin{equation*}
\begin{tabular}{r@{\;}r}
  & 356  \\
+ & 42\\
\hline
& 398
\end{tabular}
\end{equation*}

\end{document}

要得到:

左边有加号的数学符号

相关内容