LaTeX3 の ":D" 指定子

LaTeX3 の ":D" 指定子

3.2.5ではexpl3.pdf、指定子が「使用しないでください」および「カーネル チーム以外のプログラマーはこれらの関数を使用しないでください」を意味していることに気付きました:D。しかし、これらの関数は LaTeX3 で書かれたいくつかのパッケージに登場していることもわかりました。

それで、結局それらを使用できるかどうか誰か教えてもらえますか?

答え1

指定子:Dはプリミティブ専用に使用され (すべてのプリミティブは初期値\<engine>_<name>:D)、アイデアはコア チーム コードの外部には出現しません。 (広義には の外部を意味しますが、他のカーネル レベル コード内の限られた場所で名前が使用されることがl3kernel予想される特別なケースがいくつかあります。):D

expl3しかし、チームがまだカバーしていない領域や、LaTeX2eとのやりとりでプリミティブに直接アクセスする必要がある領域があることは明らかです。暫定現在公式インターフェースがないモジュールで作業する場合、チームはそのようなケースに対応するコードを次のように定式化することを推奨しています。

\cs_new_eq:NN \__module_name:w \engine_name:D % Probably :w ...

後者の名前がそのような場所で使用されている場合、チームがそのような問題に対処するときに調整する必要があるのは 1 行だけです。また、これらの問題を または LaTeX-L で直接チームに提起する価値もあるでしょう。たとえば、私は最近、そのような要求の結果として\pdffilesize、 および同様の のサポートを実験的な追加として追加しました。l3file

コードが決して「進化」しないと予想される LaTeX2e での作業では、通常は「古典的な」名前に固執します。

関連情報