如何减少大文本中心环境的垂直空白高度/空间?

如何减少大文本中心环境的垂直空白高度/空间?

这个著名的问题解释了如何减少列表之间无用的空白间距,但现在我想对 执行同样操作center,这里的空间也很大:

\documentclass{scrartcl}
\parskip3mm
\parindent0mm % if you want to have no lineskip

\usepackage{roboto} % font

\usepackage{lipsum}

\begin{document}
\lipsum[1]:

\begin{center}
    \huge
    \robotoMedium{OBJECTION}
\end{center}

\lipsum[1]

\lipsum[1]

\end{document}

预览

我的目标是它应该读起来像一个句子,即

我在这里描述我的: 异议

即新行、大小和居中应该只是一些突出显示,但不表示新段落,例如

特里斯

当然,我已经尝试过与链接的 SE 答案中解释的相同的解决方案:

\documentclass{scrartcl}
\parskip3mm
\parindent0mm % if you want to have no lineskip

\newenvironment{centerCompact}
{ \begin{center}
    \setlength{\itemsep}{0pt}
    \setlength{\parskip}{0pt}
    \setlength{\parsep}{0pt}     }
{ \end{center}                  } 


\usepackage{roboto} % font

\usepackage{lipsum}

\begin{document}
\lipsum[1]:

\begin{centerCompact}
    \huge
    \robotoMedium{OBJECTION}
\end{centerCompact}

\lipsum[1]

\lipsum[1]

\end{document}

它稍微改善了情况,但并没有完全解决问题: 预览 2

还是太多了。

答案1

首先,您评论说您不希望它作为单独的段落出现,但您明确地在居中文本之前和之后标记了段落分隔符(这会在除其他内容之外添加额外的垂直空间),因此删除它会有所帮助。

然后center是一个项目列表,并且列表以垂直间距设置,\topsep因此将其设置为 0pt 可以使显示更紧密。

或者,对于第二种形式中所示的单行条目,您可以使用\\而不是显示环境将其全部保存在 tex 级别的同一段落中,并使用 居中\makebox

在此处输入图片描述

\documentclass{scrartcl}
\parskip3mm
\parindent0mm % if you want to have no lineskip ??? (this doesn't affect \lineskip)

\usepackage{roboto} % font
\setlength\topsep{0pt}
\usepackage{lipsum}

\begin{document}
\lipsum[1]:
\begin{center}
    \huge
    \robotoMedium{OBJECTION}
\end{center}
\lipsum[1]:\\[5pt]
\makebox[\textwidth]{\Huge\robotoMedium{OBJECTION}}\\
\lipsum[1]

\lipsum[1]

\end{document}

答案2

当然,您可以使用\vspace解决方法,但我只是怀疑这是否是最好的解决方案:

\documentclass{scrartcl}
\parskip3mm
\parindent0mm % if you want to have no lineskip

\usepackage{roboto} % font

\usepackage{lipsum}

\begin{document}
\lipsum[1]:

\begin{center}
    \vspace{-20pt}
    \huge
    \robotoMedium{OBJECTION}
    \vspace{-10pt}
\end{center}

\lipsum[1]

\lipsum[1]

\end{document}

预览

相关内容