看看这个最小的例子。当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.
答案 0 :(得分:1)
不是一个答案(为此,请参阅@ EllisValentiner's),但有一个解释:
这是一个可重复性最小的tex文档。似乎与"
有关,所以你对变音符号的猜测似乎正确。
\documentclass{article}
\usepackage[dutch]{babel}
\begin{document}
"}
\end{document}
@baptiste注意到babel正在使它成为一个活跃的角色,它似乎正在做的是“吞下”下面的角色,看它是否应该在它上面放一个变形金刚;如果是这样,它确实如此,如果没有,它会正常打印字符。但是,如果下一个字符是}
,则会将其添加到代码中,该代码会确定要执行的操作,然后会抱怨有额外的}
。
所以这个最小的例子有效,我认为因为它正在处理babel代码中的{
和}
,所以大括号正确排列。
\documentclass{article}
\usepackage[dutch]{babel}
\begin{document}
"{"}
\end{document}
不确定这是一个babel bug,还是在使用babel时你不应该使用"
作为引号。这似乎是合理的,除非您正在使用tt
系列,这就是这个问题首次出现的时候。
比我更好奇的人应该随意将此行为发布为tex.stackexchange上的问题;如果您这样做,请在此处留下链接,以便我们找到它。
答案 1 :(得分:1)
尝试:
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[dutch,english]{babel}
使用非字母数字字符时,R和LaTeX可能会出现一些奇怪的文本编码问题。