表格环境中的表格标题

表格环境中的表格标题

我想用乳胶编写一个表格,使其看起来尽可能与此处的表格相似,但我不知道如何将标题添加到表格标题中,如下所示:

在此处输入图片描述

我在这里达到了这个目的(见下面的代码),只使用了一个我们习惯的乳胶“正常”标准化标题。

\documentclass[oneside,a4paper]{article}

\usepackage{mathpazo}
\linespread{1.05}

\usepackage[table,hideerrors]{xcolor}
\usepackage{booktabs,ctable}
\usepackage{caption}

\begin{document}
\begin{center}
\definecolor{blue}{HTML}{E7E8E8}
\rowcolors{1}{blue}{blue}
\begin{tabular}{ l c }
Parameter & Value \\ 
\specialrule{.1em}{.05em}{.05em}
\textbf{Parameter} & \textbf{Value} \\
\midrule
Number of territories & 22 \\
Age of sexual maturity (years) & 2 \\
& \\
Winter mortality & \\
Mean of the winter strength distribution (days) & 117\\
\specialrule{.1em}{.05em}{.05em}
\end{tabular}
\captionof{table}{Overview of processes, parameters and default values of the marmot model}
\label{tab:variables}
\end{center}

编辑:根据对包的响应修改了(接近完美!)表格multicol

\begin{center}
\refstepcounter{table} \label{tab:variables}
\definecolor{blue}{HTML}{E7E8E8}
\rowcolors{1}{blue}{blue}
\begin{tabular}{ L{5.1cm} C{2cm} }
\multicolumn{2}{L{\dimexpr7.1cm+2\tabcolsep\relax}}{%
\cellcolor{black}\color{white}\textbf{\small Table \ref{tab:variables} - Overview of processes, parameters, and default values of parameters of the Rapa Nui model}} \\
Parameter & Value \\ 
\specialrule{.1em}{.05em}{.05em}
\textbf{Parameter} & \textbf{Value} \\
\specialrule{.1em}{.05em}{.05em}
Number of territories & 22 \\
Age of sexual maturity (years) & 2 \\
& \\
Winter mortality & \\
Mean of the winter strength distribution (days) & 117\\
\specialrule{.1em}{.05em}{.05em}
\end{tabular}
\end{center}

到目前为止,我只剩下两个抱怨:

  • 标题上方的空间太大,与@Mico 的示例不同。我不知道该如何更改!
  • 我无法让上述代码与dcolumn@fldpi 建议的数字对齐

编辑2:我的最终版本(更新了Mico的最终版本的表格)

\begin{center}
\refstepcounter{table} \label{tab:variables}
\definecolor{blue}{HTML}{E7E8E8}
\rowcolors{1}{blue}{blue}
\begin{tabular}{ L{5.1cm} d{3.0} }
\multicolumn{2}{L{\dimexpr7.1cm+2\tabcolsep\relax}}{%
\cellcolor{black}
\bfseries\small%
\textcolor{white}{Table \ref{tab:variables} -- Overview of processes, parameters, and default values of parameters of the marmot model}} \\
Parameter & 
\multicolumn{1}{C{2cm}}{Value} \\
\specialrule{.1em}{.05em}{.05em}
    Number of territories & 22 \\
    Age of sexual maturity (years) & 2 \\[1ex]
    Winter mortality & \\
    Mean of the winter strength distribution (days) & 117\\
\specialrule{.1em}{.05em}{.05em}
\end{tabular}
\end{center}

答案1

下面的答案重点在于如何在环境中获取标题tabular。它不涉及颜色或黑底白字打印,因为这些是次要问题。

我建议您执行以下操作:

  • 使用table环境。

  • 之后的前两个指令\begin{table}应该是\refstepcounter{table}\label{tab:variables}

  • 明确定义列的宽度,例如7.5cm1cm。为了保持代码的可读性,我建议您定义新的列类型,例如LC,每个列类型都带有一个参数(相应列的可用宽度)。该array包提供了用于此目的的说明\newcolumntype

  • 在里面tabular,使用指令

    \multicolumn{2}{L{\dimexpr 8.5cm+2\tabcolsep\relax}}{%
      Table \ref{tab:variables} -- Overview of processes, parameters, and 
      default values of parameters of the marmot model}
    

    这是怎么回事?材料正在环境的两个基本列中排版tabular。与 的组合是7.5cm + 1cm + 2\tabcolsep。诚然,这个看起来有些不雅的表达式\dimexpr 8.5cm+2\tabcolsep\relax“动态”计算了这个宽度。

  • 标题的文本以 开头Table \ref{tab:variables} --: 的参数\ref应该是您在之前的指令中使用的文本字符串\label

在此处输入图片描述

\documentclass[a4paper]{article}

\usepackage{mathpazo}
\linespread{1.05}
\usepackage{booktabs,caption,array,ragged2e}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{L}[1]{>{\RaggedRight\arraybackslash}p{#1}}
\begin{document}

\begin{table}
\refstepcounter{table} \label{tab:variables}
\centering
\begin{tabular}{ L{7.5cm} C{1cm} }
\specialrule{.1em}{.05em}{.05em}
\multicolumn{2}{L{\dimexpr8.5cm+2\tabcolsep\relax}}{%
Table \ref{tab:variables} -- Overview of processes, parameters, and default values of parameters of the marmot model} \\
\specialrule{.1em}{.05em}{.05em}
\textbf{Parameter} & \textbf{Value} \\
\midrule
Number of territories & 22 \\
Age of sexual maturity (years) & 2 \\
\addlinespace
Winter mortality & \\
Mean of the winter strength distribution (days) & 117\\
\specialrule{.1em}{.05em}{.05em}
\end{tabular}
\end{table}
\end{document}

附录纳入 OP 提供的附加信息:

  • 使用第二列的列类型;通过使用第二列的标题指令d来维持第二列的预定宽度\multicolumn{1}{C{1.3cm}}{\textbf{Value}}

  • 在标题中使用反色

在此处输入图片描述

\documentclass[a4paper]{article}
\usepackage{mathpazo} \linespread{1.05}
\usepackage[table]{xcolor}
\definecolor{blue}{HTML}{E7E8E8}
\rowcolors{1}{blue}{blue}

\usepackage{booktabs,array,ragged2e,dcolumn}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{L}[1]{>{\RaggedRight\arraybackslash}p{#1}}
\newcolumntype{d}[1]{D{.}{.}{#1}}

\begin{document}

\begin{center}
\refstepcounter{table} \label{tab:variables}
\begin{tabular}{ L{5.8cm} d{3.0} }
\multicolumn{2}{L{\dimexpr7.1cm+2\tabcolsep\relax}}{%
  \cellcolor{black}\color{white}\bfseries\small%
  Table \ref{tab:variables} -- Overview of processes, parameters, and default values of parameters of the Rapa Nui model} \\
\textbf{Parameter} & 
\multicolumn{1}{C{1.3cm}}{\textbf{Value}} \\
\specialrule{.1em}{.05em}{.05em}
Number of territories & 22 \\
Age of sexual maturity (years) & 2 \\[1ex]
Winter mortality & \\
Mean of the winter strength distribution (days) & 117\\
\specialrule{.1em}{.05em}{.05em}
\end{tabular}
\end{center}
\end{document}

答案2

将标题置于顶部的最简单方法是将其作为表格的一部分。您可以使用\colorbox设置基本背景颜色和\cellcolor标题背景,还可以使用该dcolumn包对齐值的小数点:

\documentclass{article}
\usepackage{booktabs}
\usepackage[table]{xcolor}
\usepackage{dcolumn}
\definecolor{lightgray}{gray}{0.9}
\newcolumntype{d}[1]{D{.}{.}{#1} }

\begin{document}
\begingroup\setlength{\fboxsep}{0pt}
\colorbox{lightgray}{%
    \begin{tabular}{p{.2cm}ld{1}}
      \multicolumn{3}{p{\textwidth}}{\cellcolor{black}\color{white}\textbf{Table 1 - Overview of processes, parameters and default values of parameters of the marmot model}}\\
      \noalign{\smallskip}
      \multicolumn{2}{l}{\textbf{Parameter}} & \textbf{Value} \\
      \midrule
      & Number of territories & 22 \\
      & Age of sexual maturity (years) & 2 \\\\
      \multicolumn{2}{l}{Winter mortality} & \\
      & Mean of the winter strength distribution (days) & 117 \\
      & Standard deviation of the winter strength distribution (days) & 10.2 \\
      \bottomrule
      \end{tabular}%
}\endgroup
\end{document}

输出

相关内容