我正在使用该sidecap
包来制作侧边标题。我还想有子图(例如,分别用 a)、b)、c) 和 d) 标记的三个或四个子图)。
什么时候不是使用SCfigure
环境,这就是我得到的(图形对齐正确,但标题显然不在侧面):
\documentclass[a4paper,twoside,11pt,openright]{scrbook}
\usepackage{graphicx}
\DeclareGraphicsExtensions{.pdf,.png,.jpg}
\graphicspath{{./images/}}
\usepackage[wide]{sidecap} % custom captions on the side
\sidecaptionvpos{figure}{t} % captions should be on top
\sidecaptionvpos{table}{t}
\usepackage[font=footnotesize,
format=plain,
labelfont={bf,sf},
nooneline,
textfont={it}]{caption}
\usepackage{subcaption}
\usepackage[twoside]{geometry}
\geometry{a4paper,
left=24.8mm,
top=27.4mm,
%headheight=\baselineskip,
%headsep=2\baselineskip,
textwidth=135mm,
marginparsep=8.2mm,
marginparwidth=28mm
}
\begin{document}
\begin{figure}
\subcaptionbox{\label{fig:01:054a}}
{\includegraphics[width=0.5\textwidth]{a}}
\subcaptionbox{\label{fig:01:054b}}
{\includegraphics[width=0.5\textwidth]{b}}
\subcaptionbox{\label{fig:01:054c}}
{\includegraphics[width=0.5\textwidth]{c}}
\caption{A test figure}\label{fig:01:054}
\end{figure}
\end{document}
当使用SCfigure
但只有两个子图时,结果令人满意,正确显示侧面标题:
\begin{SCfigure}
\subcaptionbox{\label{fig:01:054a}}
{\includegraphics[width=0.5\textwidth]{a}}
\subcaptionbox{\label{fig:01:054b}}
{\includegraphics[width=0.5\textwidth]{b}}
% \subcaptionbox{\label{fig:01:054c}}
% {\includegraphics[width=0.5\textwidth]{c}}
\caption{A test figure}\label{fig:01:054}
\end{SCfigure}
当我取消注释最后一个时\subcaptionbox
,我得到的结果如下:
为了width=0.5\textwidth
在环境中正确显示三个或更多图形,我必须做什么figure
?不可能只有我一个人将侧面标题与子图结合使用......
编辑:在这个德国论坛主题,该软件包的作者subcaption
声称它与兼容sidecap
。
答案1
我建议你使用更强大、更灵活的floatrow
包(事实上,标题的作者也建议用这个包作为的替代sidecap
)。
我注释掉了第一个之后的虚假空白,并在第二个之后\subcaptionbox
添加了换行命令;我还添加了一个“假”的四幅图像(高度和宽度为零的规则),使第三个图像向左对齐而不是居中:\\
0.5\textwidth
\documentclass[a4paper,twoside,11pt,openright]{scrbook}
\usepackage{graphicx}
\DeclareGraphicsExtensions{.pdf,.png,.jpg}
\graphicspath{{./images/}}
\usepackage{floatrow}
\usepackage[font=footnotesize,
format=plain,
labelfont={bf,sf},
nooneline,
textfont={it}]{caption}
\usepackage{subcaption}
\usepackage[twoside]{geometry}
\geometry{a4paper,
left=24.8mm,
top=27.4mm,
%headheight=\baselineskip,
%headsep=2\baselineskip,
textwidth=135mm,
marginparsep=8.2mm,
marginparwidth=28mm
}
\begin{document}
\thisfloatsetup{margins=hangright,capposition=beside,
capbesideposition={top,right},floatwidth=\textwidth}
\begin{figure}
\subcaptionbox{\label{fig:01:054a}}
{\includegraphics[width=0.5\textwidth]{example-image-a}}%
\subcaptionbox{\label{fig:01:054b}}
{\includegraphics[width=0.5\textwidth]{example-image-b}}\\
\subcaptionbox{\label{fig:01:054c}}
{\includegraphics[width=0.5\textwidth]{example-image-c}}\rule{.5\textwidth}{0pt}
\caption{A test figure}\label{fig:01:054}
\end{figure}
\end{document}