最小工作示例
\documentclass[11pt, twoside]{report}
\usepackage{caption}
\usepackage[]{subfig}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\captionsetup[subfigure]{format=hang,singlelinecheck=false,justification=raggedright}
\subfloat[4-Hy\-droxy\-ben\-zo\-ic acid]{
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}
}
\hfill
\subfloat[Hy\-droxy\-ben\-zo\-ic acid]{
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}
}
\hfill
\subfloat[Hydroxybenzoic acid]{
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}
}
\subfloat[Hydroxybenzoic acid]{
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}
}
\end{figure}
\begin{figure}
\captionsetup[subfigure]{format=hang,singlelinecheck=false,justification=}
\subfloat[4-Hy\-droxy\-ben\-zo\-ic acid]{
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}
}
\hfill
\subfloat[Hy\-droxy\-ben\-zo\-ic acid]{
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}
}
\hfill
\subfloat[Hydroxybenzoic acid]{
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}
}
\subfloat[Hydroxybenzoic acid]{
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}
}
\end{figure}
\end{document}
参考渲染
描述
当使用对齐方式“raggedright”且标题必须用连字符连接时,下一个空格处会引入另一个断行。不间断空格可以防止这种情况,但不是一个好的解决方案。这里使用的解决方法是将对齐方式重置为默认值。至少,我假设这是我在第二张图中所做的。该文档是使用编译的xelatex
。
问题)
我做错了什么吗?这是错误吗?我是否遗漏了设置?如何才能使子图标题中的连字符右对齐并正确换行?
最有可能不是重复或相关的:防止对特定的短的、重复的、带连字符的单词进行连字符连接,列表标题中的连字符无法正常工作,防止子浮动字幕换行,使用 subfig 时,图片标题出现换行问题
答案1
使用justification=RaggedRight
(可能需要运行两次 LaTeX)。注意行尾。
\documentclass[11pt, twoside]{report}
\usepackage{caption}
\usepackage{subfig}
\usepackage{ragged2e}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}
\captionsetup[subfigure]{format=hang,singlelinecheck=false,justification=RaggedRight}
\subfloat[4-Hy\-droxy\-ben\-zo\-ic acid]{%
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}%
}\hfill
\subfloat[Hy\-droxy\-ben\-zo\-ic acid]{%
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}%
}\hfill
\subfloat[Hydroxybenzoic acid]{%
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}%
}
\subfloat[Hydroxybenzoic acid]{%
\includegraphics[width=0.2\textwidth]{4hba_600dpi.png}%
}
\end{figure}
\end{document}