I want to use the minted package to give me syntax highlighting but it has a spacing of more than a centimeter.
Setting:
\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt}
\setlength{\headsep}{0pt}
\setlength{\topskip}{0pt}
\setlength{\topmargin}{0pt}
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}
does not help at all. Is there any way to reduce the spacing from the rest of the text?
minted internally uses the Verbatim
environment from the fancyvrb package. In the documentation of the implementation, the following formula for the spaces is given:
<topskip> = \topsep + \partopsep + \parskip <botskip> = \topsep + \partopsep
And
Except when in label or after nobreak,
\parskip
is added with\addvspace
, so that net space is:MAX{\topsep (+\partopsep) + \parskip , \lastskip }
(The usual
\@item
works the same way.)
Hence, setting \partopsep
to some other value does the trick; I’ve tried it, and you need a negative value to remove the margin:
\setlength\partopsep{-\topsep}
This removes most of the space between the text body and the code. To get a distance of 0.5cm, add its distance to that:
\setlength\partopsep{-\topsep}
\addtolength\partopsep{-\parskip}
\addtolength\partopsep{0.5cm}
An implementation can be found in https://tex.stackexchange.com/a/19423