2017年12月2日

jlreq,あげた直後に別行見出しのインデントがおかしいのに気がついたのだが,なかなか対処できず.やっとこささっき直した.というか,むしろ以前何故正しく動いていたのか不思議でならない.ついでに窓見出しも行分割時がうまく行かないとか直後に改段落があるとまずいとかなったのを直した.さっきアップしたので明日くらいには降ってくると思う.

目次のところも少し調整したんだけど,根本的に考え直した方がよいような気がするなぁ.何がつらいって,JLReqに目次出力に対する記述が一切ないこと.どうするのがいいんだろうか.

現状についてメモ書き.LaTeXの目次出力の仕組みは次の通り.

  • 見出し命令(例えば\section)が.auxに見出しに関する情報を書き出す.通常,addcontentslineという命令により行われる.
  • (あーだこーだの後)通常,最終的に\l@<見出し命令名>(例えば\l@section)という命令により目次自身が出力される.この命令はクラスファイル内で定義する.
  • \l@<見出し命令名>は通常\@dottedtoclineという命令を使う.この命令には,ラベル(+その後の空白)の長さを指定しないとならない.

というわけで今のところ\Declare***内で\l@<見出し命令名>を定義するようにしている.\@dottedtoclineのために,ラベルの長さを適当に計測し,それに応じた命令にしているのだが,この機構にやや問題がある.というのも,\l@<見出し命令名>が既に定義されている場合は上書きしないようにしているので,\ModifyHeadinglabel_formatが再定義された場合でも\l@<見出し命令名>は変わらず,従って新しいlabel_formatからすると不釣り合いな設定になることがある.(これを解消するためには,自分で\l@<見出し命令名>を再定義するしかない…….)

0 件のコメント:

コメントを投稿

コメントの追加にはサードパーティーCookieの許可が必要です