2021-01-18 9:00 JST 〜 メンテナンスによるサービス全停止予定

チケット #35904

lltjp-listings と \lstlistingname

登録: 2016-01-09 14:13 最終更新: 2017-01-19 17:29

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
オープン
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

  1. \documentclass{ltjsarticle}
  2. \usepackage{listings}
  3. \def\lstlistingname{プログラム}
  4. \begin{document}
  5. \begin{lstlisting}[caption=hoge]{}
  6. a=b
  7. \end{lstlisting}
  8. \end{document}

とすると,キャプションが「プログラム1 hoge」となるべきですが,実際には「ソースコード1 hoge」となってしまいます. これは,lltjp-listings.sty が読み込まれるタイミングが \AtBeginDocument であるために,プレアンブルの設定を lltjp-listings.sty が 上書きしてしまうためのようです. \lstlistlistingname についても同じことが言えると思います.

チケットの履歴 (5 件中 3 件表示)

2016-01-09 14:13 更新者: kmaeda
  • 新しいチケット "lltjp-listings と \lstlistingname" が作成されました
2016-01-09 17:28 更新者: h7k
コメント

50aa943 で該当コードをコメントアウトしましたが, 改めて考えると \AtBeginDocument 時に読み込むというのはちょっと危険な気がしてきました (ユーザ側の修正を今回のように無効化してしまうおそれがあるので).

lltjext.sty のように,filehook パッケージを使った形にすると不都合が出るかなあ? (filehook は w32tex にもありますね.)

2016-01-10 13:19 更新者: kmaeda
コメント

2011年から2012年にかけて filehook を使うかどうかの議論があったみたいですが,一度使う形で書いたけれども結局 \AtBeginDocument で 書き直したんでしたっけ. メールを読み直したら,\AtBeginDocument でいいのでは,と決断したのは私らしい…….だめな例出ましたね.

当時は W32TeX に filehook がないから問題になったみたいですが,今ならあまり大きな問題にならなさそうですね.

2017-01-19 17:29 更新者: h7k
  • チケット完了時刻2017-01-19 17:29 に更新されました
  • 状況オープン から 完了 に更新されました
  • 解決法なし から 修正済み に更新されました
コメント

一応「修正済み」とはしますが,まだ残しておきましょうか.

2017-01-19 17:29 更新者: h7k
  • 状況完了 から オープン に更新されました

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする