带有选项或命名参数的新环境

带有选项或命名参数的新环境

我如何定义\newenvironment具有命名参数/参数/选项的函数,如以下虚拟代码:

\DeclareOption{language}[1]{This is #1}

\newenvironment[language]{hello}{
     #language
}{}

指定用途:

\begin[language=German]{hello}
    SomeText
\eng{hello}

决定:

这是德语的
SomeText

我想要这个的原因是为了在使用环境时在顶层有一个命名选项。

答案1

\documentclass{article}
\DeclareKeys[flymg]{language .code:n={This is #1}}
\NewDocumentEnvironment{hello}
  {O{language=hello}}
  {\SetKeys[flymg]{#1}}
  {}

\begin{document}
\begin{hello}
some text
\end{hello}

\begin{hello}[language=german]
mehr Text
\end{hello}
\end{document}

在此处输入图片描述

相关内容