sysrq
05-04-2011, 11:47
Hallo,
ich möchte eine Tabelle erstellen und nutze kleine tikzpicture-Umgebungen, um Kreise zu malen. Dazu habe ich mir drei neue Kommandos gebastelt. Leider stimmt die vertikale Ausrichtung der Kreise nicht:
\documentclass{scrbook}
\usepackage{tikz}
\begin{document}
% drei TikZ-Shortcuts, um Voll-, Halb- und leeren Kreis zu zeichnen; passen sich automatisch der Zeilen-Höhe an
\newcommand\mycircle{\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}}
\newcommand\myfullcircle{\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\fill[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}}
\newcommand\myhalfcircle{
\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\clip (-0.4\baselineskip,0.4\baselineskip) rectangle (0,-0.4\baselineskip);
\fill[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}
}
\begin{tabular}{|c|p{1cm}|c|}
\hline
Etwas Text & \mycircle & Test danach \\
\hline
Noch mehr Text & \myfullcircle & Und noch mehr Text \\
\hline
Und noch mehr Text & \myhalfcircle & Das war alles \\
\hline
\end{tabular}
\end{document}
Die Kreise scheinen am oberen Rand zu kleben und ich habe auch eine Vermutung wieso: die tikzpicture-Umgebungen nehmen keinen Platz in der Tabelle ein. Wenn ich die Spaltendefinition von p{1cm} zu einem normalen c wechsle, verschwinden die Kreise:
\documentclass{scrbook}
\usepackage{tikz}
\begin{document}
% drei TikZ-Shortcuts, um Voll-, Halb- und leeren Kreis zu zeichnen; passen sich automatisch der Zeilen-Höhe an
\newcommand\mycircle{\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}}
\newcommand\myfullcircle{\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\fill[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}}
\newcommand\myhalfcircle{
\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\clip (-0.4\baselineskip,0.4\baselineskip) rectangle (0,-0.4\baselineskip);
\fill[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}
}
\begin{tabular}{|c|c|c|}
\hline
Etwas Text & \mycircle & Test danach \\
\hline
Noch mehr Text & \myfullcircle & Und noch mehr Text \\
\hline
Und noch mehr Text & \myhalfcircle & Das war alles \\
\hline
\end{tabular}
\end{document}
Ich denke wenn die tikzpicture-Umgebungen aktiv Platz einnehmen würden, dann würde auch die vertikale Ausrichtung funktionieren. Aber wie mache ich das? Da ich mit \baselineskip arbeite sollte die Höhe auch passend gewählt sein. Zumindest hoffe ich das.
ich möchte eine Tabelle erstellen und nutze kleine tikzpicture-Umgebungen, um Kreise zu malen. Dazu habe ich mir drei neue Kommandos gebastelt. Leider stimmt die vertikale Ausrichtung der Kreise nicht:
\documentclass{scrbook}
\usepackage{tikz}
\begin{document}
% drei TikZ-Shortcuts, um Voll-, Halb- und leeren Kreis zu zeichnen; passen sich automatisch der Zeilen-Höhe an
\newcommand\mycircle{\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}}
\newcommand\myfullcircle{\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\fill[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}}
\newcommand\myhalfcircle{
\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\clip (-0.4\baselineskip,0.4\baselineskip) rectangle (0,-0.4\baselineskip);
\fill[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}
}
\begin{tabular}{|c|p{1cm}|c|}
\hline
Etwas Text & \mycircle & Test danach \\
\hline
Noch mehr Text & \myfullcircle & Und noch mehr Text \\
\hline
Und noch mehr Text & \myhalfcircle & Das war alles \\
\hline
\end{tabular}
\end{document}
Die Kreise scheinen am oberen Rand zu kleben und ich habe auch eine Vermutung wieso: die tikzpicture-Umgebungen nehmen keinen Platz in der Tabelle ein. Wenn ich die Spaltendefinition von p{1cm} zu einem normalen c wechsle, verschwinden die Kreise:
\documentclass{scrbook}
\usepackage{tikz}
\begin{document}
% drei TikZ-Shortcuts, um Voll-, Halb- und leeren Kreis zu zeichnen; passen sich automatisch der Zeilen-Höhe an
\newcommand\mycircle{\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}}
\newcommand\myfullcircle{\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\fill[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}}
\newcommand\myhalfcircle{
\begin{tikzpicture}
\draw[line width=0.1em] (0,0) circle (0.4\baselineskip);
\clip (-0.4\baselineskip,0.4\baselineskip) rectangle (0,-0.4\baselineskip);
\fill[line width=0.1em] (0,0) circle (0.4\baselineskip);
\end{tikzpicture}
}
\begin{tabular}{|c|c|c|}
\hline
Etwas Text & \mycircle & Test danach \\
\hline
Noch mehr Text & \myfullcircle & Und noch mehr Text \\
\hline
Und noch mehr Text & \myhalfcircle & Das war alles \\
\hline
\end{tabular}
\end{document}
Ich denke wenn die tikzpicture-Umgebungen aktiv Platz einnehmen würden, dann würde auch die vertikale Ausrichtung funktionieren. Aber wie mache ich das? Da ich mit \baselineskip arbeite sollte die Höhe auch passend gewählt sein. Zumindest hoffe ich das.