Expl3 语法为类和 LaTeX 生成错误和警告信息

Expl3 语法为类和 LaTeX 生成错误和警告信息

当我执行\msg_new:nnnn { module } { errorname } { explenation }然后\msg_warning { module } { errorname }我得到Package module Warning:。我怎样才能让它说Class module Warning:LaTeX Warning:?我尝试使用LaTeX而不是 ,module这似乎对错误有效,但对警告无效。我也尝试过class而不是module,但这并没有真正起作用。

以下是 MWE:

% Get rid of warnings for filecontents:
\RequirePackage{silence}
\WarningFilter[filecontents]{latex}{Writing or overwriting}
\WarningFilter[filecontents]{latex}{You have requested document class}
\ActivateWarningFilters[filecontents]

% Create class:
\begin{filecontents}[overwrite]{myclass.cls}
    \NeedsTeXFormat{LaTeX2e}
    \ProvidesClass{Code/CV}[2022/06/06 Curriculum Vitae]
    \LoadClass[a4paper]{article}
    
    % Class warning/error:
    \ExplSyntaxOn
    \msg_new:nnn { Class } { class warning } { this~is~some~class~warning }
    \msg_new:nnn { Class } { class error } { this~is~some~class~error }
    
    \msg_error:nn { Class } { class error }
    \msg_warning:nn { Class } { class warning }
    \ExplSyntaxOff
    
    \endinput
\end{filecontents}

\documentclass{myclass}

% Create Package:
\begin{filecontents}[overwrite]{mypack.sty}
    % Package warning/error:
    \ExplSyntaxOn
    \msg_new:nnn { mypack } { mypack error } { this~is~some~package~error.}
    \msg_new:nnn { mypack } { mypack warning } { this~is~some~package~warning.}
    
    \msg_warning:nn { mypack } { mypack warning }
    \msg_error:nn { mypack } { mypack error }
    \ExplSyntaxOff
    
    \endinput
\end{filecontents}

\usepackage{mypack}


\begin{document}

% LaTeX3 warning/error:
\ExplSyntaxOn
    \msg_new:nnn { LaTeX } { LaTeX error } { this~is~some~LaTeX~error}
    \msg_new:nnn { LaTeX } { LaTeX warning } { this~is~some~LaTeX~error}
    
    \msg_error:nn { LaTeX } { LaTeX error }
    \msg_warning:nn { LaTeX } { LaTeX warning}
\ExplSyntaxOff

This is a PDF

\end{document}

在此处输入图片描述

由于某种原因,LaTeX3 警告未显示,类错误和警告不正确。这里的问题是什么?我希望它Class myclass error:像命令\ClassError{myclass}{ }{ }那样显示。我在这里做错了什么?

答案1

l3msg模块包含此映射的全局属性列表。只需将您的类添加到该属性列表中:

\prop_gput:Nnn \g_msg_module_type_prop { mythingy } { Class }

相关内容