に欠けている垂直線を描画したいのですが、表の垂直線が描画されない原因になっているtabular
と思います。\multirow{2}{*}{}
私のコード:
\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}
出力:
答え1
nicematrix
オプションと一緒に使用できますhvlines
。複数行セルと複数列セルの両方のコマンドは です\Block
。
これによって\Block
セルがスキップされることはないので、&&
ワークフロー セルとメソッド セルの間には必要です。また、2 回コンパイルすることも忘れないでください。
この線\NiceMatrixOptions{cell-space-limits = 2pt}
はオプションであり、行間に追加の垂直スペースを作成します。
\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}
答え2
パッケージの線描画マクロを使用する場合はbooktabs
、垂直線を使用しないでください。絶対に使用しないでください。
landscape
パッケージをロードするときにオプションを指定するとgeometry
、ドキュメント全体が横向きモードでタイプセットされることに注意してください。\begin{landscape}
およびは必要ありません\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}
答え3
他に何もうまくいかない場合は、素朴なアプローチを選択します。
\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}
確かに、「失敗」はもはや中央に位置していないが、「方法」についても同様である。