etocパッケージにより,jlreqの扉章見出し直下にその章の目次をつけようとするが,うまく出力されない.

etocパッケージにより,jlreqの扉章見出し直下にその章の目次をつけようとするが,うまく出力されない.

- Shiny Mt.Fuji の投稿
返信数: 7

分かりやすい記述を心がけますが,不明点・曖昧な点等ございましたら,ご指摘いただけると幸いです.

LuaLaTeXとjlreqで論文を執筆しております.大学指定のテンプレートに合わせるため,扉章見出し直下にその章の目次をつける必要があり,それをetocパッケージで実現しようとしています.

本文中に,

\etocsettocstyle{\hrule width 1.03\linewidth\vspace{\zh}}{\vspace{\zh}\hrule width 1.03\linewidth}

として小目次のスタイルを設定し(小目次を\hruleで挟むだけ), プリアンブルの最後に読み込むパッケージである自作スタイルファイル内で章見出しを

\RenewTobiraHeading{chapter}{-1}{label_format={第\thechapter 章\hspace*{1\jlreq@gol}},format={\null\vfil {\Huge\sffamily\gtfamily\bfseries #1#2}\vspace{3\zh}\localtableofcontents\vfil}}

としました.

しかし,出力されるPDFには,最初の章の扉見出し直下に論文全体の内容を含んだ小目次が\etocsettocstyleで設定した\hruleに挟まれた形で作成され,以降の扉章見出し直下には2本の\hruleが出力されるのみです.

latexの処理の順番等が関係あるのでしょうか? この事態を回避するための方策や,他のパッケージを用いた実現方法をご存知でしたら,教えていただきたいです.何卒よろしくお願いいたします.

Shiny Mt.Fuji への返信

Re: etocパッケージにより,jlreqの扉章見出し直下にその章の目次をつけようとするが,うまく出力されない.

- 和田 勇 の投稿

サンプルの一部の提示がありましたが、 groq に「 lualatex で jlreq をドキュメントクラスを book スタイルで利用し、各章毎に目次を表示するようなサンプルコーディングお願い」 としてみたものを、若干補正してみましたが、添付しましたので、これを土台にお望みのものを作り上げていければと考えています。

なお、当フォーラム内で etoc で検索すると titlesec や minitoc の記事が見つかります。minitoc でも類似のようなものを実現できますが、lualatex では動かないようなので groq にサポートしてもらいました。

和田 勇 への返信

Re: etocパッケージにより,jlreqの扉章見出し直下にその章の目次をつけようとするが,うまく出力されない.

- 和田 勇 の投稿

書き込まれていたカスタマイズ項目の意図を検討した結果を、 2025-09-09-3994-etoc.tex をベースにして改定した 2025-09-09-3994-etoc2.tex を添付します。

処理してエラーが発生するなら、生成される 2025-09-09-3994-etoc2.log を添付してください。

出力イメージで、ご希望通りでないところに、マーカーなどでメモしていただけると助かります。

和田 勇 への返信

Re: etocパッケージにより,jlreqの扉章見出し直下にその章の目次をつけようとするが,うまく出力されない.

- Shiny Mt.Fuji の投稿
ありがとうございます.
私の方からtexファイルを送付すべきでした.

和田様に送付いただいたPDFが私が求めていたデザインです.
しかし,私の方でコンパイルすると,エラーなく処理はされるのですが,やはり最初の章の目次に全内容の目次が生成されます.
私の方で取得したログファイルと,マーカーでメモしたPDFを送付しますので,参考にしていただければ幸いです.
Shiny Mt.Fuji への返信

Re: etocパッケージにより,jlreqの扉章見出し直下にその章の目次をつけようとするが,うまく出力されない.

- 和田 勇 の投稿

分析

TeXLive を homebrew で導入されているのですが、特定はできていませんが、 この homebrew で供給しているものは TeXLive 2025 リリース当初のもののようです。

    %  brew info texlive
    ==> texlive: stable 20250308 (bottled), HEAD    ←ここの日付注目
    Free software distribution for the TeX typesetting system
    https://www.tug.org/texlive/
    以下省略

どのように古いかは添付のファイル 2025-09-09-3994-etoc2.log.diff を

      usr/bin/grep -B2 -A1 なんか 2025-09-09-3994-etoc2.log.diff

のような感じで文字列「なんか」を検索してみてください。 - で始まっている行は当方のログで、 + で始まっているものがあなたのものです。

なお、当方のログと比較するため、当方でのファイルパスをあなたの環境に近づけているのですが、 どちらのものかわかるようにファイルパスの一部を大文字化しています。

現象から想像するに stfloats.sty がおかしいと思われるものの検索結果を以下に示します。

       (/OPT/HOMEBREW/CELLAR/TEXLIVE/20250308_1/SHARE/texmf-dist/tex/latex/sttools/stfloats.sty
       -Package: stfloats 2025/06/18 v3.4 Improve float mechanism and baselineskip settings
       +Package: stfloats 2017/03/27 v3.3 Improve float mechanism and baselineskip settings 【なんか古い】これかな?

この homebrew 版とほぼ同じ 2025版リリース直後の環境が残っていたので、 試すと、同様の現象が確認できたので、ほぼほぼ、TL2025 リリース直後版に 内在していた不具合だと現時点では判断しています。

対策

homebrew 版を利用していないので確証は持てないのですが

         tlmgr update --self --all

でアップデートできれば実施してみてください。

それがダメであれば、homebrew 版ではなく CTAN からの Installing TeX Live over the Internet から install-tl-unx.tar.gz をダウンロードして別途インストールしてください。

PATH の設定で homebrew のパスより先に参照する設定をお忘れなく。

四方山話

preview アプリで .pdf を開き、マークアップ をクリックすると、.pdf にあれこれメモなどを書き込めます。

和田 勇 への返信

Re: etocパッケージにより,jlreqの扉章見出し直下にその章の目次をつけようとするが,うまく出力されない.

- 和田 勇 の投稿

四方山話 の項、消し忘れていました、無視してください。

和田 勇 への返信

Re: etocパッケージにより,jlreqの扉章見出し直下にその章の目次をつけようとするが,うまく出力されない.

- 和田 勇 の投稿

TL2025 リリース直後の環境や homebrew でインストールした環境では、 TL2025 の最新版から jlreq.clsjlreq-complements.sty をカレントディレクトリに持ってくれば、 所望の効果が実現できることは、確認しました。

さて TeXLive を brew install texlive としてインストールした環境で tlmgr update --self --all とアップデートしようとすると tlmgr: action not allowed in system mode と怒られます。理由は、 homebrew で配布している側に制御権があるからのようです。

所望される効果を得るには、やはり CTAN から network install の方が良さそうです。

和田 勇 への返信

Re: etocパッケージにより,jlreqの扉章見出し直下にその章の目次をつけようとするが,うまく出力されない.

- Shiny Mt.Fuji の投稿
返信が遅れ申し訳ありません。
同様の事態に陥りましたので、Homebrew経由のTexliveを削除し、公式インストーラによるインストールに切り替えて最新版にアップデートしたところ、うまく行きました。
これまでも時々tlmgr のコマンドにロックがかかっているようでしたので、これで快適にLaTeXを利用できます。
本当にありがとうございました。