如何消除(或使其均匀)数学模式上方和下方的垂直空间(`\[...\]` 和 `\begin{equation}`)?

如何消除(或使其均匀)数学模式上方和下方的垂直空间(`\[...\]` 和 `\begin{equation}`)?

我很难删除垂直数学模式上方和下方的空格(或使它们均匀,或将它们设置为自定义值)。

这是对上一个问题的重写,其代码包含hrule带有显示模式(而不是垂直模式)数学运算的 's 和环境,这(据我所知)使得消除垂直间距变得困难(或不可能,根据没有解决方案来判断)。如您所见,问题(正确消除垂直间距)仍然存在。

\documentclass[varwidth]{standalone}
\usepackage{amsmath}
\begin{document}
  line 1 y
  \begin{equation*}\sqrt[3]{4}\end{equation*}
  line 2 y
  \[\sqrt[3]{4}\]
  line 3 y
\end{document}

当设置为 0pt、、、和abovedisplayskip时,不会删除底部空间(它们只是缩短它)。abovedisplayshortskipbelowdisplayskipbelowdisplayshortskip

\documentclass[varwidth]{standalone}
\usepackage{amsmath}
\begin{document}
 \setlength\abovedisplayskip{0pt}
 \setlength\abovedisplayshortskip{0pt}
 \setlength\belowdisplayskip{0pt}
 \setlength\belowdisplayshortskip{0pt}
  line 1 y
  \begin{equation*}\sqrt[3]{4}\end{equation*}
  line 2 y
  \[\sqrt[3]{4}\]
  line 3 y
\end{document}

答案1

如果我使用article\vbox来允许\showoutput,则结果

\documentclass{article}%[varwidth]{standalone}
\usepackage{amsmath}
\begin{document}
\pagestyle{empty}
\vbox{\hsize=4em \parindent=0pt
 \setlength\abovedisplayskip{0pt}
 \setlength\abovedisplayshortskip{0pt}
 \setlength\belowdisplayskip{0pt}
 \setlength\belowdisplayshortskip{0pt}
  line 1 y
  \begin{equation*}\sqrt[3]{4}\end{equation*}
  line 2 y
  \[\sqrt[3]{4}\]
  line 3 y
}
\showoutput
\end{document}

...\vbox(54.94444+1.94444)x40.00006
....\hbox(6.94444+1.94444)x40.00006, glue set 7.5fil
.....\hbox(0.0+0.0)x0.0
.....\OT1/cmr/m/n/10 l
.....\OT1/cmr/m/n/10 i
.....\OT1/cmr/m/n/10 n
.....\OT1/cmr/m/n/10 e
.....\glue 3.33333 plus 1.66666 minus 1.11111
.....\OT1/cmr/m/n/10 1
.....\glue 3.33333 plus 1.66666 minus 1.11111
.....\OT1/cmr/m/n/10 y
.....\penalty 10000
.....\glue(\parfillskip) 0.0 plus 1.0fil
.....\glue(\rightskip) 0.0
....\penalty 10000
....\glue(\abovedisplayskip) 0.0
....\glue(\baselineskip) 0.4952
....\hbox(9.56036+0.8396)x13.9585, shifted 13.02078, display
.....\hbox(9.56036+0.8396)x13.9585
......\kern 0.0
......\kern 2.77771
......\hbox(3.22221+0.0)x3.40283, shifted -5.2325
.......\mathon
.......\OT1/cmr/m/n/5 3
.......\mathoff
......\kern -5.55542
......\kern 0.0
......\hbox(9.56036+0.8396)x13.33337
.......\mathon
.......\hbox(9.56036+0.8396)x13.33337
........\hbox(0.39998+9.6)x8.33336, shifted -8.7604
.........\OMS/cmsy/m/n/10 p
........\vbox(9.56036+0.0)x5.00002
.........\kern0.39998
.........\rule(0.39998+0.0)x*
.........\kern2.31596
.........\hbox(6.44444+0.0)x5.00002
..........\OT1/cmr/m/n/10 4
.......\mathoff
....\penalty 0
....\glue(\belowdisplayskip) 0.0
....\glue(\baselineskip) 4.21596
....\hbox(6.94444+1.94444)x40.00006, glue set 7.5fil
.....\OT1/cmr/m/n/10 l
.....\OT1/cmr/m/n/10 i
.....\OT1/cmr/m/n/10 n
.....\OT1/cmr/m/n/10 e
.....\glue 3.33333 plus 1.66666 minus 1.11111
.....\OT1/cmr/m/n/10 2
.....\glue 3.33333 plus 1.66666 minus 1.11111
.....\OT1/cmr/m/n/10 y
.....\penalty 10000
.....\glue(\parfillskip) 0.0 plus 1.0fil
.....\glue(\rightskip) 0.0
....\penalty 10000
....\glue(\abovedisplayskip) 0.0
....\glue(\baselineskip) 0.4952
....\hbox(9.56036+0.8396)x13.9585, shifted 13.02078, display
.....\hbox(9.56036+0.8396)x13.9585
......\kern 0.0
......\kern 2.77771
......\hbox(3.22221+0.0)x3.40283, shifted -5.2325
.......\mathon
.......\OT1/cmr/m/n/5 3
.......\mathoff
......\kern -5.55542
......\kern 0.0
......\hbox(9.56036+0.8396)x13.33337
.......\mathon
.......\hbox(9.56036+0.8396)x13.33337
........\hbox(0.39998+9.6)x8.33336, shifted -8.7604
.........\OMS/cmsy/m/n/10 p
........\vbox(9.56036+0.0)x5.00002
.........\kern0.39998
.........\rule(0.39998+0.0)x*
.........\kern2.31596
.........\hbox(6.44444+0.0)x5.00002
..........\OT1/cmr/m/n/10 4
.......\mathoff
....\penalty 0
....\glue(\belowdisplayskip) 0.0
....\glue(\baselineskip) 4.21596
....\hbox(6.94444+1.94444)x40.00006, glue set 7.5fil
.....\OT1/cmr/m/n/10 l
.....\OT1/cmr/m/n/10 i
.....\OT1/cmr/m/n/10 n
.....\OT1/cmr/m/n/10 e
.....\glue 3.33333 plus 1.66666 minus 1.11111
.....\OT1/cmr/m/n/10 3
.....\glue 3.33333 plus 1.66666 minus 1.11111
.....\OT1/cmr/m/n/10 y
.....\penalty 10000
.....\glue(\parfillskip) 0.0 plus 1.0fil
.....\glue(\rightskip) 0.0

它显示了您看到的空间来自哪里:来自\baselineskip

尝试

\documentclass{article}%[varwidth]{standalone}
\usepackage{amsmath}
\begin{document}
\pagestyle{empty}

\noindent\vbox{\hsize=4em \parindent=0pt
 \setlength\abovedisplayskip{0pt}
 \setlength\abovedisplayshortskip{0pt}
 \setlength\belowdisplayskip{0pt}
 \setlength\belowdisplayshortskip{0pt}
  line 1 y
  \begin{equation*}\sqrt[3]{4}\end{equation*}
  line 2 y
  \[\sqrt[3]{4}\]
  line 3 y
}\vrule
\vbox{\hsize=4em \parindent=0pt
 \setlength\abovedisplayskip{0pt}
 \setlength\abovedisplayshortskip{0pt}
 \setlength\belowdisplayskip{0pt}
 \setlength\belowdisplayshortskip{0pt}
  line 1 y\par
  4\par
  line 2 y\par
  4\par
  line 3 y
}

\end{document}

你会得到

在此处输入图片描述

完全不清楚什么您想要删除的空间。

答案2

用显示的方程式开始一个段落通常是一个错误,否则,正如你在这里所展示的,你会得到一个虚假的空白段落第一行,如果\noindent无法避免,你可以用 来抑制它,

\documentclass[varwidth]{standalone}
\usepackage{amsmath}
\showoutput
\begin{document}
\setlength\abovedisplayskip{0pt}
\setlength\abovedisplayshortskip{0pt}
\setlength\belowdisplayskip{0pt}
\setlength\belowdisplayshortskip{0pt}
\setlength\jot{0pt}
\Huge
  hello world
  \hrule height 0.01pt
\noindent
    \begin{gather*}\boxed{2+2=4}\end{gather*}
    %\[\begin{gathered}\boxed{2+2=4}\end{gathered}\]
  \hrule height 0.01pt
  hello world
\end{document}

请注意,此处调整空白的难度和需要的\noindent原因是,\hrule这会对间距产生不利影响,因为它会强制段落结束于显示之前。如果\[紧跟Hello World文本会更正常,那么\noindent就不需要了。

相关内容