![使用选项重新定义环境](https://linux22.com/image/323100/%E4%BD%BF%E7%94%A8%E9%80%89%E9%A1%B9%E9%87%8D%E6%96%B0%E5%AE%9A%E4%B9%89%E7%8E%AF%E5%A2%83.png)
为了编写报告,我使用了一个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}}