我很难删除垂直数学模式上方和下方的空格(或使它们均匀,或将它们设置为自定义值)。
这是对上一个问题的重写,其代码包含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
时,不会删除底部空间(它们只是缩短它)。abovedisplayshortskip
belowdisplayskip
belowdisplayshortskip
\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
就不需要了。