Sem centralização horizontal em múltiplas linhas em \newline

Sem centralização horizontal em múltiplas linhas em \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}

e exibindo

insira a descrição da imagem aqui.

Apenas a última linha (4) está centralizada. 1, 2 e 3 não estão no centro. Alguém sabe como consertar isso?

Responder1

Olha Você aqui:

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

\hfilcorrige o espaço horizontal adicional adicionado por \newline, \nullé uma caixa horizontal com largura zero.

insira a descrição da imagem aqui

Responder2

Este é o problema do mtipo coluna quando aparece no final (ou seja, como a última coluna). Você pode adicionar uma coluna vazia no final e tudo estará no caminho certo novamente.

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

insira a descrição da imagem aqui

Responder3

Simplifiquei um pouco o código usando o makecellpacote, que permite quebras de linha nas células e uma formatação comum. Também existe um Xhlinecomando para \hlines de espessura variável:

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

insira a descrição da imagem aqui

informação relacionada