[tabu] \newline ignoriert inneren Rand

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: [tabu] \newline ignoriert inneren Rand

von MoonKid » Mo 13. Jun 2016, 12:19

Danke. Hab ich gleich mal für die Zukunft "notiert".

von DADABBI » Mo 13. Jun 2016, 11:23

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
}

von MoonKid » Mo 13. Jun 2016, 11:02

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?

[tabu] \newline ignoriert inneren Rand

von MoonKid » Mo 13. Jun 2016, 10:46

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}

Nach oben