我想在我正在构建的类中添加一条错误消息,以防用户(通常是我……)忘记或弄乱宏调用序列。我可以这样做:
\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 文档文件名而不是类定义文件名。此后加载的每个文件都将产生正确的结果。