=================
本パッケージはLaTeXパッケージです. 次のウェブサイトLaTeXでマクロの引数をオーバーロードに触発されて開発をしましたが,2021/08/01において元サイトではプログラムが公開されておらず,本パッケージのコードは私が単独で作成したため著作権上の問題は発生しないと考えていますが,問題があった場合は連絡していただければ公開停止も含め対応いたします.
製作開始,公開.
\renewoverload
追加.
Preparation for uploading to CTAN.
まず
\newoverload{hoge}
のようにしてコントロールシークエンス\hoge
を登録してください.
すでに定義されているコントロールシークエンスを使いたい場合は\renewoverload
を使用してください.
その後;
\addoverload{hoge}{0}{Nothing!}
\addoverload{hoge}{1}{First argument is #1!}
\addoverload{hoge}{2}{First argument is #1! Second argument is #2!}
のようにして\hoge
の引数の個数ごとの挙動を定義します.構文は;
\addoverload{<csname>}{<num>}{<tokens>}
で,<num>は0から9までの整数であることが想定されています.
登録したコントロールシークエンスは引数の末尾に\delimend
をつけて使用する必要があります.
この状況下では;
\hoge\delimend
\hoge{foo}\delimend
\hoge{foo}{bar}{\delimend}
はそれぞれ;
Nothing!
First argument is foo!
First argument is foo! Second argument is bar!
に展開されます.
\delimend
は上記のような引数の終端を表す以外の使い方をした場合は無視されるだけですが, 制約として各引数の先頭に\delimend
が来ることは禁止されています.
どうしても引数の先頭に\delimend
を配置したい場合は;
\hoge{{\delimend} aaa}\delimend
のようにしてください.
また,各引数においてif系列のコマンドを使用する際には注意が必要です.
MITライセンスの下で配布されます.
Ryoya Ando https://ryoya9826.github.io/