当使用 minted 代码片段编写时,我不喜欢删除 latex 源中的缩进,因此会生成正确的结果。有没有办法从 minted 缩进中减去 latex 缩进级别?我希望这篇文章能说清楚:
\documentclass{beamer}
\usepackage{minted}
\begin{document}
\begin{frame}[fragile,t]
\begin{itemize}
\item readable Latex source
\begin{minted}{python}
l = 1
\end{minted}
not so nice Latex source but, correct indentation
\begin{minted}{python}
l = 1
\end{minted}
So how to subtract the indentation level from latex source?
\end{itemize}
\end{frame}
\end{document}
顺便说一句:请考虑代码列表的行长可能达到 80 个字符,而这个额外的缩进将导致源重叠或换行。
答案1
有一个名为的选项autogobble
可以完全满足您的要求。
% arara: pdflatex: {shell: 1}
\documentclass{beamer}
\usepackage{minted}
\begin{document}
\begin{frame}[fragile,t]
\begin{itemize}
\item readable Latex source
\begin{minted}[autogobble]{python}
l = 1
\end{minted}
not so nice Latex source but, correct indentation
\begin{minted}{python}
l = 1
\end{minted}
So how to subtract the indentation level from latex source?
\end{itemize}
\end{frame}
\end{document}
答案2
这个问题已经回答很久了,但我想进一步补充一点,该命令\noindent
在普通文本中运行得很好。我不确定它是否在你的代码中有效,但无论如何,这个想法值得记住。