调整阵列行和列之间的间距

调整阵列行和列之间的间距

输出

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}
\begin{document}
% ...
\[
\begin{array}{ccccc}
x(1) & = & \frac{x(0)}{1} & = & x(0)\\
x(2) & = & \frac{x(1)}{2} & = & \frac{x(0)}{2}\\
x(3) & = & \frac{x(2)}{3} & = & \frac{x(0)}{2.3}\\
x(4) & = & \frac{x(3)}{4} & = & \frac{x(0)}{4!}\\
 &  &  &  & \vdots\\
x(n) & = & \frac{x(n-1)}{n} & = & \frac{x(0)}{n!}
\end{array}
\]
% ...
\end{document}

由于数组单元中的分数,数组元素在垂直方向上彼此太近,它们实际上是相互接触的。而且水平间距太大,如您在图像中看到的那样(输出 PDF 文件的屏幕截图)。

我怎样才能使这些单元格间距看起来更好?

答案1

\documentclass{article}
\usepackage{amsmath}
\begin{document}
% ...
\[\arraycolsep=1.4pt\def\arraystretch{2.2}
\begin{array}{ccccc}
x(1) & = & \dfrac{x(0)}{1} & = & x(0)\\
x(2) & = & \dfrac{x(1)}{2} & = & \dfrac{x(0)}{2}\\
x(3) & = & \dfrac{x(2)}{3} & = & \dfrac{x(0)}{2.3}\\
x(4) & = & \dfrac{x(3)}{4} & = & \dfrac{x(0)}{4!}\\
 &  &  &  & \vdots\\
x(n) & = & \dfrac{x(n-1)}{n!} & = & \dfrac{x(0)}{n!}
\end{array}
\]
% ...
\end{document}

在此处输入图片描述

或者左对齐:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
% ...
\[\arraycolsep=1.4pt\def\arraystretch{2.2}
\begin{array}{rll}
x(1) &= \dfrac{x(0)}{1} &= x(0)\\
x(2) &= \dfrac{x(1)}{2} &= \dfrac{x(0)}{2}\\
x(3) &= \dfrac{x(2)}{3} &= \dfrac{x(0)}{2.3}\\
x(4) &= \dfrac{x(3)}{4} &= \dfrac{x(0)}{4!}\\
     &                  & \vdots\\
x(n) &= \dfrac{x(n-1)}{n!} &= \dfrac{x(0)}{n!}
\end{array}
\]
% ...
\end{document}

在此处输入图片描述

答案2

使用alignat来自amsmath包。您还可以使用\setstretch来自setspace包裹。

\documentclass{article}
\usepackage{amsmath}
\usepackage{setspace}
\begin{document}
{\setstretch{2.25}
\begin{alignat*}{2}
x(1)   &=\frac{x(0)}{1}    &&= x(0)\\
x(2)   &=\frac{x(1)}{2}    &&= \frac{x(0)}{2}\\
x(3)   &=\frac{x(2)}{3}    &&= \frac{x(0)}{2.3}\\
x(4)   &=\frac{x(3)}{4}    &&= \frac{x(0)}{4!}\\
\vdots &                   && \\
x(n)   &=\frac{x(n-1)}{n!} &&= \frac{x(0)}{n!}
\end{alignat*}}
\end{document}

示例输出

答案3

为了完整起见,您还可以调整环境中两行之间的垂直间距alignat*(对于环境也是如此),方法是在换行符 后面的方align*括号内指定要使用的间距(例如) 。请注意,如果您想减少两行之间的垂直间距,此值也可以是负数。这对于[.5cm]\\单独地纠正行距,例如当行高在不同行之间不同时(例如,除一个分数外,所有行都包含一个分数)。

下面的例子并不美观或者实用,而仅仅是为了展示一个例子。

\documentclass{article}
\usepackage{amsmath}
\usepackage{setspace}
\begin{document}
{\setstretch{2.25}
\begin{alignat*}{2}
x(1)   &=\frac{x(0)}{1}    &&= x(0)\\[.5cm]
x(2)   &=\frac{x(1)}{2}    &&= \frac{x(0)}{2}\\[2cm]
x(3)   &=\frac{x(2)}{3}    &&= \frac{x(0)}{2.3}\\[-3mm]
x(4)   &=\frac{x(3)}{4}    &&= \frac{x(0)}{4!}\\
\vdots &                   && \\
x(n)   &=\frac{x(n-1)}{n!} &&= \frac{x(0)}{n!}
\end{alignat*}}
\end{document}

上述代码的输出。

答案4

在 LyX 中,我添加到\usepackage{amsmath}了文档 -> 设置 -> LaTeX 序言。然后,不使用array环境,而是生成

在此处输入图片描述

我改变aligned环境,它生成了一个更好看的方程数组和间距

在此处输入图片描述

关于左对齐还有其他讨论,看起来非常复杂。但就我的情况而言,如果我以 = 符号开始单元格,LaTeX 编译器就会找出如何左对齐。

相关内容