l3doc 在 {function} 的边距框中添加了不需要的反斜杠

l3doc 在 {function} 的边距框中添加了不需要的反斜杠

我用它l3doc来记录一些软件包(我知道它不是官方稳定的,但我喜欢它……)。我遇到了一个问题,如果其中一个项目是以反斜杠开头的宏,则{function}{<list>}需要为每个项目添加一个反斜杠。<list>

\documentclass{l3doc}

\begin{document}

\begin{function}{{environment}}
Description
\end{function}
\begin{function}{\command}
Description
\end{function}
\begin{variable}{counter}
Description
\end{variable}
\begin{function}{{environmentII}, counterII, \commandII}
Description for multiple items
\end{function}

\begin{macro}{{environment}}
Definition
\end{macro}
\begin{macro}{\command}
Definition
\end{macro}
\begin{macro}{counter}
Definition
\end{macro}
\begin{macro}{{environmentII}, counterII, \commandII}
Description for multiple items
\end{macro}

\end{document}

该示例显示,使用单个项目<list>可以按预期工作,但只要我将宏添加到列表中,所有项目都会反斜杠.{macro}没有显示此行为...

在此处输入图片描述

有没有什么办法可以防止这种情况发生?

答案1

在我看来,你只是误用了环境。预期的参数要么是函数,要么是函数列表。但你传递的列表中的元素都不是 l3 意义上的函数。(但环境可能也适用于文档级命令 - 见下文。在这种情况下,一些您传递的内容是函数,但不是其他内容。)

请注意,即使在您说它按预期工作的情况下,您也无法获得一致格式化的项目。例如,您会以counter衬线字体(而不是打字机字体)格式化,因为它看起来不像解析器的变量。(\l_tobi_counter_int可能在这里有效并且是 l3 等效项。)

定义提供的各种环境的代码l3doc根据环境想要记录的事物类型的预期语法处理参数。

例如,function环境会在逗号分隔列表中的每个元素中查找:,以便将名称与其参数的规范分开。然后,系统会自动以标准方式处理和格式化此信息。

例如,

\begin{function}{\Tobi_function_one:nn, \Tobi_function_one:Vn, \Tobi_function_one:VV}
Description for multiple items
\end{function}

将检测到它正在处理同一函数的三个变体,即以通常方式生成基本函数变体的情况。然后,它将第一个格式化为基本变体,将其余两个格式化为变体,将它们组合起来并区分它们不同的参数说明符。

变体函数

逗号分隔列表适用于列出的项目是主题上的细微变化的情况,例如具有不同参数规范的相同函数或某种变体形式。但环境、计数器和宏不属于这种类型,不应以这种方式组合在一起。

我不太确定macro应该用它做什么。我找不到太多关于l3doc并且我无法从 l3 文档来源中弄清楚到底有什么区别。

我的第一个想法是macro可能是用于文档级命令,但尽管我上面说了,解析的文档用于function记录文档级命令。这让我很困惑,因为我不认为这些命令是功能一点也不。我认为这是区分文档级内容和较低级别的 l3 内容的想法的一部分,并且“函数”仅适用于后者。但我显然弄错了。(当然,这macro也不一定有太大意义,因为函数肯定是宏。)

这是我正在玩的示例代码。

\documentclass{l3doc}
\begin{document}
\begin{function}{\Tobi_function_prior:n}
  Description
\end{function}
\begin{function}{\command:}
  Description
\end{function}
\begin{variable}{\l_Tobi_variable_tl}
  Description
\end{variable}
\begin{function}{\Tobi_function_one:nn, \Tobi_function_one:Vn, \Tobi_function_one:VV}
  Description for multiple items
\end{function}
\begin{function}{\TobiDocumentCommand}
  \begin{syntax}
    \cs{TobiDocumentCommand}\marg{mandatory argument}
  \end{syntax}
\end{function}
\end{document}

l3 文档实验

相关内容