是否可以删除中的空白行minted
,并吞噬指定数量的多个空白行,就像emptylines
中的选项一样listings
?
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{minted}
\usepackage{listings}
% I want something like the emptylines option
\lstset{language=[Visual]{C++},emptylines=1}
\begin{document}
\begin{minted}[frame=single]{cpp}
int i = 0;
i++;
\end{minted}
\begin{lstlisting}
int i = 0;
i++;
\end{lstlisting}
\end{document}
答案1
该minted
包在后台使用fancyvrb
。此包没有内置跳过空白行的功能。可以添加测试以跳过空白行,例如
\begingroup
\makeatletter
\catcode`\^^M=\active
\gdef\FancyVerbGetLine#1^^M{%
\@nil
\FV@CheckEnd{#1}%
\ifx\@tempa\FV@EnvironName
\ifx\@tempb\FV@@@CheckEnd\else\FV@BadEndError\fi
\let\next\FV@EndScanning
\else
\def\FV@Line{#1}%
\ifx\FV@Line\@empty % Test added here
\def\next{\FV@GetLine}%
\else
\def\next{\FV@PreProcessLine\FV@GetLine}%
\fi
\fi
\next}%
\endgroup
处理选择特定数量的空白行更加棘手:我会倾向于直接去listings
编辑代码源,而不是尝试改变它。