我在整个LaTeX文档中一直使用\begin{figure} ... \end{figure},但是默认样式很难看。即,所有数字都左对齐。有没有一种方法可以重新定义“figure”环境,以便它自动插入一些居中命令,例如:

\begin{figure} \begin{center}
\end{center} \end{figure}

当然,我可以使用\newenvironment定义“cfigure”环境,但这是不可取的。我不想经历所有我的“数字”更改为“图”(然后意识到我希望所有数字都右对齐,而必须将它们全部重命名为“rfigures”)。

我可以使用\renewenvironment,但随后我必须深入研究LaTeX源,以查找最初将“图”环境定义为复制/粘贴到其中的环境。

我几乎在this blog post上找到了我想要的东西,但是该示例是针对命令而不是环境的。

最佳答案

\let\oldfigure\figure
\def\figure{\oldfigure\centering}

与可选参数一起使用的另一种解决方案。

固定。
\let\oldfigure\figure
\let\oldendfigure\endfigure
\def\figure{\begingroup \oldfigure}
\def\endfigure{\centering \oldendfigure \endgroup}

已修复2。它可以与内部的任何选项,任何规则和\par一起很好地工作。
\makeatletter
\let\oldfigure\figure
\def\figure{\@ifnextchar[\figure@i \figure@ii}
\def\figure@i[#1]{\oldfigure[#1]\centering}
\def\figure@ii{\oldfigure\centering}
\makeatother

09-30 11:10