summaryrefslogtreecommitdiff
path: root/info
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-26 03:00:56 +0000
committerNorbert Preining <norbert@preining.info>2021-06-26 03:00:56 +0000
commit3d1055e1e00548f29b9d4ba0a79c717b9b6b2ae3 (patch)
tree81d89c6859163c396aa9344ddb05c271e9ab760c /info
parent644c44d0c55a2960e53623b0c19448c1b8015d1e (diff)
CTAN sync 202106260300
Diffstat (limited to 'info')
-rw-r--r--info/mendex-doc/LICENSE2
-rw-r--r--info/mendex-doc/Makefile30
-rw-r--r--info/mendex-doc/README.md2
-rw-r--r--info/mendex-doc/jpbase.ist40
-rw-r--r--info/mendex-doc/mendex.pdfbin179021 -> 225190 bytes
-rw-r--r--info/mendex-doc/mendex.tex358
6 files changed, 404 insertions, 28 deletions
diff --git a/info/mendex-doc/LICENSE b/info/mendex-doc/LICENSE
index 7392f6e845..dfb12d3800 100644
--- a/info/mendex-doc/LICENSE
+++ b/info/mendex-doc/LICENSE
@@ -1,5 +1,5 @@
Copyright (C) 2010 ASCII MEDIA WORKS.
-Copyright (C) 2016-2019 Japanese TeX Development Community
+Copyright (C) 2016-2021 Japanese TeX Development Community
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/info/mendex-doc/Makefile b/info/mendex-doc/Makefile
index 205ea0ea32..30e1c2bcfb 100644
--- a/info/mendex-doc/Makefile
+++ b/info/mendex-doc/Makefile
@@ -2,20 +2,36 @@ DOCTARGET = mendex
PDFTARGET = $(addsuffix .pdf,$(DOCTARGET))
DVITARGET = $(addsuffix .dvi,$(DOCTARGET))
KANJI = -kanji=utf8
-FONTMAP = -f ipaex.map -f ptex-ipaex.map
+#FONTMAP = -f ipaex.map -f ptex-ipaex.map
+FONTMAP = -f haranoaji.map -f ptex-haranoaji.map -f otf-haranoaji.map
TEXMF = $(shell kpsewhich -var-value=TEXMFHOME)
+LTX = platex $(KANJI)
+DPX = dvipdfmx $(FONTMAP)
+MDX = mendex -U
default: $(DVITARGET)
all: $(PDFTARGET)
.SUFFIXES: .tex .dvi .pdf
.tex.dvi:
- platex $(KANJI) $<
- platex $(KANJI) $<
- platex $(KANJI) $<
- rm -f *.aux *.log *.toc
+ $(LTX) $<
+ $(MDX) mendex-sub
+ mv mendex-sub.ind mendex-sub-0.ind
+ $(MDX) -s jpbase mendex-sub
+ mv mendex-sub.ind mendex-sub-1.ind
+ $(MDX) -g -s jpbase mendex-sub
+ mv mendex-sub.ind mendex-sub-2.ind
+ $(MDX) -g -s jpbase -s mendex-sub-3 mendex-sub
+ mv mendex-sub.ind mendex-sub-3.ind
+ $(MDX) -g -s jpbase -s mendex-sub-4 mendex-sub
+ mv mendex-sub.ind mendex-sub-4.ind
+ $(MDX) -g -l -s jpbase mendex-sub
+ mv mendex-sub.ind mendex-sub-5.ind
+ $(LTX) $<
+ $(LTX) $<
+ rm -f *.aux *.log *.toc *.out *.idx *.ind *.ilg *-sub-*.ist
.dvi.pdf:
- dvipdfmx $(FONTMAP) $<
+ $(DPX) $<
.PHONY: install clean
install:
@@ -25,5 +41,7 @@ install:
cp ./Makefile ${TEXMF}/doc/support/mendex/
cp ./*.tex ${TEXMF}/doc/support/mendex/
cp ./*.pdf ${TEXMF}/doc/support/mendex/
+ mkdir -p ${TEXMF}/makeindex/mendex
+ cp ./*.ist ${TEXMF}/makeindex/mendex/
clean:
rm -f $(DVITARGET) $(PDFTARGET)
diff --git a/info/mendex-doc/README.md b/info/mendex-doc/README.md
index d60c112085..e327fc98bc 100644
--- a/info/mendex-doc/README.md
+++ b/info/mendex-doc/README.md
@@ -45,6 +45,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)).
### Release Date
-2019-03-03
+2021-06-25
Japanese TeX Development Community
diff --git a/info/mendex-doc/jpbase.ist b/info/mendex-doc/jpbase.ist
new file mode 100644
index 0000000000..d6375aa57a
--- /dev/null
+++ b/info/mendex-doc/jpbase.ist
@@ -0,0 +1,40 @@
+% jpbook.ist - general settings, part of mendex package.
+% also works with makeindex.
+% これは mendex スタイルファイルのサンプルです
+% (Last update: 2021/06/17 texjporg)
+
+%% Use general commands (M. Yamamoto, @munepi)
+headings_flag 1
+heading_prefix "\n\\makeidxhead{"
+heading_suffix "}"
+%
+delim_0 "\\idxdelim "
+delim_1 "\\idxdelim "
+delim_2 "\\idxdelim "
+%
+symhead_positive "\\symbolindexname"
+%
+% for mendex
+% * heading_flag <=> headings_flag difference (limitation)
+% * symhead_positive unrecognized if character_order is changed
+% (bug: https://github.com/texjporg/tex-jp-build/issues/117)
+heading_flag 1
+symbol "\\symbolindexname"
+
+%% Custom settings for mendex
+% 見出しをひらがなで出力: 2(既定値はカタカナ: 1)
+letter_head 2
+% 並べ替え順を日本語→英字→記号/数字に変更するなら以下を有効に
+%character_order "JESN"
+% 日本語と英字の間に半角スペースを入れてソートするなら以下を有効に
+%priority 1
+
+%% Output design based on dot.ist by Y. Kumazawa
+%% - sample definitions are provided below.
+%% - you can customize the design by redefining
+%% \idxdelim, \makeidxhead and \symbolindexname in your LaTeX file.
+preamble "\\begin{theindex}\n
+\\providecommand\\idxdelim{\\space\\dotfill\\space}
+\\providecommand\\makeidxhead[1]{{\\vbox{\\hbox to \\linewidth{\\sffamily\\bfseries #1\\ \\hskip\\fill}\\vskip1pt\\hrule}}\\nopagebreak}
+\\providecommand\\symbolindexname{Symbols}\n"
+postamble "\n\n\\end{theindex}\n"
diff --git a/info/mendex-doc/mendex.pdf b/info/mendex-doc/mendex.pdf
index c38a4515e8..ffe0cdb6de 100644
--- a/info/mendex-doc/mendex.pdf
+++ b/info/mendex-doc/mendex.pdf
Binary files differ
diff --git a/info/mendex-doc/mendex.tex b/info/mendex-doc/mendex.tex
index c0ec752d8d..3e900a8447 100644
--- a/info/mendex-doc/mendex.tex
+++ b/info/mendex-doc/mendex.tex
@@ -5,14 +5,14 @@
\epTeXinputencoding utf8
\fi
-\documentclass[a4paper]{jsarticle}
+\documentclass[a4paper,dvipdfmx]{jsarticle}
% 依存パッケージ
\usepackage{otf}
\usepackage{enumitem}
\usepackage{shortvrb}
\usepackage{newverbs}
-\usepackage[dvipdfmx,colorlinks=false]{hyperref}
+\usepackage[colorlinks]{hyperref}
\usepackage{pxjahyper}
% リスト設定
@@ -22,12 +22,14 @@
% インラインコード用設定
\let\xpar\par
\MakeShortVerb{\|}
-\newverbcommand{\ParamNum}{\jMeta{数値}\quad 規定値:}{\xpar}
-\newverbcommand{\ParamChar}{\jMeta{文字}\quad 規定値:`}{'\xpar}
-\newverbcommand{\ParamString}{\jMeta{文字列}\quad 規定値:``}{''\xpar}
+\newverbcommand{\ParamNum}{\jMeta{整数}\quad 規定値:}{\xpar}
+\newverbcommand{\ParamChar}{\jMeta{文字}\quad 規定値:'}{'\xpar}
+\newverbcommand{\ParamString}{\jMeta{文字列}\quad 規定値:"}{"\xpar}
+\xspcode`\\=3
% 文書マクロ
\newcommand{\SoftName}[1]{\textsf{#1}}
+\newcommand{\FileName}[1]{\texttt{#1}}
\newcommand{\FileExtension}[1]{\texttt{.#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}\textit{#1}\mbox{}$\rangle$}
\newcommand{\jMeta}[1]{$\langle$\mbox{}\textsf{#1}\mbox{}$\rangle$}
@@ -79,7 +81,8 @@
索引リストファイルが指定されている場合でも,標準入力を索引リストとして使用します.
\item[|-l|]
-索引のソートを文字順で行います.指定されなければ単語順のソートになります
+単語と単語の間のスペースを無視して詰め,索引のソートを文字順で行います.
+指定されなければ単語順のソートになります
(ソート方法については後述).
\item[|-q|]
@@ -94,8 +97,8 @@
また,前後のブランクは削除されます.
\item[|-g|]
-日本語の頭文字の区切りを「あかさた……わ」にします.指定しないと「あいうえ……わをん」
-になります.
+日本語の頭文字の区切りを「あかさた……わ」にします.
+指定しないと「あいうえ……わゐゑをん」になります.
\item[|-f|]
辞書ファイルにない漢字も強制的に出力するモードです.
@@ -146,8 +149,15 @@
\item[|--|]
以降はオプション文字列と解釈しません.
+これは,ファイル名の先頭の文字が|-|であるファイルを扱う場合に有用です.
\end{description}
+以上のうち,オプション |-U|, |-I|, |--help|, |--| はオリジナルのアスキー版にはなかった機能で,
+日本語\TeX 開発コミュニティによって追加されました.
+また,\SoftName{mendex} |version 3.5 [6-Jun-2021]|以降では,|-s| オプションによる
+スタイルファイルを複数指定することができます.
+同じパラメータが複数回指定された場合は,後から指定された方が有効になります.
+
\subsection{スタイルファイル}
スタイルファイルは\SoftName{makeindex}のものと上位互換です.
@@ -155,12 +165,22 @@
パラメータの記述順序は自由です.また `|%|' 以降はコメントと見なされます.
以下にスタイルパラメータとそのデフォルト値の一覧を示します.
+\begin{itemize}
+ \item 文字列型は |'a'| のように単引用符で囲みます.
+ \item 文字型は |"abc"| のように二重引用符で囲みます.
+ \item 整数型は単に「1」のように10進数表記で記述します.
+\end{itemize}
+基本的には1行に1項目を記述しますが,文字列型はその値の直前や値の途中で
+改行しても構いません.
\paragraph{入力ファイルスタイルパラメータ}
\begin{description}[leftmargin=3.5cm]
\item[|keyword|] \ParamString*|\\indexentry|
-索引エントリを引数として持つコマンド.
+処理対象とする索引エントリを引数として持つコマンド.\\
+入力ファイル(\FileExtension{idx})に現れるエントリのうち,\SoftName{mendex}は
+|keyword| で指定された以外の項目を無視します.
+% 例:用語集用の gglo.ist は |\\glossaryentry| に変更し,|\indexentry| を無視
\item[|arg\string_open|] \ParamChar|{|
索引エントリ文字列開始を表す文字.
@@ -178,7 +198,11 @@
従属レベルであることを示す文字.
\item[|actual|] \ParamChar|@|
-このシンボルに続く文字列が実際の索引文字列として出力ファイルに書かれる.
+このシンボルに続く文字列が実際の索引文字列として出力ファイルに書かれる.\\
+\SoftName{makeindex}で日本語の索引を作成しようとすると,全ての項目について
+|\index{かんじ@漢字}| のように |actual| のシンボルの前に「読み」を,
+後ろに実際に表示する索引文字列を書く必要がありました.
+\SoftName{mendex}では,辞書ファイルを用いることで,その手間を最小限にできます.
\item[|encap|] \ParamChar+|+ \par
このシンボルに続く文字列が,ページ番号に付くコマンド名として使われる.
@@ -217,22 +241,29 @@
\item[|lethead\string_prefix|] \ParamString*||
頭文字の前に付けるコマンド文字列.
+\SoftName{makeindex}はこのパラメータを認識しません.
\item[|heading\string_prefix|] \ParamString*||
-|lethead_prefix| と同じ.
+|lethead_prefix| と同じ.(\SoftName{makeindex}互換)
\item[|lethead\string_suffix|] \ParamString*||
頭文字の後に付けるコマンド文字列.
+\SoftName{makeindex}はこのパラメータを認識しません.
\item[|heading\string_suffix|] \ParamString*||
-|lethead_suffix| と同じ.
+|lethead_suffix| と同じ.(\SoftName{makeindex}互換)
\item[|lethead\string_flag|] \ParamNum|0|
頭文字の出力のフラグ.|0| のとき出力しない.|0|より大きいときは英字を大文字で,
|0|より小さいときは小文字で出力する.
+\SoftName{makeindex}はこのパラメータを認識しません.
+% 2014年以前の ind.pdf には言及されていたが,少なくとも1993年以降の makeindex の
+% ソースコードを見ると |lethead_flag| を認識しなかった.
+% |lethead_prefix| と |lethead_suffix| も同様.
\item[|heading\string_flag|] \ParamNum|0|
-|lethead_flag| と同じ.
+|lethead_flag| と同じ.\\
+\SoftName{makeindex}では |headings_flag| という名称のため,互換性がありません.
\item[|item\string_0|] \ParamString*|\n \\item |
主エントリ間に挿入するコマンド.
@@ -325,9 +356,20 @@
英字と日本語との混在した索引語のソート方法についてのフラグ.|0|でなければ英字と日本語との
間に半角スペースを入れた状態でソートする(\SoftName{mendex}専用).
-\item[|character\string_order|] \ParamString*|SEJ|
-記号,英字,日本語の優先順位.`|S|' は記号,`|E|' は英字,`|J|' は日本語を表す
+\item[|character\string_order|] \ParamString*|SNEJ|
+記号,英字,日本語の優先順位.`|S|' は記号,`|N|' は数字,`|E|' は英字,`|J|' は日本語を表す
(\SoftName{mendex}専用).
+\SoftName{mendex}では,後述のとおり,索引項目の分類として「数字」は「記号」に含める
+仕様としています\footnote{\SoftName{makeindex}では,記号類と数字を別のブロックに
+(|group\_skip|を挿入)しますが,\SoftName{mendex}では同一のブロックにします.}ので,
+`|S|' と `|N|' は必ず隣り合わせてください(数字と数字以外の記号の順序入れ替えは可能です).
+% もともと "SEJ" とドキュメントされていたが,実装に合わせて "SNEJ" と規定する.
+% 以下の議論も参考に.
+% https://github.com/texjporg/mendex-doc/issues/10
+
+なお,|character_order| に関係する文字種の判別においては,
+半角スペースも「記号」として扱われますので,注意してください.
+% 吉永徹美 著『LaTeX2e 辞典 増補改訂版』翔泳社,2018,p.516
\end{description}
\subsection{参考:\SoftName{makeindex}との比較}
@@ -344,6 +386,11 @@
(|character_order|パラメータを追加).他に\SoftName{mendex}で追加された
スタイルパラメータには,|symbol|,|symbol_flag|,|letter_head|,|priority|があります.
+\item \SoftName{makeindex}の |headings_flag| は,\SoftName{mendex}では
+ |heading_flag| となっており,互いに互換性がありません.
+ また,|lethead_flag|,|lethead_prefix|,|lethead_suffix|は,かつて\SoftName{makeindex}の
+ 文書で言及されていましたが,現在は削除され\SoftName{mendex}専用となっています.
+
\item \SoftName{makeindex}の項目の並び順は,頭文字は
「記号」「数字」「アルファベット」に分けて並べられますが,2文字目以降は単純に
ASCIIコード順となり,記号よりアルファベットが先になる場合もあります.
@@ -361,8 +408,9 @@
\SoftName{mendex}は日本語の索引をできるだけ楽に扱えるようになっています.
\SoftName{makeindex}では日本語の索引が正しく辞書順にソートするためには,ひらがなまたは
カタカナに揃え,拗音,撥音,濁点を除いた読みを付けなければなりませんでした
-(自動的に揃えるバージョンもある). \SoftName{mendex}ではカナについてはすべて自動的に
-揃え,また漢字については辞書ファイルを設定することにより各索引語ごとに読みを付ける作業を
+(自動的に揃えるバージョンもある).
+\SoftName{mendex}ではカナについてはすべて自動的に揃え,また漢字については
+辞書ファイルを設定することにより各索引語ごとに読みを付ける作業を
かなり解消できます.以下に内部でのカナの変換例を示します.
%
\begin{quote}
@@ -374,7 +422,8 @@
\end{quote}
辞書ファイルは ``\jMeta{漢字} \jMeta{読み}'' のリストで構成されます.
-\jMeta{漢字}と\jMeta{読み}の区切りはタブまたはスペースです. 以下に辞書の例を示します.
+\jMeta{漢字}と\jMeta{読み}の区切りはタブまたはスペースです.
+以下に辞書の例を示します.
%
\begin{quote}
\begin{tabular}{ll}
@@ -408,8 +457,9 @@ XView & X Window
\end{tabular}
\end{quote}
-また,日本語−英字間でも似たようなソート方法があります.スタイルファイルで |priority| を|0|以外
-に指定した場合,隣接した日本語と英字の間にスペースを入れてソートします. 以下に例を示します.
+また,日本語−英字間でも似たようなソート方法があります.
+スタイルファイルで |priority| を|0|以外に指定した場合,隣接した日本語と英字の間に
+半角スペースを入れてソートします.以下に例を示します.
%
\begin{quote}
\begin{tabular}{ll}
@@ -443,6 +493,36 @@ indファイル & index sort
% また,\SoftName{makeindex}に比べると実行速度が遅くなっています.
+\section{トラブルシューティング}
+\SoftName{mendex}でも,\SoftName{makeindex}用のスタイルファイルを流用することができる
+場合があります.ただし,期待通りに動作しない場合もあるため,注意点を挙げておきます.
+% 2021年6月現在,\TeX\ Liveの |texmf-dist/makeindex| 以下に収録されているものは
+% ほとんど使いづらい.
+
+\subsection{\FileName{gind.ist}や\FileName{gglo.ist}が使えない}
+\LaTeXe 付属の\FileName{gind.ist}や\FileName{gglo.ist}は,\SoftName{doc}パッケージと
+併用することを想定して作られています.
+\begin{verbatim}
+ ! Undefined control sequence.
+ l.3 \makeatletter\scan@allowedfalse
+\end{verbatim}
+のエラーを避けるために,\verb+\usepackage{doc}+ を追加してください.
+
+\subsection{漢字の読みを与えたつもりなのにエラーが出る}
+辞書ファイルを使用しない,あるいは辞書ファイルと異なる読みを個別指定する場合に
+|\index{かんじ@漢字}| の書式で「読み」を指定したにもかかわらず,
+\begin{verbatim}
+ Error: 漢字 is no entry in dictionary file in mybook.idx, line 1.
+ 0 entries accepted, 1 rejected.
+\end{verbatim}
+のようなエラーが出て,索引が作成されないことがあります.ここでオプション |-f| を使用しても,
+実際に出力される索引文字列が |かんじ@漢字| となってしまいます.
+
+この原因の多くは,スタイルファイルが |actual| を |@| から他の文字に変更している場合です.
+例えば\FileName{gind.ist}や\FileName{gglo.ist},その派生スタイルファイルは
+|actual| を |=| に変更していますので,それらを使用する場合は |\index{かんじ=漢字}| の書式を
+用いるのが正しい「読み」の指定法です.
+
\section{バグ報告先・開発元}
現在,\SoftName{mendex}は日本語\TeX 開発コミュニティによりメンテナンスされています.
\begin{itemize}
@@ -450,4 +530,242 @@ indファイル & index sort
\item \url{https://github.com/texjporg/mendex-doc} (この文書を含むドキュメント類)
\end{itemize}
+\begin{thebibliography}{99}
+ \bibitem{yoshi2018} 吉永 徹美 著,
+ 「LaTeX2e 辞典 増補改訂版」,翔泳社,2018.
+ \bibitem{munepi2019} munepi,
+ 「ぼくのかんがえたさいきょうのLaTeX索引スタイルファイル」,2019/12/09.\\
+ \url{https://qiita.com/munepi/items/2e1524859e24b5fb44bc}
+ \bibitem{kumazawa} Yoshiki KUMAZAWA,
+ 「makeidx.sty: LaTeX パッケージ」.\\
+ \url{http://xyoshiki.web.fc2.com/tex/makeidx.html}
+\end{thebibliography}
+
+\clearpage
+\appendix
+
+\section{索引スタイルの例 (\FileName{jpbase.ist})}
+この文書と一緒に配布している索引スタイル\FileName{jpbase.ist}について説明します.
+
+主な内容は以下の通りです(全体は実際のファイル参照).
+\begin{quote}
+\hrule\vskip10pt\noautospacing\noautoxspacing
+\begin{verbatim}
+%% Use general commands (M. Yamamoto, @munepi)
+headings_flag 1
+heading_prefix "\n\\makeidxhead{"
+heading_suffix "}"
+delim_0 "\\idxdelim "
+delim_1 "\\idxdelim "
+delim_2 "\\idxdelim "
+symhead_positive "\\symbolindexname"
+%
+heading_flag 1
+symbol "\\symbolindexname"
+%
+%% Custom settings for mendex
+% 見出しをひらがなで出力: 2(既定値はカタカナ: 1)
+letter_head 2
+% 並べ替え順を日本語→英字→記号/数字に変更するなら以下を有効に
+%character_order "JESN"
+% 日本語と英字の間に半角スペースを入れてソートするなら以下を有効に
+%priority 1
+%
+%% Output design based on dot.ist by Y. Kumazawa
+preamble "\\begin{theindex}\n
+\\providecommand\\idxdelim{\\space\\dotfill\\space}
+\\providecommand\\makeidxhead[1]{...(略)... #1 ...(略)...}
+\\providecommand\\symbolindexname{Symbols}\n"
+postamble "\n\n\\end{theindex}\n"
+\end{verbatim}
+\vskip10pt\hrule
+\end{quote}
+
+このスタイルでは
+\begin{itemize}
+ \item 見出しの飾り → |\makeidxhead|
+ \item 索引項目とページ番号の区切り → |\idxdelim|
+ \item 記号・数字類の見出し文字列 → |\symbolindexname|
+\end{itemize}
+という\LaTeX 命令に切り出すことで,ユーザが\LaTeX の範囲内で自由にデザインを定義できる
+ようにしています.デフォルトの定義も |preamble| パラメータで与えますので,
+これらの命令を定義せずに\FileName{jpbase.ist}単体でも動作します.
+既定のデザインは以下のように定義しています.
+\begin{verbatim}
+ \providecommand{\idxdelim}{\space\dotfill\space}
+ \providecommand{\makeidxhead}[1]{{\vbox{\hbox to \linewidth{%
+ \sffamily\bfseries #1\ \hskip\fill}\vskip1pt\hrule}}\nopagebreak}
+ \providecommand{\symbolindexname}{Symbols}
+\end{verbatim}
+
+これらの命令をプリアンブルで予め定義しておけば,それが優先されます.例えば
+\begin{verbatim}
+ \newcommand{\makeidxhead}[1]{{\vbox{\hbox to \linewidth{%
+ ■\hfill\sffamily\bfseries #1\hfill ■}\vskip1pt\hrule}}\nopagebreak}
+\end{verbatim}
+とすれば見出しの表示形式が
+\begingroup
+ \newcommand{\makeidxhead}[1]{{\vbox{\hbox to \linewidth{%
+ ■\hfill\sffamily\bfseries #1\hfill ■}\vskip1pt\hrule}}\nopagebreak}
+ \begin{minipage}{.3\linewidth}
+ \makeidxhead{あ}
+ \end{minipage}
+\endgroup
+になりますし,
+\begin{verbatim}
+ \newcommand{\symbolindexname}{記号・数字}}
+\end{verbatim}
+とすれば記号類の見出しが「Symbols」から「記号・数字」に変わります.
+
+以降のページでは,索引スタイルおよびオプションの適用例を示します.
+\begin{itemize}
+ \item |mendex sample|(デフォルト通り)
+ \item |mendex -s jpbase sample|(スタイル適用)
+ \item |mendex -s jpbase -g sample|(さらに頭文字の区切りを「あかさ…わ」に)
+ \item 上記スタイルに |priority 1| を追加(|align環境| と |alignat環境| の順序に注目)
+ \item 上記スタイルに |character_order "JESN"| を追加
+ \item |mendex -s jpbase -g -l sample|(空白文字を無視して文字順ソートに)
+\end{itemize}
+索引スタイル\FileName{jpbase.ist}をベースに一部変更したい場合は,ファイルを複製して
+別名に変更してから編集すると良いでしょう.
+なお,\SoftName{mendex} |version 3.5 [6-Jun-2021]|以降で利用可能な「スタイルファイルを
+複数指定できる機能」を用いれば,元の\FileName{jpbase.ist}からの追加パラメータのみ記載
+した小さなスタイルファイル(例えば\FileName{mystyle.ist})を準備して,以下のコマンドで
+簡単に適用できます.
+\begin{verbatim}
+ $ mendex -s jpbase -s mystyle ...
+\end{verbatim}
+
+なお,サンプルとして使用した\FileName{sample.idx}は以下の通りです(一部のみ).
+\clearpage
+\begin{quote}
+\hrule\vskip10pt\noautospacing\noautoxspacing
+\begin{verbatim}
+% sample.idx
+\indexentry{DVI viewer}{18}
+\indexentry{コンパイル}{18}
+\indexentry{ログファイル}{18}
+\indexentry{dvips}{22}
+...(略)...
+\indexentry{alignかんきょう@align環境}{183}
+\indexentry{alignatかんきょう@alignat環境}{184}
+...(略)...
+\indexentry{キャプション}{288}
+\indexentry{フロート}{288}
+\indexentry{graphicsパッケージ}{300}
+\indexentry{graphicxパッケージ}{300}
+\end{verbatim}
+\vskip10pt\hrule
+\end{quote}
+
+\def\IndexExample#1#2#3{%
+ \def\indexname{索引の例#1(#2)}%
+ \AddToHookNext{env/theindex/end}{\par\baselineskip12pt\vfill\vfill #3\par\vfill}%
+ \InputIfFileExists{\jobname-sub-#1.ind}{}{\typeout{Rerun!}}}
+\IndexExample{0}{\texttt{mendex}デフォルト}{}
+\IndexExample{1}{\texttt{mendex -s jpbase}}{}
+\IndexExample{2}{\texttt{mendex -s jpbase -g}}{}
+\IndexExample{3}{スタイルに\texttt{priority 1}を追加}{%
+ 注:例2と注意深く見比べてください.既定では日本語文字よりも英字の方が
+ 先(``alignat環境''→``align環境'')ですが,\texttt{priority}を\texttt{1}に設定
+ すると,日本語−英字間に半角スペースを入れてソートされるため,順番が入れ替わります.}
+\IndexExample{4}{スタイルに\texttt{character\_order "JESN"}を追加}{%
+ 注:例2と注意深く見比べてください.なお,ここで\texttt{priority}は\texttt{0}のまま
+ としています.\texttt{character\_order}の文字種の判別においては,
+ 半角スペースも記号類として扱われます.その結果,日本語文字より英字が
+ 後(``align環境''→``alignat環境'')かつ,英字より半角スペースが
+ 後(``dvips''→``DVI viewer'')になっています.}
+\IndexExample{5}{\texttt{mendex -s jpbase -g -l}}{%
+ 注:例2と注意深く見比べてください.\texttt{-l}オプションにより空白文字を無視して
+ 文字順(P→V)に並べたため,``dvips''→``DVI viewer''の順番に入れ替わりました.}
+
+%%% 以下,補助ファイル
+\begin{filecontents*}[overwrite]{\jobname-sub.idx}
+\indexentry{DVI viewer}{18}
+\indexentry{コンパイル}{18}
+\indexentry{ログファイル}{18}
+\indexentry{dvips}{22}
+\indexentry{ごうじ@合字}{34}
+\indexentry{$>$}{35}
+\indexentry{$<$}{35}
+\indexentry{プリアンブル}{44}
+\indexentry{クラスファイル}{45}
+\indexentry{パッケージファイル}{45}
+\indexentry{NFSS}{52}
+\indexentry{エンコード}{52}
+\indexentry{シリーズ}{52}
+\indexentry{ファミリ}{52}
+\indexentry{サイズ}{53}
+\indexentry{シェイプ}{53}
+\indexentry{エンコード}{63}
+\indexentry{ファミリ}{64}
+\indexentry{シリーズ}{66}
+\indexentry{シェイプ}{67}
+\indexentry{サイズ}{68}
+\indexentry{しょたいていぎファイル@書体定義ファイル}{75}
+\indexentry{abstractかんきょう@abstract環境}{87}
+\indexentry{itemizeかんきょう@itemize環境}{92}
+\indexentry{enumerateかんきょう@enumerate環境}{93}
+\indexentry{descriptionかんきょう@description環境}{94}
+\indexentry{quotationかんきょう@quotation環境}{97}
+\indexentry{quoteかんきょう@quote環境}{97}
+\indexentry{verbatimかんきょう@verbatim環境}{99}
+\indexentry{プリミティブ}{113}
+\indexentry{カウンタ}{131}
+\indexentry{ボックス}{134}
+\indexentry{minipageかんきょう@minipage環境}{137}
+\indexentry{$>$}{146}
+\indexentry{$<$}{146}
+\indexentry{ディスプレイすうしき@ディスプレイ数式}{152}
+\indexentry{テキストすうしき@テキスト数式}{152}
+\indexentry{equationかんきょう@equation環境}{153}
+\indexentry{アクセントきごう@アクセント記号}{156}
+\indexentry{えんざんし@演算子}{158}
+\indexentry{かんけいえんざんし@関係演算子}{159}
+\indexentry{ギリシャもじ@ギリシャ文字}{161}
+\indexentry{かんけいえんざんし@関係演算子}{162}
+\indexentry{にこうえんざんし@二項演算子}{163}
+\indexentry{ぶんすう@分数}{167}
+\indexentry{かせん@下線}{168}
+\indexentry{へいほうこん@平方根}{168}
+\indexentry{ぎょうれつ@行列}{169}
+\indexentry{equationかんきょう@equation環境}{172}
+\indexentry{eqnarrayかんきょう@eqnarray環境}{173}
+\indexentry{casesかんきょう@cases環境}{182}
+\indexentry{alignかんきょう@align環境}{183}
+\indexentry{alignatかんきょう@alignat環境}{184}
+\indexentry{gatherかんきょう@gather環境}{185}
+\indexentry{multilineかんきょう@multiline環境}{185}
+\indexentry{tabbingかんきょう@tabbing環境}{190}
+\indexentry{tabbingかんきょう@tabbing環境}{194}
+\indexentry{arrayかんきょう@array環境}{203}
+\indexentry{tabularかんきょう@tabular環境}{203}
+\indexentry{フロートオブジェクト}{210}
+\indexentry{pictureかんきょう@picture環境}{220}
+\indexentry{ascmacパッケージ}{234}
+\indexentry{そうごさんしょう@相互参照}{244}
+\indexentry{plextパッケージ}{266}
+\indexentry{plextパッケージ}{279}
+\indexentry{れんすうじ@連数字}{279}
+\indexentry{かんすうじ@漢数字}{280}
+\indexentry{enumerateかんきょう@enumerate環境}{281}
+\indexentry{ぼうてん@傍点}{282}
+\indexentry{minipageかんきょう@minipage環境}{285}
+\indexentry{tabularかんきょう@tabular環境}{286}
+\indexentry{pictureかんきょう@picture環境}{287}
+\indexentry{キャプション}{288}
+\indexentry{フロート}{288}
+\indexentry{graphicsパッケージ}{300}
+\indexentry{graphicxパッケージ}{300}
+\end{filecontents*}
+%
+\begin{filecontents*}[overwrite]{\jobname-sub-3.ist}
+priority 1
+\end{filecontents*}
+%
+\begin{filecontents*}[overwrite]{\jobname-sub-4.ist}
+character_order "JESN"
+\end{filecontents*}
+%%% 以上,補助ファイル
+
\end{document}