我想知道是否有更好的方法来编写这样的表格...有什么建议吗?
谢谢!
\documentclass[12pt,oneside,a4paper,fleqn]{report}
\usepackage{float}
\usepackage{booktabs}
\usepackage{slashbox}
\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{|l|lll|}
\hline
\backslashbox{$f_i$}{$c_j$} & $c_1$ & $c_2$ & $c_3$ \\ \hline
$f_1$ & 2.79 & 3.96 & 4.76 \\
$f_2$ & 5.46 & \multicolumn{1}{r}{1.34} & 2.87 \\
\hline
\end{tabular}
\caption{ costs $b_{ij}$}\label{t4}
\end{table}
\end{document}
答案1
以下代码显示了当前代码与使用生成的代码之间的比较booktabs
和siunitx
:
\documentclass[12pt,oneside,a4paper,fleqn]{report}
\usepackage{float}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{slashbox}
\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{|l|lll|}
\hline
\backslashbox{$f_i$}{$c_j$} & $c_1$ & $c_2$ & $c_3$ \\ \hline
$f_1$ & 2.79 & 3.96 & 4.76 \\
$f_2$ & 5.46 & \multicolumn{1}{r}{1.34} & 2.87 \\
\hline
\end{tabular}
\caption{costs $b_{ij}$}
\label{t4}
\end{table}
\begin{table}[H]
\centering
\begin{tabular}{>{$}l<{$}S[table-format=1.2]S[table-format=1.2]S[table-format=1.2]}
\toprule
& \multicolumn{3}{c}{$c_j$} \\
\cmidrule(lr){2-4}
f_i & {$c_1$} & {$c_2$} & {$c_3$} \\
\cmidrule(lr){1-1}\cmidrule(lr){2-4}
f_1 & 2.79 & 3.96 & 4.76 \\
f_2 & 5.46 & \multicolumn{1}{r}{1.34} & 2.87 \\
\bottomrule
\end{tabular}
\caption{costs $b_{ij}$}
\label{t4}
\end{table}
\end{document}
结果:
一些改进
没有垂直规则。
最重要的是:没有对角线规则。
更好的“空气”行。
siunitx
通过的功能对数值列中的小数点进行对齐。