subfig 和 subcaption 软件包不兼容问题

subfig 和 subcaption 软件包不兼容问题

我想要三个子图按特殊顺序排列。一个在右边,两个在左边。因此我找到了一个片段在 StackExchange 上。单独的代码片段可以正常工作,您可以通过注释掉第一个图形环境来检查这一点。

问题是,我的文档中有很多子浮点数,并且 subfig 和 subcaption 包不兼容。

有没有办法使用普通子浮点数并运行 3 子图示例?

最好的,TomBoo!

最小示例:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption,subcaption}
\usepackage{subfig}

\begin{document}

\begin{figure}[htb]
    \centering
        \subfloat[test figure one \label{fig:1:test1}] {\includegraphics[width=0.30\textwidth]{image1}}
        \qquad %
        \subfloat[test figure two \label{fig:1:test2}] {\includegraphics[width=0.30\textwidth]{image1}}
    \caption{test figures}
  \label{fig:1:tests}
\end{figure}

\begin{figure}
\begin{minipage}[c][11cm][t]{.5\textwidth}
  \vspace*{\fill}
  \centering
  \includegraphics[width=5cm,height=10cm]{image1}
  \subcaption{test figure one}
  \label{fig:2:test1}
\end{minipage}%
\begin{minipage}[c][11cm][t]{.5\textwidth}
  \vspace*{\fill}
  \centering
  \includegraphics[width=5cm,height=4.5cm]{image1}
  \subcaption{test figure two}
  \label{fig:2:test2}\par\vfill
  \includegraphics[width=5cm,height=4.5cm]{image1}
  \subcaption{test figure three}
  \label{fig:3:test3}
\end{minipage}
\caption{another test figures}
\label{fig:2:tests}
\end{figure}

\end{document}

答案1

既然你说你已经在使用subfig广泛的,我假设改变所有的会很麻烦\subfloats。因此,您可以使用capt-of包并设置\captionsetup

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption}
\captionsetup[subfigure]{labelformat=parens,labelsep=space,font=small}
\usepackage{subfig}

\begin{document}

\begin{figure}[htb]
    \centering
        \subfloat[test figure one \label{fig:1:test1}] {\includegraphics[width=0.30\textwidth]{image1}}
        \qquad %
        \subfloat[test figure two \label{fig:1:test2}] {\includegraphics[width=0.30\textwidth]{image1}}
    \caption{test figures}
  \label{fig:1:tests}
\end{figure}

\begin{figure}
\begin{minipage}[c][11cm][t]{.5\textwidth}
  \vspace*{\fill}
  \centering
  \includegraphics[width=5cm,height=10cm]{image1}
  \captionof{subfigure}{test figure one}
  \label{fig:2:test1}
\end{minipage}%
\begin{minipage}[c][11cm][t]{.5\textwidth}
  \vspace*{\fill}
  \centering
  \includegraphics[width=5cm,height=4.5cm]{image1}
  \captionof{subfigure}{test figure two}
  \label{fig:2:test2}\par\vfill
  \includegraphics[width=5cm,height=4.5cm]{image1}
  \captionof{subfigure}{test figure three}
  \label{fig:3:test3}
\end{minipage}
\caption{another test figures}
\label{fig:2:tests}
\end{figure}

\end{document}

在此处输入图片描述

我需要弄清楚我设置了什么来删除,:这样当我找到它时我就会更新。根据 Gonzalo Medina 的建议,我们可以通过以下代码行来实现子图的外观:\captionsetup[subfigure]{labelformat=parens,labelsep=space,font=small}

相关内容