scrbook 中的副标题编号错误

scrbook 中的副标题编号错误

scrbook当将文档类与包结合使用时subcaption ,子图的编号似乎被破坏。考虑:

\documentclass{scrbook}
\usepackage{xcolor}
\usepackage{caption}
\usepackage{subcaption}
\captionsetup{%
  format=hang,%
  font=small,%
  labelfont={sf,bf},%
  aboveskip=0.2\normalbaselineskip,%
  position=top
}
\pagestyle{empty}

\begin{document}
\begin{figure}
  \caption{Black}
  \label{fig1}
  \centering
\rule{2cm}{2cm}
\end{figure}

\begin{figure}
  \caption{More figures}
  \label{fig2}
  \centering
  \begin{subfigure}{.3\textwidth}
    \centering
    \caption{Blue}
    \label{fig2a}
    \color{red}\rule{2cm}{2cm}
  \end{subfigure}
  \begin{subfigure}{.3\textwidth}
    \centering
    \caption{Green}
    \label{fig2b}
    \color{green}\rule{2cm}{2cm}
  \end{subfigure}
  \begin{subfigure}{.3\textwidth}
    \centering
    \caption{Blue}
    \label{fig2c}
    \color{blue}\rule{2cm}{2cm}
  \end{subfigure}
\end{figure}

Figure \ref{fig1} shows a black box. Figure \ref{fig2} shows colored
boxes, where Figure \ref{fig2a} shows a red box, Figure \ref{fig2b}
shows a green box, and Figure \ref{fig2c} shows a blue box.
\end{document}

显示结果如下: 破碎的

显然,文本引用中的图号对于子图来说少了一个。相反,如果我将文档类更改为article,它看起来就没问题了:

固定的

为什么会发生这种情况?我该如何预防?

答案1

使用 KOMA-Script 时,默认设置是“标题位于图片下方”。要更改此设置,请指定captions=figureheading,例如:

\documentclass[captions=figureheading]{scrbook}

此选项对 KOMA-Script 有什么影响?

KOMA-Script 需要此选项来为您提供标题和图形之间的正确垂直间距。

该选项对于 subcaption 包有什么影响?

subcaption需要知道图形何时开始以及何时结束。由于可以在一个图形环境中放置多个标题,因此“图形+标题何时开始”并不相等\begin{figure},“图形+标题何时结束”也不相等\end{figure}

也可以看看:

https://tex.stackexchange.com/a/115632/2574(同样的问题,但有表格)

https://tex.stackexchange.com/a/98331/2574(同样的问题,但使用subfig包)

相关内容