
私は問題を抱えています3つの部分から成るテーブルパッケージラベルの種類により、賢いレフテーブルを正しく参照できません。Overleaf でコンパイルすると、次の警告が生成されます: 「入力行 8 でラベル タイプ `' の cref 参照形式が未定義です。」
このテーブルのラベル タイプを修正する方法はありますか? または、cleveref が正しく参照できるようにする別の回避策はありますか?
MWEは以下の通りです:
\documentclass{article}
\usepackage{threeparttable}
\usepackage{cleveref}
\begin{document}
Cleveref reference to threeparttable \cref{tab:test}.
\begin{table}
\centering
\begin{threeparttable}
\caption{Caption.}
\begin{tabular}{l l}
Header 1 & Header 2 \\
\hline
Entry 3 & Entry 4 \\
\hline
\end{tabular}
\end{threeparttable}
\label{tab:test}
\end{table}
\end{document}
答え1
これは、特にcleveref
またはのどちらかによるものではありません。 を環境内に配置したため、環境外への影響を「見る」ことができないために発生します。の後で、環境内へ移動する必要があります。threeparttable
\caption
threeparttable
\label
\label
\caption
\documentclass{article}
\usepackage{threeparttable}
\usepackage{cleveref}
\begin{document}
Cleveref reference to threeparttable \cref{tab:test}.
\begin{table}
\centering
\begin{threeparttable}
\caption{Caption.}
\label{tab:test}
\begin{tabular}{l l}
Header 1 & Header 2 \\
\hline
Entry 3 & Entry 4 \\
\hline
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
答え2
パッケージtalltblr
で定義されたテーブル環境を使用する場合も同様です。これは以下と同等です:tabularray
threeparttable
\documentclass{article}
\usepackage{tabularray}
\usepackage{cleveref}
\begin{document}
Cleveref reference to \verb+talltblt+ table is \cref{tab:test}.
\begin{table}
\centering
\begin{talltblr}[
caption = {Caption.},
label = {tab:test} % <---
]{cells=l}
Header 1 & Header 2 \\
\hline
Entry 3 & Entry 4\TblrNote{a} \\
\hline
\end{talltblr}
\end{table}
\end{document}