问题提出

在对数学公式对齐的时候,碰到数字,由于数字的位数不一样,有时候我们为了美观想使数字右对齐,这样数字比较更加直观,如下图,我们想使得右边的数字右对齐。 alignnumber0 注:上面的式子我们使用了 equation* + aligned 环境。

方法一(使用 alignedat 环境)

LaTeX 代码如下(由 Harish Kumar 提供):
%!TEX program = pdflatex
\documentclass{article}
\usepackage[paperwidth=130mm,paperheight=30mm]{geometry}
\usepackage{mathpazo}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
    \begin{alignedat}{2}
    \text{first value}  & ={} &      12  \\
    \text{second value} & ={} &    1234  \\
    \text{third one}    & ={} & 1234567
    \end{alignedat}
\end{equation*}

\end{document}
效果如下所示: alignnumber1 作者还提供了其他两种方法(1、aligned 环境 + makebox 命令;2、tabular 环境),但是由于或者增加了不必要的空白或是间距不完全符合要求,我们这里不提供代码实现,如果需要学习,可以查看本文后的原文链接。

方法二(使用 array 嵌套在 equation* 环境中)

我个人不太常用 array 环境,但是感觉涉及到对齐的问题,array 总能解决问题,Mico 向我们提供了借助 array 环境的实现方法。LaTeX 源码如下:
%!TEX program = pdflatex
\documentclass{article}
\usepackage[paperwidth=130mm,paperheight=30mm]{geometry}
\usepackage{mathpazo}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{array}{r@{{}={}}r} % "@{{}={}}" inserts correctly-spaced equal sign between the columns
    \text{first value}  &      12  \\
    \text{second value} &    1234  \\
    \text{third one}    & 1234567
\end{array}
\end{equation*}
\end{document}
代码中也有对 array 对齐选项的解释,如果不太清楚,请查阅 array 的相关内容。实现的效果如下: alignnumber21

方法三(使用 alignat* 环境)

Bernard 向我们提供了另外一种实现方式,使用 alignat* 环境,并且借助 empheq 宏包将右对齐的基准线画出来了,先看代码:
 %!TEX program = pdflatex

\documentclass{article}

\usepackage[paperwidth=130mm,paperheight=30mm]{geometry}
\usepackage{mathpazo}
\usepackage{amsmath}
 % new packages
\usepackage[overload]{empheq}
\usepackage{xcolor}

\begin{document}

    \begin{alignat*}{2}[right =\color{red}\vrule width1pt]
    \text{first value}   & = &       12   \\
    \text{second value}  & = &     1234   \\
    \text{third one}     & = &  1234567
    \end{alignat*}

\end{document}
对齐的效果和前面的没什么区别,只是我们这里新增加了一根右对齐的基准线,以后如果用到,可以参考 empheq 宏包相关内容。 alignnumber3 三种方法都介绍完了,互相比较之后,肯定有你中意的!其中,我认为方法一是最简单的,不用借助其他宏包,不用记忆 array 的对齐方法的写法。 问题源:http://tex.stackexchange.com/questions/170908/aligned-environment-align-numbers-to-right 选自:http://elegantlatex.tk/2014/04/11/align-number-to-right/

点赞(1)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部