假设我有一个使用包插入了两个子浮点数的图形subfig
。当我引用它们时,\ref{myLabel}
我得到了这个
图 3.5a 和 3.5b。
但我想要的是这个:
图 3.5(a) 和 3.5(b)。
我如何添加括号?
答案1
\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(我的类文件)不兼容,但对当前的问题不应该产生任何影响。