ユーザー (通常は私) がマクロ呼び出しシーケンスを忘れたり、間違えたりしたときのために、構築中のクラスにエラー メッセージを追加したいと考えています。次のようにします。
\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 ドキュメント ファイル名が与えられます。その後にロードされるすべてのファイルでは正しい結果が得られます。