[tabu] \newline ignoriert inneren Rand

Tabellen und Grafiken erstellen und anordnen


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

[tabu] \newline ignoriert inneren Rand

Beitrag von MoonKid »

Bild

Hier sieht man in Zeile 3 der zweiten Spalte einen einzeiligen Zelleninhalt mit adäquatem Leerraum über und unter den Buchstaben.
In Zeile 1 und 2 der gleichen Spalte sieht man, dass der Leerraum unter dem Text nicht vorhanden ist, wenn der Inhalt mehrzeilig ist.

Mit \tabulinesep könnte ich das aufhübschen. Nach meinem Verstädnis wäre das aber nur ein workaround. Ich versuche zu verstehen, warum das überhaupt so passiert.

Dazu der Code.
\documentclass{article}
\usepackage{xltxtra}

\usepackage{tabu}

\begin{document}
\newcommand{\mymacro}[2]{%
    \texttt{#1}\linebreak
    #2%
}
\noindent
\begin{tabu*} spread \textwidth {X|X|X}
    \everyrow{\tabucline{-}}
    1&i\mymacro{Eins}{Zweig}&a\\
    2&i\mymacro{zwei}{xxxx}&b\\
    3&zwei&c\\
\end{tabu*}
\end{document}
XeLaTeX, TeX Live, vim-latexsuite

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Nebenbei viel mir das geniale makecell in die Hände, welches das Problem an sich lösen würde.

Im Übringen findet sich mein Problem, bei vielen Beispielen im Netz, die erklären wie man mehrzeilige Zelleninhalte generiert - nicht nur mi tabu.

Aber zum Verständnis, würde ich einfach gerne wissen, warum das so passiert?
XeLaTeX, TeX Live, vim-latexsuite

DADABBI

Beitrag von DADABBI »

Das ist einer der bekannten Bugs in tabu, für das der Support bekanntlich eingestellt ist. Er kommt daher, dass das Paket in diesem Fall die tatsächliche Höhe/Tiefe der Box für die Platzierung des Inhalts verwendet. Man kann diese mit einer unsichtbaren Stütze \strut am Ende des Inhalts korrigieren:
\newcommand{\mymacro}[2]{%
    \texttt{#1}\linebreak
    #2\unskip\strut
}

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Danke. Hab ich gleich mal für die Zukunft "notiert".
XeLaTeX, TeX Live, vim-latexsuite

Antworten