\documentclass[man]{apa6} を使用しても表が表示されない

\documentclass[man]{apa6} を使用しても表が表示されない

を使用する\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。 を参照してください。ここ現状維持のため。

関連情報