使用换行符时无法正确居中

使用换行符时无法正确居中

centering在 中有一个环境figure。在这个环境中,我有一个用样式编写的文本footnotesize。如果我在文本中换行 ( \\),则文本不再正确居中。

谁能告诉我为什么文本没有正确居中?

截屏:

在此处输入图片描述

代码:

\begin{figure}[H]
    \noindent   
    \begin{centering}     
      \caption[HTTP-Polling]{HTTP-Polling}
      \label{fig:polling}
      \includegraphics[scale=0.5]{images/polling}       
      \par
      \footnotesize Quelle: Heise Zeitschriftenverlag, 06. März 2012\\http://www.heise.de/developer/imgs/06/6/7/6/2/3/3/Polling-61cb54a128001c08.png
    \end{centering}     
\end{figure}

答案1

正如评论中提到的,存在一个名为的指令,\centering该指令从现在开始一直打开“居中”直到当前组的结束。从技术上讲,任何命令都可以变成环境(无论是否有意义),只需使用不带反斜杠的命令名称作为环境名称即可。环境的开始/结束形成一个组,命令在其范围内执行。

对于有意义的指令,例如,\begin{itshape} ... \end{itshape}非常有意义,在某些情况下比更可取{\itshape ...}。但是,\begin{textbf}{...} ... \end{textbf}由于\textbf只对其参数进行操作,因此环境主体没有任何用处。

现在回到您的代码:如果将类似的指令\centering用作环境,那么了解此环境结束时发生的情况非常重要:除了组之外没有其他任何东西被关闭,即范围结束。这意味着您所编写的代码相当于{\centering ...}没有最后的\par。但\centering仅在感知到段落结束时(a\\实际上在内部执行 par 中断)并且\par看到最后一个时(在里面\end{figure}\end{centering}才起作用,并将设置从居中改回正常对齐设置。为了使诸如此类的\centering工作,许多环境(例如浮动或\parbox等)在其末尾包含隐式\par命令,以确保在关闭当前组之前,最后一段已完成其当前设置。但这来得太晚了。

因此,为了解决这个问题,您需要\par在之前包含一个或空行,\end{centering}或者直接使用\centering(这是这里更好的方法),范围是整个图形环境。

相关内容