我有以下问题。我想将表格放在章节和子章节名称的正下方。
请参阅下面的代码:
\section{Robustness checks}
\label{rob_check}
\subsection{Maximum daily temperature}
\label{maximalka}
\begin{sidewaystable}[p]
\label{HomTmax}
\caption{Homicides per 1,000,000 people - Poisson regression. Maximum daily temperature.}
\begin{tabular}{l c c c c c c c c}
\toprule
\textbf{Variable} & \textbf{(1)} & \textbf{(2)} & \textbf{(3)} & \textbf{(4)} & \textbf{(5)} & \textbf{(6)} & \textbf{(7)} & \textbf{(8)}\\
\midrule
$Temperature$ & -0.0008 & -0.018 & &-0.0002 & -0.01 & -0.026**& & -0.009 \\
& (0.007)& (0.01) & & (0.007)& (0.007) & (0.012)& & (0.007)\\
\end{tabular}
\end{sidewaystable}
我尝试遵循这里的建议将表格放在小节下(使用\clearpage
)但对我不起作用。你能帮帮我吗?
答案1
以下是我的尝试。由于不幸的是,问题中没有关于序言(尤其是 documentclass)的信息,因此我不得不猜测。根据标题中的无衬线字体与实际表格中的衬线字体的组合,我假设您使用了 KOMA 脚本类之一。对于我的 MWE,我选择了该类scrartcl
。
正如之前的评论中提到的,鉴于您目前提供的信息,我并不认为有必要旋转桌子。如果您得到不同的输出,并且似乎无法将桌子放入可用空间,请更新您的问题正如我之前的评论中所述。
在我的 MWE 中,我包含了表格的两个版本,一个旋转的版本和一个未旋转的版本。在这两个版本中,我都使用了该siunitx
包来改善表格中数字的对齐方式。根据所有其他表格行中的条目,您可能需要table-format
相应地调整值。(以下屏幕截图中的红线表示边距。)
\documentclass{scrartcl}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{siunitx}
\sisetup{
group-digits = true,
group-minimum-digits = 4,
group-separator = {,},
table-align-text-pre = false,
table-align-text-post = false,
input-open-uncertainty = ,
input-close-uncertainty = ,
table-space-text-pre = {(},
}
\begin{document}
\section{Robustness checks}
\label{rob_check}
\subsection{Maximum daily temperature}
\label{maximalka}
\begin{center}
\begin{sideways}
\begin{minipage}{1.3\textwidth}
\captionof{table}{Homicides per \num{1000000} people - Poisson regression. Maximum daily temperature.} \label{HomTmax}
\centering
\sisetup{group-digits=false}
\begin{tabular}{@{}l
S[table-format=-1.5]
S[table-format=-1.3]
c
S[table-format=-1.4]
S[table-format=-1.3, table-space-text-post={)}]
S[table-format=-1.3, table-space-text-post={**}]
c
S[table-format=-1.3, table-space-text-post={)}]@{}}
\toprule
\textbf{Variable} & \textbf{(1)} & \textbf{(2)} & \textbf{(3)} & \textbf{(4)} & \textbf{(5)} & \textbf{(6)} & \textbf{(7)} & \textbf{(8)}\\
\midrule
Temperature & -0.0008 & -0.018 & &-0.0002 & -0.01 & -0.026**& & -0.009 \\
& (0.007)& (0.01) & & (0.007)& (0.007) & (0.012)& & (0.007)\\
\end{tabular}
\end{minipage}
\end{sideways}
\end{center}
\clearpage
\section{Robustness checks}
\label{rob_check}
\subsection{Maximum daily temperature}
\label{maximalka}
\begin{table}[hbp]
\caption{Homicides per \num{1000000} people - Poisson regression. Maximum daily temperature.}\label{HomTmax}
\centering
\small
\sisetup{group-digits=false}
\begin{tabular}{@{}l
S[table-format=-1.4]
S[table-format=-1.3]
c
S[table-format=-1.4]
S[table-format=-1.3, table-space-text-post={)}]
S[table-format=-1.3, table-space-text-post={**}]
c
S[table-format=-1.3, table-space-text-post={)}]@{}}
\toprule
\textbf{Variable} & {\textbf{(1)}} & {\textbf{(2)}} & {\textbf{(3)}} & {\textbf{(4)}} & {\textbf{(5)}} & {\textbf{(6)}} & {\textbf{(7)}} & {\textbf{(8)}}\\
\midrule
Temperature & -0.0008 & -0.018 & &-0.0002 & -0.01 & -0.026**& & -0.009 \\
& (0.007)& (0.01) & & (0.007)& (0.007) & (0.012)& & (0.007)\\
\end{tabular}
\end{table}
\end{document}
答案2
正如@leandriis 在评论中指出的那样,似乎没有必要以横向格式排版表格材料。切换到环境\small
并使用tabular*
环境的组合似乎可以很好地完成工作。如果我真的建议对表格进行任何更改,那就是将其设置为使 8 个数据列中的数字在小数点标记上对齐。这可以通过多种方式实现;其中之一是使用包的机制dcolumn
。
\documentclass{article}
\usepackage{booktabs}
\usepackage{dcolumn} % for 'D' column type
\newcolumntype{d}[1]{D..{#1}}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro
\begin{document}
\section{Robustness checks}
\label{rob_check}
\subsection{Maximum daily temperature}
\label{maximalka}
\begin{table}[h!]
\setlength\tabcolsep{0pt}
\small
\caption{Homicides per 1,000,000 people --- Poisson regression. Maximum daily temperature.}
\label{HomTmax}
\smallskip
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{8}{d{2.4}} }
\toprule
\textbf{Variable}
& \mc{\textbf{(1)}} & \mc{\textbf{(2)}} & \mc{\textbf{(3)}} & \mc{\textbf{(4)}}
& \mc{\textbf{(5)}} & \mc{\textbf{(6)}} & \mc{\textbf{(7)}} & \mc{\textbf{(8)}}\\
\midrule
Temp. & -0.0008 & -0.018 & &-0.0002 & -0.01 & -0.026**& & -0.009 \\
& (0.007) & (0.01) & & (0.007)& (0.007) & (0.012) & & (0.007) \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
答案3
- 根据您提供的信息,没有证据表明该表应该是横向的。
- 通过使用
siunitx
,tabularx
并threeparttable
假设\textwidth
足够大(大约大 20% aa 是默认大小article
),使用\small
字体您可以按照以下方式编写表格:
\documentclass{article}
\usepackage{geometry} % < --- assumed
%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{lipsum}% For dummy text. Don't use in a real document
\usepackage[skip=1ex,
font=small, labelfont=bf]{caption}
\usepackage{siunitx}
%\usepackage[referable]{threeparttablex}
\usepackage{booktabs,tabularx, threeparttable}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\mcxbf[1]{\multicolumn{1}{C}{\textbf{#1}}}
\begin{document}
\section{Robustness checks}
\label{rob_check}
\subsection{Maximum daily temperature}
\label{maximalka}
\begin{table}[ht]
\begin{threeparttable}
\caption{Homicides per 1,000,000 people - Poisson regression. Maximum daily temperature.}
\label{HomTmax}
\sisetup{table-space-text-pre={(},
table-align-text-pre=false,
table-space-text-post={$^{***}$},
table-align-text-post=false,
input-open-uncertainty = ,
input-close-uncertainty = ,
table-format=-1.3
}
\setlength\tabcolsep{3pt}
\small
\begin{tabularx}{\linewidth}{@{} l *{8}{S} @{}}
\toprule
\textbf{Variable}
& \mcxbf{(1)} & \mcxbf{(2)} & \mcxbf{(3)} & \mcxbf{(4)}
& \mcxbf{(5)} & \mcxbf{(6)} & \mcxbf{(7)} & \mcxbf{(8)} \\
\midrule
\textit{Temperature}
& -0.0008 & -0.018 & & -0.0002
& -0.01 & -0.026 & & -0.009\tnote{***} \\
& (0.007) & (0.01) & & (0.007)
& (0.007) & (0.012) & & (0.007) \\
\addlinespace
\textit{Something}
& -0.0008 & -0.018 & & -0.0002
& -0.01 & -0.026\tnote{**} & & -0.009 \\
& (0.007) & (0.01) & & (0.007)
& (0.007) & (0.012) & & (0.007) \\
\bottomrule
\end{tabularx}
\footnotesize
\begin{tablenotes}[flushleft, para]\footnotesize
\item[*] $p<$0.1; \item[**] $p<0.05$; \item[***] $p<0.01$
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
(红线表示部分页面布局)