我需要在报告中显示数学运算,但是否可以删除 align* 周围的垂直空间?
下面是一个小例子(我只align*
希望\\
\documentclass[10pt,danish,a4paper,oneside,fleqn]{report}
\usepackage[english]{babel}
\usepackage{amsmath}
\begin{document}
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
\begin{align*}
A{\cap}B\ & =\ {\left\{{b,d,e}\right\}}{\;}{\cap}{\;}{\left\{{a,b,f,g}\right\}} \\
\nonumber\ & =\ {\left\{{b}\right\}}
\end{align*}
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss \\
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
\end{document}
答案1
\documentclass[10pt,danish,a4paper,oneside,fleqn]{report}
\usepackage[english]{babel}
\usepackage{amsmath,lipsum}
\begin{document}
\setlength{\abovedisplayskip}{0pt}
\setlength{\belowdisplayskip}{0pt}
\setlength{\abovedisplayshortskip}{0pt}
\setlength{\belowdisplayshortskip}{0pt}
\lipsum*[2]
\begin{align*}
A\cap B & = \{b,d,e\} \cap \{a,b,f,g\} \\
& = \{b\}
\end{align*}
\lipsum[3]
\end{document}
但请注意,这是非常糟糕的排版。(lipsum
只是为了生成虚拟文本。)
这四个参数表示在文本和数学显示之间插入多少垂直空间。equation
当最后一行文本较短时,将使用“短”版本。
您还应该检查一下输入数学的方式。您使用了太多多余的括号(在某些情况下会产生非常糟糕的结果)。在数学中使用显式间距命令的情况相当少见。
以下是测试文件的排版结果
原则就是这样。如果你使用字体大小更改命令,你必须在序言中告诉 LaTeX 你想要所有大小的字体都为零间距
\usepackage{etoolbox}
\newcommand{\zerodisplayskips}{%
\setlength{\abovedisplayskip}{0pt}%
\setlength{\belowdisplayskip}{0pt}%
\setlength{\abovedisplayshortskip}{0pt}%
\setlength{\belowdisplayshortskip}{0pt}}
\appto{\normalsize}{\zerodisplayskips}
\appto{\small}{\zerodisplayskips}
\appto{\footnotesize}{\zerodisplayskips}
这样例子就变成了
\documentclass[10pt,danish,a4paper,oneside,fleqn]{report}
\usepackage[english]{babel}
\usepackage{amsmath,lipsum}
\usepackage{etoolbox}
\newcommand{\zerodisplayskips}{%
\setlength{\abovedisplayskip}{0pt}%
\setlength{\belowdisplayskip}{0pt}%
\setlength{\abovedisplayshortskip}{0pt}%
\setlength{\belowdisplayshortskip}{0pt}}
\appto{\normalsize}{\zerodisplayskips}
\appto{\small}{\zerodisplayskips}
\appto{\footnotesize}{\zerodisplayskips}
\begin{document}
\lipsum*[2]
\begin{align*}
A\cap B & = \{b,d,e\} \cap \{a,b,f,g\} \\
& = \{b\}
\end{align*}
\lipsum[3]
\end{document}
答案2
使用内联方程(不添加垂直空间),将宏放在\displaystyle
其中(因此它看起来像一个普通方程),放置aligned
在其中(用于对齐),并将其封闭在其中{\centering ... \par}
(居中而不添加不必要的垂直空间)。
{\centering
$ \displaystyle
\begin{aligned}
A{\cap}B\ & =\ {\left\{{b,d,e}\right\}}{\;}{\cap}{\;}{\left\{{a,b,f,g}\right\}} \\
\nonumber\ & =\ {\left\{{b}\right\}}
\end{aligned}
$
\par}%Necessary for centering to work
如果经常这样做的话,效果会有点难看,但就我而言,这样做很方便,因为我想从一个或两个方程式中删除垂直空间(这样它们就可以适合一个表格),但不影响任何其他方程式。
答案3
Egreg 的解决方案在行尾有多余的空格。必须通过%
在行尾放置空格来消除这些空格。
\usepackage{etoolbox}
\newcommand{\zerodisplayskips}{%
\setlength{\abovedisplayskip}{0pt}%
\setlength{\belowdisplayskip}{0pt}%
\setlength{\abovedisplayshortskip}{0pt}%
\setlength{\belowdisplayshortskip}{0pt}}
\appto{\normalsize}{\zerodisplayskips}
\appto{\small}{\zerodisplayskips}
\appto{\footnotesize}{\zerodisplayskips}
答案4
您可以\vspace{-0.5cm}
在每个上方本地使用\begin{align*}