我在整个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