使用选项重新定义环境

使用选项重新定义环境

为了编写报告,我使用了一个wrapfigure可以在一侧生成图形并且文本围绕图形流动的软件包。

处理 的间距和定位非常困难,这并非新鲜事wrapfigure,需要进行大量手动调整。但只要处理得当,结果就会很漂亮;所以这很值得。

此时的问题是,我正在生成草稿,并且随着版本的推移,我必须调整每一个wrapfigure环境以保持草稿的均匀可读(图形很容易与文本重叠)。所以我的想法是,我可以使用figure绘图环境,并wrapfigure只在最终版本中切换。

环境wrapfigure使用如下:

\documentclass{article}
\usepackage{wrapfig}
\begin{document}

\begin{wrapfigure}[26]{r}{0.5\textwidth}
my graphics here
%\includegraphics{...}
\caption{...}
\end{wrapfigure}

\end{document}

因此,我认为我可以wrapfigure在文档中重新定义,以便将上述内容翻译为

\begin{figure} %arguments ignore
\includegraphics{...}
\caption{...}
\end{figure}

所以我想我可以这样做:

% comment following line for final version
\renewenvironment{wrapfigure}[???]{\begin{figure}}{\end{figure}}

我的问题是,它wrapfigure需要三个参数,当figure在草稿中工作时,它们将被忽略。

我必须输入什么???才能获得兼容的语法?

换句话说,我如何重新定义wrapfigure,以便这一行的\begin{wrapfigure}[26]{r}{0.5\textwidth}行为就像\begin{figure}忽略额外的参数一样。

答案1

语法\begin{wrapfigure}

\begin{wrapfigure}[<number>]{<letter>}[<dimen>]{<dimen>}

您可以使用xparse

\usepackage{xparse}
\usepackage{wrapfig}

\RenewDocumentEnvironment{wrapfigure}{omom}
 {\begin{figure}}
 {\end{figure}}

相关内容