子标题、子表改变参考格式

子标题、子表改变参考格式

我正在使用subcaption以支持多个部分表(子表)。当前的引用格式是Table 1a,我希望使用括号代替:Table 1(a)

我看见这个问题提供的解决方案对我不起作用。似乎添加以下选项的解决方案仅适用于figuresubfigure浮点数:

\usepackage[labelformat=simple]{subcaption}
\renewcommand\thesubfigure{(\alph{subfigure})}

有什么办法可以纠正子表引用的格式吗?下面是一个最小的工作示例:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage[labelformat=simple]{subcaption}
\renewcommand\thesubfigure{(\alph{subfigure})}

\usepackage{hyperref}


\begin{document}

\begin{table}[t]
    \begin{subtable}[b]{.49\textwidth}\centering
 %      \includegraphics[width=.9\textwidth]{myPicture}
        \rule{2cm}{2cm}.
        \caption{SubText 1}\label{subtab:p1}
    \end{subtable}
    \begin{subtable}[b]{.49\textwidth}\centering
        \rule{2cm}{2cm}.
        \caption{SubText 2}\label{subtab:p2}
    \end{subtable}
    \caption{Description referencing to \subref{subtab:p1} and
  \subref{subtab:p2}}\label{tab:1}
\end{table}

Table \ref{tab:1} has two parts \ref{subtab:p1} and \ref{subtab:p2}.
    
 
\end{document}

在此处输入图片描述

这会错误地显示参考文献和标签。子标题标签不再有括号,参考文献仍然像 1a 和 1b。

答案1

像这样?

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{subcaption}
\DeclareCaptionSubType * [alph]{table}
\captionsetup[subtable]{labelformat=simple, labelsep=space}

\renewcommand\thesubtable{\thetable(\alph{subtable})}

 \usepackage{hyperref}
\begin{document}

\begin{table}[t]
    \begin{subtable}[b]{.49\textwidth}\centering
 % \includegraphics[width=.9\textwidth]{myPicture}
        \rule{2cm}{2cm}
        \caption{SubText 1}\label{subtab:p1}
    \end{subtable}
    \begin{subtable}[b]{.49\textwidth}\centering
        \rule{2cm}{2cm}
        \caption{SubText 2}\label{subtab:p2}
    \end{subtable}
    \caption{Description referencing to \ref{subtab:p1} and
  \ref{subtab:p2}}\label{tab:1}
\end{table}

Table \ref{tab:1} has two parts \ref{subtab:p1} and \ref{subtab:p2}.

\end{document} 

在此处输入图片描述

相关内容