是否可以删除环境代码下方的间距minted
?当我在另一个代码块下方有一个代码块时,它不会产生任何间距(这是我想要的),但它会对文本产生间距(我不想要)。有没有类似包belowskip
的东西listings
可以用作全局选项?
\documentclass{article}
\usepackage{minted}
\begin{document}
\newminted{python3}{linenos=true} % belowskip=0pt?
\begin{python3code}
print("Hello world")
\end{python3code}
Some text
\end{document}
答案1
minted
使用包fancyvrb
来创建环境。fancyvrb
使用 的修改trivlist
。因此,您必须修改trivlist
。
下面显示了一种可能性。这里我创建了一个新密钥belowskip
。
编辑
在组合宽度下\newminted
它也能起作用(见下面的评论):
% pdflatex --shell-escape
\documentclass{article}
\usepackage{minted}
\makeatletter
\newlength\minted@belowskip
\define@key{minted@opt}{belowskip}[\@topsepadd]
{\setlength{\minted@belowskip}{#1}}
\def\minted@endparenv{%
\addpenalty\@endparpenalty\addvspace\minted@belowskip\@endpetrue}
\def\FV@EndList{%
\FV@ListProcessLastLine
\FV@EndListFrame
\minted@endparenv
\endgroup
\@endpetrue}
\makeatother
\newminted{python3}{linenos=true, belowskip=4cm}
\begin{document}
\begin{python3code}
print("Hello world")
\end{python3code}
Some text
\begin{python3code}
print("Hello world")
\end{python3code}
Some text
\end{document}
原件
% pdflatex --shell-escape
\documentclass{article}
\usepackage{minted}
\makeatletter
\newlength\minted@belowskip
\define@key{minted@opt}{belowskip}[\@topsepadd]
{\setlength{\minted@belowskip}{#1}}
\def\minted@endparenv{%
\addpenalty\@endparpenalty\addvspace\minted@belowskip\@endpetrue}
\def\FV@EndList{%
\FV@ListProcessLastLine
\FV@EndListFrame
\minted@endparenv
\endgroup
\@endpetrue}
\makeatother
\begin{document}
\begin{minted}[belowskip=4cm]{python}
print("Hello world")
\end{minted}
Some text
\begin{minted}[belowskip=0pt]{python}
print("Hello world")
\end{minted}
Some text
\end{document}