Closed kmuto closed 5 years ago
ありがとうございます.仰るとおりかと思います.ノンブルの方も含めて\fontmatter
などの処理が定式化できていない感じかと思うので,ちょっと整理してみます.
一つの答えとして, 3b255e5 まででやってみました.少し中身を書いてみたいと思いますが,自然な機構に乗せていられるか微妙です.
とりあえずデフォルトの設定では「表1」みたいに出ると思います.表1が何度も出るのが気持ち悪いので前付き内の\chapter
ではカウンタがリセットされないようになっています.(どちらが普通なんでしょうか?)
前付き内では\thetable
を\arabic{table}
に変更しています.これにより章番号の表示が抑制されます.
\Declare(Tobira|Heading|Runin)Heading
にcounter=[true/false]
という設定を追加しました.counter=false
とすると「採番無し」の見出しを生成します.これを\frontmatter
内のみ適用することにしました.これにより前付内の\chapter
は番号がつかず,またchapter
カウンタの増加も行われません.従って(chapter
カウンタの増加に伴う)table
カウンタのリセットも行われません.
最初の通り「表1」が何度も出てくるようにするには,\chapter
にlabel_format={},after_label_space=0pt
を適用すればよいです.これにより見た目上採番は消えますが,内部カウンタは通常通りに動くので,\chapter
ごとにtable
カウンタがリセットされます.
これらの設定を支援する項目を\jlreqsetup
に追加しました.
frontmatter_counter = {<カウンタ名>={value = <値>, the =<コード>, restore = [true/false]},...}
:\fontmatter
におけるカウンタの操作です.<カウンタ名>
の中身の値をvalue
に,\the<カウンタ名>
の中身をthe
にします.例えばtable={value = 0, the = {\arabic{table}}}
とすると\frontmatter
で\setcounter{table}{0} \renewcommand{\thetable}{\arabic{table}}
を実行します.restore=true
が指定されている場合は,\mainmatter
で値と\the<カウンタ名>
の中身が戻ります.
frontmatter_modifyheading = {<見出し命令名>={<見出し命令設定>,restore = [true/fallse]},...}
:\fontmatter
で\ModifyHeading{<見出し命令名>}{<見出し命令設定>}
を実行します.restore = true
が指定されていれば,\mainmatter
で見出し命令を復帰します.
同様にmainmatter_counter
とかbackmatter_modifyheading
とかもあります.ただしrestore
は使えません.
ありがとうございます。
backmatterのほうは何もjlreqsetupしない状態でもchapter登場ごとにカウンタリセットされるようになりました。
あれ,そもそもtableカウンタが増加していない気がしますね.おかしいな.
81e5c5c で直しました.
8ff33e5 でrestore=true
をデフォルトにしました.少しバグを直しています.
前付でのchapterのところで,tableがリセットしないという挙動ですが,どのくらい不自然でしょう.現実としてそういうのもあり得るならば,jbookにあわせてリセットしないようにしておこうかと思います.(jbookの後付の採番はおかしいので,それにあわせてよいのかというのはちと疑問ですが…….) 有効にしたければ上記のように,ということで.
この方式を採用するかはもう少し悩みます.
frontmatter_modifyheading
をfrontmatter_heading
に改名し,heading_type
とheading_level
を追加しました.heading_type=Block
とすると\RenewBlockHeading
による処理になります.heading_level
でレベルを設定できますが,設定しない場合は\fontmatter
時でのもとのレベルが適用されます.
frontmatter・backmatterの範囲で図表採番を使うと、内部管理の章番号がそのまま出てしまいます。 何が「正しい」のかは議論の余地があるとは思いますが、番号を表示しないchapter(つまりfrontmatterやbackmatter)の場合は、「表<章>.<番号>」ではなく「表<番号>」(図も同様)とするのが無難に思います。