Seite 1 von 1
Beschriftung bei \draw und tikz nicht auf der gleichen Ebene
Verfasst: Di 21. Jul 2015, 10:11
von Waschmaschiene
\documentclass[a4paper,12pt]{report}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}
\tikzstyle{every node}=[font=\small] %Bestimmt die Schriftgrösse im Text
\draw (3,0) circle (2) % Die 1.8 bestimmt den Durchmesser des Kreises, 3 die vertiklae und 0 die horiziontale
(0.8,0) circle (2)
(0.0,0.3) node{$FT: Herz$}
(1.9,0.3) node {$E: Herz$}
(0.8,2.4) node{$\textbf{pumpen}$} %Die 2.3 bestimmt die Horizontale Position der Beschriftung. Die 0.8 die Vertikale Position
(3.7,2.4) node {$\textbf{Ger{\"a}usche machen}$};
\end{tikzpicture}
\end{center}
\end{document}
Wie ihr seht sind die beiden fetten Schriften nicht auf der gleichen Höhe. Aber die horizontale Position ist ja bei beiden mit 2.4 identisch.
Wo könnte also der Fehler liegen?
Verfasst: Di 21. Jul 2015, 10:40
von esdd
In der Voreinstellung wird ein Node mit seinem center Anker an der angegebenen Stelle eingefügt. Wie weit dieser Anker über der Grundlinie des Textes liegt, hängt davon ab, welche Höhe und Tiefe dieser hat. In Deinem Beispiel hat das Wort "pumpen" eine Unterlänge während "Geräusche machen" keine hat. Außerdem ist Höhe von "Geräusch größer" als von "pumpen". Dementsprechend erscheint "pumpen" in der Ausgabe nach oben verschoben. Wenn Du möchtest, dass die Grundlinien an den entsprechenden Stellen eingefügt werden, kannst Du anchor=base verwenden. Wenn Deine Texte immer nur einzeilig sind, kannst Du statt dessen bei der font Option auch \strut ergänzen. Oder Du gibst Texthöhe und -tiefe explizit vor.
Also zum Beispiel
\documentclass[a4paper,12pt]{report}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[every node/.style={font=\small,anchor=base}]
\draw (3,0) circle (2)
(0.8,0) circle (2)
(0.0,0.3) node{$FT: Herz$}
(1.9,0.3) node {$E: Herz$}
(0.8,2.4) node{$\textbf{pumpen}$}
(3.7,2.4) node {$\textbf{Ger{\"a}usche machen}$};
\end{tikzpicture}
\end{center}
\end{document}
oder
\documentclass[a4paper,12pt]{report}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[every node/.style={font=\small\strut}]
\draw (3,0) circle (2)
(0.8,0) circle (2)
(0.0,0.3) node{$FT: Herz$}
(1.9,0.3) node {$E: Herz$}
(0.8,2.4) node{$\textbf{pumpen}$}
(3.7,2.4) node {$\textbf{Ger{\"a}usche machen}$};
\end{tikzpicture}
\end{center}
\end{document}
Gruß
Elke
PS: \tikzstyle{xxx}=[...] ist veraltet. Nimm \tikzset{xxx/.style={...}}
Verfasst: Di 21. Jul 2015, 10:48
von Waschmaschiene
vielen Dank Elke
noch zwei Detailfragen
1.) Würde dieser Code in \tikzset{xxx/.style={...}}
noch funktionieren?
2.) Wieso ist meine Variante veraltet?
In
ftp://ftp.dante.de/tex-archive/info/ger ... l2tabu.pdf
sehe ich es zu mindestens nicht aufgelistet.
Verfasst: Di 21. Jul 2015, 10:58
von esdd
Waschmaschiene hat geschrieben:
1.) Würde dieser Code in \tikzset{xxx/.style={...}}
noch funktionieren?
\tikzset{every node/.style={font=\small}}
oder
\begin{tikzpicture}[every node/.style={font=\small}]
tut das gleiche wie Dein Code mit der veralteten Syntax.
Deine Variante ist veraltete tikz Syntax. In [d]l2tabu[/d] sind solche paketbezogenen Sachen nicht enthalten. Infos zur aktuellen Syntax findest Du in der jeweiligen Paketdoku. Hier wäre das die zu [d]pgf[/d]/tikz , Abschnitt "Using Styles to Manage How Pictures Look".
Gruß
Elke