Ich habe in einer TikZ-Zeichnung Knoten fester Breite, in denen ich Text zentrieren möchte,

Mit \centering geht es nicht:

Open in writeLaTeX
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \node [draw, text width=10em] {\centering Text};
\end{tikzpicture}
\end{document}

Wie macht man es richtig?

Node

Ergänzend wäre interessant, zu wissen, wie man Text zentrieren kann, also Symmetrie erhält, doch mit automatisch angepasster Breite des node.

gefragt 24 Aug '14, 06:19

Felix's gravatar image

Felix
1.3k225366
Akzeptiert: 89%

Die Frage ist zum Archivieren gedacht, kein Support benötigt. Antworten sind jedoch sehr willkommen! Falls nicht schon jemand was passendes antwortet, schreibe ich nachher später eine Antwort fürs Archiv. Es sollte außer aktuellen TikZ noch die TikZ-2.0-Variante text centered erwähnt sein. Sonst fällt mir noch varwidth zum Zentrieren ein.

(24 Aug '14, 06:22) Felix

TikZ kennt für Nodes die align-Option:

Open in writeLaTeX
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \node [draw, text width=10em, align=center] {Text};
\end{tikzpicture}
\end{document}

Diese funktioniert auch für mehrzeiligen Text, der dann automatisch umgebrochen und zentriert wird.

Und natürlich geht es für auch ohne explizite Breitenangabe, wenn man manuell umbricht:

Open in writeLaTeX
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \node [draw, align=center] {Text\\und Text};
\end{tikzpicture}
\end{document}

Bei mehrzeiligem und einzeiligem Text wird im vorangegangenen Beispiel die Breite dann automatisch angepasst.

Achtung: align=center geht erst ab TikZ 2.10! Mit älteren Versionen geht die Option text centered, die heute natürlich auch noch wirkt:

Open in writeLaTeX
\node [draw, text width=10em, text centered] {Text};

Für mehrzeiligen Text gibt es noch clevere Lösungen mit Zentrieren und automatischer Breite, siehe Elkes Lösung in: Wie kann ich in einer TikZ Node einen Zeilenumbruch vornehmen?

Permanenter link

beantwortet 24 Aug '14, 06:24

Ijon%20Tichy's gravatar image

Ijon Tichy
4.4k618

bearbeitet 24 Aug '14, 06:56

Felix's gravatar image

Felix
1.3k225366

@Felix: Ich habe das Gefühl, ich habe das Problem nicht ganz verstanden, denn für das gezeigte Beispiel ist es wirklich trivial. Vielleicht kannst Du ggf. die Frage noch ein wenig ausführen.

(24 Aug '14, 06:28) Ijon Tichy

@Ijon Danke! align war wichtig. Mit altem TikZ 2.0 geht das noch nicht, daher würde ich das analoge text centered noch nennen. Mehrzeiligen Text habe ich jetzt nicht explizit in der Frage, mit varwidth meinte ich angepasstes Zentrieren (\blindtext) an gewisse Maximalbreite oder weniger, hab aber jetzt das hier von Elke gefunden.

(24 Aug '14, 06:44) Felix

@Ijon Ich hab mal eingefügt, was ich meinte. Ich hoffe, das ist ok. Ich lösche meine Kommentare später. Danke nochmal!

(24 Aug '14, 06:56) Felix
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×108
×51
×18

Frage gestellt: 24 Aug '14, 06:19

Frage wurde angeschaut: 9,497 Mal

Zuletzt aktualisiert: 24 Aug '14, 06:56