LaTeX中enumerate环境内Figure总标题对齐异常问题求解
问题成因
figure是LaTeX的原生浮动体环境,默认不会继承enumerate列表环境的缩进规则,哪怕设置了[h]位置参数,也会以正文全局边距为对齐基准,这就导致浮动体内部的总题注和列表项缩进错位,而minipage内部的子图内容因为处于局部排版上下文,能正常对齐。
修复方案
优先选用非浮动体方案,稳定性最高,不会出现浮动位置错乱、缩进不继承的问题:
- 导言区提前引入依赖包
\usepackage{graphicx} % 插图支持 \usepackage{subfig} % 子图支持 \usepackage{caption} % 无浮动体下的题注支持 - 去掉外层的
figure浮动环境,直接在列表项内放置内容,用\captionof命令生成和原生格式完全一致的图题,修正后的完整代码如下:\begin{enumerate} \item Consider the two figures given below, \centering % 外层minipage把整体内容框在列表缩进范围内,宽度可按需调整 \begin{minipage}{0.9\linewidth} \centering \begin{minipage}{0.45\linewidth} \centering \subfloat[Figure 1 title.] { \includegraphics[width=\linewidth]{Figures/Figure_1.png} \label{Figure_1} } \end{minipage} \hfill % 自动填充两个子图之间的空隙 \begin{minipage}{0.45\linewidth} \centering \subfloat[Figure 2 title.] { \includegraphics[width=\linewidth]{Figures/Figure_.png} \label{fig:Figure_2} } \end{minipage} % 生成和原生figure完全一致的题注 \captionof{figure}{Common title for figure 1 and figure 2.} \label{fig:power_response} \end{minipage} \end{enumerate}
其他注意事项
- 如果一定要保留
figure的浮动能力,不建议把figure环境嵌套在enumerate内部,最好将图片环境移到列表外,在列表项中通过\ref{标签}交叉引用对应图片即可,从根源上避免缩进继承问题。 - 不要为了固定位置滥用
[H]浮动参数,强制固定浮动体位置很容易导致页面出现大面积不必要的留白。
内容的提问来源于stack exchange,提问作者aishwarya selvaraj
相关产品推荐
相关产品推荐

