下面跳過鑄造?

下面跳過鑄造?

是否可以刪除環境程式碼下方的空格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}

相關內容