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 を参照)、説明は次のとおりです。

これは最小限の再現可能な tex ドキュメントです。と関係があるよう"ですので、ウムラウトについてのあなたの推測は正しいようです。

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

@baptiste は、babel がアクティブな文字を作成していることに気付きました。これは、次の文字を「飲み込んで」、ウムラウトを付ける必要があるかどうかを確認しているようです。そうである場合は実行し、そうでない場合は通常どおりに文字を出力します。ただし、次の文字が である場合、}何をすべきかを判断するコードに追加され、余分な があると不平を言い}ます。

{したがって、この最小限の例が機能するのは、babel コードで との両方を処理しているためだと思い}ます。そのため、中かっこが適切に並んでいます。

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

これがバベルのバグなのか、それともバベルを使用"するときに引用符を使用することになっていないのかはわかりません。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 に答える