如何在错误消息中包含输入文件名?

如何在错误消息中包含输入文件名?

我想在我正在构建的类中添加一条错误消息,以防用户(通常是我……)忘记或弄乱宏调用序列。我可以这样做:

\expandafter\ifblank\expandafter{\MyClass@requiredvalue}
{\ClassError{myclass}{Entry requires version selection using
      \protect\selectversion \on@line}{}}
{}}

在序列的后面部分,但由于我有一堆相互包含的文件,如果没有文件名,行号就没有用处。除了/代替行号,还有其他方法可以获取文件名吗?

答案1

currfile包裹提供了几种方法来获取当前文件的名称和路径。例如,你可以使用宏\currfilename

\ClassError{myclass}{Entry requires version selection using
  \protect\selectversion \on@line (\currfilename)}{}

请注意,在某些情况下它可能不起作用。例如,如果您currfile在类定义文件中加载包,\currfilename将提供 tex 文档文件名而不是类定义文件名。此后加载的每个文件都将产生正确的结果。

相关内容