Нет горизонтального центрирования в многорядной строке в \newline

Нет горизонтального центрирования в многорядной строке в \newline

МВЭ

\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}

и отображение

введите описание изображения здесь.

Только последний ряд (4) центрирован. 1, 2 и 3 не центрированы. Кто-нибудь знает, как это исправить?

решение1

Вот, пожалуйста:

\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исправляет дополнительное горизонтальное пространство, добавленное \newline, \nullпредставляет собой горизонтальный блок с нулевой шириной.

введите описание изображения здесь

решение2

Это проблема с mтипом столбца, когда он появляется в конце (т.е. как последний столбец). Вы можете добавить пустой столбец в конце, и все снова пойдет по плану.

\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}

введите описание изображения здесь

решение3

Я немного упрощаю код с помощью makecellпакета, который позволяет переносить строки в ячейках и использовать общее форматирование. Также есть Xhlineкоманда для \hlines переменной толщины:

\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} 

введите описание изображения здесь

Связанный контент