TeX Live
Wikipedia により:
- TeX Live は、TeX 植字システムのためのフリーソフトウェア配布で、主要な TeX 関連プログラム、マクロパッケージ、およびフォントを含んでいます。
TeX Live には tex(1) と pdftex(1) プログラム、LaTeX と ConTeXt TeX マクロパッケージ、XeTeX と LuaTeX TeX エンジンが含まれています。
目次
インストール
- texlive-most グループには、ほとんどの 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 を見てください。
使用方法
See the following resources:
- Wikibooks:LaTeX
- The Not So Short Introduction to LaTeX 2ε
- Getting to Grips with LaTeX – Andrew Roberts
- The TeX FAQ
texmf ツリーと Kpathsea
texmf trees (texmf stands for TeX and Metafont) should follow the TeX Directory Structure, or files may not be found.[1]
TeX Live uses the Kpathsea library to lookup paths by filename across multiple texmf trees and the current working directory.
Kpathsea searches the following variables in the reverse order (later trees override earlier ones).
Variables | Arch default 1) | Used by [2] |
---|---|---|
TEXMFDIST |
/usr/share/texmf-dist |
files of the original distribution |
TEXMFLOCAL |
/usr/local/share/texmf:/usr/share/texmf |
administrators for system-wide installation of additional or updated macros, fonts, etc. |
TEXMFSYSVAR |
/var/lib/texmf |
updmap and fmtutil (user mode) to store (cached) runtime data |
TEXMFSYSCONFIG |
/etc/texmf |
updmap and fmtutil (user mode) to store modified configuration data |
TEXMFHOME |
~/texmf |
users for their own individual installations of additional or updated macros, fonts, etc. |
TEXMFVAR |
~/.texlive/texmf-var |
updmap and fmtutil (sys mode) to store (cached) runtime data |
TEXMFCONFIG |
~/.texlive/texmf-config |
updmap and fmtutil (sys mode) to store modified configuration data |
TEXMFCACHE |
$TEXMFSYSVAR;$TEXMFVAR |
ConTeXt MkIV and LuaLaTeX to store (cached) runtime data |
Kpathsea provides the kpsewhich(1) command to lookup paths. When run with the --var-brace-valueテンプレート:=VARIABLE
argument it can also print the values of variables.
Kpathsea uses filename databases (ls-R
) to speed up searches in system-wide texmf trees (configured with the TEXMFDBS
variable). This means that when system-wide file trees are changed, mktexlsr(1) or texhash
(a symlink) need to be run as root. Fortunately the texlive-core automates this with a pacman hook targeting all default system-wide texmf trees but /usr/local/share/texmf
.[4] So as long as you install system-wide packages via pacman you should not need to run mktexlsr or texhash at all.
重要事項
- (MKII や MKIV の) ConTeXt フォーマットはインストール時に自動で生成されません。方法は ConTeXT wiki の説明を見て下さい。
- (上流の) TeX Live は CTAN パッケージの差分更新をするためのツールを提供しています。私たちもパッケージを定期的に更新する予定です (作業をほぼ自動化するツールを書き出しています)。
- 2009年の9月から updmap(1) のフォントマッピングを処理する方法は改善され、以前よりもインストールが信頼できるものになっています。もし、マップファイルが見つからないというエラーメッセージが表示されたときは、手動で
updmap.cfg
ファイルから削除してください (updmap-sys --edit
を使うのが理想)。また、updmap-sys --syncwithtrees
を実行すれば設定ファイルから古くなったマップを自動でコメントアウトすることができます。
ヒントとテクニック
デフォルトの用紙サイズを変更する
It is currently impossible to set the default page size using the texlive tools, because they do not work with the standard Arch package.
Usually, you would run texconfig
or tlmgr
, which are also capable of changing other useful settings.
You can edit the configuration files as follows.
- To set the paper size for the pdftex family of commands (pdftex, pdflatex, etc) edit
/etc/texmf/tex/generic/tex-ini-files/pdftexconfig.tex
file.
which can also be discovered by running kpsewhich pdftexconfig.tex
. Change the two lines that specify the pdfpageheight
and pdfpagewidth
. For example, to use letter size, change
\pdfpageheight = 297 true mm \pdfpagewidth = 210 true mm
to
\pdfpageheight = 11 true in \pdfpagewidth = 8.5 true in
Unfortunately, this will not have any effect until the binary .fmt files are rebuilt. You can do this with fmtutil-sys
. Re-installing texlive-bin with pacman will also do this for you.
- For dvips, you can use the
-t
option to specify the paper size:dvips -t letter foo.dvi
. To change the default, edit/etc/texmf/dvips/config/config.ps
file.
which can also be discovered with kpsewhich config.ps
. The end of this file has sections that list all the paper sizes that dvips knows about. The first listed paper size will be the default. Just move the one that you want to be the default to the top of the list. The behavior of dvips will be affected as soon as the file file is changed.
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
トラブルシューティング
更新時に "formats not generated" というエラー
FS#16467 を参照してください。(実験的な LuaTeX エンジンを使用しない場合、これは無視できることに注意してください。) この状況は典型的に、ハイフネーションパターンの設定ファイル language.def
と language.dat
の両方/一方に、以前のリリースの texlive-core のファイルへの参照が含まれている場合に発生します (特に、ファイル名が頻繁に変更される、ドイツ語の最新の実験的なハイフネーションパターン)。現在、それらは dehyph{n,t}-x-2009-06-19.tex
を指しているはずです。
これを解決するには、ファイル /etc/texmf/tex/generic/config/language.{def,dat}
を削除するか、/usr/share/texmf/tex/generic/config/language.{def,dat}
の最新のバージョンを使うように更新し、以下を実行する必要があります:
# fmtutil-sys --missing
tlmgr を texliveonfly で動作させる
tlmgr を texliveonfly で動作させる最も簡単な方法は、(tlmgr
をエイリアスにせずに) 以下の内容を含むスクリプト tlmgr
を $PATH
内に作成することです:
#!/bin/sh /usr/share/texmf-dist/scripts/texlive/tlmgr.pl --usermode "$@"
こうする理由は、textliveonfly が Python スクリプトであり、エイリアスを処理できないからです。
代替
Tex Live の代替としては、MikTex や Tectonic などがあります。これらは最小限のインストールで、適宜必要なパッケージをインストールします。