这个著名的问题解释了如何减少列表之间无用的空白间距,但现在我想对 执行同样操作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}
还是太多了。
答案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}