jlreqのbookオプションでのヘッダの編集について

jlreqのbookオプションでのヘッダの編集について

- m d の投稿
返信数: 2

初めて投稿いたします。

uplatex+jlreqで学位論文を執筆しています。

クラスオプションにbookを指定し、jsbookのようなスタイルを作ろうとしているのですが、ヘッダの設定に苦戦しています。

目的

添付のjsbookのように、奇数ページの左上に節タイトル「1.1 hoge」、右上にページ番号を、偶数ページの左上に節タイトルページ番号、右上に章タイトル「第1章 hoge」とし、適切にアンダーラインを引きたいです。

問題

jlreqではbookスタイルを指定しても、ヘッダは自動で生成されないので、NewPageStyleで作成しているが、アンダーラインを手動で表示すると、各章の1ページ目にも生成されてしまいます。

サンプルは以下

\NewPageStyle{mybook}{%
  nombre_position = top-right,%
  running_head_position = top-left,%
  odd_running_head = _section,%
  even_running_head = _chapter,%
  mark_format = {_chapter={第 \thechapter 章 \quad #1}},%
  odd_head_format={\underline{\makebox[\jlreqyokoheadlength]{#1}}},%
  even_head_format={\underline{\makebox[\jlreqyokoheadlength]{#1}}}%
}

これを回避するために、ifthenパッケージを使って1ページ目だけアンダーラインを引かないページスタイルを適用することを考えたのですが、うまくいきません。

また、この方法を使うと、なぜか「目次」がすべてのヘッダに表示されてしまいます。

さらに、\frontmatter\appendix\bibliography環境でchapter相当のものがないのか、奇数ページの左上に「参考文献」などが出てしまいます。(jsbookの方には\appendixはないですが、本文と同じようヘッダのスタイルにしたい)

以上の問題の解決方法や指摘内容などがあれば、ご教授いただきたいです。

Latexでの文書作成は、論文やレポート作成などで使用しておりますが、マクロなどは詳しく理解しておらず、奥村先生の美文書作成入門やchatgptやWebページを参考に見よう見まねで書いてる状況です。

よろしくお願いいたします。

m d への返信

Re: jlreqのbookオプションでのヘッダの編集について

- 和田 勇 の投稿

Table of Contents

  1. 分析・提案
  2. 添付ファイルの説明

分析・提案

  • 提供ソースを出来るだけ利用

    ヘッダーに影響しそうなキーワードを検索してみたところ、コメントアウト されている \pagestyle{mybook} を適宜活性化+アルファすると、ご希望 のように動くようです。

    添付の jlreq_QA_main-1.diff jlreq_QA_main-1.pdf jlreq_QA_main-1.tex 参照

  • 提供ソースを出来るだけ利用し見かけ上問題はないが …

    ただし、*shipout/before* の記述によるものだと思いますが、各章 (\chapter) の最初のページのヘッダーは、見かけ上、ご希望通りになって いますが、生成された箇所を追求すると first のものではなく mybook のものが動くようです。

  • 仕様を見直し \chapter{...} の直後に \thispagestyle{first} を発行するよう改良

    チューニングされたものの不具合をと考えましたが、ご希望の動作を検討す ると、*\chapter{...}* の直後に \thispagestyle{first} を発行すれば 良いのではないかと思います。

    各章の直後に \thispagestyle{first} を追加するのではなく、 この二つの命令を包括するようなマクロは以下を参考にしてください。

    \newcommand{\CHAPTER}[1]{%
      \chapter{#1}%%%%%%%%%%
      \thispagestyle{first}%
    }
    

    添付の jlreq_QA_main-2.diff jlreq_QA_main-2.pdf jlreq_QA_main-2.tex 参照

添付ファイルの説明

  • jlreq_QA_main-1 シリーズ
    • 元のファイルは提供された jlreq ベースの main.tex
    • 主に \pagestyle{mybook} の記述を活性化を念頭に、最初限の修正版
    • ページヘッダーが first 由来か mybook 由来か判断できるようにデバッグ文字列付与
      • 大文字 ODD EVEN が表示されれば first 由来
      • 小文字 odd even が表示されれば mybook 由来
    • 目次が複数ページになったときのヘッダーの確認デバッグコード付与
  • jlreq_QA_main-2 シリーズ
    • jlreq_QA_main-1.tex をベースに、 \chapter{...} の直後に \thispagestyle{first} を発行するよう改良
    • 上記を簡略表現できるようマクロ化、及びその具体的な使用例を追加
    • 不要コード削除
m d への返信

Re: jlreqのbookオプションでのヘッダの編集について

- 阿部 紀行 の投稿
\chapterのあるページでヘッダを変更したいということでしたら,別行見出しの設定としてpagestyleを渡せばよいと思います.\ModifyHeadingを使うのが手軽かと思います.

> さらに、\frontmatter、\appendix、\bibliography環境でchapter相当のものがないのか、奇数ページの左上に「参考文献」などが出てしまいます。(jsbookの方には\appendixはないですが、本文と同じようヘッダのスタイルにしたい)

こちらは仰ることがわかっていませんが,bibliography環境については\jlreqsetup{thebibliography_heading=???}は使えないのでしょうか.

なお,やりたいことをきちんと書いた方が答えやすいかと思います.「適切にアンダーラインを引きたい」と書かれていますがこれでは(少なくとも自分には)何が適切なのかわかりません.