![表格环境中的表格标题](https://linux22.com/image/302648/%E8%A1%A8%E6%A0%BC%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E8%A1%A8%E6%A0%BC%E6%A0%87%E9%A2%98.png)
我想用乳胶编写一个表格,使其看起来尽可能与此处的表格相似,但我不知道如何将标题添加到表格标题中,如下所示:
我在这里达到了这个目的(见下面的代码),只使用了一个我们习惯的乳胶“正常”标准化标题。
\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.5cm
和1cm
。为了保持代码的可读性,我建议您定义新的列类型,例如L
和C
,每个列类型都带有一个参数(相应列的可用宽度)。该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}