endfloat 和 ctable 不兼容?

endfloat 和 ctable 不兼容?

似乎endfloatctable不相容

\documentclass[a4paper]{article}
\usepackage{endfloat}
\usepackage{ctable}
\begin{document}

\ctable[caption = Queries available, pos = H, center, botcap]{ll}
{% notes
}
{% rows
\FL
search ``by='' & purpose
\ML
abstract & search terms in the publication abstract
\\\noalign{\medskip}
author & match authors in the publication
\\\noalign{\medskip}
id.taxon & Taxon identifier number from TreeBase
\\\noalign{\medskip}
tree & The title for the tree
\LL
}

给出错误:

! Undefined control sequence.
\\  ->\let \reserved@e 
                       \relax \let \reserved@f \relax \@ifstar {\let \reserv...
l.21 }

有没有什么办法可以解决这个问题?

  1. endfloat适用于的替代方案ctable
  2. 或者至少有一种方法可以endfloat忽略ctable错误?

编辑:

我正在寻找一种仍可ctable用于表格的解决方案。理想情况下,我可以在序言中设置一些选项来解决冲突,或者endfloat在没有包的情况下创建 -style 行为endfloat?(编辑表格本身并不符合包的精神endfloat,因为我也可以手动将表格移到末尾,但这不是一个适用于许多文档的好的编程解决方案。)

答案1

我不知道 的替代品endfloat,但 有一个相当不错的替代品ctable: “常规”tabletabular环境,结合booktabs包的命令。 (将 、 和 宏替换\FL\ML\LL\toprule\midrule\bottomrule基本上就完成了 的转换ctable。 水平线类型之间的相似性当然绝非巧合,因为内部ctable使用了bookstabs包。)

以下 MWE 生成的表与您的代码生成的表非常相似,同时完全兼容endfloat

\documentclass[a4paper]{article}
\usepackage{endfloat,booktabs}
\begin{document}

\begin{table}
\renewcommand{\arraystretch}{1.35} % vary this to suit your needs
\centering
\begin{tabular}{ll}
\toprule
search ``by='' & purpose\\
\midrule
abstract & search terms in the publication abstract\\
author   & match authors in the publication\\
id.taxon & Taxon identifier number from TreeBase\\
tree     & The title for the tree\\
\bottomrule
\end{tabular}
\caption{Queries available}
\end{table}
\end{document}

相关内容