Estou tendo dificuldades com edição de tabelas, então comecei a usar um site para gerar tabelas em LaTeX. No entanto, sempre que uso multilinhas e bordas, as coisas ficam um pouco complicadas. Recebo uma linha descontínua ao longo da minha coluna.
Como teste, estou usando isso:
\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{@{}c|cc@{}}
Test & a & b \\ \midrule
\multirow{2}{*}{x} & 1 & 2 \\ \cmidrule(l){2-3}
& 3 & 4
\end{tabular}
\end{table}
Este é o resultado:
Estou usando TexPortable com MiKTeX 2.9.6210 e Texmaker 4.5.
Responder1
Isso está relacionado ao preenchimento em torno das linhas horizontais booktabs
(os comprimentos \aboverulesep
e \belowrulesep
). Regras verticais não devem ser utilizadas booktabs
em geral (este princípio sofre exceções). Uma solução alternativa consiste em defini-los como 0 e substituí-los por comprimentos mais ou menos equivalentes adicionados na parte superior e inferior das células com as ferramentas de makecell
.
\documentclass{article}
\usepackage{booktabs, multirow, array, makecell, caption}
\begin{document}
\begin{table}[!htb]
\centering
\setlength\aboverulesep{0pt}\setlength\belowrulesep{0pt}
\setcellgapes{3pt}\makegapedcells
\caption{My caption}
\label{my-label}
\begin{tabular}{@{}c|cc@{}}
Test & a & b \\ \midrule
\multirow{2}{*}{x} & 1 & 2 \\ \addlinespace[-0.03em]\cmidrule(l){2-3}
& 3 & 4
\end{tabular}
\end{table}
\end{document}
Responder2
Se você deseja linhas verticais compatíveis com as regras horizontais de booktabs
, você deve {NiceTabular}
usar nicematrix
.
\documentclass{article}
\usepackage{booktabs, caption, nicematrix}
\begin{document}
\begin{table}[!htb]
\centering
\caption{My caption}
\label{my-label}
\begin{NiceTabular}{@{}c|cc@{}}[cell-space-limits=3pt]
Test & a & b \\ \midrule
\Block{2-1}{x} & 1 & 2 \\ \cmidrule(l){2-3}
& 3 & 4
\end{NiceTabular}
\end{table}
\end{document}