我希望每个标题subfigure
都在同一行,因为标题不会太长而需要换行。有什么方法可以强制将其放在一行上吗?
这是一个最小工作示例:
\documentclass[a4paper,12pt]{article}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\usepackage{epstopdf}
\begin{document}
These captions will look very bad.
\begin{figure*}[thp!]
\centering
\begin{subfigure}[t]{0.5\textwidth}
\centering
\centerline{\includegraphics[height=8cm, width = 13cm]{file.eps}}
\caption{This long caption should fit on one line still}
\end{subfigure}
\begin{subfigure}[t]{0.5\textwidth}
\centering
\centerline{\includegraphics[height=8cm, width = 13cm]{file.eps}}
\caption{This long caption should also fit on one line}
\end{subfigure}%
\end{figure*}
\end{document}
答案1
将 {0.5\textwidth} 更改为 {1\textwidth}
我仍然不确定这到底是做什么的,但这解决了这个问题
\documentclass[a4paper,12pt]{article}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\usepackage{epstopdf}
\begin{document}
These captions will look very bad.
\begin{figure*}[thp!]
\centering
\begin{subfigure}[t]{1\textwidth}
\centering
\centerline{\includegraphics[height=8cm, width = 13cm]{file.eps}}
\caption{This long caption should fit on one line still}
\end{subfigure}
\begin{subfigure}[t]{1\textwidth}
\centering
\centerline{\includegraphics[height=8cm, width = 13cm]{file.eps}}
\caption{This long caption should also fit on one line}
\end{subfigure}%
\end{figure*}
\end{document}
答案2
由于两个图表的宽度均为 13 厘米,因此我将两个subfigure
环境的宽度也设置为 13 厘米。我假设您希望子标题的宽度与相关图表的宽度相同,但不能更宽。
然后,您可以省略环境中的两个\centerline
包装器和两条\centering
指令subfigure
。我还会省略环境[t]
的定位限定符subfigure
,因为它们除了增加代码混乱之外什么也不做。
\documentclass[a4paper,12pt]{article}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\usepackage{epstopdf}
\begin{document}
These captions no longer look bad.
\begin{figure}[thp!]
\centering
\begin{subfigure}{13cm}
\includegraphics[height=8cm, width = \linewidth]{file.eps}
\caption{This long caption fits on one line}
\end{subfigure}
\bigskip % create some vertical separation between the subfigures
\begin{subfigure}{13cm}
\includegraphics[height=8cm, width = \linewidth]{file.eps}
\caption{This long caption also fits on one line}
\end{subfigure}
\end{figure}
\end{document}
答案3
\captionsetup{width=0.6\linewidth}
您可以分别使用命令和来设置图形标题或子标题的宽度\captionsetup[subfigure]{width=0.6\linewidth}
。如果您使用序言中提到的命令,则该选项将应用于文档中的所有图形。您还可以在要更改其标题宽度的特定图形中使用它们。有关更多详细信息,请参阅如何调整子标题的宽度和设置特定子字幕的子字幕宽度。