Warum wird die Zelle A nicht vertikal zentriert?

\documentclass{article}
\usepackage{tabularx,booktabs,tabu,array,multirow,graphicx}

\begin{document}
\begin{table}[htb]
    \scriptsize
    \begin{tabu} to \linewidth {X[-1,l,m]X[1,c,m]X[1,c,m]X[1,c,m]X[1,c,m]}
        \toprule
         \textbf{A}  & \multicolumn{2}{|c|}{\includegraphics[height=.75cm]{example-image-b}} & \multicolumn{2}{c}{\includegraphics[height=.75cm]{example-image-b}}  \\
        \midrule
        \textbf{B} &test&test&test&test \\
        \textbf{C} &test&test&test&test \\
        \textbf{D} &test&test&test&test \\
        \midrule
        E &  & & &  \\
        \bottomrule
    \end{tabu}
\end{table}
\end{document}

gefragt 08 Jul '20, 10:49

wiewowas's gravatar image

wiewowas
452203040
Akzeptiert-Rate: 40%

Danke für den Hinweis, das weiß ich =). Über eine Lösung des Problems via tabularx etc. freue ich mich auch.

(08 Jul '20, 11:17) wiewowas

Dein Hauptproblem ist, dass Du mit \multicolumn den Spaltentyp für die Abbildungen in c änderst. Damit sind es kein m-Spalten mehr und die Grundlinie der Spalte bleibt unten statt in der Mitte. Die Lösung besteht also darin, den Text der ersten Spalte abhängig von der Höhe der anderen Spalten (die man im Beispiel sehr einfach ermitteln kann) vertikal zu verschieben:

\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{ragged2e}

\begin{document}
\begin{table}[htb]
  \scriptsize
%  \renewcommand*{\tabularxcolumn}[1]{m{#1}}% Braucht man im Beispiel nicht,
                                            %  geht aber auch.
  \begin{tabularx}{\linewidth}{l*4{>{\Centering}X}}
    \toprule
    \raisebox{.5\dimexpr .75cm-\ht\strutbox\relax}{\textbf{A}}  & \multicolumn{2}{|c|}{\includegraphics[height=.75cm]{example-image-b}} & \multicolumn{2}{c}{\includegraphics[height=.75cm]{example-image-b}}  \\
    \midrule
    \textbf{B} &test&test&test&test \\
    \textbf{C} &test&test&test&test \\
    \textbf{D} &test&test&test&test \\
    \midrule
    E &  & & &  \\
    \bottomrule
  \end{tabularx}
\end{table}
\end{document}

Diese Lösung funktioniert auch mit tabu:

\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{tabu}% → https://github.com/tabu-issues-for-future-maintainer/tabu

\begin{document}
\begin{table}[htb]
    \scriptsize
    \begin{tabu} to \linewidth {X[-1,l,m]X[1,c,m]X[1,c,m]X[1,c,m]X[1,c,m]}
        \toprule
    \raisebox{.5\dimexpr .75cm-\ht\strutbox\relax}{\textbf{A}}  & \multicolumn{2}{|c|}{\includegraphics[height=.75cm]{example-image-b}} & \multicolumn{2}{c}{\includegraphics[height=.75cm]{example-image-b}}  \\
        \midrule
        \textbf{B} &test&test&test&test \\
        \textbf{C} &test&test&test&test \\
        \textbf{D} &test&test&test&test \\
        \midrule
        E &  & & &  \\
        \bottomrule
    \end{tabu}
\end{table}
\end{document}

Ob man das Paket trotz der unter https://github.com/tabu-issues-for-future-maintainer/tabu angesprochenen Problematik verwenden will, muss jeder selbst entscheiden. Für die gezeigte Tabelle ist das Paket jedenfalls nicht zwingend erforderlich, wie das erste Beispiel in dieser Antwort zeigt.

Permanenter link

beantwortet 08 Jul '20, 11:37

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 11 Aug '20, 11:38

1

@Vitali_Szarmach Ich habe manchmal einfach nicht die Zeit, die ich gerne hätte. Manchmal fehlt mir auch die Lust. Und wer will mich zwingen, Dinge weiter auszuführen als ich das will? Verbieten will ich aber niemandem etwas. Alternative habe ich IMHO von Anfang an gezeigt. Ich bestreite auch nicht, dass das Paket einige sehr schöne Möglichkeiten bietet und Ideen in die LaTeX-Welt bringt. Es ist bedauerlich, dass das Paket seit Jahren nicht mehr gepflegt wird.

(11 Aug '20, 11:44) gast3
2

@Vitali_Szarmach: nein tabu ist kein herausragendes, herrliches Paket. Es hat ein paar nette Ideen, aber es ist mies programmiert, es ist kaputt, es ist nicht betreut, und es ist daher die offizielle Position des LaTeX teams, dass man es derzeit nicht verwenden soll. Und ich kann daher nur alle bitten, keinen Code damit zu zeigen, in der Hoffnung, dass nicht immer wieder Anfänger in die Falle tappen und es nutzen, und anschließend mit den Fehler kämpfen.

(14 Aug '20, 17:06) Ulrike Fischer
2

Darum ist es gut und üblich, zu tabu-Posts stets wie hier eine zur Vorsicht ratende Bemerkung hinzuzufügen. Falls sich der Status von tabu ändert, kann man solche Zusätze löschen.

(14 Aug '20, 20:05) stefan ♦♦
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×23
×15
×10
×9

gestellte Frage: 08 Jul '20, 10:49

Frage wurde gesehen: 3,863 Mal

zuletzt geändert: 14 Aug '20, 20:05