减少使用对齐之前和之后的垂直空间

减少使用对齐之前和之后的垂直空间

我在使用对齐之前和之后目前拥有极大的垂直空间。

为了便于理解,我曾经\onehalfspacing让文档更清晰一些。但是,当我使用对齐时,文档变得丑陋。例如,这是一张与使用数组时(实际上,每当我需要使用“$$”写数学符号时)相比的图片:

在此处输入图片描述

我想在使用 align 时减少这个空白,但我找不到足够相关的东西。由于我正在寻找一种可以随时使用的东西,而不必每次使用 align 时都重复该命令,所以我想创建一个新的环境,但我不知道如何创建一个像 align 这样的环境。

非常感谢你的帮助 !

编辑:这是我用来拍照的代码:

\documentclass{article}
\usepackage[utf8]{inputenc}

%---------------

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage[french]{babel} 
\usepackage[cyr]{aeguill} 

%--------------- 

\usepackage{fancyhdr}
\usepackage[top=3cm, bottom=3cm, left=3cm, right=3cm]{geometry}
\usepackage{setspace}


%---------------

\onehalfspacing 
%\setlength{\parskip}{0cm} %not usefull

%--------------- 

\usepackage{amsmath, amssymb, amsthm} 
\usepackage{mathrsfs}
\usepackage{etoolbox}
\usepackage{stmaryrd}

\title{Tests Overleaf}
\date{\today}

\begin{document}

\maketitle

\section{Introduction}

------------------------------------------------------------------------------------------

I am using array : 

$$\begin{array}{cccccc}
    f : & A & \times & B & \longrightarrow & C \\
    & x & ; & y & \longmapsto & xy 
\end{array}$$

------------------------------------------------------------------------------------------

I am using align* : 

\begin{align*}
    a \times (b+c) & = a \times b + a \times c\\
    & = a \times b + a \times c + 0
\end{align*}

------------------------------------------------------------------------------------------

\end{document}

答案1

任何显示数学之前都不要有空行,这会强制在显示之前出现一行带有空白行的段落。另外,$$不支持 LaTeX 语法,因此我将其更改为\[

由于等式上方的行很短\abovedisplayshortskip,如果等式位于行尾的右侧,TeX 可以使用较小的行,但是align即使在视觉上很窄,它也始终是全宽的,因此总是使用\abovedisplayskip 您可以aligned以类似于使用的方式使用array,比它在显示数学模式下设置内容aligned更合适,用于设置值矩阵,并在内联数学模式下设置每个单元格。arrayarray

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}

%---------------

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage[french]{babel} 
\usepackage[cyr]{aeguill} 

%--------------- 

\usepackage{fancyhdr}
\usepackage[top=3cm, bottom=3cm, left=3cm, right=3cm]{geometry}
\usepackage{setspace}


%---------------

\onehalfspacing 
%\setlength{\parskip}{0cm} %not usefull

%--------------- 

\usepackage{amsmath, amssymb, amsthm} 
\usepackage{mathrsfs}
\usepackage{etoolbox}
\usepackage{stmaryrd}

\title{Tests Overleaf}
\date{\today}

\begin{document}

\maketitle

\section{Introduction}

------------------------------------------------------------------------------------------

I am using array : 
\[
\begin{array}{cccccc}
    f : & A & \times & B & \longrightarrow & C \\
    & x & ; & y & \longmapsto & xy 
\end{array}
\]

------------------------------------------------------------------------------------------

I am using align* : 
\begin{align*}
    a \times (b+c) & = a \times b + a \times c\\
    & = a \times b + a \times c + 0
\end{align*}

------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------

I am using aligned* : 
\[
\begin{aligned}
    a \times (b+c) & = a \times b + a \times c\\
    & = a \times b + a \times c + 0
\end{aligned}
\]

------------------------------------------------------------------------------------------

\end{document}

或者,mathtools扩展名amsmath提供了一个命令,可以在特定的显示器上使用短显示跳过,您可以知道前一行不会接近对齐的顶行。

您可能还想使用

\usepackage[nodisplayskipstretch]{setspace}

所以setspace不会弄乱这个间距:

在此处输入图片描述

相关内容