如果我使用它\begin{align*}...\end{align*}
并在其中写一段文本,那么文本和所述环境之间就会有一个很大的垂直空间。为什么会有那个空间?我该如何消除它?在这种情况下,我认为垂直空间太多了。例如,在表格环境或其他环境中,垂直空间要小得多。为什么align
环境不同?
\documentclass[12pt]{article}
\usepackage[top=0.3in, bottom=1.2in, left=0.8in, right=0.8in]{geometry}
\usepackage{multicol}
\usepackage[utf8]{inputenc}
\setlength{\parindent}{0cm}
\usepackage{setspace}
\usepackage{xltxtra}
\usepackage{xgreek}
\setmainfont[Mapping=tex-text]{GFSDidot.otf}
\setsansfont[Mapping=tex-text]{GFSDidot.otf}
\usepackage[fleqn]{amsmath}
\usepackage{unicode-math}
\setlength{\mathindent}{0cm}
\newcommand{\3}{\vspace{0.3cm}}
\title{}
\author{}
\date{}
\begin{document}
\begin{multicols*}{2}
70
\begin{align*}
&e^{jz}=\cos z+j\sin z\\
&\cos z=(1/2)(2\cos z)=\\
&=(1/2)(2\cos z+j\sin z-j\sin z)=\\
&=(1/2)(\cos z+j\sin z+\cos z-j\sin z)=\\
&=(1/2)(e^{jz}+e^{-jz})
\end{align*}
\end{multicols*}
\end{document}
70
\begin{align*}
&e^{jz}=\cos z+j\sin z\\
&\cos z=(1/2)(2\cos z)=\\
&=(1/2)(2\cos z+j\sin z-j\sin z)=\\
&=(1/2)(\cos z+j\sin z+\cos z-j\sin z)=\\
&=(1/2)(e^{jz}+e^{-jz})
\end{align*}
答案1
不要在文本和任何显示数学之间留空行——这会增加额外的空间,因为您说“从这里开始一个新段落”。
如果对齐显示的行之间只有一小段文本,则可以使用\intertext
:
text above
\begin{align}
a &= b + c\\
&= d + e\\
\intertext{because}
&= f + g
\end{align}
编辑:
显示屏上方的空间量由 的设置决定
\abovedisplayskip
。 的默认值\abovedisplayskip
由 设置latex.ltx
为12pt plus 3pt minus 9pt
。 这可以被正在使用的文档类覆盖,但除非调用 ,article
否则不会这样做,在这种情况下,文本的基本长度设置为。\normalsize
10pt
10pt
其他文档类有不同的设置。 (这是最初设计用于配合的amsart
类)集合(没有减号组件),或用于文本。amsmath
\abovedisplayskip=.7\baselineskip plus .7\baselineskip
8.4pt
10pt
为什么article
和其他“基本”乳胶文档类使用较大的值是一个设计决定,大概是莱斯利·兰波特 (Leslie Lamport) 做出的;我无法解释该决定的任何原因。
答案2
有四种预定义的长度,用于控制显示公式的垂直空格:
\abovedisplayskip=12pt plus 3pt minus 9pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayskip=12pt plus 3pt minus 9pt
\belowdisplayshortskip=7pt plus 3pt minus 4pt
equation
当最后一行文本较短时,使用“短”版本。