使用“匈牙利语”(magyar)选项加载 babel 会破坏“pygments”代码高亮显示

使用“匈牙利语”(magyar)选项加载 babel 会破坏“pygments”代码高亮显示

鉴于以下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}

我已经为此毁了一整天了,希望有人能好好利用它!

相关内容