![Sem centralização horizontal em múltiplas linhas em \newline](https://rvso.com/image/309854/Sem%20centraliza%C3%A7%C3%A3o%20horizontal%20em%20m%C3%BAltiplas%20linhas%20em%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}
e exibindo
.
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}
\hfil
corrige o espaço horizontal adicional adicionado por \newline
, \null
é uma caixa horizontal com largura zero.
Responder2
Este é o problema do m
tipo 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}
Responder3
Simplifiquei um pouco o código usando o makecell
pacote, que permite quebras de linha nas células e uma formatação comum. Também existe um Xhline
comando para \hline
s 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}