编辑:
梅威瑟:
\documentclass{article}
\usepackage[british,UKenglish,USenglish,english,american]{babel}
\pagenumbering{gobble}
\usepackage{multirow}
\usepackage{makecell}
\usepackage{xfrac}
\usepackage{siunitx,booktabs}
\usepackage{amsmath}
\begin{document}
\begin{tabular}{@{}l
c
*{5}{S[table-format=1.6, group-digits=false]}
S[table-format=-1.6, group-digits=false]
S[table-format=1.6, group-digits=false]@{}}
\toprule
\multirow{2}[3]{*}{\bfseries Parameters} & \multicolumn{2}{c}{\makecell{\bfseries Asymtotic \\ $\boldsymbol{\widehat{\theta}_n - \theta^{\textbf{True}}}$}} &
\multicolumn{2}{c}{\makecell{\bfseries Finite sample \\ $\boldsymbol{\widehat{\theta}_n - \theta^{\textbf{True}}}$}} &
\multicolumn{2}{c}{\makecell{\bfseries Finite sample \\ \bfseries $\boldsymbol{\widehat{\theta}_n^{(3)} - \widehat{\theta}_n}$}} &
\multicolumn{2}{c}{\makecell{\bfseries Finite sample \\ \bfseries $\boldsymbol{\widehat{\theta}_n^{(6)} - \widehat{\theta}_n}$}} \\
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(lr){8-9}
$\boldsymbol{\theta^{\textbf{True}}}$ & \multicolumn{1}{c}{\bfseries Mean} & \multicolumn{1}{c}{\bfseries Stddev} & \multicolumn{1}{c}{\bfseries Mean} & \multicolumn{1}{c}{\bfseries Stddev} & \multicolumn{1}{c}{\bfseries Mean} & \multicolumn{1}{c}{\bfseries Stddev} & \multicolumn{1}{c}{\bfseries Mean} & \multicolumn{1}{c}{\bfseries Stddev} \\
\midrule
$\Delta = 1/52$ & & & & & & & & \\
\hspace{7pt} $\kappa = 0.5 $ & 0 & 0.229136 & 0.245175 & 0.329396 & 0.013477 & 0.014645 & 0.000002 & 0.000102 \\
\hspace{7pt} $\alpha = 0.06 $ & 0 & 0.013682 & 0.000329 & 0.015202 & 0.000002 & 0.000318 & 0.000000 & 0.000003 \\
\hspace{7pt} $\sigma = 0.03 $ & 0 & 0.000674 & 0.000021 & 0.000675 & 0.000003 & 0.000015 & 0.000000 & 0.000000 \\
\addlinespace
$\Delta = 1/12$ & & & & & & & & \\
\hspace{7pt} $\kappa = 0.5 $ & 0 & 0.111867 & 0.054162 & 0.124773 & 0.028923 & 0.014382 & -0.000003 & 0.000297 \\
\hspace{7pt} $\alpha = 0.06 $ & 0 & 0.006573 & 0.000097 & 0.006440 & 0.000002 & 0.000174 & 0.000000 & 0.000014 \\
\hspace{7pt} $\sigma = 0.03 $ & 0 & 0.000685 & 0.000022 & 0.000687 & 0.000025 & 0.000022 & 0.000000 & 0.000001 \\
\bottomrule
\end{tabular}
\end{document}
问题:
@{}
如何使最后一列标题 ("Stddev") 居中并删除表格末尾的空格 ( )?如何在第 8 列第 3 个单元格中的 0.000000 之前添加一个减号?(我不知道这是否有意义,但 OP 的表格中有)。
答案1
像这样:
代码:
\documentclass{article}
\usepackage[british,UKenglish,USenglish,english,american]{babel}
\pagenumbering{gobble}
\usepackage{booktabs,makecell,multirow}
\renewcommand\theadfont{\bfseries}% <-- define fonts series in column heads
\newcommand\mcbf[1]{\multicolumn{2}{c}{\thead{#1}}}% <-- for column heads
\newcommand\bwt[1][]{$\boldsymbol{\widehat{\theta}_n^{#1} - \theta^{\textbf{True}}}$} % <-- shortcut for math in column heads
\usepackage{xfrac}
\usepackage[group-digits=false]{siunitx}
\usepackage{amsmath}
\usepackage{geometry}
\begin{document}
\setlength\tabcolsep{3pt}
\begin{tabular}{l
c
*{5}{S[table-format= 1.6]}@{}
S[table-format=-2.6]
S[table-format= 1.6]}
\toprule
\multirowcell{3}{\thead{Parameters\\ $\boldsymbol{\theta^{\textbf{True}}}$}}
& \mcbf{Asymtotic \\ \bwt}
& \mcbf{Finite sample \\ \bwt}
& \mcbf{Finite sample \\ \bwt[\,(3)]}
& \mcbf{Finite sample \\ \bwt[\,(6)]}
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(lr){8-9}
& {\thead{Mean}} & {\thead{Stddev}}
& {\thead{Mean}} & {\thead{Stddev}}
& {\thead{Mean}} & {\thead{Stddev}}
& {\thead{Mean}} & {\thead{Stddev}} \\
\midrule
$\Delta = 1/52$ & & & & & & & & \\
\hspace{7pt} $\kappa = 0.5 $ & 0 & 0.229136 & 0.245175 & 0.329396 & 0.013477 & 0.014645 & 0.000002 & 0.000102 \\
\hspace{7pt} $\alpha = 0.06 $ & 0 & 0.013682 & 0.000329 & 0.015202 & 0.000002 & 0.000318 & 0.000000 & 0.000003 \\
\hspace{7pt} $\sigma = 0.03 $ & 0 & 0.000674 & 0.000021 & 0.000675 & 0.000003 & 0.000015 & {\hspace{1ex}$-$0.000000} % <position is manually adjusted
& 0.000000 \\
\addlinespace
$\Delta = 1/12$ & & & & & & & & \\
\hspace{7pt} $\kappa = 0.5 $ & 0 & 0.111867 & 0.054162 & 0.124773 & 0.028923 & 0.014382 & -0.000003 & 0.000297 \\
\hspace{7pt} $\alpha = 0.06 $ & 0 & 0.006573 & 0.000097 & 0.006440 & 0.000002 & 0.000174 & 0.000000 & 0.000014 \\
\hspace{7pt} $\sigma = 0.03 $ & 0 & 0.000685 & 0.000022 & 0.000687 & 0.000025 & 0.000022 & 0.000000 & 0.000001 \\
\bottomrule
\end{tabular}
\end{document}
可以看出,在给定的 MWE 中,我省略了所有@{}
,单元格,-0.000000
我将其写为{$-$0.000000}
。为了给表格留出足够的空间——这就是最后一列未居中的原因——我将\tabcolsep
默认值从 6pt 降低到 4pt。
为了更简单的书写和更好的概览表格,我定义了两个新命令(参见代码),并且对于列标题使用包\thead
中的宏。makecell
编辑:
内容{$-$0.000000}
在单元格中居中,正如 CaRLaTeX 在其评论中提到的那样。要与列中的其他数字对齐,必须手动对齐——向右移动一个0
空格——使用\hspace{1ex}
。他还更正了新命令的代码(“粗体宽 theta”的缩写,如果有人对更有意义的首字母缩略词有建议,可以很容易地更改它 :-) )。现在不再显示上标的空白\bwt
。()
\theta
group-digits=false
在设置中省略选项siunitx
可以更方便地读取数字,但我将其保留为在有问题的 MWE 中选择的选项。