jlreq のNewBlockHeadingについて

jlreq のNewBlockHeadingについて

- たかぎ まき の投稿
返信数: 4
jlreqクラスを使用した縦書きの小説組版を勉強しています。
jlreqクラスのNewBlockHeadingで新しい見出し命令を定義して使用したいのですが、ラベルの出力命令で \thechapter で章番号を出力するよう記述した箇所について、コンパイルすると「○」が出力されます。
jlreq.clsのread meや、jlreq.cls内のchapterの定義も参考にしましたが、原因が分からず困っています。
jlreqクラス自体、調べてもあまり情報が豊富でないため質問させていただきました。
解決法をご存知の方がいらっしゃればご教示をお願いいたします。


\documentclassから\end{document}まで以下のようになっています。

==================================================

\documentclass[uplatex,
% 基本版面設定
book, tate, twoside, onecolumn, paper=a6,
fontsize=13Q, jafontsize=13Q,
line_length=38zw, number_of_lines=17, gutter=18mm,
head_space=12mm, baselineskip=1.35zw,
headfoot_verticalposition=1.2zw,
hanging_punctuation]
{jlreq}

% ノンブル、柱の設定
\ModifyPageStyle{plain}{
nombre_position=bottom-left, % ノンブル出力位置
running_head_position=top-left, % 柱出力位置
% 柱に章内容を出力
odd_running_head={_mychapter},
even_running_head={_mychapter}
}
\pagestyle{plain}

% 先頭ページ番号
\setcounter{page}{3}

% パッケージ
\usepackage[utf8]{inputenc} % 文字コードはUTF-8
\usepackage{bxpapersize} % dvipdfmxでの用紙サイズ指定を不要にする
\usepackage[haranoaji]{pxchfon}
\usepackage{lmodern}
\usepackage[T1]{fontenc}

% 改行で段落とする
{\catcode`\^^M=\active%
\gdef\xobeylines{\catcode`\^^M\active \def^^M{\par\leavevmode}}%
\global\def^^M{\par\leavevmode}}
\AtBeginDocument{\xobeylines}

% 段落で字下げしない(全角空白で字下げさせる)
\parindent = 0pt

% 別行見出しを新しく定義
\NewBlockHeading{mychapter}{0}{
indent=2zw,
lines=3,
label_format={第\thechapter 章},
font={\Large},
after_label_space=1zw,
}


\begin{document}
\mychapter{章のタイトル}
本文省略
\end{document}

==================================================

これでコンパイルを実行すると、見出し部分が

第〇章 章のタイトル

と出力されます。
実現したい動きとしては「第一章 章のタイトル」としたいのですが、
漢数字の一を出力したい箇所に〇が出力されてしまいます。

また、柱に「_mychapter」を出力するように指定していますが、
柱には

1 章のタイトル

と、chapterカウンタの数値が正しく出力されています。

添付ファイルはコンパイル結果のキャプチャです。
よろしくお願いいたします。
添付 キャプチャ.PNG
たかぎ まき への返信

Re: jlreq のNewBlockHeadingについて

- 和田 勇 の投稿
  • 原因は \thechapter が mychapter と連動していないからです。以下をプリアンブルに反映してください。
       @@ -45,7 +45,9 @@
          font={\Large},
          after_label_space=1zw,
        }
       -
       +\makeatletter
       +\renewcommand{\thechapter}{\jlreq@Kanji{}}
       +\makeatother
        
        \begin{document}
        \mychapter{章のタイトル}
   
  • 別解 NewBlockHeading の代わりに標準の chapter との違いだけを変更する ModifyHeading を使う
       \ModifyHeading{chapter}{
         indent=2zw,
         lines=3,
         font={\Large},
         after_label_space=1zw,
       }
   
和田 勇 への返信

Re: jlreq のNewBlockHeadingについて

- 阿部 紀行 の投稿
\thechapterにmychapterの定義を使うのはあまり行儀がよくないように思えますので,

> label_format={第\thechapter 章},



label_format={第\themychapter 章},

とした方がよいかと思います.出力を漢字にしたい場合は

\usepackage{plext}
\renewcommand{\themychapter}{\Kanji{mychapter}}

としてください.(内部マクロは使わない方がよいかと思います.)
阿部 紀行 への返信

Re: jlreq のNewBlockHeadingについて

- 和田 勇 の投稿
阿部さん、フォローありがとうございます。

納得です。
和田 勇 への返信

Re: jlreq のNewBlockHeadingについて

- たかぎ まき の投稿
和田様、阿部様
ご回答ありがとうございました。期待する動きになりました。
カウンタの基本的な部分を理解できていなかったみたいで、お恥ずかしい限りです。。。
お作法としてスマートなやり方も勉強になりました。