如何使用LaTeX铸造减少其他文本的分离?

cva*_*ren 12 latex spacing pygments

我想使用minted包给我语法高亮,但它的间距超过一厘米.

设置:

\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt}
\setlength{\headsep}{0pt}
\setlength{\topskip}{0pt}
\setlength{\topmargin}{0pt}
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}
Run Code Online (Sandbox Code Playgroud)

根本没有帮助.有没有办法减少文本其余部分的间距?

Kon*_*lph 8

minted内部使用Verbatimfancyvrb包中的环境.在实现的文档中,给出了以下空格公式:

<topskip> = \topsep + \partopsep + \parskip 
<botskip> = \topsep + \partopsep 
Run Code Online (Sandbox Code Playgroud)

除非在标签中或在nobreak之后\parskip添加\addvspace,因此净空间为:

MAX{\topsep (+\partopsep) + \parskip , \lastskip } 
Run Code Online (Sandbox Code Playgroud)

(通常的\@item工作方式相同.)

因此,设置\partopsep一些其他值就可以了; 我已经尝试过了,你需要一个负值去除保证金:

\setlength\partopsep{-\topsep}
Run Code Online (Sandbox Code Playgroud)

这将删除文本正文和代码之间的大部分空间.要获得0.5厘米的距离,请将其距离添加到:

\setlength\partopsep{-\topsep}
\addtolength\partopsep{-\parskip}
\addtolength\partopsep{0.5cm}
Run Code Online (Sandbox Code Playgroud)

可以在https://tex.stackexchange.com/a/19423中找到实现