longtable captionsetup 名称选项

longtable captionsetup 名称选项

当您尝试更改表格标题name选项时,我发现一个问题,同时使用longtable

\documentclass{scrartcl}

%CAPTION
\usepackage{caption}

%TABELLENÜBERSCHRIFT FORMATIERUNG
\captionsetup[table]{name=Tab.,labelfont=bf, font=footnotesize, justification=RaggedRight, singlelinecheck=false, format=plain, textformat=period}

\usepackage{longtable}
\usepackage{floatrow}

\begin{document}

%TABLE
\begin{table}
\centering
\renewcommand{\arraystretch}{1.5}
\ttabbox{\caption{Abc}}{\begin{tabular}{c|c|c|c}A & B & C & D \\A & B & C & D\end{tabular}}
\end{table}

%LONG TABLE
\renewcommand\arraystretch{1.5}
\begin{longtable}{c|c|c|c}
A & B & A & B \\ \hline 
A & B & A & B \\ \hline
A & B & A & B \\ \hline
A & B & A & B \\ \hline
\caption{Abc}
\end{longtable}

\end{document}

pdflatex.exe返回:

!未定义控制序列。(longtable)

name=Tab.删除后\captionsetup一切正常。

我该如何解决这个问题,以及如何将长表标题格式化为表格标题(表格上方的标题)?

LOG FILE :
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (MiKTeX 2.9.6960 64-bit) (preloaded format=pdflatex 2019.3.4) 5 MAR 2019 09:33

答案1

这是 包的 longtable 代码中的一个错误floatrow(在 的重新定义中\LT@array)。它将 和 的标题选项设置为first table,而longtable无需定义。\@captypetable

仅当使用组合floatrowlongtable、并且需要定义所使用的标题选项(如选项)时caption,此错误才会相关。\captionsetup{...}\@captypename=...

解决方法:不要使用\captionsetup[table]{name=...}but \usepackage[tablename=...]{caption}

由于该floatrow软件包无人维护(所以没人会修复它),我floatrowcaption软件包 v3.4g 中包含了一个错误代码的补丁,因此在使用此版本(或更新版本)的软件包时不再需要解决方法caption

相关内容