是否有可能引用包名称。即
\ProvidesPackage{SomePackage}
\def\printPackageName{\name}
哪里\name
应该解决SomePackage
。
答案1
您可以评估\@currname
它并将其扩展为宏进行存储,但是您只能在包外使用该宏\printPackageName
一次,因为如果其他包也定义该宏,则会覆盖该宏\printPackageName
。
在包裹内,\@currname
当然保持“活着”。
\ProvidesPackage{SomePackage}
\edef\printPackageName{\@currname}
\endinput
更好的策略:
\def\mypackagename{SomePackage}
\ProvidesPackage{\mypackagename}