前付内での図表の採番の話.jbookでは次のようになる.
\documentclass{jbook}
\begin{document}
\tableofcontents
\frontmatter
% \chapterは目次には追加される,採番はされない.chapterカウンタも増えない.
\chapter{pre1}
\begin{table}
\caption{Table in Pre1}% 表1
\end{table}
\chapter{pre2}
\section{sec:pre}% \sectionは採番される. 0.1と出る.
\begin{table}
\caption{Table in Pre2}% 表2
\end{table}
\end{document}
jbookでは次のように実現している.
- フラグ
\if@mainmatter
により\chapter
の挙動を変更.カウンタは増やさず,目次には追加する.ラベルは出力しない. \thetable
は\ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@table
と定義されている.
jlreqではどうしよう.\if@mainmatter
による分岐を使わずにLaTeXな方法で解決したい.節番号を出さなくするLaTeX / jlreq的な方法は次がある.
\chapter*
と星付きにする.カウンタの増加は止まり,目次にも出力されなくなる.- secnumdepthカウンタを小さくする.カウンタの増加は止まるが,目次には出力される.ただし,
\section
等も同じ扱いになる. \ModifyHeading{chapter}{label_format={}}
とする.カウンタは増加し,目次には出力される.
secnumdepthカウンタを小さくすると目的通りになるが,他の見出しも同じ扱いになるのはよくない.secnumdepthはそのままにして\chapter
自身のレベルを変更すれば期待通りになるが,実際には大見出しを出力する命令である\chapter
のレベルが低く(高く?)なるのはおかしいだろう.
手としてあり得るのは次の二つ.
\Declare***Heading
を拡張し,「カウンタを増加させない」という設定を追加する.- chapterの増加に伴いtableカウンタがリセットされるのをいったん解除する.
一つ目の方法は,なんだこの設定感が強すぎるのが難点.「ラベルのない見出しを出力する命令」だと思えばありだろうか…….
\section
はどうするのかという話もある.jbookでは,0.<節番号>という形で\section
のラベルが出力されるようである.これは
\thesection
は\thechapter.\arabic{section}
と定義されている.- chapterカウンタは増加しないので,常に0のまま.
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です