tikzpeople: Zeilenumbruch in Sprechblase Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Benutzeravatar
mittendrin
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Sa 21. Nov 2020, 14:50

tikzpeople: Zeilenumbruch in Sprechblase

Beitrag von mittendrin »

Hallo miteinander,

wie bekomme ich es beim Paket tikzpeople geschickter hin, dass der Text in der Sprechblase zentriert und mit Zeilenumbruch ausgegeben wird?
\documentclass{standalone}
\usepackage{tikzpeople}
\usetikzlibrary{shapes.callouts}

\begin{document}
	\begin{tikzpicture}
	\node[name=a,shape=santa,minimum size=1cm,xshift=-1.25cm] {};
	\node[ellipse callout,draw,yshift=.3cm,callout absolute pointer={(a.mouth)},
		font=\tiny] {\parbox{1.1cm}{\centering Frohe \\ Weihnachten!}};
\end{tikzpicture}
\end{document}
Für eure Hilfe vielen Dank im Voraus.

Naseg Ruen

Re: tikzpeople: Zeilenumbruch in Sprechblase

Beitrag von Naseg Ruen »

Mit Hilfe von text width und align. Beide Optionen sind in dem treffend benannten Abschnitt "17.4.3 Text Parameters: Alignment and Width for Multi-Line Text" der pgf-Anleitung erklärt.
\documentclass{standalone}
\usepackage{tikzpeople}
\usetikzlibrary{shapes.callouts}

\begin{document}
	\begin{tikzpicture}
	\node[name=a,shape=santa,minimum size=1cm,xshift=-1.5cm] {};
	\node[ellipse callout,draw,yshift=.3cm,text width=1.4cm,align=center,callout absolute pointer={(a.mouth)},
		font=\tiny] {Frohe \\ Weihnachten!};
\end{tikzpicture}
\end{document}

Benutzeravatar
mittendrin
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Sa 21. Nov 2020, 14:50

Re: tikzpeople: Zeilenumbruch in Sprechblase

Beitrag von mittendrin »

Hat ausgezeichnet funktioniert, vielen Dank für die rasche Antwort. Leider ist mein Englisch nicht so gut, deswegen tue ich mich etwas schwer mit der umfangreichen pgf-Anleitung.

Um bei farbigem Seitenhintergrund eine weiße Sprechblase zu bekommen, habe ich fill=white hinzugefügt.

Rueb Enase

Re: tikzpeople: Zeilenumbruch in Sprechblase

Beitrag von Rueb Enase »

Man kann Teile der Anleitung recht leicht und kostenlos mit Hilfe von DeepL in weitgehend verständliches Deutsch übersetzen. Für die englische Erklärung zur Option text width:
This option will put the text of a node in a box of the given width (something akin to a {minipage} of this width, only portable across formats). If the node text is not as wide as hdimensioni, it will nevertheless be put in a box of this width. If it is larger, line breaking will be done.

By default, when this option is given, a ragged right border will be used (align=left). This is sensible since, typically, these boxes are narrow and justifying the text looks ugly. You can, however, change the alignment using align or directly using commands line \centering.
liefert DeepL beispielsweise die Übersetzung:
Mit dieser Option wird der Text eines Knotens in einen Rahmen der angegebenen Breite gesetzt (so etwas wie eine {minipage} mit dieser Breite, nur über Formatgrenzen hinweg). Wenn der Text des Knotens nicht so breit ist wie hdimensioni, wird er wird er dennoch in einen Rahmen dieser Breite gesetzt. Ist er größer, wird ein Zeilenumbruch vorgenommen.

Wenn diese Option angegeben ist, wird standardmäßig ein ausgefranster rechter Rand verwendet (align=left). Dies ist sinnvoll da diese Kästen in der Regel schmal sind und die Ausrichtung des Textes hässlich aussieht. Sie können jedoch die Ausrichtung die Ausrichtung mit align oder direkt mit den Befehlen line \centering ändern.
Das ist gar nicht so schlecht, wenn man bedenkt, dass es in der letzten Zeile des englischen Textes eigentlich »like \centering« statt »line \centering« heißen müsste. Korrigiert man diesen Fehler im englischen Text, wird der letzte Satz zu: »Sie können die Ausrichtung jedoch mit align oder direkt mit Befehlen wie \centering ändern.«

Antworten