[Tex/LaTex] Problem with “endfloat” in manuscript option of APA6.cls

apa6floatspackages

Several years ago I commonly wrote papers in MiKTeX using the apa.cls, which allowed you to switch between a two-column formatted "jou" mode and a single-column, double spaced "man" mode.

I have recently tried running these old .tex files in MiKTeX 2.9, and I have found that the endfloat package no longer works properly, either in apa.cls or the new apa6.cls.

I have tried renaming the apaendfloat.cfg file endfloat.cfg and placing it in the working directory.

Here are the errors I get with the shortsample.tex file that comes with apa6.cls.
Basically, it completely chokes on the tables, and nothing comes out but gibberish in the table and figure portions of the paper.

Is there a solution for this?

AED endfloat: Processing end Figures and Tables [5]
! Missing number, treated as zero.
<to be read again> 
                   \@ef@tttopen 
l.83 \end{document}

?
 ! Missing = inserted for \ifnum.
<to be read again> 
                   \@ef@tttopen 
l.83 \end{document}

?
 ! Missing number, treated as zero.
<to be read again> 
                   \@ef@tttopen 
l.83 \end{document}

?
 ! Undefined control sequence.
\processtables ...seout \efloat@postttt \ef@setct 
                                                  {ttt}{0} \clearpage \if@ta...
l.83 \end{document}

?
 [6]
! Undefined control sequence.
\processtables ...{ttt}{0} \clearpage \if@tabhead 
                                                  \section *{\tablesection }...
l.83 \end{document}

?
 ! Undefined control sequence.
\processtables ...@@spacing } \processtables@hook 
                                                  \@ifundefined {hrm}{}{\sf ...
l.83 \end{document}

?
 (R:\jointtex\SPRINT\apaexample.ttt
\begin{table*}[hbt]
\ifnextchar[{\eatarg}{}
! Undefined control sequence.
\table ...linechar `     \catcode `    =12 \ef@xtable 
                                                  \fi 
l.1 \begin{table}
                 [tbp]
?
 )
! Extra \fi.
\processtables ...ttt}\let \BBAB \normal@BBAB \fi 

l.83 \end{document}

?
 ! Missing number, treated as zero.
<to be read again> 
                   \@ef@fffopen 
l.83 \end{document}

?
 ! Missing = inserted for \ifnum.
<to be read again> 
                   \@ef@fffopen 
l.83 \end{document}

?
 ! Missing number, treated as zero.
<to be read again> 
                   \@ef@fffopen 
l.83 \end{document}

?
 ! Undefined control sequence.
\processfigures ...eout \efloat@postfff \ef@setct 
                                                  {fff}{0} \clearpage \if@fi...
l.83 \end{document}

?

/b/c4/cOverfull/b/c0/c \hbox (441.54912pt too wide) in paragraph at lines 1--83
[][]\T1//lmr//m//n//12 [tbp]
\caption{Some numbers that could be experimental data.
}
\label{tab:tab1}
\begin{tabular}{lcc}\hline
          & \multicolumn{2}{c}{Fa
ctor 2} \\ \cline{2- 
/b/c4/cOverfull/b/c0/c \hbox (1151.26506pt too wide) in paragraph at lines 1--83
\T1//lmr//m//n//12 3}
Factor 1  & Condition A  & Condition B   \\ \hline
First     
& 586 (231)    & 649 (255)     \\
          &    2.2       &    7.5        \\
S
econd    & 590 (195)    & 623 (231)     \\
          &    2.8       &    2.5   
     \\ \hline
\end{tabular}
\end{table}
\efloatseparator
>0 
[7]
! Undefined control sequence.
\processfigures ...}{}{\sf } \processfigures@hook 
                                                  \@input {\jobname .fff} \fi 
l.83 \end{document}

?
 (R:\jointtex\SPRINT\apaexample.fff)
! Extra }, or forgotten \endgroup.
\processdelayedfloats ...ocessotherdelayedfloats }

l.83 \end{document}

?

! LaTeX /b/c9/cError:/b/c0/c \begin{efloat@float} on input line 1 ended by \end{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.83 \end{document}

?

Best Answer

As I just realized the apa6 document class is redefining half of the endfloat package. (Some code was even simply copied from endfloat.sty and modified.) Since some internals needed to be changed from v2.4 to v2.5 of the endfloat package, these redefinitions are not working anymore.

I'm in contact with the maintainer of the apa6 document class anyway, and we need to find a way to make it working again, and this time in a way where the apa6 class is not using internals of the endfloat package so it won't break compatibility again if v2.6 of the endfloat package will be released.

I'll keep you informed, but until then one need to revert to the previous version of the endfloat package which was v2.4i, I'm sorry.

Addendum: Updating to version 2.5c of the endfloat package should help.

Related Question