TeXの記憶(59) — \theindexの見出しに引数を使う

前回のTeXの記憶(58) — 複数のidxファイルを作るでは、3種類のindファイルは作れましたが、索引の見出しが3つも出力されてしまい、しかも見出しが同じ「索引」になってしまい実用的にはちょっと、でした。

そこで、3種類のindファイルに合わせて見出しも変更するようにしてみました。

0930

と言っても手動です。\theindexの定義にちょこっと手を入れて引数付きにしています。
それぞれのindファイルを開いて見出しを引数として与えます。

\begin{theindex}{見出し}
...
\end{theindex}

前回のtest-A.indならたとえば、

\begin{theindex}{Aの索引}

のように引数を指定すると「索引」だった見出しが「Aの索引」として表示されます。

の見出しの部分を手動で変更します。毎回手動で追加するなんてスッキリしませんが、とりあえず同じ見出しよりマシになりました。

例はjbook.clsのtheindexを修正したところです。jsbook.clsのtheindexの定義が長いのでjbook.clsにしました。

どちらも、最初に引数を表す[1]を付けて、\indexnameを#1に置き換えるだけす。

\renewenvironment{theindex}[1]
  {\if@twocolumn\@restonecolfalse\else\@restonecoltrue\fi
   \columnseprule\z@ \columnsep 35\p@
   \twocolumn[\@makeschapterhead{#1}]%
   \@mkboth{\indexname}{#1}%
   \thispagestyle{jpl@in}\parindent\z@
   \parskip\z@ \@plus .3\p@\relax
   \let\item\@idxitem}
  {\if@restonecol\onecolumn\else\clearpage\fi}

自動的にthe indexの見出しを付け加えるか、theAindexのような別のマクロを自動的に生成されるようにしたほうが気分的に良いので、いずれ考えたいと思います。

コメント