这看起来像是一种包装figure
环境的相当简单的方法:
\documentclass{article}
\usepackage{newenviron}
\newenviron{myenv}{
\begin{figure}
\envbody
\end{figure}
}
\begin{document}
\begin{myenv}
Hi!
\end{myenv}
\end{document}
然而,我得到了这个:
Incomplete \ifcsname; all text was ignored after line 11.
<inserted text>
我见过一些例子,其中figure
首先重命名(用\let
),然后更新;但我的例子有什么问题?
答案1
你需要看看第一的错误:
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.8 \begin{d
ocument}
?
问题出在哪里?该软件包的简明文档指出
% \newenviron<optional *>
% {<name>}[<narg>][<default of 1st argument>]{<start-code>}{<end-code>}
这表明语法与 相同\newenvironment
。
\documentclass{article}
\usepackage{newenviron}
\newenviron{myenv}{
\begin{figure}
\envbody
\end{figure}
}{}%<--- nothing at end
\begin{document}
\begin{myenv}
Hi!
\end{myenv}
\end{document}
我建议改用xparse
:
\documentclass{article}
\usepackage{xparse}
\NewDocumentEnvironment{myenv}{O{htp}+b}{%
\begin{figure}[#1]
#2
\end{figure}
}{}
\begin{document}
\begin{myenv}
Hi!
\end{myenv}
\end{document}