subfloatへのnameref

subfigパッケージを使って、subfigやsubtableを作ってラベルを付けてからnamerefすると、

\begin{table}[H]
\caption{たぶ}
\subfloat[さぶたぶ\label{tab:hoge}]{}
\end{table}
\nameref{tab:hoge}

Subtable 1 1.1.1(a) 
という感じでキャプションタイトル(図とか表となる個所)がSubfigureとかSubtableとなってしまう。原因を探っているとsubfig.styの512行目付近以下が怪しい。
\def\subfloat@label{%
  \@ifnextchar(%   %) match left parenthesis
    {\sf@sub@label}
    {\sf@sub@label(Sub\@captype\space
                   \@ifundefined{thechapter}{}{\@nameuse{thechapter}\space}%
                   \@nameuse{p@sub\@captype}%
                   \@nameuse{thesub\@captype}.)}}
ここでsubfloatのラベルをnamerefしたときにでるキャプションタイトルを設定している。captypeを使ってフロートの内容ごとにSubの後ろのfigureとtableを場合分けしていて修正が複雑なので、現時点ではあきらめてsubfloatにはnamerefを使わないことにする。
ネットも探したが解決策が見つからなかった…。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です