作者: Tsutomu Hiroshima
日時: 2002/5/17(11:00)
いつものメーラーにもどってみると,
TSabc:166 の Subject がおかしくなっていましたね.
気づきませんでした,すいません.

> Underfull の Warning がでることです.

これも TeX の気持ちになって考えれば解決できました,

> な〜るほど。これは TeX のプリミティブのみで書かれているようですから 
> platex の通常の文書の中に入れて使えますね。早速使わせてもらいます(^^)v。

パッケージとして使うには
補助的なマクロをグローバルに定義しない方が良いでしょう.

% 例えば indexmaker.tex と名付ける
%
% 使用方法は
% \input indexmaker.tex
% \makeindexfromfile{インデックスファイル名}
%
% 次の \indexentry を再定義すれば好みの書式になる.
\def\indexentry#1#2{#1 \dotfill\ #2}
\def\makeindexfromfile#1{
  \begingroup
    \toks0={}
    \def\readentry##1 ##2\done{
      \expandafter\ifx\csname{##2}\endcsname\relax
         \expandafter\edef\csname{##2}\endcsname{##1}
         \toks0=\expandafter{\the\toks0{##2}}
      \else
         \toks1=\expandafter\expandafter\expandafter{\csname{##2}\endcsname}
         \expandafter\edef\csname{##2}\endcsname{\the\toks1,##1}
      \fi
    }
    \def\readindex{
      \read0 to \indexline
      \ifx\indexline\empty
        \let\next=\relax
      \else
        \expandafter\readentry\indexline \done
        \let\next=\readindex
      \fi\next
    }
    \def\showindex##1##2{%
      \ifx##2\relax
        \indexentry{##1}{\csname{##1}\endcsname}%
        \let\next=\relax%
      \else%
        \indexentry{##1}{\csname{##1}\endcsname}\break
        \let\next=\showindex
      \fi\next{##2}%
    }
    \openin0=#1
    \endlinechar=-1
    \readindex
    \closein0
    \noindent
    \expandafter\showindex\the\toks0\relax\relax
  \endgroup
}
% indexmaker.tex はここまで
%
% 以下の2行はデモ用,パッケージには不用
\makeindexfromfile{index.txt}
\bye

Have Fun!!

-----------------------------
	廣島 勉
	(tsutomu@...)