我在写实验报告的同时学习了 LaTeX,这可能听起来很愚蠢,但我必须在写论文之前从某个地方开始。无论如何,我正在尝试将以下类型的表格编码到我的 LaTeX 文档中:
\begin{table}[htbp]
\caption{Ct-value}
\label{tab:Ct}
\centering
\begin{tabular}{C{1.75cm} *{8}{C{1 cm}} }
\toprule
\multicolumn{4}{p{4cm}}{DETECTION OF CT}
\\
\cmidrule(lr){3-6}
&
\multicolumn{3}{p{3cm}}{Matrix-PCR} &
\multicolumn{2}{p{2cm}}{H5-PCR} &
\multicolumn{2}{p{2cm}}{H7-PCR} &
\\
\cmidrule(lr){2-4} \cmidrule(lr){5-6} \cmidrule(lr){7-8}
Sample &
G1 & G2 & G3 &
G4 & G5 &
G6 & G7 &
\\
\cmidrule(lr){1-1} \cmidrule(lr){2-2} \cmidrule(lr){3-3} \cmidrule(lr){4-4} \cmidrule(lr){5-5} \cmidrule(lr){6-6} \cmidrule(lr){7-7} \cmidrule(lr){8-8}
Neg & - & - & - & - & - & - & - \\
102685 & 26,25 & 26,56 & 25,93 & - & - & - & - \\
102420 & - & - & - & - & - & - & 27,72 \\
102696 & 23,93 & 25.93 & 23,54 & - & - & 23,25 & - \\
102721 & 21,48 & 21,71 & - & 24,40 & 22,78 & - & - \\
H5 Pos & 19,02 & - & 18,79 & 21,92 & 20,35 & - & - \\
H5 1:10 & 23,98 & - & 22,84 & 27,38 & 23,79 & - & - \\
H5 1:100 & 27,80 & - & 27,17 & - & - & - & - \\
H7 Pos & - & 23,36 & - & - & - & 20,39 & 21,90 \\
H7 1:10 & - & 27,87 & - & - & - & 24,97 & 28,35 \\
H7 1:100 & - & 32,27 & - & - & - & 28,98 & 31,68 \\
\bottomrule
\end{tabular}
\end{table}
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage{natbib}
\usepackage{url}
\usepackage[utf8x]{inputenc}
\usepackage{dcolumn}
\usepackage{amsmath}
\usepackage{graphicx}
\graphicspath{{images/}}
\usepackage{parskip}
\usepackage{fancyhdr}
\usepackage{vmargin}
\usepackage{multirow,booktabs,colortbl,tabularx}
\definecolor{LightGray}{gray}{.8}
我确信……我这样做是“错误的”和更困难的,但我离完成这张表已经很近了,这是一个非常好的学习过程。然而,我有一些无法解决的问题,如下所示。
问题:
1. 标题没有像我希望的那样位于左侧。2. 我无法将标题居中放置在行上方。3. 我不知道如何在每个标题之间添加更多空间(纬度/高度)。4. “示例”列下方看起来非常混乱,我希望所有内容都位于左侧。5
. 顶部和底部规则结束时间晚了 1-2 厘米。另外,我想更改它们的厚度。
答案1
这是一个解决方案,它 (a) 尝试更清晰地组织标题材料,(b) 在某些数据行之间使用额外的空白,以提供更多的视觉分组,并希望使材料更具视觉吸引力。请注意,不需要指定任何列宽——l
和c
列类型就很好。
\documentclass[12pt]{article}
% I simplified preamble to focus on the bare essentials
\usepackage{booktabs}
\usepackage[skip=0.333\baselineskip]{caption}
\begin{document}
\begin{table}[htbp!]
\centering
\caption{Ct-value}
\label{tab:Ct}
\begin{tabular}{@{} l *{7}{c} @{}}
\toprule
Sample & \multicolumn{7}{c@{}}{Detection of CT}\\
\cmidrule(l){2-8}
& \multicolumn{3}{c}{Matrix-PCR}
& \multicolumn{2}{c}{H5-PCR}
& \multicolumn{2}{c@{}}{H7-PCR} \\
\cmidrule(lr){2-4} \cmidrule(lr){5-6} \cmidrule(l){7-8}
& G1 & G2 & G3 & G4 & G5 & G6 & G7 \\
\midrule
Neg & -- & -- & -- & -- & -- & -- & -- \\
102685 & 26,25 & 26,56 & 25,93 & -- & -- & -- & -- \\
102420 & -- & -- & -- & -- & -- & -- & 27,72 \\
102696 & 23,93 & 25.93 & 23,54 & -- & -- & 23,25 & -- \\
102721 & 21,48 & 21,71 & -- & 24,40 & 22,78 & -- & -- \\
\addlinespace
H5 Pos & 19,02 & -- & 18,79 & 21,92 & 20,35 & -- & -- \\
H5 1:10 & 23,98 & -- & 22,84 & 27,38 & 23,79 & -- & -- \\
H5 1:100 & 27,80 & -- & 27,17 & -- & -- & -- & -- \\
\addlinespace
H7 Pos & -- & 23,36 & -- & -- & -- & 20,39 & 21,90 \\
H7 1:10 & -- & 27,87 & -- & -- & -- & 24,97 & 28,35 \\
H7 1:100 & -- & 32,27 & -- & -- & -- & 28,98 & 31,68 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
1) 您确定要使用居中表格并左对齐短标题吗?
2)当所有行都完全适合文本宽度时,为什么还要指定列的宽度?
顺便说一句,为了将长单元格放入几行中,您可以使用p{<length>}
或m{<length>}
(与array
包一起使用)或C
与其他tabulary
包一起使用,但C{<length>}
除非在其他地方定义(例如 \newcolumntype{C}{>{\hfil}m}
在序言中),否则不能使用。这就是为什么需要 MWE。否则我们只能猜测这样的命令到底是什么\toprule
(它不是标准的 LaTEX,也许人们不知道这个booktabs
包)或具有长度的“C”列。
3)对于不可用的数据,请使用 en 或 em 破折号代替连字符(或者更好的是,将单元格留空)。
\documentclass{article}
\usepackage{booktabs}
\usepackage{caption}
\captionsetup[table]{singlelinecheck=off}
\begin{document}
\begin{table}[htbp]
\caption{Ct-value}
\label{tab:Ct}
\centering
\begin{tabular}{lccccccc}
\toprule
& \multicolumn{7}{c}{DETECTION OF CT}\\
\cmidrule(lr){2-8}
& \multicolumn{3}{c}{Matrix-PCR} &
\multicolumn{2}{c}{H5-PCR} &
\multicolumn{2}{c}{H7-PCR} \\
\cmidrule(lr){2-4} \cmidrule(lr){5-6} \cmidrule(lr){7-8}
Sample &
G1 & G2 & G3 &
G4 & G5 &
G6 & G7 \\
\cmidrule(lr){1-1} \cmidrule(lr){2-2} \cmidrule(lr){3-3} \cmidrule(lr){4-4} \cmidrule(lr){5-5} \cmidrule(lr){6-6} \cmidrule(lr){7-7} \cmidrule(lr){8-8}
Neg & --- & --- & --- & --- & --- & --- & --- \\
102685 & 26,25 & 26,56 & 25,93 & --- & --- & --- & --- \\
102420 & --- & --- & --- & --- & --- & --- & 27,72 \\
102696 & 23,93 & 25.93 & 23,54 & --- & --- & 23,25 & --- \\
102721 & 21,48 & 21,71 & --- & 24,40 & 22,78 & --- & --- \\
H5 Pos & 19,02 & --- & 18,79 & 21,92 & 20,35 & --- & --- \\
H5 1:10 & 23,98 & --- & 22,84 & 27,38 & 23,79 & --- & --- \\
H5 1:100 & 27,80 & --- & 27,17 & --- & --- & --- & --- \\
H7 Pos & --- & 23,36 & --- & --- & --- & 20,39 & 21,90 \\
H7 1:10 & --- & 27,87 & --- & --- & --- & 24,97 & 28,35 \\
H7 1:100 & --- & 32,27 & --- & --- & --- & 28,98 & 31,68 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案3
解决方案是使用siunitx
、caption
和threeparttable
。我还用尾号替换了单元格中的许多连字符。
无关:请注意,vmargin
不应使用该包,因为它有一些不良副作用。将其替换为geometry
:
\documentclass[12pt, english]{article}
\usepackage{babel}
\usepackage{natbib}
\usepackage{url}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath}
\usepackage{graphicx}
\graphicspath{{images/}}
\usepackage{parskip}
\usepackage{fancyhdr}
\usepackage{multirow,booktabs,colortbl,tabularx}
\usepackage{caption, makecell, siunitx, threeparttable}
\definecolor{LightGray}{gray}{.8}
\begin{document}
\begin{table}[!htbp]
\centering
\begin{threeparttable}
\captionsetup{singlelinecheck = off}
\sisetup{table-format = 2.2, table-number-alignment = center, copy-decimal-marker}
\setlength{\extrarowheight}{2pt}
\caption{Ct-value}
\label{tab:Ct}
\begin{tabular}{p{1.75cm} *{7}{S}}%
\toprule
\multicolumn{4}{p{4cm}}{DETECTION OF CT}
\\
\cmidrule(lr){3-6}
&
\multicolumn{3}{c}{Matrix-PCR} &
\multicolumn{2}{c}{H5-PCR} &
\multicolumn{2}{c}{H7-PCR}
\\
\cmidrule(lr){2-4} \cmidrule(lr){5-6} \cmidrule(lr){7-8}
\makecell{Sample} &
{G1} & {G2} & {G3} &
{G4} & {G5} &
{G6} & {G7}
\\
\cmidrule(lr){1-1} \cmidrule(lr){2-2} \cmidrule(lr){3-3} \cmidrule(lr){4-4} \cmidrule(lr){5-5} \cmidrule(lr){6-6} \cmidrule(lr){7-7} \cmidrule(lr){8-8}
Neg & {–} & {–} & {–} & {–} & {–} & {–} & {–}\\%
102685 & 26,25 & 26,56 & 25,93 & {–} & {–} & {–} & {–} \\%\\
102420 & {–} & {–} & {–} & {–} & {–} & {–} & 27,72 \\
102696 & 23,93 & 25.93 & 23,54 & {–} & {–} & 23,25 & {–} \\
102721 & 21,48 & 21,71 & {–} & 24,40 & 22,78 & {–} & {–} \\
H5 Pos & 19,02 & {–} & 18,79 & 21,92 & 20,35 & {–} & {–} \\
H5 1:10 & 23,98 & {–} & 22,84 & 27,38 & 23,79 & {–} & {–} \\
H5 1:100 & 27,80 & {–} & 27,17 & {–} & {–} & {–} & {–} \\
H7 Pos & {–} & 23,36 & {–} & {–} & {–} & 20,39 & 21,90 \\
H7 1:10 & {–} & 27,87 & {–} & {–} & {–} & 24,97 & 28,35 \\
H7 1:100 & {–} & 32,27 & {–} & {–} & {–} & 28,98 & 31,68 \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}