我正在尝试将这种表达添加到我的作品中:
我知道实现此目的的最佳方法是使用包alignat
内的环境amsmath
,因此我尝试了以下方法:
\begin{alignat*}{3}
m && \text{módulo} && m>0\\
a && \text{multiplicador} && 0<a<m\\
c && \text{constante aditiva} && 0\leq c<m\\
x_0 && \text{valor inicial} && 0\leq x_0 <m
\end{alignat*}
但是我得到的间距确实很奇怪,我已经阅读了amsmath
文档,但我无法弄清楚问题是什么。
这是我得到的:
我的版本是西班牙语,我正在使用polyglossia
,但我认为这不相关。无论如何,我正在使用xelatex
,和book
课程。
我还想知道是否有办法在具有中间文本的同一环境中写出整个等式,或者我是否需要在最后为居中等式创建另一个数学环境。
答案1
要记住的重要事情是
alignat
没有在列之间添加空间;- 列数
rl
与参数指定的对数相同。
因此,如果您希望符号、描述和条件左对齐,则应将它们放在 之后&
,并用另一个&
来分隔各对:
\begin{alignat*}{3}
& m \quad && \text{módulo} \quad && m>0\\
& a \quad && \text{multiplicador} \quad && 0<a<m\\
& c \quad && \text{constante aditiva} \quad && 0\leq c<m\\
& x_0 \quad && \text{valor inicial} \quad && 0\leq x_0 <m
\end{alignat*}
通过添加,\quad
我们可以分离列。没有必要在所有行上指定它们,但这样做可以省去猜测最宽的条目是什么的时间。
但是,这会使整个对齐居中。您可以使用tabular
(和array
包)获得非居中对齐:
\begin{tabular}{@{}>{$}l<{$}l>{$}l<{$}@{}}
m & módulo & m>0\\
a & multiplicador & 0<a<m\\
c & constante aditiva & 0\leq c<m\\
x_0 & valor inicial & 0\leq x_0 <m
\end{tabular}