在文本引用的子图上放置括号(例如,图 1(a)而不是图 1a )

在文本引用的子图上放置括号(例如,图 1(a)而不是图 1a )

我想使用“图 3 (a)”引用子图\ref{fig:figure3a},但我得到的却是“图 3a”。如何将括号添加到子图引用中?

所引用的原始图像是两个子图,如下所示。

\documentclass[12pt,oneside,openany,a4paper,afrikaans,english,masters-t,goldenblock]{usthesis}

%% Language and font encodings
\usepackage[afrikaans, english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}

%%%%%%%%%%%%%%%%%%%%%%% Packages %%%%%%%%%%%%%%%%%%%%%%%
\usepackage{graphicx}
\usepackage{svg} % To be able to add SVG images
\usepackage{usbib}
\bibliographystyle{unsrt}
\setcitestyle{square}
\bibpunct{[}{]}{,}{n}{,}{,}
\usepackage{caption}
\usepackage{subcaption}

%%%%%%%%%%%%%%%%%%%%%%% Sets page size and margins %%%%%%%%%%%%%%%%%%%%%%%
\usepackage{geometry}
\geometry{a4paper,  total={210.2mm,297.3mm}, left=25mm, right = 25mm, top=26.3mm, bottom=43.8mm }

\begin{document}

In text reference to fix: Fig.~\ref{fig:figure3a}.

\begin{figure}
\centering

  \begin{subfigure}[hbt]{0.31\textwidth}
    \includesvg[scale=0.31]{images/image1a}
    \caption{image a}
    \label{fig:figure3a}
  \end{subfigure} \hfill

  \begin{subfigure}[hbt]{0.31\textwidth}
    \includesvg[scale=0.31]{images/image1b}
    \caption{image b}
    \label{fig:figure3b}
  \end{subfigure}  \hfill

\caption{outer caption.}
\label{fig:figure3}
\end{figure}

\bibliography{sample} % no need for bibliography

\end{document}

我尝试使用:

%%% Fig. 1(a) instead of Fig. 1a
\usepackage[caption=false,labelformat=simple]{subfig} % "labelformat=simple" removes the parenthesis from the caption label
\renewcommand\thesubfigure{(\alph{subfigure})}  % This one adds parenthesis to the display format
%%

这里(关于使用 subfig 包的问题的 Stack Overflow 帖子)但是当我尝试删除子标题包时,仍然收到错误消息。

我想保留上述包并让其发挥作用。

答案1

代替

\usepackage{subcaption}

经过

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

第二行在引用计数器的值时添加括号。这将导致子标题中出现双括号,因为括号是默认的。因此可以选择labelformat=simple删除它们。

相关内容