我怎样才能减少 alltt 环境块周围的空间?

我怎样才能减少 alltt 环境块周围的空间?

我怎样才能减少周围的空间全部 alltt环境块?

\documentclass{article}
\usepackage{alltt}
\begin{document}

Test1
\begin{alltt}
some code
\end{alltt}
Test2

\end{document}

这个问题似乎相关,但没有提供明确的答案:

环境前后垂直间距的正确方法

答案1

空间来自topsep,因此您需要将此设置0为此环境。最简单的方法是使用包\AtBeginEnvironment中的etoolbox,这将使更改保持在环境的本地:

示例输出

\documentclass{article}
\usepackage{alltt}
\usepackage{etoolbox}

\AtBeginEnvironment{alltt}{\setlength{\topsep}{0pt}}

\begin{document}

Test1
\begin{alltt}
some code
\end{alltt}
Test2

\end{document}

\showthe\topsep文件放入修补环境之外,得到

> 8.0pt plus 2.0pt minus 4.0pt.
l.14 \showthe\topsep

显示其针对此文档的标准值。此可拉伸空间就是您在原始文档中看到的。alltt环境由 构建而成trivlist。如果您查看 LaTeX 源代码(texdoc source2e在大多数系统上),您将看到此类环境的垂直间距参数的描述。

答案2

您可以重新定义环境,在开始和结束时添加空间调整,您仍然可以通过更改因素来修改它:

\documentclass{article}
\usepackage{alltt}
\begin{document}

\let\oldalltt\alltt
\renewenvironment{alltt}{\vspace{-0.75\baselineskip}\begin{oldalltt}}{\end{oldalltt}\vspace{-0.1\baselineskip}}

Test1
\begin{alltt}
some code
\end{alltt}
Test2

\end{document}

相关内容