鉴于以下TeX
文件,一切都按预期工作:(匈牙利)文本Árvíztűrő Tükörfúrógép
按预期排版,代码片段也格式化为精彩。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{verbments}
\begin{document}
\section{Text}
Árvíztűrő Tükörfúrógép.
\section{Java}
\begin{pyglist}[language=java]
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i < 0; i++)
sum += i;
System.out.format("Sum: %s.\n", sum);
}
\end{pyglist}
\end{document}
但是,如果我指定要使用 Hungarianbabel
包\usepackage[magyar]{babel}
,我会收到一些神秘的错误(可能与生成的代码有关Pygments
)。(可以在包含实际错误消息的日志文件中找到这里。
我在此示例中使用verbments
,但同样的事情也适用于minted
。
编辑:我忘了说,正在加载任何 babel
包(如英语、德语等)不是导致错误。
第二次编辑:我忘了表述一个问题,所以我开始吧:可能是什么问题呢,和有什么解决办法?我完全糊涂了。
答案1
好的,我找到解决方案了。
匈牙利一揽子babel
计划重新定义了一些活跃角色(无论它们是什么)库使用哪些字符Pygments
来生成LaTeX
代码。
必须使用magyarOptions
(在加载babel
包之前)并设置active=none
选项(这意味着:不要使用或重新定义主动角色- 顺便说一下,` [反引号] 用作活动字符)。shorthandcs=none
必须在此过程中进行设置,因为否则包会抱怨......
\def\magyarOptions{defaults=prettiest,active=none,shorthandcs=none}
我已经为此毁了一整天了,希望有人能好好利用它!