我正在使用subcaption
以支持多个部分表(子表)。当前的引用格式是Table 1a
,我希望使用括号代替:Table 1(a)
。
我看见这个问题提供的解决方案对我不起作用。似乎添加以下选项的解决方案仅适用于figure
和subfigure
浮点数:
\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}