在子图引用周围添加括号

在子图引用周围添加括号

假设我有一个使用包插入了两个子浮点数的图形subfig。当我引用它们时,\ref{myLabel}我得到了这个

图 3.5a 和 3.5b。

但我想要的是这个:

图 3.5(a) 和 3.5(b)。

我如何添加括号?

答案1

为了子图包参见第 2.2.2 节和第 3 节文档

\documentclass{article}
\usepackage[subrefformat=parens,labelformat=parens]{subfig}

\begin{document}
See Figure~\subref*{sf1} for more information.
\begin{figure}
\centering
\subfloat[Subfig 1]{\label{sf1} Contents of the sub-figure}
\qquad
\subfloat[Subfig 2]{\label{sf2} Contents of the sub-figure}
\caption{A figure}
\label{fig}
\end{figure}
\end{document}

带括号的子图


(原始答案)
假设你正在使用子浮点型套餐第 4 部分其文档表示你可以做类似的事情:

\renewcommand*\thesubfloatfigure{\themainfigure(\alph{subfloatfigure})}

将子编号放在括号中。

答案2

如果有人遇到这个问题并且正在使用subcaption,这里有一个解决方案(借用其优秀的手动的):

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

\begin{document}
Reference the sub-figure in full form: \ref{sf1}.
Referencing just the sub-figure parts: \subref{sf1} and \subref{sf2}.
\begin{figure}
  \begin{subfigure}{.48\textwidth}
    \centering
    Contents of the sub-figure
    \caption{Subfig 1}
    \label{sf1}
  \end{subfigure}
  \begin{subfigure}{.48\textwidth}
    \centering
    Contents of the sub-figure
    \caption{Subfig 2}
    \label{sf2}
  \end{subfigure}
  \caption{A figure}
  \label{fig}
\end{figure}
\end{document}

在此处输入图片描述

答案3

这些[subrefformat=parens,labelformat=parens]选项对我来说不起作用;引用仍然显示为例如“1b”。我不得不使用

\usepackage[caption=false,labelformat=simple]{subfig}
\renewcommand{\thesubfigure}{(\alph{subfigure})}

(我不得不使用,caption=false因为如果没有它,subfig我的文档类中的标题将以错误的样式显示。)这样使用可以吗?我确实发现,按照我的方式,如果您想自动引用诸如“(a)”之类的内容(使用您将获得“((a))”),则必须使用\subref*,而不是。\subref\subref

再次查看其他答案,我认为我需要这样做,因为我一直在使用诸如“图 1b”之类的所有引用。 (如果可以避免,\ref我宁愿不将所有\ref' 更改为' 。)\subref*

答案4

结合其他一些答案的想法,这对我来说最有效:

\usepackage[caption=false,listofformat=subsimple,labelformat=simple]{subfig}
\renewcommand\thesubfigure{(\alph{subfigure})}

\renewcommand现在,带有 的行可以\ref按我想要的方式工作,即 1(a),因此不需要\subref*在上述其他解决方案中使用 。

现在在各个地方添加了双括号,必须将其删除。\labelformat=simple将它们从子图中删除,因此现在显示为(a)。

\listofformat=subsimple\listoffigures从(仅在 中可见\setcounter{lofdepth}{2})和 中删除双括号\subref。所以现在\subref如果我只想要 (a),我可以使用。

caption=false之所以使用,是因为 caption 与 revtex(我的类文件)不兼容,但对当前的问题不应该产生任何影响。

相关内容