我想使用聪明人引用图形内部的面板。因此,我设计了整个图形的外部乳胶带有标签A,b,... 用于不同的面板。为此,我需要一些带标签的虚拟子图。所以我做的是:
\documentclass[prl,twocolumn]{revtex4-2}
\usepackage{subcaption}
\usepackage{graphicx}
\usepackage{cleveref}
\begin{document}
\maketitle
See \cref{fig:1:a}
\begin{figure}
\begin{subfigure}{\textwidth} % this 'subfigure' env. has no visible content
\refstepcounter{subfigure}\label{fig:1:a}
\refstepcounter{subfigure}\label{fig:1:b}
\end{subfigure}%
\centering
\includegraphics[width=.5\textwidth]{example-image}
\caption{(a) First sub caption. (b) Second sub caption. And some more text}
\label{fig:1}
\end{figure}
\end{document}
得出(缩放):
但问题是副标题更改标题的格式。为了完整起见,不包含subfigure
和不包含副标题标题如下所示(放大):
由于我不会将子标题用于除虚拟标签之外的任何其他用途,所以我根本不想更改标题的格式。
所以我的问题很简单:如何在没有副标题包裹?
答案1
选项(1)用于 \captionsetup[figure]{...}
恢复正确的格式。
\documentclass[prl,twocolumn]{revtex4-2}
\usepackage{subcaption}
\usepackage{graphicx}
\usepackage{cleveref}
\captionsetup[figure]{textfont=normalfont,singlelinecheck=off,justification=raggedright}% added <<<
\usepackage{kantlipsum}
\begin{document}
\maketitle
See \cref{fig:1a}
\begin{figure}[ht]
\begin{subfigure}{\textwidth} % this 'subfigure' env. has no visible content
\refstepcounter{subfigure}\label{fig:1a}
\refstepcounter{subfigure}\label{fig:1b}
\end{subfigure}%
\centering
\includegraphics[width=\linewidth]{example-image}% use linewidth <<<
%\caption{(a) First sub caption. (b) Second sub caption. And some more text}
\caption{ (\protect\subref{fig:1a}) First sub caption. (\protect\subref{fig:1b}) Second sub caption. And some more text}
\label{fig:1}
\end{figure}
\kant[1-7]
\end{document}
或者(2)subcaption
可以使用来代替它。(参见示例中subfig
的 的用法)\subref{..}
\documentclass[prl,twocolumn]{revtex4-2}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{caption}
\usepackage{cleveref}
\usepackage{kantlipsum}
\captionsetup[figure]{textfont=normalfont,singlelinecheck=off,justification=raggedright}
\begin{document}
\maketitle
See \cref{fig:1a} and subfigure~\subref{fig:1b}.
\begin{figure}[ht!]
\subfloat{\label{fig:1a}}
\subfloat{\label{fig:1b}}
\centering
\includegraphics[width=\linewidth]{FigureOne.pdf}
\caption{ \protect\subref{fig:1a} First sub caption. \protect\subref{fig:1b} Second sub caption. And some more text}
\label{fig:1}
\end{figure}
\kant[1-7]
\end{document}
FigureOne.pdf
由此文件生成。
%%file FigureOne.tex
\documentclass[preview, border=5pt]{standalone}
\usepackage{geometry}
\usepackage{subfig}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
\subfloat[][]{\includegraphics[width=0.5\textwidth]{example-image-a}}\enspace
\subfloat[][]{\includegraphics[width=0.5\textwidth]{example-image-b}}
\end{figure}
\end{document}
答案2
@Simon Dispa 的回答 (2) 建议使用该subfig
包。事实证明它有以下选项:
\usepackage[caption=false]{subfig}
根据手册,这是我需要的:
为了与修改标题的其他软件包兼容,并且标准标题包可能会干扰所需的布局,标题包有一个特殊选项,
caption=false
它可以加载内部组件(即“内核”caption3 包)而不修改命令\caption
。
事实上,在一个真实的例子中:
\documentclass[prl,twocolumn]{revtex4-2}
\usepackage{graphicx}
\usepackage[caption=false]{subfig}
\usepackage{cleveref}
\usepackage{kantlipsum}
\begin{document}
\maketitle
See \cref{fig:1a} and subfigure~\subref{fig:1b}.
\begin{figure}[ht!]
\subfloat{\label{fig:1a}}
\subfloat{\label{fig:1b}}
\centering
\includegraphics[width=\linewidth]{example-image}
\caption{
\protect\subref{fig:1a} First sub caption.
\protect\subref{fig:1b} Second sub caption.
\kant[8]}
\label{fig:1}
\end{figure}
\kant[1-7]
\end{document}