
Можно ли убрать пробелы под кодом окружения 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}