Beschriftung bei \draw und tikz nicht auf der gleichen Ebene

Tabellen und Grafiken erstellen und anordnen


Waschmaschiene
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: Mi 7. Jan 2015, 07:22

Beschriftung bei \draw und tikz nicht auf der gleichen Ebene

Beitrag 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?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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={...}}
Zuletzt geändert von esdd am Di 21. Jul 2015, 10:53, insgesamt 1-mal geändert.

Waschmaschiene
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: Mi 7. Jan 2015, 07:22

Beitrag 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.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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.
Waschmaschiene hat geschrieben:2.) Wieso ist meine Variante veraltet?

In

ftp://ftp.dante.de/tex-archive/info/ger ... l2tabu.pdf

sehe ich es zu mindestens nicht aufgelistet.
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

Antworten