Я использую \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
, конечно, потому что другие форматы уже имеют floats, интегрированные с текстом.
Поскольку в таблице много "математических" элементов, я думаю, что проще ввести ее как 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
. Пожалуйста, см.здесьдля сохранения статус-кво.