Ich versuche den nächsten Code:
\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}
aber es funktioniert nicht. Es werden die folgenden Fehler ausgegeben:
! Argument of \language@active@arg> has an extra }.
! Paragraph ended before \language@active@arg> was complete.<to be read again>\par \draw[->]
Was kann ich tun, wenn es ohne das Babel-Paket richtig funktioniert?
Antwort1
Das Problem besteht darin, dass das spanish
Modul für die Verwaltung spanischer Zitate spezielle Zeichen babel
erstellt >
und aktiviert.<
Aktualisieren:
Mit PGF/TikZ Version 3.0.0 gibt es eine babel
Bibliothek, die die Probleme löst, die durch von einigen Modulen vorgenommene Änderungen an Kategoriecodes entstehen babel
. Es reicht also aus, die Bibliothek zu laden:
\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}
(Dank anClaudio Fiandrinofür den Hinweis insein Kommentar).
PGF/TikZ Version 2.10
Um die unerwünschte Neudefinition für tikzpicture
s zu deaktivieren, sie aber für andere Teile des Dokuments beizubehalten, können Sie
execute at begin picture={\deactivatequoting},
execute at end picture={\activatequoting}
für jedes tikzpicture
. Beachten Sie, dass dieser Ansatz zwei Vorteile hat:
Es sind keine zusätzlichen Pakete erforderlich.
Auch bei Verwendung der Kommandoversion
\tikz
(siehe Beispielcode unten) wird das gewünschte Ergebnis erzielt.
Der Code:
\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}
Als Randbemerkung: Verwenden Sie pdftex
die Option nicht; moderne LaTeX-Systeme erkennen den Treiber automatisch.
Antwort2
Wie von Malipivo angemerkt, ist die spanish
Option „ aktiv“ aktiv. Sie können es nur lokal innerhalb (der gesamten) Umgebung inaktiv machen . Fügen Sie Folgendes in Ihre Präambel ein:babel
>
tikzpicture
\usepackage{etoolbox}
\AtBeginEnvironment{tikzpicture}{\shorthandoff{>}\shorthandoff{<}}{}{}
Vollständiger Code:
\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}
Antwort3
Wenn Sie es nicht verwenden müssen spanish quotes
, fügen Sie es einfach es-noquoting
zu den Babel-Optionen hinzu und TiKZ
die Pfeile werden wieder angezeigt.
\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}
Wenn Sie spanish quotes
die neue TiKZ 3.0-Bibliothek verwenden müssen babel
(wie von Claudio vorgeschlagen). Hier ist ein Beispiel:
\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}
Antwort4
Ich weiß nicht warum, aber keine der vorherigen Antworten hat bei mir funktioniert. Sie haben mir jedoch den richtigen Weg gezeigt; indem ich einfach
\deactivatequoting
in der Präambel wurde das Problem behoben.
Anrufen babel
mit english
sowie spanish
funktioniert auch
\usepackage[spanish,english]{babel}