「TeX Live」の版間の差分
(TranslationStatus) |
細 (→texmf ツリーと Kpathsea: 修正) |
||
125行目: | 125行目: | ||
Kpathsea は、パスを探索するための {{man|1|kpsewhich}} コマンドを提供します。{{ic|1=--var-brace-value=''VARIABLE''}} 引数で実行すれば、変数の値も表示できます。 |
Kpathsea は、パスを探索するための {{man|1|kpsewhich}} コマンドを提供します。{{ic|1=--var-brace-value=''VARIABLE''}} 引数で実行すれば、変数の値も表示できます。 |
||
− | Kpathsea はファイル名データベース ({{ic|ls-R}}) を使用して、システム全体の texmf ツリー ({{ic|TEXMFDBS}} 変数で設定される) での検索を高速化させます。つまり、システム全体のファイルツリーが変更された際に {{man|1|mktexlsr}} か {{ic|texhash}} を [[ユーザーとグループ#概要|root]] として実行する必要があるということです。幸い、{{Pkg|texlive-core}} は、{{ic|/usr/local/share/texmf}} を除くすべてのデフォルトのシステム全体ツリーを対象とする [[pacman フック]]で自動化します。[https://github.com/archlinux/svntogit-packages/blob/packages/texlive-core/trunk/mktexlsr.hook] なので、システム全体に [[pacman]] を通してパッケージをインストールする限り、あなたが ''mktexlsr'' や ''texhash'' を実行する必要は全くないはずです。 |
+ | Kpathsea はファイル名データベース ({{ic|ls-R}}) を使用して、システム全体の texmf ツリー ({{ic|TEXMFDBS}} 変数で設定される) での検索を高速化させます。つまり、システム全体のファイルツリーが変更された際に {{man|1|mktexlsr}} か {{ic|texhash}} (シンボリックリンク) を [[ユーザーとグループ#概要|root]] として実行する必要があるということです。幸い、{{Pkg|texlive-core}} は、{{ic|/usr/local/share/texmf}} を除くすべてのデフォルトのシステム全体ツリーを対象とする [[pacman フック]]で自動化します。[https://github.com/archlinux/svntogit-packages/blob/packages/texlive-core/trunk/mktexlsr.hook] なので、システム全体に [[pacman]] を通してパッケージをインストールする限り、あなたが ''mktexlsr'' や ''texhash'' を実行する必要は全くないはずです。 |
{{Tip|ローカルリポジトリをセットアップするために、{{ic|~/texmf/tex/{format}/}} ディレクトリ構造を作成することができます ({{ic|{format} }} は通常 {{ic|latex}} です)。カスタムクラスは {{ic|./{format} }} フォルダ直下に配置され、他のローカルファイルは同じ名前のフォルダに配置されます (例えば、{{ic|mycustompackage.sty}} は {{ic|./{formats}/mycustompackage/mycustompackage.sty}} に行きます)。その後、{{ic|texhash}} を実行してユーザのデータベースをアップデートしてください。}} |
{{Tip|ローカルリポジトリをセットアップするために、{{ic|~/texmf/tex/{format}/}} ディレクトリ構造を作成することができます ({{ic|{format} }} は通常 {{ic|latex}} です)。カスタムクラスは {{ic|./{format} }} フォルダ直下に配置され、他のローカルファイルは同じ名前のフォルダに配置されます (例えば、{{ic|mycustompackage.sty}} は {{ic|./{formats}/mycustompackage/mycustompackage.sty}} に行きます)。その後、{{ic|texhash}} を実行してユーザのデータベースをアップデートしてください。}} |
2023年1月3日 (火) 08:35時点における版
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 を見てください。
使用方法
以下のリソースを参照してください:
- Wikibooks:LaTeX
- The Not So Short Introduction to LaTeX 2ε
- Getting to Grips with LaTeX – Andrew Roberts
- The TeX FAQ
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 を実行する必要は全くないはずです。
重要事項
- (MKII や MKIV の) ConTeXt フォーマットはインストール時に自動で生成されません。方法は ConTeXT wiki の説明を見て下さい。
- (上流の) TeX Live は CTAN パッケージの差分更新をするためのツールを提供しています。私たちもパッケージを定期的に更新する予定です (作業をほぼ自動化するツールを書き出しています)。
- 2009年の9月から updmap(1) のフォントマッピングを処理する方法は改善され、以前よりもインストールが信頼できるものになっています。もし、マップファイルが見つからないというエラーメッセージが表示されたときは、手動で
updmap.cfg
ファイルから削除してください (updmap-sys --edit
を使うのが理想)。また、updmap-sys --syncwithtrees
を実行すれば設定ファイルから古くなったマップを自動でコメントアウトすることができます。
ヒントとテクニック
デフォルトの用紙サイズを変更する
現在、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
トラブルシューティング
更新時に "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 などがあります。これらは最小限のインストールで、適宜必要なパッケージをインストールします。