LoginSignup
54
49

More than 1 year has passed since last update.

TeX Live ドキュメント案内

Last updated at Posted at 2016-12-25

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/2017/texmf-dist/doc/support/mendex/mendex.pdf
   = [ja] Package documentation
 2 /usr/local/texlive/2017/texmf-dist/doc/support/mendex/README.md
   = Readme
 3 /usr/local/texlive/2017/texmf-dist/doc/man/man1/mendex.man1.pdf
Enter number of file to view, RET to view 1, anything else to skip: 

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

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

$ texdoc texdoc

また,texdoc.org は 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>に拡張子は不要).

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

日本語 (La)TeX 関連ドキュメント

はじめに「日本語で読める日本語 (La)TeX 関連5のドキュメント」をリストアップしてしまいましょう.

日本語版 TeX Live ガイド

TeX Live 自体のドキュメント The TeX Live Guide の日本語版です.2019年に新たに日本語版が加わりました.

pTeX マニュアル

  • ファイル:ptex-manual.pdf
  • 著者:日本語 TeX 開発コミュニティ

pTeX の仕様を,日本語 TeX 開発コミュニティの有志がまとめた比較的新しいマニュアル文書です.pTeX のオリジナル作者であるアスキーの pTeX に関するサイトが2017年に閉鎖されたのを機に執筆が始まったのですが,元サイトに比べて最近の pTeX 処理系の動向や用例なども追加された強化バージョンになっています.

LuaTeX-ja マニュアル

  • ファイル:luatexja-ja.pdf
  • 著者:LuaTeX-ja プロジェクトチーム

LuaTeX-ja 開発者らによる公式のリファレンス文書です6.第 I 部が「ユーザーズマニュアル」となっており,すべての LuaTeX-ja ユーザにとって有用な情報が集積されています.

kanji-config-updmap — 日本語フォント設定ツール

(u)pTeX を含む “古典的な” TeX 処理系のための和文フォント(より正確には CJK フォント)設定を自動化するスクリプト kanji-config-updmap の解説文書です.2020年,ついに TeX Live に追加されました.特に (u)pTeX を用いたワークフローで作成する PDF にモリサワ系やヒラギノ系のフォントを埋め込みたい方は目を通しておきましょう.

pLaTeX2e チートシート

pLaTeX2e の基本的な命令をまとめた拙作のチートシートです.英語版の LaTeX2e Cheat Sheet の翻訳からスタートしましたが,単なる翻訳以上に様々な改良を加えてあります.標準クラス (jclasses) が前提の platexsheet.pdf と新ドキュメントクラス (jsclasses) 対応の platexsheet-jsclasses.pdf があります.

pBibTeX / upBibTeX マニュアル

pTeX, upTeX と組み合わせて使用することが想定された日本語用 BibTeX 拡張である pBibTeX, upBibTeX のマニュアルです.これらの日本語用 BibTeX は jBibTeX を基にしているため,その詳細な仕様については以下に挙げる jBibTeX 関連のドキュメント(いずれも松井氏の手による)が詳しいです.このドキュメントは比較的最近になって pBibTeX, upBibTeX に加えられた独自の拡張について解説するとともに,後半部分では先述の jBibTeX との違いについても紹介しています.

日本語 BibTeX: jBibTeX

広く知られた BibTeX の日本語拡張としては古参にあたる jBibTeX のマニュアル文書です.その名から予想できる通り,jBibTeX 自体は NTT jTeX と組み合わせて使用することを意図して開発されたものですが,現在 (u)pTeX とともに用いられている (u)pBibTeX もこの拡張を基に開発されているため,日本語 BibTeX の仕様を把握する上では今日においても重要なドキュメントです.

BibTeXing: BibTeX の使い方

  • ファイル:jbtxdoc.pdf
  • 著者:Oren Patashnik(松井正一訳)

オリジナルの BibTeX に付属する BibTeXing (btxdoc.pdf) という BibTeX 利用者向けのドキュメントの日本語訳です.随所に jBibTeX に固有の事情などが訳注の形で付記されています.

内容としては Lamport による LaTeX 本における BibTeX の解説(付録B)の修正版である第3節が中心です.BibTeX データベースに関して基本的なことが解説されています.

Designing BibTeX Styles: BiBTeX スタイルの作り方

  • ファイル:jbtxhak.pdf
  • 著者:Oren Patashnik(松井正一訳)

同じくオリジナルの BibTeX の付属ドキュメントである Designing BibTeX Styles (btxhak.pdf) の日本語訳です.このドキュメントは主に BibTeX スタイル(bst ファイル)を自分で作成したい方向けのものです.BibTeX スタイル用の独特でクセのある言語(通称 BeaST 言語)について学びたい場合は,ほぼ確実に読むことになります.

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

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 の質問とそれに対する回答がひたすら列挙されています.同じ内容をオンラインでも閲覧可能です.

The Visual LaTeX FAQ

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

Programming LaTeX - A survey of documentation and packages

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

Guide to Japanese typesetting with LaTeX

  • ファイル:japanese.pdf
  • 著者:Japanese TeX Development Community

欧文組版と和文組版の顕著な違いを解説した英語の文書です.作成者は日本語 TeX 開発者コミュニティ (texjporg) です.主なターゲットは海外の TeX 開発者で,TeX で日本語組版をするにはどんなことを考慮する必要があるのかを説明し,欧文向けの TeX エンジンで単純に \usepackage[japanese]{babel}\usepackage{CJK} するだけでは「ちゃんと」日本語組版したことにはならないということを主張しています.また,実用上どのようにすれば「ちゃんと」日本語組版ができるのか,具体的な処理系や文書クラス,パッケージとその使用コード例を挙げて解説されています.

LaTeX2e for authors

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

New LaTeX methods for authors (starting 2020)

LaTeX3 のフレーバーが入ってきつつある新しめの LaTeX2e を使用して文書を作成したい人(つまり一般の LaTeX ユーザ)向けに,expl3 から生じたアイデアなどのうち把握しておくとよいと判断されたものがまとめられた文書です.現在では LaTeX2e カーネルに取り込まれた xparse パッケージの機能を中心に,LaTeX2e の新しいコマンドとその使い方が解説されています.

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
  • 著者:LaTeX 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
  • 著者:LaTeX 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
  • 著者:LaTeX Project Team

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

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 関連成果物8を俯瞰するドキュメントです.フルカラーで図が多用されているので,TeX 周辺のツールおよびその歴史的変遷に興味があれば一度覗いてみるといいでしょう.

References for TeX and Friends

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

TeX font errors: Cheatsheet

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

A Gentle Introduction to TeX

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

Notes On Programming in TeX

pdfplots/PGF 開発者である著者による TeX 言語プログラミングの初心者向けの解説文書です.文書全体で26ページとコンパクトで,初心者向けの内容が凝縮されているようです.TeX 言語の初学者向けのドキュメントとしては評判がよいです。

TeX for the Impatient

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

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

Guide to pTeX for developers unfamiliar with Japanese

日本語 TeX (pTeX) を非日本語話者向けに英語で解説した文書です.2019年に新たに作成されました.海外のパッケージ開発者が pTeX をサポートするのに必要な情報を英語で提供することが目的なので,他の TeX 処理系と比較した場合の pTeX の特徴(例えば独自プリミティブやレジスタの数)を中心に解説されています.一方で,日本語組版の詳細については触れられていません.

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. 具体的には主に p(La)TeX や LuaTeX-ja 関連の文献です.

  6. 本リストは原則としてドキュメントのみから成るパッケージのみを扱っており,マクロパッケージや LaTeX クラス・パッケージに付属するドキュメントはリストアップの対象外としていますが,LuaTeX-ja のマニュアルは一般の LaTeX ユーザにとっても有用と思われる情報が多いため,例外的に掲載しています.

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

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

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

54
49
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
49