\label, \index, \linelabel の位置

\label, \index, \linelabel の位置

- 吉村 秀和 の投稿
返信数: 2
お世話になっております。

従来ラベルを振る際には

見出し語\index{みだしご@見出し語}
internationalization\linelabel{internationalization}

というように入力してきましたが,いくつか不具合があります。

(1)「見出し語」や「internationalization」の途中で(英語はハイフネーションにより)改行・改ページされた場合,その語の先頭ではなく末尾の行番号・ページ番号でラベルが発行されてしまう。

(2) y\linelabel{y}. とした場合,y とピリオドの間のカーニングが正しく働かず,y とピリオドの間が間延びしてしまう。

(1) については「見\index{みだしご@見出し語}出し語」「in\linelabel{internationalization}ternationalization」などのように入力すれば回避できますが,これだとあとあとソースの検索性の点で困りそうです。

(2) については y.\linelabel{y} とすればカーニングは正しく働きますが,既存ソースの改訂が一苦労しそうです。

このあたり,どうやって対処されていますでしょうか。ラベルを振る際のルールその他についてご教示いただけますと幸いです。



吉村 秀和 への返信

Re: \label, \index, \linelabel の位置

- aminophen の投稿
決まったルールなど無いと思いますので、経験的に現実解を探してはどうでしょうか。時には

> 既存ソースの改訂が一苦労しそうです。

一苦労することも必要だと思います。

過去トピックなどを見てみるとよいでしょう。たとえば

索引作成 - TeX Wiki の中の「索引のノウハウ」(特に「索引の目印のつけかた」「\index{} コマンドの挿入位置」)
index前後の改行,kanjiskip,xkanjiskip (forum:1062)

あたりでしょうか。forum:1062 での本田さんのコメントでは

> (1)\indexは索引語の直前におく
> (2)ただし段落の先頭の単語を索引語とする場合は索引語の直後におく
> というのが現状での現実的な策として主張されました.

> 実務的には(1)(2)でだいたい確率的には安心できて
> そして「あとは確認する!」と(^-^;

とあります。
aminophen への返信

Re: \label, \index, \linelabel の位置

- 吉村 秀和 の投稿
アドバイスありがとうございます。
確かに,「すべての場合でこうすればよい」という一括のルールを作るのは難しそうですね。

> (1)\indexは索引語の直前におく
> (2)ただし段落の先頭の単語を索引語とする場合は索引語の直後におく

というのを基本線にして,あとは段落冒頭かそうでないかを自動判別するような(見出し語の出力と label の発行を同時に行う)命令を作れないか試みてみたいと思います。

ご返信ありがとうございました。