有没有办法在和\newenvironment{example}[]{}{}
之间的文本后使用结构的参数。例如,如何编写一个以文本作者为参数的新环境,并将其写入环境中写入的文本之后?\begin{example}
\end{example}
答案1
编辑:更改格式以符合评论的规范。
有两种方法可以做到这一点,要么使用命令,\newenvironment
您可以将参数存储在临时宏中(使用\def
或\renewcommand
,但\newcommand
在任何一种情况下都先用 初始化它)。或者使用\NewDocumentEnvironment
,您可以在其中引用 -part 中的参数\end
:
\documentclass[]{article}
\newcommand*\exampleARG{}% to assert the name is free
\newenvironment{example}[1]
{%
\par\medskip
\def\exampleARG{#1}%
\begingroup
\centering
\itshape
\footnotesize
}
{%
\par
\endgroup
\leavevmode\hfill\mbox{\textsc{\exampleARG}}\par
\medskip
}
\NewDocumentEnvironment{Example}{m}
{%
\par\medskip
\begingroup
\centering
\itshape
\footnotesize
}
{%
\par
\endgroup
\leavevmode\hfill\mbox{\textsc{#1}}\par
\medskip
}
\usepackage[]{duckuments}
\begin{document}
\begin{example}{a wise duck}
\blindduck
\end{example}
\begin{Example}{a wise duck}
\blindduck
\end{Example}
\end{document}