有没有关于从 expl3 编写消息的教程?

有没有关于从 expl3 编写消息的教程?

我想使用 的消息功能expl3,但 的文档l3msg仅提供了语法。特别是,它没有解释哪些命令只有在 之后才合法\begin{body},它没有提供上下文,也没有解释命令调用是否\msg_line_context会获取它被调用时的上下文或它调用 时的上下文\msg_line_context

答案1

中的每条消息expl3都有一个名称,以便可以独立于消息的使用给出固定文本。这个想法是,在使用时不应该给出完整的文本,而应该只给出消息的名称和任何动态内容。消息是使用\msg_new:nnnn(或\msg_new:nnn) 创建的。这里,参数#3是每次都会使用的消息文本。此文本在使用时会扩展,因此可能包含可扩展的材料,例如\msg_line_context:

\msg_new:nnn { mypkg } { mymsg }
  {
    You ~ did ~ something ~ wrong ~ \msg_line_context: \ %
    The additional ~ detail ~ is ~ '#1'.
  }

在使用时,可以调用该消息,传递最多四个“信息”参数。这些参数可以在“发送”之前展开,因此可以再次包含上下文,尽管通常我认为这应该是固定文本的一部分

\msg_warning:nnn { mypkg } { mymsg } { \msg_line_context: }

\msg_warning:nnn { mypkg } { mymsg } { Some ~ more ~ tokens }

相关内容