Quero desenhar linhas verticais ausentes em um arquivo tabular
. Acho que \multirow{2}{*}{}
impede que a linha vertical da tabela seja desenhada.
Meu código:
\documentclass{article}
\usepackage[a4paper,margin=1in,landscape]{geometry}
\usepackage{makecell}
\usepackage{multirow}
\usepackage{booktabs}
\begin{document}
\begin{center}
\begin{table*}[!t] %
\centering
\caption{Results ...}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
\hline
\textbf{Test} & \multicolumn{2}{c|}{Workflow} & Method
& \multirow{2}{*}{\makecell{Completion \\ Time (min)}}
& \multirow{2}{*}{\makecell{Gas Used for \\
\textit{submitJob} (gas)}}
& \multirow{2}{*}{\makecell{Gas Used for \\
\textit{processPayment} (gas)}}
& \multirow{2}{*}{\makecell{Actual/Complete \\ Cost
(\textit{Cent})}}
& \multirow{2}{*}{\makecell{Failed}} \\
\cmidrule(lr){2-3}
& $|V|$ & $|E|$ \\
\hline
$T_1$ & 16 & 28 & ALGO & 27 & 1722983 & 1942770 & 0.827/0.827 & 0 \\ \hline
\end{tabular}
\end{table*}
\end{center}
\end{document}
saída:
Responder1
Você pode usar nicematrix
com a hvlines
opção. O comando para células com múltiplas linhas e múltiplas colunas é \Block
.
Lembre-se de que isso \Block
não faz com que as células sejam ignoradas, portanto &&
é necessário entre as células Workflow e Method. Também não se esqueça de compilar duas vezes.
A linha \NiceMatrixOptions{cell-space-limits = 2pt}
é opcional e cria algum espaço vertical adicional entre as linhas.
\documentclass{article}
\usepackage[a4paper,margin=1in,landscape]{geometry}
\usepackage{nicematrix}
\begin{document}
\begin{center}
\begin{table*}[!t] %
\centering
\caption{Results ...}
\NiceMatrixOptions{cell-space-limits = 2pt}
\begin{NiceTabular}{ccccccccc}[hvlines]
\Block{2-1}{\textbf{Test}} & \Block{1-2}{Workflow} && \Block{2-1}{Method} & \Block{2-1}{Completion\\Time (min)}
& \Block{2-1}{Gas Used for\\ \textit{submitJob} (gas)}
& \Block{2-1}{Gas Used for\\ \textit{processPayment} (gas)}
& \Block{2-1}{Actual/Complete\\ Cost (\textit{Cent})}
& \Block{2-1}{Failed}\\
& $|V|$ & $|E|$ \\
$T_1$ & 16 & 28 & ALGO & 27 & 1722983 & 1942770 & 0.827/0.827 & 0
\end{NiceTabular}
\end{table*}
\end{center}
\end{document}
Responder2
Se você for usar as macros de desenho de linha do booktabs
pacote, não use linhas verticais. De jeito nenhum, não como.
Observe que se você especificar a opção landscape
ao carregar o geometry
pacote, todo o documento será digitado no modo paisagem. Não há necessidade de \begin{landscape}
e \end{landscape}
.
\documentclass{article}
\usepackage[a4paper,margin=1in,landscape]{geometry}
\usepackage{booktabs,array,calc}
\newcommand\mytab[1]{\smash{\begin{tabular}[t]{@{} c @{}} #1 \end{tabular}}}
\newlength\mylen
\setlength\mylen{\widthof{Workflow}-4\tabcolsep}
\begin{document}
\begin{table}[h]
\centering
\caption{Results \dots}
\smallskip
\begin{tabular}{@{} *{2}{wc{\mylen}} *{7}{c} @{}}
\toprule
Test
& \multicolumn{2}{@{}c@{}}{Workflow}
& Method
& \mytab{Completion \\ Time (min)}
& \mytab{Gas used for \\ \textit{submitJob} (gas)}
& \mytab{Gas used for \\ \textit{processPayment} (gas)}
& \mytab{Actual/Complete \\ Cost (\textit{Cent})}
& Failed \\
\cmidrule(lr){2-3}
& $V$ & $E$ \\
\midrule
$T_1$ & 16 & 28 & ALGO & 27 & 1722983 & 1942770 & 0.827/0.827 & 0 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Responder3
Se nada mais funcionar, eu escolheria uma abordagem ingênua:
\documentclass{article}
\usepackage[a4paper,margin=1in,landscape]{geometry}
\usepackage{makecell}
\usepackage{multirow}
\usepackage{booktabs}
\begin{document}
%\begin{landscape}
\begin{center}
\begin{table*}[!t] %
\centering
\caption{Results ...}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
\hline
\textbf{Test} & \multicolumn{2}{c|}{Workflow} & Method
& Completion
& Gas Used for
& Gas Used for
& Actual/Complete
& Failed \\
& $|V|$ & $|E|$
&
& Time (min)
& \textit{submitJob} (gas)
& \textit{processPayment} (gas)
& Cost (\textit{Cent})
& \\
\hline
$T_1$ & 16 & 28 & ALGO & 27 & 1722983 & 1942770 & 0.827/0.827 & 0 \\ \hline
\end{tabular}
\end{table*}
\end{center}
%\end{landscape}
\end{document}
É verdade que o "Falha" não está mais posicionado no meio, mas isso também vale para o "Método"