
Encontrei um problema ao tentar alterar a name
opção de legenda da tabela ao usar 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
retorna:
! Sequência de controle indefinida. (Mesa comprida)
depois de remover name=Tab.
de \captionsetup
tudo funciona bem.
Como posso resolver esse problema e como formatar a legenda da tabela longa como a legenda da tabela (legenda sobre a tabela)?
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
Responder1
Este é um bug no código longtable do floatrow
pacote (dentro da redefinição de \LT@array
). Ele define as opções de legenda para table
e longtable
sem definir \@captype
primeiro table
.
Este bug só é relevante se a combinação floatrow
, longtable
, caption
, \captionsetup{...}
for usada e se as opções de legenda usadas precisarem \@captype
ser definidas (como a opção name=...
).
Solução alternativa: não use \captionsetup[table]{name=...}
, mas \usepackage[tablename=...]{caption}
em vez disso.
Como o floatrow
pacote não tem manutenção (então ninguém irá consertá-lo), incluí um patch do floatrow
código defeituoso no caption
pacote v3.4g, para que a solução alternativa não seja mais necessária ao usar esta versão (ou mais recente) do caption
pacote.