Bei der Erstellung meiner Spielkarten verwende ich das Packet
datatool, um je nach Eintrag in einer Datentabelle über teilweise verschachtelte
ifthen-Schleifen die Ausgestaltung der einzelnen Karten zu steuern.
Um den Code übersichtlicher zu gestalten, breche ich den Code um und rücke ihn ein. Dabei ist mir aufgefallen, dass das Einrücken Einfluss hat auf die Zentrierung des Textes auf den Karten.
Im folgenden Beispiel sieht man, was ich meine. Ich habe zweimal den selben Code, aber unterschiedlich umgebrochen und eingerückt:
Baum,Farbe,Groesse
Buche,,gross
Tanne,grün,
Linde,,
\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[cmyk,table]{xcolor}
\usepackage[verbose]{datatool}
\usepackage{ifthen}
\usepackage{tabularx}
\usepackage{array}
\pagestyle{empty}
\begin{document}
\DTLloaddb[keys={Baum,Farbe,Groesse}]{Tabelle}{Tabelle.csv}
\begin{DTLenvforeach}{Tabelle}{\Baum=Baum,\Farbe=Farbe,\Groesse=Groesse}
\begin{tabular}{|c|}
\hline
\Baum \ifthenelse{\not \equal{\Farbe}{}}{\\[-0.6 mm] \scriptsize \mdseries\textit{(\Farbe)}}{\ifthenelse{\not \equal{\Groesse}{}}{\\[-0.6 mm] \scriptsize \mdseries\textit{(\Groesse)}}{}}\\
\hline
\end{tabular}
\end{DTLenvforeach}
\vspace{5 mm}
\begin{DTLenvforeach}{Tabelle}{\Baum=Baum,\Farbe=Farbe,\Groesse=Groesse}
\begin{tabular}{|c|}
\hline
\Baum
\ifthenelse{\not \equal{\Farbe}{}}{
\\[-0.6 mm]
\scriptsize \mdseries\textit{(\Farbe)}
}{
\ifthenelse{\not \equal{\Groesse}{}}{
\\[-0.6 mm] \scriptsize \mdseries\textit{(\Groesse)}
}{
}
}\\
\hline
\end{tabular}
\end{DTLenvforeach}
\end{document}
Wenn ich nun compiliere (
TeXstudio 4.8.5 (git 4.8.5) auf Windows, angezeigt in Sumatra, sieht man, dass es unterschiedliche Resultate gibt. Alle Wörter sollten in den Boxen zentriert sein.
Das untere Buche-Feld hat jedoch rechts mehr Platz bis zum Rand als das obere.
Noch deutlicher ist es bei der Linde. In beiden Boxen ist das Wort vertikal nicht zentriert und bei der unteren hat es rechts wieder einen grossen Zwischenraum bis zum Rand.
Woran liegt das? Rücke ich falsch ein?
Wäre sehr dankbar für jede Hilfe.
Bei der Erstellung meiner Spielkarten verwende ich das Packet [i]datatool[/i], um je nach Eintrag in einer Datentabelle über teilweise verschachtelte [i]ifthen-Schleifen[/i] die Ausgestaltung der einzelnen Karten zu steuern.
Um den Code übersichtlicher zu gestalten, breche ich den Code um und rücke ihn ein. Dabei ist mir aufgefallen, dass das Einrücken Einfluss hat auf die Zentrierung des Textes auf den Karten.
Im folgenden Beispiel sieht man, was ich meine. Ich habe zweimal den selben Code, aber unterschiedlich umgebrochen und eingerückt:
[code]Baum,Farbe,Groesse
Buche,,gross
Tanne,grün,
Linde,,[/code]
[code]
\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[cmyk,table]{xcolor}
\usepackage[verbose]{datatool}
\usepackage{ifthen}
\usepackage{tabularx}
\usepackage{array}
\pagestyle{empty}
\begin{document}
\DTLloaddb[keys={Baum,Farbe,Groesse}]{Tabelle}{Tabelle.csv}
\begin{DTLenvforeach}{Tabelle}{\Baum=Baum,\Farbe=Farbe,\Groesse=Groesse}
\begin{tabular}{|c|}
\hline
\Baum \ifthenelse{\not \equal{\Farbe}{}}{\\[-0.6 mm] \scriptsize \mdseries\textit{(\Farbe)}}{\ifthenelse{\not \equal{\Groesse}{}}{\\[-0.6 mm] \scriptsize \mdseries\textit{(\Groesse)}}{}}\\
\hline
\end{tabular}
\end{DTLenvforeach}
\vspace{5 mm}
\begin{DTLenvforeach}{Tabelle}{\Baum=Baum,\Farbe=Farbe,\Groesse=Groesse}
\begin{tabular}{|c|}
\hline
\Baum
\ifthenelse{\not \equal{\Farbe}{}}{
\\[-0.6 mm]
\scriptsize \mdseries\textit{(\Farbe)}
}{
\ifthenelse{\not \equal{\Groesse}{}}{
\\[-0.6 mm] \scriptsize \mdseries\textit{(\Groesse)}
}{
}
}\\
\hline
\end{tabular}
\end{DTLenvforeach}
\end{document}
[/code]
Wenn ich nun compiliere ([i]TeXstudio 4.8.5 (git 4.8.5) auf Windows, angezeigt in Sumatra[/i], sieht man, dass es unterschiedliche Resultate gibt. Alle Wörter sollten in den Boxen zentriert sein.
Das untere Buche-Feld hat jedoch rechts mehr Platz bis zum Rand als das obere.
Noch deutlicher ist es bei der Linde. In beiden Boxen ist das Wort vertikal nicht zentriert und bei der unteren hat es rechts wieder einen grossen Zwischenraum bis zum Rand.
Woran liegt das? Rücke ich falsch ein?
Wäre sehr dankbar für jede Hilfe.