-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
autodetect-engine の規定化と platex オプションの追加 #73
Labels
Comments
jsclasses の Issues はあまり見ていなかったので久々の意見表明です。1年以上の放置になってしまい済みません。 |
pull-requestをマージして CTAN投稿完了しました。ここは閉じます。
|
t-tk
added a commit
that referenced
this issue
Feb 23, 2023
エラーメッセージを少し変えて CTAN 投稿します。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
表題の通り,4年あまり前に実装 (#39, #40) された
autodetect-engine
を規定のオプションとすることと,新しくplatex
オプションを追加することを提案します.現状すでに
autodetect-engine
またはそれに類する機能が各種文書クラスで実装されていることからもわかるように,エンジンの自動判定には長年の実績があり,デフォルトとしてその自動判定に依拠することも,技術的には問題のないところだろうと思います.ひとつ
autodetect-engine
をデフォルトとしないことに(実利的な)メリットがあるとしたら,使用する「ワークフロー」の明示をユーザに要求できることですが,jsclasses に関しては(歴史的な事情と理解していますが)platex
は明示できない一方で,uplatex
については明示を要求するという状況になっており,強くワークフローの明示をベストプラクティスとして提示する意図があるものとは見受けられません.そこで,現状の autodetect-engine の挙動を規定とし,一方でワークフローの明示を好むユーザ・状況に対しては
uplatex
に加えてplatex
オプションを用意して明示できるようにするのはどうでしょうか.この場合に想定している挙動は次のようなものです.autodetect-engine
指定と同じplatex
指定:実際に pLaTeX で処理されていれば何もしない.upLaTeX の場合はエラーuplatex
指定:現状のautodetect-engine
+uplatex
指定と同じこの挙動は,後発の jlreq クラスの仕様に近いものです(もちろん jlreq では LuaTeX もサポートされている点は大きな違いですが).
明確なメリットとして,現状 upLaTeX で
uplatex
を指定しないと問答無用でエラーになるという,ユーザにとっては(少なくとも目先では)ありがたくない挙動を改善することができます.また細かいことですが「ワークフローを常にクラスオプションを明示する」という方針を採ったときに,
platex
を指定しても未使用オプションの警告が出ないようになるという効果も期待しています.クラス側の「敢えてエンジンを明示させる」というポリシーに関しては,近年はビルドツール向けの設定などでクラスオプションとは別に明示する機会が増えてきていることも考慮していいのではないかと思っています.なお特筆すべき点として,この変更は後方互換性を壊しません.これまで正当な使い方としてあり得た「pLaTeX でオプションなし」および「upLaTeX で
uplatex
オプション明示」のケースは,いずれも仮に本提案を実現したとしても問題なく動作し続けます.The text was updated successfully, but these errors were encountered: