![Keine horizontale Zentrierung in Multirow bei \newline](https://rvso.com/image/309854/Keine%20horizontale%20Zentrierung%20in%20Multirow%20bei%20%5Cnewline.png)
MWE
\documentclass[a4paper,11pt]{article}
\usepackage{multirow}
\usepackage{array}
\begin{document}
\begin{tabular}{|>{\centering\arraybackslash}m{2cm}
|>{\centering\arraybackslash}m{2.4cm}|}\hline
X & Y \\ \hline
\multirow{2}{*}{No problem} & One Line \\ \cline{2-1}
& Two Line \\ \hline
\multirow{5}{*}{Problem} & One Line \\ \cline{2-1}
& 1 \newline 2 \newline 3 \newline 4\\ \hline
\end{tabular}
\end{document}
und Anzeige
.
Nur die letzte Zeile (4) ist zentriert. 1, 2 und 3 nicht zentriert. Weiß jemand, wie man das beheben kann?
Antwort1
Hier sind Sie ja:
\documentclass[a4paper,11pt]{article}
\usepackage{multirow}
\usepackage{array}
\begin{document}
\begin{tabular}{|>{\centering\arraybackslash}m{2cm}
|>{\centering\arraybackslash}m{2.4cm}|}\hline
X & Y \\ \hline
\multirow{2}{*}{No problem} & One Line \\ \cline{2-1}
& Two Line \\ \hline
\multirow{5}{*}{Problem} & One Line \\ \cline{2-1}
& \hfil1 \newline \null\hfil 2 \newline\null\hfil 3 \newline 4\\ \hline
\end{tabular}
\end{document}
\hfil
korrigiert zusätzlichen horizontalen Raum, der durch hinzugefügt wurde \newline
, \null
und ist ein horizontales Feld mit der Breite Null.
Antwort2
Dies ist das Problem mit m
dem Typ „Spalte“, wenn er am Ende (also als letzte Spalte) erscheint. Sie können am Ende eine leere Spalte hinzufügen und schon ist alles wieder in Ordnung.
\documentclass[a4paper,11pt]{article}
\usepackage{multirow}
\usepackage{array}
\begin{document}
\begin{tabular}{|>{\centering\arraybackslash}m{2cm}
|>{\centering\arraybackslash}m{2.4cm}|@{}c@{}}\hline
X & Y \\ \hline
\multirow{2}{*}{No problem} & One Line &\\ \cline{2-1}
& Two Line &\\ \hline
\multirow{5}{*}{Problem} & One Line &\\ \cline{2-1}
& 1 & \\
& 2 & \\
& 3 & \\
& 4 &\\ \hline
\end{tabular}
\end{document}
Antwort3
Ich vereinfache den Code etwas mithilfe des makecell
Pakets, das Zeilenumbrüche in Zellen und eine gemeinsame Formatierung ermöglicht. Es gibt auch einen Xhline
Befehl für \hline
s mit variabler Breite:
\documentclass[a4paper,11pt]{article}
\usepackage{multirow, array, makecell}
\begin{document}
\begin{tabular}{!{\vrule width1pt}% >{\centering\arraybackslash}m{2cm}|>{\centering\arraybackslash}m{2.4cm}!{\vrule width1pt}}
\Xhline{1pt}
X & Y \\
\hline
\multirow{2}{*}{No problem} & One Line \\
\cline{2-1}
& Two Line \\ \hline
\multirow{5}{*}{Problem} & One Line \\
\cline{2-1}
& \makecell{1 \\2 \\ 3 \\ 4}\\
\Xhline{1pt}
\end{tabular}
\end{document}