![subfig 和 subcaption 软件包不兼容问题](https://linux22.com/image/273212/subfig%20%E5%92%8C%20subcaption%20%E8%BD%AF%E4%BB%B6%E5%8C%85%E4%B8%8D%E5%85%BC%E5%AE%B9%E9%97%AE%E9%A2%98.png)
我想要三个子图按特殊顺序排列。一个在右边,两个在左边。因此我找到了一个片段在 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}