1

看看这个最小的例子。当 babel 包被注释掉时,它工作正常。

\documentclass{article}
\usepackage[dutch]{babel}

\begin{document}
<<>>=
abc() #a non-existing function
@

\end{document}

使用 babel 包我得到这个错误。错误也取决于语言。英语,法语或意大利语没有错误。荷兰语、德语或丹麦语有误。带有变音符号(ä、ö、...)的语言似乎会出现此问题

! Argument of \language@active@arg" has an extra }.
<inserted text> 
                \par 
l.67 ...\#\# Error: could not find function "abc"}
                                                  }\end{kframe}
I've run across a `}' that doesn't seem to match anything.
For example, `\def\a#1{...}' and `\a}' would produce
this error. If you simply proceed now, the `\par' that
I've just inserted will cause me to report a runaway
argument that might be the root of the problem. But if
your `}' was spurious, just type `2' and it will go away.
4

2 回答 2

1

不完全是一个答案(为此,请参阅@EllisValentiner's),而是一个解释:

这是一个最小的可重现 tex 文档。似乎与 相关",所以你对元音变音的猜测似乎是正确的。

\documentclass{article}
\usepackage[dutch]{babel}
\begin{document}
"}
\end{document}

@baptiste 注意到 babel 正在使它成为一个活跃的角色,它似乎在做的是“吞下”下一个角色,看看它是否应该在上面加上变音符号;如果是这样,它会,如果不是,它会正常打印字符。但是,如果下一个字符是 a },它将被添加到确定要做什么的代码中,然后抱怨有一个额外的}.

所以这个最小的例子有效,我认为是因为它同时处理{}babel 代码中的 和 ,所以大括号正确排列。

\documentclass{article}
\usepackage[dutch]{babel}
\begin{document}
"{"}
\end{document}

不确定这是否是 babel 错误,或者您在"使用 babel 时是否不应该使用引号。这似乎是合理的,除非您使用的是tt家庭,这是第一次出现这个问题的时候。

比我更好奇的人应该随时在 tex.stackexchange 上将此行为作为问题发布;如果您这样做,请在此处留下链接,以便我们找到它。

于 2013-08-08T19:55:18.820 回答
1

尝试:

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[dutch,english]{babel}

R 和 LaTeX 在使用非字母数字字符时可能会出现一些奇怪的文本编码问题。

于 2013-08-08T20:19:03.420 回答