次のコードを試しています:
\documentclass[pdftex,spanish]{article}
\usepackage{babel}
\usepackage{tikz}
\begin{document}
Simple arrow:
\begin{tikzpicture}
\draw[->] (-1.5,0) -- (1.5,0);
\end{tikzpicture}
\end{document}
しかし、動作しません。次のエラーが発生します:
! Argument of \language@active@arg> has an extra }.
! Paragraph ended before \language@active@arg> was complete.<to be read again>\par \draw[->]
babel パッケージがなくても正常に動作する場合はどうすればいいですか?
答え1
問題は、スペイン語の引用の特別な管理のためにspanish
モジュールがbabel
作成し>
、アクティブな文字を使用することです。<
アップデート:
babel
PGF/TikZ バージョン 3.0.0 には、一部のモジュールによって行われたカテゴリ コードの変更によって発生する問題を解決するライブラリがあるbabel
ため、ライブラリをロードするだけで十分です。
\documentclass[spanish]{article}
\usepackage{babel}
\usepackage{tikz}
\usetikzlibrary{babel}
\begin{document}
Simple arrows:
\begin{tikzpicture}
\draw[->] (-1.5,0) -- (1.5,0);
\end{tikzpicture}
\tikz\draw[->] (-1.5,0) -- (1.5,0);
\end{document}
(感謝クラウディオ・フィアンドリーノこれを指摘してくれた彼のコメント)。
PGF/TikZ バージョン 2.10
の不要な再定義を無効にしてtikzpicture
、ドキュメントの他の部分では再定義を維持するには、次のようにします。
execute at begin picture={\deactivatequoting},
execute at end picture={\activatequoting}
あらゆる に対してtikzpicture
。このアプローチには 2 つの利点があることに注意してください。
追加パッケージは必要ありません。
コマンド バージョンを使用した場合にも、目的の結果が生成されます
\tikz
(以下のサンプル コードを参照)。
コード:
\documentclass[spanish]{article}
\usepackage{babel}
\usepackage{tikz}
\tikzset{
every picture/.append style={
execute at begin picture={\deactivatequoting},
execute at end picture={\activatequoting}
}
}
\begin{document}
Simple arrows:
\begin{tikzpicture}
\draw[->] (-1.5,0) -- (1.5,0);
\end{tikzpicture}
\tikz\draw[->] (-1.5,0) -- (1.5,0);
\end{document}
ちなみに、pdftex
オプションは使用しないでください。最新の LaTeX システムはドライバーを自動的に検出します。
答え2
Malipivo が指摘したように、spanish
のオプションはアクティブにbabel
なります>
。ローカルの環境内 (すべて) でのみ非アクティブにすることができますtikzpicture
。プリアンブルに以下を追加します。
\usepackage{etoolbox}
\AtBeginEnvironment{tikzpicture}{\shorthandoff{>}\shorthandoff{<}}{}{}
完全なコード:
\documentclass{article}
\usepackage[spanish]{babel}
\usepackage{tikz}
\usepackage{etoolbox}
\AtBeginEnvironment{tikzpicture}{\shorthandoff{>}\shorthandoff{<}}{}{}
\begin{document}
Simple arrow:
\begin{tikzpicture}
\draw[->] (-1.5,0) -- (1.5,0);
\end{tikzpicture}
\end{document}
答え3
を使用する必要がない場合はspanish quotes
、es-noquoting
babel オプションに追加するだけで、TiKZ
矢印が再び表示されます。
\documentclass[pdftex,spanish]{article}
\usepackage[es-noquoting]{babel}
\usepackage{tikz}
\begin{document}
Simple arrow:
\begin{tikzpicture}
\draw[->] (-1.5,0) -- (1.5,0);
\end{tikzpicture}
\end{document}
spanish quotes
新しい TiKZ 3.0 ライブラリを使用する必要がある場合babel
(Claudio の提案どおり)。次に例を示します。
\documentclass[pdftex,spanish]{article}
\usepackage{babel}
\usepackage{tikz}
\usetikzlibrary{babel}
\begin{document}
Simple arrow:
\begin{tikzpicture}
\draw[->] (-1.5,0) -- (1.5,0) node[right] {<<Hola>>};
\end{tikzpicture}
<<Hola>>
\end{document}
答え4
理由は分かりませんが、これまでの回答はどれも私には役に立ちませんでした。しかし、彼らは私に正しい道を示してくれました。
\deactivatequoting
プリアンブルで問題は解決しました。
babel
と電話するenglish
のもspanish
効果的です
\usepackage[spanish,english]{babel}