如何阻止“hrule”破坏“center”环境内的文本居中?

如何阻止“hrule”破坏“center”环境内的文本居中?

由于某种原因,放置\hrule在上述center环境中会使该环境中的文本显示为左对齐。为什么?

\documentclass[margin=5mm,varwidth=100mm]{standalone}

\begin{document}

  \begin{center}
    \tiny
    This is text inside center environment (sentence 1).
    This is text inside center environment (sentence 2).
  \end{center}
  %\hrule % uncomment to break centering
  \begin{center}
    \LARGE
    This is text\\ inside center environment\\ (sentence 1).\\
    This is text\\ inside center environment\\ (sentence 2).
  \end{center}

\end{document}

如果你取消注释\hrule我的代码中的行,你将得到以下输出:

答案1

standalone是一个非常专业的类,必须重新定义整个乳胶处理流程,默认情况下它根本不允许垂直模式材料,该选项允许通过同名包中的varwidth隐式环境有限地使用垂直材料。varwidth

varwidth需要能够拆卸和测量构造的垂直列表,并且通常的问题是,虽然可以使用等去除盒子和胶水\lastbox \unskip,但无法去除许多节点类型,从而破坏该过程。varwidth对一些特殊情况和 pdftex 什么的采取预防措施,但\hrule(tex 原语而不是 latex 命令)未被处理,因此打破了循环。

查看varwidth.sty50 号线附近

% Many things may appear on vertical lists that can't be re-processed,
% so they have to be modified. 

规则是不是由包裹处理。

相关内容