![longtable captionsetup 名称选项](https://linux22.com/image/391642/longtable%20captionsetup%20%E5%90%8D%E7%A7%B0%E9%80%89%E9%A1%B9.png)
当您尝试更改表格标题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
无需定义。\@captype
table
仅当使用组合floatrow
、longtable
、并且需要定义所使用的标题选项(如选项)时caption
,此错误才会相关。\captionsetup{...}
\@captype
name=...
解决方法:不要使用\captionsetup[table]{name=...}
but \usepackage[tablename=...]{caption}
。
由于该floatrow
软件包无人维护(所以没人会修复它),我floatrow
在caption
软件包 v3.4g 中包含了一个错误代码的补丁,因此在使用此版本(或更新版本)的软件包时不再需要解决方法caption
。