長い表のキャプション設定名オプション

長い表のキャプション設定名オプション

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

floatrowこれは、パッケージの longtable コード ( の再定義内)のバグです。 を最初に定義せずに、 と\LT@arrayのキャプション オプションを設定します。tablelongtable\@captypetable

floatrowこのバグは、、、longtableの組み合わせが使用され、使用されるキャプション オプションを定義する必要がある場合にのみ関係しますcaption(\captionsetup{...}オプション\@captypeなどname=...)。

回避策:代わりに\captionsetup[table]{name=...}but を使用しないでください\usepackage[tablename=...]{caption}

パッケージはメンテナンスされていないためfloatrow(したがって誰も修正しません)、問題のあるfloatrowコードのパッチをcaptionパッケージ v3.4g に含めました。そのため、このバージョン (またはそれ以降) のパッケージを使用する場合、回避策は不要になりましたcaption

関連情報