TeX Live
Wikipedia により:
- TeX Live は、TeX 植字システムのためのフリーソフトウェア配布で、主要な TeX 関連プログラム、マクロパッケージ、およびフォントを含んでいます。
Tex Live には以下が含まれています:
- 多くの TeX エンジン。例えば:
- 基本的なマクロパッケージ (TeX 用語では フォーマット と呼ばれます)。例えば:
- ユーザによって作成された多くパッケージ
目次
インストール
- texlive グループには、ほとんどの Tex Live パッケージが含まれています。
- texlive-core は必須のパッケージであり、上流の medium インストールスキームに基づいています (その他のパッケージは全て上流のコレクションに基づいています)。このパッケージには、mktexlsr、fmtutil、updmap を自動化する pacman フックが含まれています。
- texlive-bin にはバイナリとライブラリが含まれています (texlive-core の依存パッケージです)。
- texlive-latexextra には、
polyglossia
、amsmath
、graphicx
などの便利なパッケージが多く含まれています。
- texlive-lang グループには、非ラテン文字の言語のための文字セットと機能を提供するパッケージが含まれています。
- texlive-langextra は、アフリカの言語、アラビア語、アルメニア語、クロアチア語、ヘブライ語、インド語群、モンゴル語、チベット語、ベトナム語の言語サポートを提供します。
- texlive-bibtexextra には、追加の BibTex と BibLaTeX スタイル、および参考文献データベースが含まれています。
- texlive-fontsextra には、追加のフォントが含まれています (LaTeX Font Catalogue で見られます)。
- biber は、BibLaTex のための代替の参考文献処理バックエンドを提供します。
- texlive-latexindent-metaAUR メタパッケージは、latexindent を実際に使うために必要になるすべての依存パッケージを提供します。
それぞれの texlive- パッケージにどの CTAN パッケージが含まれているか調べるには、/var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs
のファイルを見てください。
tllocalmgr
tllocalmgrAUR によって提供されている tllocalmgr ユーティリティは、pacman パッケージとして CTAN からパッケージをインストールできるようにします。詳細は 使用方法 (-h
) を見てください。
tlmgr
tlmgr ユーティリティは、CTAN からパッケージをインストール、アップデートする標準的な方法です。以下のように小さな修正が必要となります:
まず、TEXMFDIST/scripts/texlive/tlmgr.pl
を編集して $Master = "$Master/../..";
を $Master = "${Master}/../../..";
に置き換えてください。パスのプレフィックス TEXMFDIST は、事前に定義された環境変数ではなく、この記事の以下で定義されたものです。このプレフィックスは正しい値に置き換えてください。
その perl スクリプトのエイリアスを作成してください (シェルの init ファイルに追加できます)。
alias tlmgr='TEXMFDIST/scripts/texlive/tlmgr.pl --usermode'
これで、ユーザモードで初期化できます (インストールプレフィックスとして ~/texmf
を使用します):
$ tlmgr init-usertree
自由にミラーを設定してください。例えば:
$ tlmgr option repository http://mirrors.rit.edu/CTAN/systems/texlive/tlnet
これで、CTAN パッケージを通常通りインストールできるようになりました:
$ tlmgr install package_name
パッケージのドキュメント
公式リポジトリ内のパッケージには、フォント/マクロのパッケージのドキュメントやソースファイルが含まれていません。
texdoc
でオフラインアクセスするには、Tex Live のドキュメント全体とソースファイルを texlive-most-docAUR でインストールするか、あるいは tllocalmgr で特定のパッケージのドキュメントをインストールすることで可能です。
また、オンラインでドキュメントにアクセスすることもできます:
- https://tug.org/texlive/Contents/live/doc.html
- https://ctan.org/ – Tex 関連の全種類の資料の中心的な場所
- https://texdoc.net/[リンク切れ 2022-09-23] (
http://texdoc.net/pkg/packagename
は、関連する PDF を直接生成します)
手動インストール
上流のインストーラで Tex Live をインストールすることもできます。これは texlive-installerAUR としてパッケージングされています。詳細は LaTeX Wikibook や TeX Live Guide を見てください。
使用方法
以下のリソースを参照してください:
- Wikibooks:LaTeX
- The Not So Short Introduction to LaTeX 2ε
- Getting to Grips with LaTeX – Andrew Roberts
- The TeX FAQ
ドキュメントの作成に TeX エディタを使うこともできます。
ドキュメントをコンパイルするための高レベルなラッパー
ほとんどの場合、pdflatex(1) のようなものを直接呼び出すより、latexmk(1) や arara(1) といった高レベルなツールを使うほうが合理的です。その理由は主に、低レベルなツールは単一のドキュメントを完全にコンパイルするのに通常複数回実行する必要があるからです。
texmf ツリーと Kpathsea
texmf ツリー (texmf は TeX と Metafont の略) は TeX Directory Structure に従う必要があります。さもないと、ファイルを見つけられない場合があります。[1]
Tex Live は Kpathsea ライブラリを使用して、複数の texmf ツリーと現在の作業ディレクトリにまたがってファイル名でパスを探索します。
Kpathsea は以下の変数を逆順で検索します (後のツリーは前のものを上書きします)。
変数 | Arch のデフォルト 1) | その変数を使用するもの [2] |
---|---|---|
TEXMFDIST |
/usr/share/texmf-dist |
元のディストリビューションのファイル |
TEXMFLOCAL |
/usr/local/share/texmf:/usr/share/texmf |
追加およびアップデートされたマクロ、フォントなどをシステム全体にインストールするために管理者が使用 |
TEXMFSYSVAR |
/var/lib/texmf |
(キャッシュされた) ランタイムデータを保管するために updmap と fmtutil (ユーザモード) が使用 |
TEXMFSYSCONFIG |
/etc/texmf |
変更された設定データを保管するために updmap と fmtutil (ユーザモード) が使用 |
TEXMFHOME |
~/texmf |
追加およびアップデートされたマクロ、フォントなどをユーザ個別にインストールするためにユーザが使用 |
TEXMFVAR |
~/.texlive/texmf-var |
(キャッシュされた) ランタイムデータを保管するために updmap と fmtutil (システムモード) が使用 |
TEXMFCONFIG |
~/.texlive/texmf-config |
変更された設定データを保管するために updmap と fmtutil (システムモード) が使用 |
TEXMFCACHE |
$TEXMFSYSVAR;$TEXMFVAR |
(キャッシュされた) ランタイムデータを保管するために ConTeXt MkIV と LuaLaTeX が使用 |
Kpathsea は、パスを探索するための kpsewhich(1) コマンドを提供します。--var-brace-value=VARIABLE
引数で実行すれば、変数の値も表示できます。
Kpathsea はファイル名データベース (ls-R
) を使用して、システム全体の texmf ツリー (TEXMFDBS
変数で設定される) での検索を高速化させます。つまり、システム全体のファイルツリーが変更された際に mktexlsr(1) か texhash
(シンボリックリンク) を root として実行する必要があるということです。幸い、texlive-core は、/usr/local/share/texmf
を除くすべてのデフォルトのシステム全体ツリーを対象とする pacman フックで自動化します。[4] なので、システム全体に pacman を通してパッケージをインストールする限り、あなたが mktexlsr や texhash を実行する必要は全くないはずです。
ヒントとテクニック
デフォルトの用紙サイズを変更する
現在、texlive ツールを使用してデフォルトのページサイズを変更することは不可能です。ツールが標準の Arch パッケージで機能しないためです。
通常では、texconfig
か tlmgr
を実行します (これらは、他の便利な設定を変更することもできます)。
以下のように設定ファイルを変更できます。
- pdftex ファミリのコマンド (pdftex、pdflatex など) に対して用紙サイズを設定するには、
/etc/texmf/tex/generic/tex-ini-files/pdftexconfig.tex
を編集してください。
このファイルは kpsewhich pdftexconfig.tex
を実行することでも見つけられます。pdfpageheight
と pdfpagewidth
を指定する2行を変更してください。例えば、レターサイズを使用するには、
\pdfpageheight = 297 true mm \pdfpagewidth = 210 true mm
から
\pdfpageheight = 11 true in \pdfpagewidth = 8.5 true in
に変更してください。
残念ながら、これは、バイナリの .fmt ファイルをリビルドするまで効果がありません。fmtutil-sys
でリビルドできます。また、pacman で texlive-bin を再インストールしてもリビルドできます。
- dvips に対しては、
-t
オプションを使って用紙サイズを指定できます:dvips -t letter foo.dvi
。デフォルトを変更するには、/etc/texmf/dvips/config/config.ps
を編集してください。
このファイルは kpsewhich config.ps
を実行することでも見つけられます。このファイルの最後にあるセクションには、dvips が認識するすべての用紙サイズがリストアップされています。リストの最初にある用紙サイズがデフォルトとなります。デフォルトを変更するには、デフォルトにしたいサイズをリストの先頭に移動させてください。dvips の挙動は、ファイルが変更されるとすぐに変更されます。
Fontconfig でフォントを利用可能にする
デフォルトでは、さまざまな TeX Live パッケージに入っているフォントを Fontconfig から自動で利用することができません。XeTeX や LibreOffice などからフォントを使えるようにしたいときは、フォントディレクトリからユーザのフォントパスへのシンボリックリンクを作成するのが一番簡単です。OpenType フォントの場合は、以下を実行してください:
$ ln -s /usr/share/texmf-dist/fonts/opentype/public/some_fonts_you_want ~/font_path/OTF/
fontconfig で利用できるようにするには、次を実行してください:
$ fc-cache ~/font_path $ mkfontscale ~/font_path/OTF $ mkfontdir ~/font_path/OTF
TrueType フォントや Type 1 フォントに対しても似たような手順です。上記のコマンドでは、opentype
を truetype
や type1
に変更し、OTF
を TTF
や Type1
に変更します。
また、texlive-core には TeX Live によって使用されるフォントディレクトリのリストが入ったファイル /usr/share/fontconfig/conf.avail/09-texlive-fonts.conf
が含まれています。このファイルを利用するには次を実行して:
# ln -s /usr/share/fontconfig/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/09-texlive-fonts.conf
それから fontconfig を更新してください:
$ fc-cache && mkfontscale && mkfontdir
babelbib 言語定義の更新
必要としている最新の言語定義が babelbib になく、全てをリコンパイルしたくはないという問題を抱えている場合、https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/ から手動で入手して /usr/share/texmf-dist/tex/latex/babelbib/
に配置することができます。例えば:
$ cd /usr/share/texmf-dist/tex/latex/babelbib/ # wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/romanian.bdf # wget [...all-other-language-files...] # wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/babelbib.sty
その後、texhash
を実行して TeX データベースを更新してください:
# texhash
代替
Tex Live の代替としては、MikTex や Tectonic などがあります。これらは最小限のインストールで、適宜必要なパッケージをインストールします。