在 LaTeX 中,可以使用\newcommand
或\newenvironment
命令在文档中声明函数。以下是定义简单函数和环境的方法。
\newcommand{\myfunction}[2]{Function: #1 + #2}
在此示例中,\newcommand{\myfunction}[2]
定义了一个名为的新命令,\myfunction
它接受两个参数,可以在文档中如下使用:
The function output is: $\myfunction{a}{b}$
能否直接创建像其他语言一样的函数?例如,创建如下所示的内容。
\feuds_newteorema_simple:nn
{
\newtheorem{#1_inner}
{\color{\feuds_teorema_setcolor_tl}#2}
}
在写这些的时候我确实感到很困惑。{}
在同一行写命令时,是否应该用 括起来?
我在哪里可以找到 的声明\newtheorem
?
答案1
您的问题根本不清楚,除了您省略了第二个示例的定义命令之外,您的两个示例之间没有任何区别。
你的第二个区块就像
\myfunction{Function: #1 + #2}
和第一个块一样,它需要定义命令名称。
你可以使用
\newcommand\feuds_newteorema_simple:nn[2]
{
\newtheorem{#1_inner}
{\color{\feuds_teorema_setcolor_tl}#2}
}
这是第一个例子中使用的形式,尽管更惯用的 expl3 定义是
\cs_new_protected:Npn \feuds_newteorema_simple:nn #1#2
{
\newtheorem{#1_inner}
{\color{\l_feuds_teorema_setcolor_tl}#2}
}
(如之前问题所述,局部变量名应该开始l_
遵循 expl3 命名约定)