我已经为左侧显示的表格编写了此代码,但我想进行一些修改,以便它看起来像右侧的表格。你能帮助我吗?
\begin{table}[t]\footnotesize\renewcommand{\arraystretch}{1.2}\addtolength{\tabcolsep}{-1pt}
\begin{center}
\begin{tabular}{ c || c | c || c | c ||}
\hline
{\bf Types} & \multicolumn{2}{c|}{\bf Line A} & \multicolumn{2}{c|}{\bf Line B} \\\hline\hline
& a & b & a & b \\\hline
x & d & 2 & 76 & 2 \\\hline
y & 1 & 3 & 74 & 3 \\\hline\hline
z & \multicolumn{2}{c|}{4a} &\multicolumn{2}{c|}{4a} \\
\hline
\end{tabular}
\caption{ll}
\label{table:senspec}
\end{center}
\end{table}
答案1
我能够得到以下结果。它仍然需要改进,因为第一行和最后一行的边框与其他行的边框没有正确对齐。而且下面两列的宽度Line A
不匹配。
\documentclass{article}
\begin{document}
\begin{table}[t]
\centering
\begin{tabular}{| c |@{}c@{\,}| c | c |@{}c@{\,}| c | c |}
\hline
\textbf{Types} & \multicolumn{3}{|c|}{\textbf{Line A}} & \multicolumn{3}{c|}{\textbf{Line B}} \\
\hline
\multicolumn{1}{c}{} \\[-0.9\normalbaselineskip]
\cline{3-4} \cline{6-7}
\multicolumn{1}{c}{} & & a & b & & a & b \\
\cline{1-1} \cline{3-4} \cline{6-7}
x & & d & 2 & & 76 & 2 \\
\cline{1-1} \cline{3-4} \cline{6-7}
y & & 1 & 3 & & 74 & 3 \\
\cline{1-1} \cline{3-4} \cline{6-7}
\multicolumn{1}{c}{} \\[-0.9\normalbaselineskip]
\hline
z & \multicolumn{3}{|c|}{4a} & \multicolumn{3}{c|}{4a} \\
\hline
\end{tabular}
\caption{ll}
\label{table:senspec}
\end{table}
\end{document}
答案2
这实际上不是对你问题的回答,仅仅是一个建议和一个答案:
笔记
\bf
是个坏主意。- 您只能用
\cline{2-3}
从第 2 列到第 3 列绘制一条水平线。 - 环境
center
添加了垂直空间(它是list
)。如果您不想这样使用\centering
(就像我在示例中所做的那样)。
我的建议
这充分利用了优秀的booktabs
包。
关于这个包有以下规则(其他人也声称这对良好的风格有效):
- 不要使用垂直线。
- 遵守规则 1。
代码
\documentclass{article}
\usepackage{booktabs}
\renewcommand{\cmidrulekern}{.25em}
\begin{document}
\begin{table}[t]%\footnotesize%\renewcommand{\arraystretch}{1.2}\addtolength{\tabcolsep}{-1pt}
\centering
\begin{tabular}{ccccc}
\toprule
\bfseries Types & \multicolumn{2}{c}{\bfseries Line A} & \multicolumn{2}{c}{\bfseries Line B} \\
\cmidrule(r){2-3}\cmidrule(l){4-5}
& a & b & a & b \\
\midrule
x & d & 2 & 76 & 2 \\
y & 1 & 3 & 74 & 3 \\
\cmidrule(r){2-3}\cmidrule(l){4-5} % Maybe don't use these cmidrules.
z & \multicolumn{2}{c}{4a} & \multicolumn{2}{c}{4a} \\
\bottomrule
\end{tabular}
\caption{second way}
\label{table:senspec}
\end{table}
\end{document}
输出
有点像你想要的
“类型”和“A 行”之间以及“A 行”和“B 行”之间的垂直线似乎需要稍微调整一下。
我确信拥有更多(普通)TeX 表经验的人可以在这里帮助我们。
代码
\documentclass{article}
\begin{document}
\begin{table}[t]\footnotesize%\renewcommand{\arraystretch}{1.2}\addtolength{\tabcolsep}{-1pt}
\centering
\begin{tabular}{|c|@{\extracolsep{2pt}}c@{\extracolsep{-2pt}}|c|@{\extracolsep{2pt}}c@{\extracolsep{-2pt}}|c|}
\hline
\multicolumn{1}{|c|}{\bfseries Types} & \multicolumn{2}{c}{\bfseries Line A} & \multicolumn{2}{|c|}{\bfseries Line B} \\
\hline\noalign{\smallskip}
\cline{2-3}\cline{4-5}
\multicolumn{1}{c}{} & \multicolumn{1}{|c|}{a} & b & \multicolumn{1}{|c|}{a} & b \\
\cline{1-1}\cline{2-3}\cline{4-5}
x & \multicolumn{1}{|c|}{d} & 2 & \multicolumn{1}{|c|}{76} & 2 \\
\cline{1-1}\cline{2-3}\cline{4-5}
y & \multicolumn{1}{|c|}{1} & 3 & \multicolumn{1}{|c|}{74} & 3 \\
\cline{1-1}\cline{2-3}\cline{4-5}
\noalign{\smallskip}
\hline
z & \multicolumn{2}{c}{4a} & \multicolumn{2}{|c|}{4a} \\
\hline
\end{tabular}
\caption{Prediction Accuracy of the Enose System in Lung Cancer Detection}
\label{table:senspec2}
\end{table}
\end{document}
输出
答案3
hhline
可以在这里提供帮助(无关但从未\bf
在 LaTeX 中使用它们根本没有在格式中定义并且仅包含在标准类中以与 LaTeX 2.09 兼容)
\documentclass{article}
\usepackage{array,hhline}
\begin{document}
\begin{table}[t]\footnotesize\renewcommand{\arraystretch}{1.2}\addtolength{\tabcolsep}{-1pt}
\begin{center}
\begin{tabular}{| c || c | c || c | c |}
\hline
\multicolumn{1}{|c|}{\textbf{Types}} & \multicolumn{2}{c|}{\textbf{Line A}} & \multicolumn{2}{c|}{\textbf{Line B}} \\
\hline
\noalign{\vskip\doublerulesep}%
\hhline{~--||--}
\multicolumn{1}{c|}{} & a & b & a & b \\
\hhline{-||-|-||-|-|}
x & d & 2 & 76 & 2 \\
\hhline{-||-|-||-|-|}
y & 1 & 3 & 74 & 3 \\
\hhline{:=:b:=:=:b:=:=:}
\multicolumn{1}{|c|}{z} & \multicolumn{2}{c|}{4a} &\multicolumn{2}{c|}{4a} \\
\hline
\end{tabular}
\caption{ll}
\label{table:senspec}
\end{center}
\end{table}
\end{document}