带有多行标题、对齐小数(或隐含)、星号和匕首的表格

带有多行标题、对齐小数(或隐含)、星号和匕首的表格

问题 1:LaTeX 生成有关在带有 *** 的行中插入括号和 $ 的错误。

问题 2:葡萄糖列值不应该有 .0,但我必须添加它们才能使列正确对齐(添加 .0 意味着比我给出的更高的精度)。

问题 3:它看起来确实很丑陋和复杂,尤其是必须设置列宽,但至少我遇到过它,\shortstack它非常有帮助。

\documentclass{article}

\usepackage{booktabs}
\usepackage{dcolumn}

\newcolumntype{d}{D{.}{.}{5.5}}
\newcolumntype{C}{>{\centering}p}

\begin{document}

\begin{table}[htp]
\caption{}
\centering
\begin{center}
    \begin{tabular}{p{1.25in}ddd}
    \toprule
    \multicolumn{1}{C{1in}}{\shortstack{Group}} & \multicolumn{1}{C{0.75in}}{\shortstack{Weight\\(g)}} &    \multicolumn{1}{C{1in}}{\shortstack{Glucose\\(mg/l)}} & \multicolumn{1}{C{2in}} {\shortstack{Glycosylated protein\\(nmol/mg protein)}}\\
    \midrule
    Control & 544.5 & 908.0 & 17.8\\
    Diabetic & 331.2{$^{***}$} & 5736.0{$^{***}$} & 32.10{$^{***}$}\\
    Diabetic+GT & 343.9{$^{***}$} & 4037.0{$^{***}\dagger\dagger$ } &   24.87{$^{***}$}\\
    \bottomrule
    \end{tabular}
\end{center}
\label{tbl:results}\\
\end{table}

\end{document}

答案1

一些建议:

  • 设置一个名为的宏,例如,\sym排版星号和匕首

  • 使用两个标题行,并将单元格以居中文本模式放置在数据列上

  • 我建议使用“自然”列宽,即由单元格内容决定的宽度。下面的第二个解决方案显示了使所有 3 个数据列等宽所需的代码。

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs,dcolumn,caption}
\captionsetup{skip=0.25\baselineskip}
\newcommand\sym[1]{\ifmmode^{#1}\else{${}^{#1}}\fi} % for asterisks and daggers
\newcolumntype{d}[1]{D{.}{.}{#1}}
\newcommand\mc[1]{\multicolumn{1}{@{}c@{}}{#1}} % handy shortcut macro
\newlength\mylen
\settowidth\mylen{Glycosylated protein} % measure width of widest header cell
\newcommand\mC[1]{\multicolumn{1}{@{}>{\centering}p{\mylen}@{}}{#1}}

\begin{document}

\begin{table}[htp]
\caption{Natural column widths}\label{tbl:results:natural}
\centering
\begin{tabular}{@{} ld{3.3}d{4.4}d{2.4} @{}}
\toprule
Group & \mc{Weight} & \mc{Glucose} & \mc{Glycosylated protein} \\
      & \mc{(g)}    & \mc{(mg/l)}  & \mc{(nmol/mg protein)}\\
\midrule
Control     & 544.5          & 908.           & 17.8\\
Diabetic    & 331.2\sym{***} & 5736.\sym{***} & 32.10\sym{***}\\
Diabetic+GT & 343.9\sym{***} & 4037.\sym{***\dagger\dagger} &   24.87\sym{***}\\
\bottomrule
\end{tabular}

\bigskip
\caption{Equal column widths}\label{tbl:results:equal}
\centering
\begin{tabular}{@{} ld{3.3}d{4.4}d{2.4} @{}} % note: same def as above!
\toprule
Group & \mC{Weight} & \mC{Glucose} & \mC{Glycosylated protein} \\
      & \mc{(g)}    & \mc{(mg/l)}  & \mc{(nmol/mg protein)}\\
\midrule
Control     & 544.5          & 908.           & 17.8\\
Diabetic    & 331.2\sym{***} & 5736.\sym{***} & 32.10\sym{***}\\
Diabetic+GT & 343.9\sym{***} & 4037.\sym{***\dagger\dagger} &   24.87\sym{***}\\
\bottomrule
\end{tabular}
\end{table}

\end{document}

答案2

像这样:

在此处输入图片描述

借助siunitxmakecell包:

\documentclass{article}
\usepackage{booktabs, makecell}
\renewcommand\theadfont{\normalsize}
\usepackage{caption}
\usepackage{siunitx}

\begin{document}  
\begin{table}[htp]
\caption{}
\centering
    \begin{tabular}{p{1.25in}
                    S[table-format=4.1,
                      table-space-text-post=\textsuperscript{*****}]
                   S[table-format=6.0,
                      table-space-text-post=\textsuperscript{*****}]
                   S[table-format=4.2,
                      table-space-text-post=\textsuperscript{***}]
                        }
    \toprule
\thead{Group}   & {\thead{Weight\\(g)}} 
                & {\thead{Glucose\\(mg/l)}} 
                & {\thead{Glycosylated protein\\(nmol/mg protein)}} \\
    \midrule
Control     & 544.5         & 908                 & 17.8          \\
Diabetic    & 331.2\textsuperscript{***} & 5736\textsuperscript{***} & 32.10\\
Diabetic+GT & 343.9\textsuperscript{***} & 4037{\textsuperscript{***}$\dagger\dagger$}
                    &   24.87\textsuperscript{***}\\
    \bottomrule
    \end{tabular}
\label{tbl:results}
\end{table}
\end{document}

编辑: 在第一个版本的答案中,我忽略了您的第二个要求。现在考虑了。此外,\texsuperscript{***}您还可以使用{$^{***}$}

相关内容