Keine horizontale Zentrierung in Multirow bei \newline

Keine horizontale Zentrierung in Multirow bei \newline

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

Bildbeschreibung hier eingeben.

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}

\hfilkorrigiert zusätzlichen horizontalen Raum, der durch hinzugefügt wurde \newline, \nullund ist ein horizontales Feld mit der Breite Null.

Bildbeschreibung hier eingeben

Antwort2

Dies ist das Problem mit mdem 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}

Bildbeschreibung hier eingeben

Antwort3

Ich vereinfache den Code etwas mithilfe des makecellPakets, das Zeilenumbrüche in Zellen und eine gemeinsame Formatierung ermöglicht. Es gibt auch einen XhlineBefehl für \hlines 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} 

Bildbeschreibung hier eingeben

verwandte Informationen