天地有情

ConTeXt 雑記(9) --- Index

索引命令は \defineregister と \setupregister を使い実現されます.引数の名前として index が使われ
コマンドとして \index が特別に用意されています.名前は任意に決められますが,ここでは
煩雑さを避けるためデフォルトの \index を使用します.

pLaTeXの mendex のような日本語には対応してないため,少しばかり工夫する必要があります.

(1)コマンド形式:
● \index[読み]{登録語句1 + 登録語句2 + 登録語句3}
※ +記号を用いて,最大3レベルまで登録できます.

---------------------------------------
欧文の例:
\index{town}
\index{town + location}
\index[minus]{$-$}
\index[ConTeXt]{\ConTeXt}

和文の例:
\index[kumihann]{組版}
\index[sakuinn]{索引}
\index[innsatu]{印刷}
※ ”読み”は[ローマ字]あるいは[英語]で記述します.

特殊文字:
\index{@} , \index{\tex{}}
\index{\$} , \index{\%}
\index{\#} , \index{\&}
---------------------------------------

● \placeindex[parameter] または \completeindex[parameter]
parameter: \setupregister を参照.
※ 索引を出力します.

(1) \placeindex[parameter]
このコマンドが置かれた場所で索引は出力されます.
標題たとえば『索引』などはユーザが用意します.
(例) \subject{索引}

(2) \completeindex[parameter]
このコマンドを使うと改ページ(奇数ページ)されて索引は出力されます.
標題は決まっていて『1 index』のようになります.

● \seeindex[読み]{登録語句}{ページNOなど}
※ 単独では使用せず \index と組み合わせて利用されます.
例:\index[読み]{A+B}\seeindex[読み]{B}{see p-10}
(双方の[読み]は一致させておきます.)


● \startregister[index][レジスタ名]{登録項目} ~ \stopregister[index][レジスタ名]
※ ページ全体あるいは一部のパラグラフを登録項目としたい場合に利用されます.
[レジスタ名]は任意の名称を指定します.

(2)索引の分類文字について
索引の分類文字は英大文字(A~Z)または英小文字(a~z)に限られます.
和文用の(あ~ん)は用意されていません.

分類文字の英大文字(A~Z)または英小文字(a~z)の選択は\setupregister[alternative=]のオプションで設定されます.
デフォルトは英小文字となっています.

alternative=A/a,B/b のいずれかを指定します.
A : 英大文字(A~Z)
a : 英小文字(a~z)

B : 英大文字(A~Z) ただし,索引項目と同一並び
b : 英小文字(a~z) ただし,索引項目と同一並び

(3)索引の入出力例
例では\index,\seeindexの使い方が示されています.[読み]は一部,[computer]のような
英語表記もありますが,殆どはローマ字表記としています.

例1:以下は(LaTeX2e文典:生田誠三)から転写し,一部をConTeXt用に改造してあります.
---------------------------------------
\LaTeX{}\index[LaTeX]{\LaTeX}とはコンピュータ\index[computer]{コンピュータ(computer)}による
組版システム\index[kumihannshisutemu]{組版システム}.
広辞苑\index[kzjienn]{広辞苑}では,組版\index[kumihann]{組版}
\seeindex[kumihann]{組版}{$\Rightarrow$p.15}とは
『原稿にもとづいて活字ケースから
文選\index[bunnsenn]{文選}した活字を,原稿の指定に従って,順序\index[jyunnjyo]{順序}・
字詰\index[jizume]{字詰}・行数\index[gyousu]{行数}・字間\index[jikann]{字間}・行間・位置などを
正しく組み上げること』です.
印刷会社の組版工\index[kumihann]{組版+組版工}は,それまでに多くの組版工達によって培われてきた
数々の組版テクニック\index[kumihann]{組版+組版テクニック}を駆使して組版作業をします.
組版工の技量\index[kumihann]{組版+組版工の技量+$\Rightarrow$ 印刷の歴史}はその経験年数と共に向上していく...
\LaTeX{}\index[LaTeX]{\LaTeX}とはこのようなもの.

\startregister[index][mycat]{cat + 吾輩は猫である}
吾輩は猫である.名前はまだ無い.\par
どこで生れたかとんと見当がつかぬ.
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している.
吾輩はここで始めて人間というものを見た.
しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ.
この書生というのは時々我々を捕えて煮て食うという話である.
しかしその当時は何という考もなかったから別段恐しいとも思わなかった.
ただ彼の掌に載せられてスーと持ち上げられた時何だかフワフワした感じがあった
ばかりである.
\stopregister[index][mycat]

\page

\subject{索引}
\placeindex
---------------------------------------

補足1:次を定義すれば見やすくなると思われます.試してください.

\def\MyIndexLine#1{#1\hfill}
\setupregister[index][n=2,balance=yes,pagestyle=normal,alternative=A,textcommand=\MyIndexLine]

補足2:パラグラフ全体の索引は \startregister ~ \stopregister を使います.

上記の出力例を示します.


索引例


スポンサーサイト
  1. 2013/03/22(金) 08:02:13|
  2. ConTeXt
  3. | トラックバック:0
  4. | コメント:0
<<ConTeXt 雑記(10) -- Contents | ホーム | ConTeXt 雑記(8) --- Itemize>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://konoyonohana.blog.fc2.com/tb.php/9-6c7965e5
この記事にトラックバックする(FC2ブログユーザー)