
Ich habe die folgende Tabelle mit Multirow geschrieben
Obwohl Multirow meines Wissens die vertikale Ausrichtung automatisch vornehmen sollte, geschieht dies bei mir nur, solange ich keine Bilder einbinde. Was ich versuche, ist die vertikale Zentrierung des Inhalts der Zellen in der ersten Spalte. Hat jemand einen Rat, wie man dieses Problem lösen kann? Der Code lautet wie folgt
\documentclass{article}
\usepackage{amsmath}
\usepackage{multirow,graphics,graphicx}
usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{c|m{1.5cm}m{2cm}l}
MR & GS & Typ & Sym \\ \hline
\multirow{4}*{ 1} & \includegraphics[width=1cm, height=1cm]{F1} & Tria& \\
& \includegraphics[width=1cm, height=1cm]{F1} & Obl & \\
& \includegraphics[width=1cm, height=1cm]{F1} & Sq & \\ & \includegraphics[width=1cm, height=1cm]{F1} & Rec & \\ \hline
\multirow{2}{*}{2} & \includegraphics[width=1cm, height=1cm]{F1} & SqSnSq & \\
& \includegraphics[width=1cm, height=1cm]{F1} & TrHex & \\ \hline
\multirow{2}{*}{3} & \includegraphics[width=1cm, height=1cm]{F1} & TrKag & \\
& \includegraphics[width=1cm, height=1cm]{F1} & RecShSq& \\
\hline
\end{tabular}
\end{table}
\end{document}
Antwort1
Ich denke, es ist einfacher, es nicht zu verwenden multirow
und einfach eine verschachtelte Tabelle auf der rechten Seite zu verwenden, da tabular
diese standardmäßig vertikal zentriert ist.
\documentclass{article}
\usepackage{amsmath}
\usepackage{multirow,graphics,graphicx}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{table}
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{c|l}
MR &
\begin{tabular}[t]{@{}p{1cm}p{2cm}p{2cm}@{}}GS & Typ & Sym\end{tabular}
\\ \midrule
1 &
\begin{tabular}{@{}m{1cm}m{2cm}m{2cm}@{}}
\includegraphics[width=1cm]{example-image} & Tria& \\
\includegraphics[width=1cm]{example-image} & Obl & \\
\includegraphics[width=1cm]{example-image} & Sq & \\
\includegraphics[width=1cm]{example-image} & Rec &
\end{tabular}
\\ \midrule
2 &
\begin{tabular}{@{}m{1cm}m{2cm}m{2cm}@{}}
\includegraphics[width=1cm]{example-image} & SqSnSq & \\
\includegraphics[width=1cm]{example-image} & TrHex &
\end{tabular}
\\ \midrule
3 &
\begin{tabular}{@{}m{1cm}m{2cm}m{2cm}@{}}
\includegraphics[width=1cm]{example-image} & TrKag & \\
\includegraphics[width=1cm]{example-image} & RecShSq&
\end{tabular}
\\ \bottomrule
\end{tabular}
\end{table}
\end{document}
Antwort2
Ich weiß nicht, ob das dieam bestenLösung, aber Sie können die optionalen Parameter vpos
und vmove
der multirow
Befehle verwenden, wie unten gezeigt
Grob:
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{c|m{1.5cm}m{2cm}l}
MR & GS & Typ & Sym \\ \hline
\multirow[c]{4}{*}[-1cm]{1} & \includegraphics[width=1cm, height=1cm]{imma}& Tria&\\
& \includegraphics[width=1cm, height=1cm]{imma} & Obl& \\
& \includegraphics[width=1cm, height=1cm]{imma} & Sq & \\ & \includegraphics[width=1cm, height=1cm]{imma} & Rec & \\ \hline
\multirow[c]{2}{*}[-0.4cm]{2} & \includegraphics[width=1cm, height=1cm]{imma} & SqSnSq & \\
& \includegraphics[width=1cm, height=1cm]{imma} & TrHex & \\ \hline
\multirow[c]{2}{*}[-0.4cm]{3} & \includegraphics[width=1cm, height=1cm]{imma} & TrKag & \\
& \includegraphics[width=1cm, height=1cm]{imma} & RecShSq& \\
\hline
\end{tabular}
\end{table}
\end{document}
Ertrag:
Sie würden grundsätzlich die folgende Syntax verwenden \multirow[vpos]{x}{*}[-y]{T}
:
vposist entweder
b
(unten),c
(Mitte) odert
obenXist die Anzahl der zu überspannenden Spalten
jist dervertikale Einstellungeinfügen. Ich habe ein Minus davor gesetzt, weil man Dinge nach unten verschieben muss.
Tist der Text Ihrer Mehrfachzeile.
AUCHBitte markieren Sie, dass graphics
dies ersetzt wird durch graphicx
und somit nicht mehr erforderlich ist.
Antwort3
Moriambars Lösung ist gut, unter der Annahme, dass sie \multirow
verwendet werden sollte.
Hier ist eine andere Lösung, unter der Annahme, dass leere Zellen eine Wiederholung des Werts bedeuten.
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage[export]{adjustbox}
\begin{document}
\begin{table}[htp]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{ccll}
\toprule
MR & GS & Typ & Sym \\
\midrule
1 & \includegraphics[width=1cm,height=1cm,valign=c]{example-image} & Tria & \\
\addlinespace[2pt]
& \includegraphics[width=1cm,height=1cm,valign=c]{example-image} & Obl & \\
\addlinespace[2pt]
& \includegraphics[width=1cm,height=1cm,valign=c]{example-image} & Sq & \\
\addlinespace[2pt]
& \includegraphics[width=1cm,height=1cm,valign=c]{example-image} & Rec & \\
\midrule
2 & \includegraphics[width=1cm,height=1cm,valign=c]{example-image} & SqSnSq & \\
\addlinespace[2pt]
& \includegraphics[width=1cm,height=1cm,valign=c]{example-image} & TrHex & \\
\midrule
3 & \includegraphics[width=1cm,height=1cm,valign=c]{example-image} & TrKag & \\
\addlinespace[2pt]
& \includegraphics[width=1cm,height=1cm,valign=c]{example-image} & RecShSq & \\
\bottomrule
\end{tabular}
\end{table}
\end{document}