在下面的 tex 文件中,如果我将该babel
包与该minted
包一起使用,则会出现此错误:
! Missing \endcsname inserted.
<to be read again>
\protect
l.1 \begin{Verbatim}[commandchars=\\\{\}]
我的系统是 macOS 10.7.5 上的 Tex Live 2020,命令是:
xelatex --shell-escape minted-tryin.tex
如果我注释掉所有相关的行,则包含minted
时它可以编译成功。babel
如何同时使用这两个包?
\documentclass[a4paper,12pt]{book}
\usepackage[british, turkish]{babel}
\selectlanguage{turkish}
\usepackage{minted}
\usepackage[left=1.5cm]{geometry}
\begin{document}
Ok let's start...
\begin{minted}{python}
import sys, math
if (len(sys.argv)>1) :
print (math.factorial(int(sys.argv[1])))
\end{minted}
\end{document}
答案1
语言turkish
将(至少在 下pdflatex
)转换!:=
为活动字符。您可能需要禁用它们,minted
因为它可能会影响key=value
界面minted
内部使用,并且因为:
示例中的 。
将此添加到序言中似乎有效
\usepackage{etoolbox}
\AtBeginEnvironment{minted}{
\shorthandoff{=}
\shorthandoff{:}
}
我没有添加!
我的测试。