为什么使用多列时 Latex 会在方程式之间添加任意间距?

为什么使用多列时 Latex 会在方程式之间添加任意间距?

使用多列将页面分成三列后,我的一些方程式在文本之间留出了很大的空白

例如:最左边一列,我们看到等号分隔的方程之间有空格

在此处输入图片描述

但这并不适用于许多其他方程式,它们中的大多数能够具有标准间距,即 $A = B$(<--- 等待,为什么内联数学在这里不起作用?)

有没有办法可以减少方程式之间的空格?

答案1

您是否可能使用arraytabular环境来排版列中的数学项?如果是这样,最好array按照以下屏幕截图和示例代码中所示的方式自定义环境。

在此处输入图片描述

\documentclass{article}
\usepackage{array}
\newcolumntype{C}{>{{}}c<{{}}} % for columns that contain just operators, e.g., = and +

\usepackage{mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}  % abs. value
\DeclarePairedDelimiter{\ip}{\langle}{\rangle} % inner prod.

\setlength\parindent{0pt} % just for this example
\begin{document}

$\begin{array}{|cccccc}
\abs{\ip{x,y}} & = & (x'y)^2 & = & \bigl(\sum_i x_iy_i\bigr)^2 & =
\end{array}$

\medskip
versus 

\medskip
\begingroup % localize scope of the following statement
\setlength\arraycolsep{0pt} % no whitespace between columns
$\begin{array}{|cCcCcC}llll % but, use "C" column type for operators
\abs{\ip{x,y}} & = & (x'y)^2 & = & \bigl(\sum_i x_iy_i\bigr)^2 & =
\end{array}$
\endgroup
\end{document}

答案2

间距从来都不是任意的,TeX 只是添加空间以满足文档作者设置的限制。

如果它们是显示的方程式,那么您应该使用显示数学模式,那么它就不会发生。

如果您使用两端对齐的段落,并且这是行上唯一的东西,那么唯一的可拉伸空间就在 = 周围,因此,两端对齐段落的唯一方法是拉伸该空间,使表达式占据整个列的宽度。

正是由于这个原因(无论拉伸的空间是在数学中还是在单词之间),通常不规则的右侧设置比在窄列中对齐更好。

相关内容