不明白创建新环境后 LaTeX 的错误

不明白创建新环境后 LaTeX 的错误

我正在使用minted-package 为正在撰写的论文添加颜色代码。为了更改代码稍后显示的部分的样式,我定义了一个新环境。但是,LaTeX 似乎不想使用它。

以下是我写的内容:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{minted}

\newenvironment{pythoncode}[0]{\begin{minted}{python}}{\end{minted}}

\begin{document}

\begin{pythoncode}
from foo import bar
\end{pythoncode}

\end{document}

但它不起作用。Latex 抛出一个错误:

扫描使用 \FancyVerbGetLine 时文件结束。\par <*> bib.tex

我怀疑你忘记了“}”,导致我读到了你希望我停止的地方。我会尝试恢复;但如果错误很严重,你最好现在输入“E”或“X”并修复你的文件。

! 紧急停止。<*> foo.tex

***(作业中止,未找到合法的 \end)

此后没有生成任何 PDF。我尝试不使用高亮显示代码\newenvironment(仅\begin{minted}{python}在文档内部使用),效果非常好。

我做错了什么?没有}遗漏,是吗?

我正在使用 pdflatexsharelatex.com

答案1

您所做的不是为minted环境定义别名的正确方法。

你可以使用newminted类似

\newminted{python}{linenos}

然后使用pythoncode环境。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{minted}

\newminted{python}{linenos}

\begin{document}

\begin{pythoncode}
from foo import bar
\end{pythoncode}

%% above one is equivalent to the following
\begin{minted}[linenos]{python}
from foo import bar
\end{minted}

\end{document}

在此处输入图片描述

相关内容