前付内での図表の採番の話.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の許可が必要です