TeX Live ドキュメント案内

  • 20
    いいね
  • 1
    コメント

TeX Live は現在世界で最も普及している TeX ディストリビューションの一つで,幾種類もの TeX 処理系や METAFONT をはじめとする数々の関連プログラムが収録されています.TeX Live には他にも TeX のマクロ集(パッケージ)やフォントが多数含まれていますが,中でも多くの容量を占めているのがそれらの収録物に付属するドキュメントです.

TeX Live のディレクトリ構成において,こうしたドキュメント類はtexmf-dist/docディレクトリにまとめられていますが,2016 年 12 月現在の TeX Live においてこのディレクトリには 4,000 以上のテキストファイル1や 6,000 近くの PDF ファイルが格納されており,そのサイズは 2 GB 近くに及びます.TeX Live 2016 全体の容量が 5.5 GB 程度ですから,実にその 4 割近くをドキュメントが占めていることになります.

しかし,日本では実際にこれらのドキュメントを活用できている (La)TeX ユーザは案外少ないのではないでしょうか.これはドキュメントのほとんどが英語で書かれているせいもあるかもしれませんが2,それ以上に「TeX Live にどのようなドキュメントが含まれていて,どうやって求めるドキュメントを探し出せばいいのか」という情報があまり知られていない問題の方が大きいように思われます.

というわけで,本稿ではこれら 2 点に関する基本的な情報を提供していくことにします.

ドキュメントの探し方

TeX Live にはその収録ドキュメントを探すためのツールやインデックス(一覧)が標準添付されています.まずはこれらの使い方からみていきましょう.

Texdoc

TeX Live にはドキュメントを検索・閲覧するための便利なコマンドラインツール Texdoc が付属しています.このコマンドは基本的には次のように使用します.

$ texdoc <keyword>

これにより,入力した<keyword>に関連する文書が適当なビューア(PDF なら PDF ビューア,HTML ならブラウザなど)により表示されます.<keyword>に利用できる語はかなり広範に及びますが,典型的には以下のようなものが<keyword>として適しています.

  • プログラム名(ex. luatex, makeindex, tlmgr
  • LaTeX クラス名(ex. report, jsarticle, beamer
  • LaTeX パッケージ名(ex. hyperref, tikz, xcolor

また-lオプションを付けて実行すると,ヒットしたドキュメントをいきなりビューアで表示するのではなく,候補リストとその選択プロンプトが表示されます.

$ texdoc -l mendex
 1 /usr/local/texlive/2016/texmf-dist/doc/support/mendex/mendex.pdf
   = [ja] Package documentation
 2 /usr/local/texlive/2016/texmf-dist/doc/support/mendex/README.md
   = Readme
 3 /usr/local/texlive/2016/texmf-dist/doc/man/man1/mendex.man1.pdf
Please enter the number of the file to view, anything else to skip: 

このとき閲覧したいドキュメントの番号を入力して Enter キーを押すと当該文書が表示されます.

以上が Texdoc の基本的な使い方です.Texdoc には他にもさまざまなオプションがありますが,それらについてはtexdoc -hで表示されるヘルプメッセージか Texdoc のリファレンスマニュアルをご覧ください.

$ texdoc texdoc

texlive-docindex

Texdoc は「特定のパッケージのドキュメントを探したい」など目的がはっきりしている場合には最も手っ取り早く便利なツールです.しかし,TeX Live に含まれているあらゆるドキュメントの一覧をみたいといった需要も多少はあるかもしれません.

TeX Live documentation (doc.html) という HTML ドキュメントには TeX Live に含まれるすべての HTML および PDF 形式のドキュメントがアルファベット順にソートされたパッケージ3毎にまとめてリストアップされています.

このdoc.htmlファイルは TeX Live の top-level に置かれているため,ターミナルやファイルマネージャでも比較的簡単に見つけられるはずですが,例によって Texdoc を利用すると簡単に開くことができます.

$ texdoc texlive-docindex

LaTeX および TeX 関連ドキュメントの一覧

LaTeX や TeX そのものについて解説するドキュメントは数が多く,上述の Texdoc や texlive-docindex を利用しても最も目的に適ったドキュメントを見つけるのは容易でありません.そこで,ここではそうしたドキュメントのうち主なものを筆者の独断と偏見に基づいてリストアップし,それぞれに短いコメントを付けてみました4

各項目内に示したファイル名は CTAN ミラー上の PDF への直リンクとなっていますが,ローカルに TeX Live がフルインストールされた環境であれば

$ texdoc <file name>

を叩くと簡単に当該ファイルを開くことができると思います(<file name>に拡張子は不要).

なお,このリストは筆者が新しく有用なドキュメントを見つけ次第,随時更新していく予定です.

LaTeX2e 関連ドキュメント

A direction-finder for LaTeX documentation

  • ファイル:latex-doc-ptr.pdf
  • 著者:Jim Hef­feron, Manuel Pé­gourié-Gon­nard, Karl Berry

LaTeX に関する様々なドキュメントを簡潔にまとめた 2 ページの文書です.各ドキュメントへの直リンクが貼られています.いくつかの著名な LaTeX パッケージや統合開発環境に関する言及もありますが,あまり網羅的とは言えません.

Getting something out of LaTeX

LaTeX について一切の事前情報を持たない読者を対象に LaTeX がどういうものかを概説する文書です.本当に基礎的な内容に絞ってまとめられています.

The very short guide to typesetting with LaTeX

わずか 4 ページで LaTeX の使い方を簡潔に説明したフルカラー文書です.

Writing Scientific Documents Using LaTeX

  • ファイル:scidoc.pdf
  • 著者:Andrew J. Bennieston

科学文書を LaTeX で作成するのに必要な知識を 12 ページで簡潔にまとめた初心者向けドキュメントです.ターゲットが絞られているので,短いながらも実践するに必要十分な情報が盛り込まれています.

A Simplified Introduction to LaTeX

比較的軽量な初心者向けの LaTeX 解説文書です.随所に練習問題が散りばめられています.

The not so Short Introduction to LaTeX

  • ファイル:lshort.pdf
  • 著者:To­bias Oetiker, et al.

サブタイトルが Or LaTeX2e in 157 minutes なので,英語に堪能な読者なら2時間半ぐらいで読めるらしいです.LaTeX2e の基本的な使い方(欧文文書の作成)について初心者にもわかりやすいように解説されています.個人的には欧文版『LaTeX2e 美文書作成入門』ぐらいの位置付けという認識です(世界的には本末転倒ですが).和訳版にあたる『LaTeX2e への道』(jlshort.pdf)も TeX Live に収録されていますが,かなり版が古いです.

LaTeX2e: An unofficial reference manual

  • ファイル:latex2e.pdf
  • 著者:Karl Berry, et al.

タイトル通り LaTeX2e の非公式リファレンス・マニュアルです.非公式でありながらも LaTeX2e のユーザ用命令について網羅的な解説がなされており,完成度が高いように思われます.

A guide to LuaLaTeX

一般 LaTeX ユーザを対象に,LuaLaTeX の特徴を解説した貴重な資料です.LuaLaTeX で利用可能かつ有用なパッケージについての紹介もされています.

An essential guide to LaTeX2e usage

LaTeX のアンチパターン(バッドノウハウ)をまとめた文書です.類似の日本語文献がいくつかありますが,それらと同様に使うべきでない命令やパッケージとその代替手段が列挙されています.

pLaTeX2e Cheat Sheet

pLaTeX2e の基本的な命令をまとめた拙作のチートシートです.英語版の LaTeX2e Cheat Sheet の翻訳からスタートしましたが色々と改良を加えてあります.よろしければ,ご活用ください.

The Comprehensive LaTeX Symbol List

LaTeX で利用できる 14,032 の記号(特定のパッケージやフォントが必要なものも含む)とそれらに対応する命令をリストアップしたドキュメントです.この PDF はざっと眺めるだけでもなかなか楽しいと思います.

Some Examples of Title Pages

LaTeX で作成された「タイトルページ」のサンプル集です.およそ 40 のデザインとそのソースコードが収録されています.

The UK TeX FAQ - Your 469 Questions Answered

  • ファイル:newfaq.pdf
  • 著者:UK TeX User Group

UK TeX Users Group のジャーナル Baskerville に掲載されてきた FAQ をまとめた PDF 文書です.「TeX とは何か?」という質問から始まり 469 の質問とそれに対する回答がひたすら列挙されています.同じ内容を UK TeX Users Group のサイトでも閲覧可能です.

The Visual LaTeX FAQ

33 ページに渡る LaTeX 文書サンプルについて,それぞれの箇所で使われているテクニックについて記述された The UK TeX FAQ 内の質問に対してリンクが貼られた斬新なヘルプドキュメントです.

Programming LaTeX - A survey of documentation and packages

LaTeX パッケージ開発者向けに有用なドキュメントやパッケージを紹介した 7 ページの文書です.前半部分については,分量こそ少ないものの本稿とコンセプトが似ています.

LaTeX2e for authors

LaTeX 開発チームによる公式のユーザガイドですが,これは少々特殊です.タイトルに “for authors” とあるように,このドキュメントは既に LaTeX 2.09 を使用している人向けに LaTeX2e の新機能とその使い方を紹介する内容になっています.LaTeX2e では処理できない太古の LaTeX のソースを持っているという場合には,この文書の 4 章にある互換モードに関する説明が役立つかもしれません.

LaTeX2e for class and package writers

LaTeX2e のクラスやパッケージを作るのに必要な情報がまとめられています.最後の章は LaTeX 2.09 との互換性の話であり,新規開発のためには読む必要がありません.したがって読むべき箇所は実質 25 ページ程度と少ないので,クラスやパッケージを作る場合には必ず一通り目を通すべきです.

The LaTeX2e Sources

文字通り LaTeX2e カーネルのソースコード解説ドキュメントです.世に言う「latex.ltx リーディング」とはまさにこの PDF を読むことと同値と言えるでしょう.全部で 622 ページあるこの PDF は必ずしも通し読みする必要があるとは思いませんが,TeX on LaTeX をするためにはこのドキュメントに書かれていることを多少は理解している必要があります.

List of internal LaTeX2e Macros useful to Package Authors

LaTeX のパッケージ制作者にとって有用な LaTeX2e の内部命令についてまとめた資料です.各マクロは The LaTeX2e Sources 内の該当箇所にハイパーリンクが貼られていることになっていますが,2016 年 12 月現在 TeX Live 2016 においてこのリンクは機能していません.

LaTeX2e font selection

LaTeX2e のフォント選択機構(NFSS release 2)の特徴が,times や latexsym のようなフォント・ローディングパッケージを開発したい人向けに解説されています.しかし,このドキュメントは TeX におけるフォントの扱いや LaTeX パッケージについての予備知識を仮定しており,ユーザガイドでもリファレンスマニュアルでもないので注意が必要です.

LaTeX font encodeings

LaTeX フォントエンコーディングの基本的なアイデアと新しいエンコーディングを定義する際に守るべき制約がまとめられているようです.規定のエンコーディングのリストも掲載されています.

Configuration options for LaTeX2e

LaTeX の各種設定ファイル(.cfg)についてのドキュメントです.各ファイルの内容について詳しい説明がなされているわけではないので,LaTeX が利用している cfg ファイルにどのようなものがあるかを概観するときに読むとよさそうです.

Modifying LaTeX

LaTeX を改造する場合の注意についてまとめられています.そうしたケースは一般にはかなり稀だと思いますが,LaTeX 開発チームによる一種の “哲学” が 7 ページにまとめられた貴重な資料とも言えるので,興味があれば LaTeX 改造の予定がなくても一度読んでみるのも悪くないでしょう.

LaTeX News, Issues

  • ファイル:ltnews.pdf
  • 著者:LaTeX3 Project Team

LaTeX2e の新バージョンがリリースされる度に,その新機能などの情報が LaTeX News の記事にまとめられてきました.このドキュメントには歴代すべての LaTeX News 記事が収録されています.ただし,最新の情報を得る目的であれば,この PDF を開くよりも LaTeX Project のサイトを見る方が早いような気がします.

Changes to the LaTeX2e format

2014/05/01 以降の LaTeX2e カーネルにおける変更点をまとめたドキュメントです.近年の LaTeX2e 動向を知るのに役立ちます.

The LaTeX Project Public License

  • ファイル:lppl.pdf
  • 著者:LaTeX3 Project Team

LaTeX カーネルに対して適用されているライセンス(LPPL v1.3)の全文です.読んで楽しいようなドキュメントではありませんが,LaTeX パッケージの多くにもこのライセンスが適用されているので,少なくとも LaTeX 関連の開発をするのであればその内容の概略は把握しておく必要があるでしょう.

LaTeX3 関連ドキュメント

The LaTeX3 Project

  • ファイル:ltx3info.pdf
  • 著者: Frank Mittelbach, Chris Rowley

次世代の LaTeX を開発する LaTeX3 プロジェクトについて,そのモチベーションや目標をまとめた文書です.プロジェクトを支援する方法についても言及があります.

The expl3 package and LaTeX3 programming

  • ファイル:expl3.pdf
  • 著者:LaTeX3 Project Team

上の The LaTeX3 Project では LaTeX3 プロジェクトの理念についてかなり抽象的な議論が展開されていますが,このドキュメントではその実現のために LaTeX3 チームが開発した expl3 言語について具体的かつ基礎的な解説がなされています.expl3 言語は,最初から “プログラミング言語としての利用を意図された言語” なので,単に文書作成をしたいだけの人(将来の一般 LaTeX3 ユーザ)はこのドキュメントを読む必要はないでしょう.一方,LaTeX のパッケージ製作者にとっては LaTeX3 への移行すれば必然的に expl3 言語を習得する必要があると予想される上,現時点でも既に expl3 の運用実験が開始されて5その積極的利用が推奨されているので是非一度は目を通しておきたいドキュメントと言えます.

The LaTeX3 Interfaces

expl3 言語のリファレンス・マニュアルです.後に実装(第 XXVII 部)が掲載された The LaTeX3 Sourcessource3.pdf)というドキュメントもありますが,それ以外の部分はまったく同一の内容のようです.expl3 言語を使用する場合には適宜参照するといいでしょう.

The LaTeX3 kernel: style guide for code authors

LaTeX3 カーネルの開発者向けにコーディングスタイル(ソースコードとドキュメントの双方)を記述したものです.その目的上はほとんどのユーザにとっては無関係の文書と言えますが,expl3 言語をみやすく記述するための参考にはなると思われます.

Syntax changes in LaTeX3 functions

2011年以降に LaTeX3 の文法に加えられた変更をまとめた文書です.

TeX 関連ドキュメント

An overview of TeX, its children and their friends…

さまざまな TeX 処理系・マクロ体系・外部プログラム・ディストリビューションなど,種々の TeX 関連成果物6を俯瞰するドキュメントです.フルカラーで図が多用されているので,TeX 周辺のツールおよびその歴史的変遷に興味があれば一度覗いてみるといいでしょう.

References for TeX and Friends

各種 TeX 処理系・各種マクロ体系とそのパッケージ・外部プログラム等々の使い方を1つの HTML にまとめようという試みのようです.対象となっているソフトウェアの選択が偏っており(少なくとも網羅的とは言い難いです),そもそもそれらを1つにまとめる必要があるのか疑問ですが,「由来不明の命令があったときにこの HTML を開いて検索をかける」ぐらいの用途であれば有用かもしれません.

TeX font errors: Cheatsheet

LaTeX でフォントを使用するとき,TeX レベルで何が起きているかをグラフィカルかつコンパクトにまとめたドキュメントです.また,タイトルにあるようによく起こるエラーについての説明と,その対処法も記述されています.

A Gentle Introduction to TeX

比較的軽量な plain TeX のチュートリアルです.随所に練習問題が散りばめられています.

TeX for the Impatient

  • ファイル:book.pdf7
  • 著者:Paul Abra­hams, Kathryn Har­g­reaves, Karl Berry

TeX for the Impatient はおよそ 350 ページで TeX (plain TeX) の使い方を概説した書籍で,TeX Live にはその無料版(ライセンスは GFDL)が収録されています.はしがきで初心者にも既に TeX に親しんでいる人にも役立つと謳われています.

TeX by Topic

サブタイトルに A TeXnician's Reference とあるように,TeXnician を目指す人向けに TeX について詳細な解説をした名著です.書籍自体は一般の刊行物ですが,原著 PDF は著者のサイトにて GFDL の下無料配布されているので TeX Live にも収録されています.余談ですが,某愛好会がこの文書の輪読会を開催しており,参加者の1人である筆者がその参加レポートをブログで連載しています.

TeX82

  • ファイル:tex.pdf (tex.web)
  • 著者:Don­ald E. Knuth

言わずと知れた TeX の実装そのものです.Knuth の提唱した文芸的プログラミングの実践例なので,ソースコードでありながらそのままドキュメントとして読むことができます.リンク先となっている tex.web は WEB という Pascal を拡張した独自言語で書かれていますが,このファイル自体は TeX Live に含まれていないようです(少なくとも筆者が見つけられていません).代わりに,これを weave で処理して PDF 化した tex.pdf が収録されています.


  1. 拡張子が.txtのものという意味ではなく,テキスト形式(かつ TeX 文書ソースでない)のファイルという意味です.かなり雑な見積もりなので,実際はもっとずっと多いかもしれません. 

  2. 実際こうしたドキュメントには視覚的な図やサンプルコードが豊富に含まれていることが多く,解読にあたってはそれほど高度な英語力は必要ないはずです. 

  3. ここでの「パッケージ」は通常の LaTeX パッケージよりも広い意味です.この点についてはこの記事の記述が大変詳しく,参考になります. 

  4. リストの項目はなるべく各ドキュメントの「タイトル」で揃えるようにしていますが,中にはタイトルがいい加減であったり(単に LaTeX など)そもそもタイトルが存在しなかったりということがあるので,そうした場合は short description 等で代用しているものもあります.また「著者」は便宜上すべての項目で書いているに過ぎないので,ものによっては不正確な情報である可能性があります. 

  5. LaTeX2e のパッケージとして実装された expl3 パッケージを読み込むことで expl3 言語を利用できます. 

  6. 手前味噌ではありますが,この「TeX 関連成果物」が指し示す対象をまとめた日本語の文献として筆者のブログ記事があります. 

  7. この PDF を Texdoc で表示させるには texdoc impatient を叩いてください.