In einem Knoten eines komplexen Diagramms habe ich langen Text, den ich manuell umbrechen möchte. Der reduzierte Ausschnitt:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[font=\bfseries, align=left] {\textcolor{blue}{Mehrere\\ Zeilen}};
\end{tikzpicture}
\end{document}

gibt mir die Fehlermeldung

! Undefined control sequence.
\tikz@invoke@collected@onpath ...mmand \tikz@temp 
                                                  \pgf@stop \tikz@node@is@a@...
l.5 ...=left] {\textcolor{blue}{Mehrere\\ Zeilen}}
                                                  ;

Verwende ich \newline statt \\, dann compiliert es ohne Fehler, jedoch auch ohne Umbruch.

Was ist die Ursache, und wie kann ich das verbessern?

gefragt 02 Jan '14, 16:24

Felix's gravatar image

Felix
1.3k525666
Akzeptiert-Rate: 47%


Der manuelle Zeilenumbruch im node Text geht, wenn man statt \textcolor die text-Option des nodes verwendet.

Die geänderte Zeile mit text=<farbe> liefert das Gewünschte:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[font=\bfseries, align=left, text=blue] {Mehrere \\ Zeilen};
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 02 Jan '14, 16:26

Felix's gravatar image

Felix
1.3k525666
Akzeptiert-Rate: 47%

Die Dokumentation von pgf beschreibt, wie das Argument in solchen Fällen geparst wird:

When the node text is parsed, the command \\ is redefined internally. This redefinition is done in such a way that the text from the start of the node to the first occurrence of \\ is put in an hbox. Then the text following \\ up to the next \\ is put in another hbox. This goes on until the text between the last \\ and the closing } is also put in an hbox.

D.h. es ist keine gute Idee, die diversen Zeilen (und damit auch die trennenden \\) in ein\textcolor-Argument zu stecken. Die Zeilen sollten für sich allein vollständiger Code sein.

Permanenter link

beantwortet 02 Jan '14, 16:53

Ulrike%20Fischer's gravatar image

Ulrike Fischer
3.6k23
Akzeptiert-Rate: 52%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×728
×76
×44

gestellte Frage: 02 Jan '14, 16:24

Frage wurde gesehen: 21,829 Mal

zuletzt geändert: 02 Jan '14, 16:53