TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.

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, 12:19

Felix's gravatar image

Felix
1.3k305666
Akzeptiert-Rate: 47%

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, 12: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, 12:24

Ijon%20Tichy's gravatar image

Ijon Tichy
8.8k31022
Akzeptiert-Rate: 56%

bearbeitet 24 Aug '14, 12:56

Felix's gravatar image

Felix
1.3k305666

@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, 12: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, 12: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, 12:56) Felix
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:

×667
×123
×69
×20

gestellte Frage: 24 Aug '14, 12:19

Frage wurde gesehen: 22,133 Mal

zuletzt geändert: 24 Aug '14, 12:56