我使用\documentclass[man]{apa6}
,编译时我的表格不会显示.tex
。我使用以下代码:
\documentclass[man]{apa6}
\usepackage{enumitem}
\usepackage{amsmath}
\usepackage{relsize}
\usepackage{apacite}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage{bm}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{threeparttable}
\begin{document}
\begin{table}
\begin{threeparttable}
\label{table}
\begin{tabular}{l c c c c} \hline
& $i = 1$ & $i = 2$ & $i = 3$ & $i = 4$ \\ \hline
$\pi_{0(i)}$ & 1.00 & 1.00 & 1.00 & 1.00 \\
$\pi_{1(i)}$ & 0.90 & 0.80 & 0.70 & 0.60 \\
$\pi_{2(i)}$ & 0.50 & 0.40 & 0.30 & 0.20 \\
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
有谁知道如何解决这一问题?
答案1
如果我在表格前添加适当的部分,则不会出现错误。
\documentclass[man]{apa6}
\usepackage{enumitem}
\usepackage{amsmath}
\usepackage{relsize}
\usepackage{apacite}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage{bm}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{threeparttable}
\usepackage{kantlipsum} % for mock text
\begin{document}
\title{X}\shorttitle{X}
\author{Who}
\affiliation{Z}
\abstract{ABS}
\maketitle
\kant[1-3]
\begin{table}
\begin{threeparttable}
\label{table}
\begin{tabular}{l c c c c} \hline
& $i = 1$ & $i = 2$ & $i = 3$ & $i = 4$ \\ \hline
$\pi_{0(i)}$ & 1.00 & 1.00 & 1.00 & 1.00 \\
$\pi_{1(i)}$ & 0.90 & 0.80 & 0.70 & 0.60 \\
$\pi_{2(i)}$ & 0.50 & 0.40 & 0.30 & 0.20 \\
\end{tabular}
\end{threeparttable}
\end{table}
\kant[4-6]
\end{document}
答案2
如果你使用apa6
带有选项的 documentclass man
,那么你可能也应该使用选项floatsintext
。引用用户指南:
在修改和校对稿件时,最好随时准备好表格和图片(而不是将大部分内容转到稿件末尾的 floatsintext 才能访问它们)。该
floatsintext
选项(在行中指定\documentclass
)将表格和图片集成到文本中提及的位置。当然,这仅适用于该man
选项,因为其他格式已经将浮动元素与文本集成在一起。
由于表格中有很多“数学”元素,我认为将其作为array
环境输入更为直接。您可能还想进一步组织表格的标题;以下代码中给出了具体建议。
\documentclass[man,floatsintext]{apa6}
%% Commented out the unneeded instructions
%\usepackage{enumitem}
%\usepackage{amsmath}
%\usepackage{relsize}
%\usepackage{apacite}
%\usepackage{multirow}
%\usepackage{graphicx}
%\usepackage{bm}
%\usepackage{caption}
%\usepackage{subcaption}
\usepackage{threeparttable}
\usepackage{booktabs}
\title{xx}
\shorttitle{x}
\author{y}
\date{z}
\begin{document}
\begin{table}
\begin{threeparttable}
\label{table}
\centering
$\begin{array}{@{} l c c c c @{}}
\toprule
& \multicolumn{4}{c@{}}{i}\\
\cmidrule(l){2-5}
& 1 & 2 & 3 & 4 \\ \midrule
\pi_{0(i)} & 1.00 & 1.00 & 1.00 & 1.00 \\
\pi_{1(i)} & 0.90 & 0.80 & 0.70 & 0.60 \\
\pi_{2(i)} & 0.50 & 0.40 & 0.30 & 0.20 \\
\bottomrule
\end{array}$
\end{threeparttable}
\end{table}
\end{document}
答案3
以下是我输入该表格的方式:
% arara: pdflatex
% arara: pdflatex
\documentclass[man]{apa6}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{threeparttable}
\begin{document}
\begin{table}
\begin{threeparttable}
\caption{a caption}\label{table}
\begin{tabular}{l *{4}{S[table-format=1.2]}}
\toprule
& {$i = 1$} & {$i = 2$} & {$i = 3$} & {$i = 4$} \\
\midrule
$\pi_{0(i)}$ & 1.00 & 1.00 & 1.00 & 1.00 \\
$\pi_{1(i)}$ & 0.90 & 0.80 & 0.70 & 0.60 \\
$\pi_{2(i)}$ & 0.50 & 0.40 & 0.30 & 0.20 \\
\bottomrule
\end{tabular}
\begin{tablenotes}
\item[*] an item
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
然而,这会导致错误Undefined control sequence. \efloatseparator
。这取决于对endfloat
由以下程序包加载的几个重新定义:apa6
的几次重新定义。请参阅这里维持现状。