我在使用对齐之前和之后目前拥有极大的垂直空间。
为了便于理解,我曾经\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
更合适,用于设置值矩阵,并在内联数学模式下设置每个单元格。array
array
\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
不会弄乱这个间距: