Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mendex の標準スタイル #11

Open
aminophen opened this issue Jun 6, 2021 · 9 comments
Open

mendex の標準スタイル #11

aminophen opened this issue Jun 6, 2021 · 9 comments

Comments

@aminophen
Copy link
Member

mendex / upmendex 用の索引スタイルが一般にあまり配布されていないので,何か「標準」あるいは「カスタマイズのベースになる物」があれば良いのでは?と検討を始めています。

参考: t-tk/upmendex-package#3, texjporg/tex-jp-build#116

  • TeX Live には texmf-dist/makeindex 以下の runtime に幾つか .ist がありますが,実用的なものはほぼ皆無のようです。
    • iso.ist は ISO 文書用らしくシンプルですが,書籍の索引としては物足りません。
    • gind.ist などは doc.sty 前提で,普通はエラーが出るようです。
  • ざっと Web 検索してみると,日本語用の索引スタイルとしてヒットしたのは以下でした。いずれも実用的ですが,今回やりたいことからは少し外れています。
    • http://xyoshiki.web.fc2.com/tex/makeidx.html (熊澤さんの line.ist, dot.ist) → 索引の出力デザインを変更するために,スタイルファイルのキーを直接編集する方式です。出力デザインは綺麗ですが,標準配布として適切かというと微妙です(汎用性に欠ける,(up)mendex のソート順序カスタマイズには非対応)。
    • https://qiita.com/munepi/items/2e1524859e24b5fb44bc (@munepi さんの foobook.ist) → 索引の出力デザインを変更するために,スタイルファイルのキーで LaTeX コマンドをラップし,実際のデザインは LaTeX 側で自由定義する方式です。汎用的ではありますが,やはりソート順序カスタマイズには対応できません。

mendex / upmendex の開発版では「複数のスタイルファイルを使えるようにする」すなわち -s オプションを複数回使える機能を追加しようとしています。この機能が入れば,あらゆる設定を一つの .ist に仕込まなくても,ミニマム設定をいくつかの .ist に分けて配布することも可能になります。そこで

「索引の出力デザインの標準」と「ソート順序の標準」

を別々のスタイルファイルとして配布できれば良いと考えました。

  • 索引の出力デザイン: @munepi さんの汎用スタイル方式 + 実際のデザインは熊澤さんの2種類
  • ソート順序: character_order や ICU のパラメタ設定を5種類くらい?

これで2×5=10種類くらいのカスタマイズが標準配布の範囲内で可能となり,また他のスタイルにしたい方は目的に応じて「LaTeX コマンドの変更」あるいは「標準スタイルファイルをもとに適宜編集」ということが可能となります。

標準スタイルファイルは mendex-doc パッケージに含めて配布するのが良いと考えています。

@aminophen
Copy link
Member Author

現在の案はこんな感じです:

  • まず標準スタイルとしてはこんな感じ (jpbase.ist) を用意しておく(熊澤さんの dot.ist を,munepi さんのコマンド名に切り出して一般化しつつ,単体でも動作するように \providecommand するという配慮)。
  • (up)mendex のソート順序を変更するパラメータのみ記載した小さな .ist ファイル群を用意する。

こうすれば

$ mendex -s jpbase.ist -s [ソート順の変更ist名].ist input.idx

とするだけで「それなりに整った索引」を作ることができ,なおかつユーザが参照しやすいサンプルが提供できるという算段です。jpbase.ist と一緒に,\idxdelim, \makeidxhead, \symbolindexname を少々カスタマイズできる LaTeX パッケージを用意すれば,より良いと思います。

@munepi
Copy link
Member

munepi commented Jun 6, 2021

いろいろなデザインの索引スタイルを提供することも可能といえば可能なのですが、
色や飾りをつけるだけで、それらを司るパッケージ(xcolor、tikzなど)依存を面倒みることになりそうです。
それゆえ、標準スタイルファイルを配布するなら、device-independentな飾り付けで良さそうに思います。
aminophenさんなら、これらの状況を想定なさっていると思います!!
(でも、色とか、背景をスミアミにしたりとか、やりたくなりそうな気持ちも分かりますが…。)

@aminophen
Copy link
Member Author

コメントありがとうございます。そうですね,色や飾りのデザインは作らず,シンプルなものだけを考えています。今回,標準 ist をいくつか配布したいのは,upmendex の高機能な ICU カスタマイズ例を doc/samples ではなく runtime に置くことが主眼ですので,デザインには凝らないつもりです。

それはさておき,munepi さんのアイデアとコマンド名をそのまま使わせていただきました。このアイデアなら,プリアンブルでコマンドを再定義するだけで色や飾りも自由自在ですし,いちいち ist を大量に用意するより便利ですね!

@munepi
Copy link
Member

munepi commented Jun 6, 2021

upmendex の高機能な ICU カスタマイズ例を doc/samples ではなく runtime に置くことが主眼です

upmendexのテストにも使えるので、良いですね。

プリアンブルでコマンドを再定義するだけで色や飾りも自由自在ですし,いちいち ist を大量に用意するより便利ですね!

はい、そこらへんの知見や実用的な話は、前述の記事にざっくりと書いたとおりです。

@aminophen
Copy link
Member Author

'jpbase' ブランチを切って作業を始めました。 https://github.com/texjporg/mendex-doc/tree/jpbase

@aminophen
Copy link
Member Author

'jpbase' ブランチ

3510b15 で,こんな感じです → mendex.pdf

@aminophen
Copy link
Member Author

mendex のスタイル例としては jpbase.ist を準備しました(もちろん upmendex でも動作します)。あとは upmendex の ICU 活用例を加えても良いと思っていますが,どうしましょうか。

@aminophen
Copy link
Member Author

このまま GitHub だけに置いておくのはもったいないので,一旦 CTAN に出します。

upmendex の ICU 活用例は後で考えます。

@aminophen
Copy link
Member Author

aminophen commented Jun 25, 2021

https://ml.texjp.org/pipermail/issue/2021-June/000381.html

  • Add a standard ist file jpbase.ist; please install it into runtime
    (under TEXMF/makeindex/mendex).

と投稿時のメッセージに書いたところ

This sounds unusual to me for an "info" package.

と言われました(従来 mendex-doc は「説明書のみのパッケージ」だったので,CTAN では info/ 以下にインストールされていた為)。runtime に入れるファイルを含むようになった今なら,本当は pbibtex-base に倣って mendex-base のような別パッケージにすべきだったかも。Karl さんから何か言われたら考えます。

→ edit: 特に問題なく入ったので大丈夫そう https://www.tug.org/svn/texlive?view=revision&revision=59706

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants