「TeX Live」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(1版 をインポートしました)
(→‎インストール: 訳を微修正)
 
(9人の利用者による、間の43版が非表示)
1行目: 1行目:
 
[[Category:TeX]]
 
[[Category:TeX]]
 
[[en:TeX Live]]
 
[[en:TeX Live]]
[[it:TeXLive]]
+
[[fa:LaTeX]]
[[zh-CN:TeXLive]]
+
[[it:TeX Live]]
  +
[[zh-hans:TeX Live]]
 
{{Related articles start}}
 
{{Related articles start}}
{{Related|TeX Live FAQ}}
+
{{Related4|TeX Live FAQ}}
{{Related|TeX Live and CJK}}
+
{{Related|TeX Live/CJK}}
{{Related2|LaTeX|LaTeX}}
+
{{Related|Tectonic}}
 
{{Related articles end}}
 
{{Related articles end}}
  +
[[Wikipedia:TeX Live|Wikipedia]] により:
[http://www.tug.org/texlive/ TeX Live] は"簡単に立ち上げて使える [[Wikipedia:ja:TeX|TeX]] 文章生成システムです。GNU/Linux を含むほとんどの Unix や Windows に対応したバイナリの包括的な TeX システムを提供します。主要な TeX 関連プログラム、マクロパッケージ、フォントなどを全て含み、世界中の言語をサポートしています。"
 
   
  +
:'''TeX Live''' は、[[Wikipedia:TeX|TeX]] 植字システムのためのフリーソフトウェア配布で、主要な TeX 関連プログラム、マクロパッケージ、およびフォントを含んでいます。
より詳しい情報は次を見て下さい: [[:Category:TeX]]
 
   
  +
Tex Live には以下が含まれています:
== インストール ==
 
  +
* 多くの TeX エンジン。例えば:
[[公式リポジトリ]]では TeX Live のパッケージは2つのグループに分けられています:
 
  +
** [[Wikipedia:ja:pdfTeX|pdfTeX]]
* {{grp|texlive-most}} には TeX Live のアプリケーションが入っています。
 
  +
**[[Wikipedia:ja:XeTeX|XeTeX]]
* {{grp|texlive-lang}} には様々な文字セットや非英語圏の機能が入っています。
 
  +
**[[Wikipedia:ja:LuaTeX|LuaTeX]]
  +
* 基本的なマクロパッケージ (TeX 用語では ''フォーマット'' と呼ばれます)。例えば:
  +
** [[Wikipedia:ja:LaTeX|LaTeX]]
  +
** [[Wikipedia:ja:ConTeXt|ConTeXt]]
  +
* ユーザによって作成された多くパッケージ
   
  +
== Arch の TeX Live パッケージとネイティブな TeX Live との違い ==
必須のパッケージ {{Pkg|texlive-core}} には基本的な texmf-dist ツリーが含まれており、{{Pkg|texlive-bin}} にはバイナリやライブラリ、texmf ツリーが含まれています。{{Pkg|texlive-core}} は上流のディストリビューションの “medium” インストールスキームに基づいています。他のパッケージは全て TeX Live の eponymous コレクションに基づいています。CTAN パッケージがそれぞれのパッケージに含まれているか確かめるには、次のファイルを調べて下さい:
 
/var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs
 
   
  +
TeX Live をインストールする方法は複数存在します。TeX Live のスナップショットは Arch Linux のパッケージリポジトリで利用可能ですが (以下を参照)、ほとんどの場合、そのスナップショットは1年に1度しかアップデートされません。対して、TeX Live 自体はローリングリリースなディストリビューションであり、ユーザは1年に1度アップグレードする必要があるというモデルに基づいてはいますが、個々のパッケージのアップグレードは日単位で利用できます。
=== texlive-most ===
 
{| width="100%"
 
|- valign="top"
 
|
 
* {{Pkg|texlive-core}}
 
* {{Pkg|texlive-bibtexextra}}
 
* {{Pkg|texlive-fontsextra}}
 
* {{Pkg|texlive-formatsextra}}
 
* {{Pkg|texlive-games}}
 
|
 
* {{Pkg|texlive-genericextra}}
 
* {{Pkg|texlive-htmlxml}}
 
* {{Pkg|texlive-humanities}}
 
* {{Pkg|texlive-latexextra}}
 
* {{Pkg|texlive-music}}
 
|
 
* {{Pkg|texlive-pictures}}
 
* {{Pkg|texlive-plainextra}}
 
* {{Pkg|texlive-pstricks}}
 
* {{Pkg|texlive-publishers}}
 
* {{Pkg|texlive-science}}
 
|}
 
   
  +
Arch Linux のリポジトリでパッケージングされている TeX Live のスナップショットは、ほとんどのユーザにとって問題ないはずです。使用目的が単に他人のドキュメントをコンパイルすることである場合は特にです。逆に、使用目的が自分でドキュメントを作成することであるならば、''ネイティブな'' TeX Live をインストールするのが最も良い選択である可能性もあります。
=== texlive-lang ===
 
* {{Pkg|texlive-langcjk}}
 
* {{Pkg|texlive-langcyrillic}}
 
* {{Pkg|texlive-langgreek}}
 
* {{Pkg|texlive-langextra}}
 
   
  +
ネイティブで最新の TeX Live をインストールすることには、最新の機能やバグフィックス、関連するドキュメントを入手できるという利点もあります。ネイティブな TeX Live をインストールせずに個々のパッケージをアップグレードしたりインストールしたりすることは可能で''ある''ものの ({{ic|TEXMFLOCAL}} と {{ic|TEXMFHOME}} を参照)、これには注意が必要です。というのも、関連する全てのパッケージのバージョンが互いに互換性があることを確認する必要があるからです。
{{note|{{Pkg|texlive-langextra}} はアフリカ・アラビア・アルメニア・クロアチア・ヘブライ・インド・モンゴル・チベット・ベトナムの言語サポートを提供します。}}
 
   
  +
ネイティブな TeX Live とは対照的に、Arch Linux のリポジトリにある TeX Live パッケージにはドキュメントが含まれない傾向にあります。CTAN からのドキュメントは TeX パッケージの最新バージョン用のものしか入手できないので、これは問題となります。
=== 代案: TeX Live ネットワークインストール ===
 
   
  +
{{Note|複数の TeX Live インストールを単一のシステムで共存させることは可能です。}}
TeX Live を手動でインストールすることは通常のインストールよりもコントロールが効きプロセスの理解に役立つため Arch Way の主旨に沿います。また、100 MB 以下でフル機能の LaTeX ディストリビューションを取得する唯一の方法であり、使わないような数千のパッケージをインストールする必要がありません。
 
   
  +
=== ネイティブな TeX Live ===
TeX Live のネットワークインストールについては詳しいガイドが [http://en.wikibooks.org/wiki/LaTeX/Installation#Custom_installation_with_TeX_Live LaTeX Wikibook] にあります。
 
   
  +
==== インストール ====
TeX Live をネットワークインストールする情報: http://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-140003
 
   
  +
[https://tug.org/texlive/quickinstall.html quickinstall] ドキュメントを参照してください。必要であれば、[https://tug.org/texlive/doc/texlive-en/texlive-en.html 完全な]ドキュメント ([https://tug.org/texlive/doc/texlive-ja/ 日本語訳]) も参照してください。作業は以下のように要約されます:
TeX Live のネットワークインストールに関するメリットとデメリットの[https://bbs.archlinux.org/viewtopic.php?id=109427 議論]もあります。
 
   
  +
# netinstall [https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz アーカイブ]をダウンロードする
texlive がインストールされていることを必要とするプログラム (例: kile) のために AUR から {{AUR|texlive-dummy}} パッケージを使うことができます。
 
  +
# アーカイブを展開し、新しく作成されたディレクトリへ移動する
  +
# インストールスクリプトを実行する ({{ic|perl ./install-tl}})。これで、テキストインターフェイスのインタラクティブなインストール手順が始まります
  +
## 1つ、または複数のインストールパスを設定する
  +
## 任意で、TeX Live によって提供されているパッケージ ''コレクション'' のサブセットを選択する
  +
## 任意で、A4 ではなくレター用紙サイズをデフォルトとして選択する
  +
## ダウンロードが終わるのを待つ
  +
# インストールスクリプトの実行が終わったら、TeX Live のインストール場所をシステムの実行ファイルパスとドキュメンテーションパス ({{ic|PATH}}、{{ic|MANPATH}}、{{ic|INFOPATH}}) に追加する必要があります。インストールスクリプトは、追加すべきパスを終了前に出力してくれます。
   
== 重要事項 ==
+
==== アップデート ====
   
  +
[https://tug.org/texlive/doc/tlmgr.html tlmgr] ドキュメントを参照してください。{{ic|tlmgr update --all}} を実行すると、インストール中に選択したコレクションの全パッケージをアップグレードします。また、インストール済みの TeX Live コレクションに新しく追加されたパッケージもインストールされます。
* 2009年の9月から updmap のフォントマッピングを処理する方法は改善され、以前よりもインストールが信頼できるものになっています。もし、マップファイルが見つからないというエラーメッセージが表示されたときは、手動で {{ic|updmap.cfg}} ファイルから削除してください ({{Ic|updmap-sys --edit}} を使うのが理想)。また、{{Ic|updmap-sys --syncwithtrees}} を実行すれば設定ファイルから古くなったマップを自動でコメントアウトすることができます。
 
   
  +
年に1度、TeX Live の新しいリリースがあると、{{ic|tlmgr update --all}} は失敗します。その場合、TeX Live を新しくインストールする必要があります。
* (MKII や MKIV の) ConTeXt フォーマットはインストール時に自動で生成されません。[http://wiki.contextgarden.net '''ConTeXT wiki'''] の説明を見て下さい。
 
   
  +
=== Arch の TeX Live パッケージ ===
* ドキュメントやソースを含むパッケージを [community] リポジトリから取得することができます。また、オンラインで http://tug.org/texlive/Contents/live/doc.html や CTAN で見ることも可能です。
 
   
  +
* {{Grp|texlive}} グループには、ほとんどの TeX Live パッケージが含まれています。上流のコレクションに基づいてカテゴリ化されています ([https://tex.stackexchange.com/questions/356831/tex-live-package-collection-organisation] を参照)。
* (上流の) TeX Live は CTAN パッケージの差分更新をするためのツールを提供しています。私たちもパッケージを定期的に更新する予定です (作業をほぼ自動化するツールを書き出しています)。
 
  +
** {{Pkg|texlive-basic}} はコアのパッケージです。上流の ''medium'' インストールスキームに基づいています。このパッケージには、''mktexlsr''、''fmtutil''、''updmap'' を自動化する [[pacman フック]]が含まれています。
  +
** {{Pkg|texlive-latex}} には、必須の LaTeX パッケージ群が含まれています。
  +
** {{Pkg|texlive-latexrecommended}} と {{Pkg|texlive-latexextra}} には多くの便利な LaTeX パッケージが含まれています (例: {{ic|polyglossia}}、{{ic|amsmath}}、{{ic|graphicx}})。
  +
** {{Pkg|texlive-fontsrecommended}} には必須のフォントが含まれています (デフォルトの Latin Modern を含む)。
  +
** {{Pkg|texlive-fontsextra}} には追加のフォントが含まれています。フォントは [https://www.tug.org/FontCatalogue/ LaTeX Font Catalogue] で閲覧できます。
  +
** {{Pkg|texlive-xetex}} と {{Pkg|texlive-luatex}} には XeTeX と LuaTeX のパッケージがそれぞれ含まれています。
  +
** {{Pkg|texlive-bibtexextra}} には、[https://ctan.org/pkg/biblatex BibLaTeX] パッケージ、追加の BibTeX スタイル、および参考文献データベースが含まれています。。
  +
* {{Grp|texlive-lang}} グループには、非ラテン文字の言語のための文字セットと機能を提供するパッケージが含まれています。
  +
** {{Pkg|texlive-langcjk}} は、中国語、日本語、そして韓国語の言語サポートの共通部分です。
  +
** {{Pkg|texlive-langjapanese}} は、日本語の言語サポートを提供します。
  +
** {{Pkg|texlive-langother}} は、アフリカの言語、アラビア語、アルメニア語、クロアチア語、ヘブライ語、インド語群、モンゴル語、チベット語、そしてベトナム語の言語サポートを提供します。
  +
* {{Pkg|biber}} は、BibLaTeX のための代替の参考文献処理バックエンドを提供します。
  +
* {{AUR|texlive-latexindent-meta}} メタパッケージは、''latexindent'' を実際に使うために必要になるすべての依存パッケージを提供します。
   
  +
[https://www.ctan.org/ CTAN] で利用できる TeX パッケージをインストールする必要がある場合は、以下のコマンドを実行して、そのパッケージが Arch の ''texlive-'' パッケージに含まれているか確認してください:
* TeX Live に入っているツールやユーティリティには {{Pkg|ghostscript}}, {{Pkg|perl}}, {{Pkg|ruby}} に依存しているものがあります。
 
   
  +
$ tlmgr info ctan_package_name | grep collection
* TeX Live のヘルプや情報は次を参照してください: http://tug.org/texlive/doc.html と http://tug.org/texlive/doc/texlive-en/texlive-en.html
 
   
  +
このコマンドは、Arch の ''texlive-'' パッケージに対応する TeX Live コレクションの名前が表示される可能性があります (そのようなパッケージが存在するかどうか {{Grp|texlive}} を確認してください)。例えば、{{ic|collection: collection-plaingeneric}} という出力は、TeX パッケージが {{Pkg|texlive-plaingeneric}} に含まれていることを意味します。
* システム全体の設定ファイルは {{ic|/usr/share/texmf-config}} にあります。ユーザー別の設定ファイルは {{ic|~/.texlive/texmf-config}} の下に置いて下さい。{{Ic|$TEXMFHOME}} は {{ic|~/texmf}} で {{Ic|$TEXMFVAR}} は {{ic|~/.texlive/texmf-var}} です。
 
   
  +
あるいは、{{ic|tlmgr}} を使って手動で単一の TeX パッケージをインストールすることもできます (以下を参照)。
* ローカルの texmf ツリーのスケルトンは {{ic|/usr/local/share/texmf}} にあります: このディレクトリは '''tex''' グループのメンバーに書き込みが許可されています。
 
   
  +
{{Note|TeX Live に含まれている一部のツールとユーティリティは、{{Pkg|ghostscript}} や {{Pkg|perl}}、{{Pkg|python}}、{{Pkg|ruby}} に依存しています。詳細は、それぞれのパッケージの任意の依存パッケージを見てください。}}
===用紙サイズ===
 
デフォルトのページサイズを A4 以外 ("Letter" など) に設定したい場合は、次のコマンドを実行してください:
 
$ texconfig
 
このコマンドは他の便利な設定を変更するのにも使えます。
 
   
  +
==== tllocalmgr ====
===アップデート時の "formats not generated" エラー===
 
   
[https://bugs.archlinux.org/task/16467 このバグレポート]を参照してください。
+
{{Warning|1=tllocalmgr がもはや機能していないと報告されています。[https://bbs.archlinux.org/viewtopic.php?id=286197] を参照してください。}}
{{Note|実験的なエンジン ''LuaTeX'' を使っていない場合は、無視してかまいません。}}
 
ハイフネーションパターンの設定ファイル {{ic|language.def}} や {{ic|language.dat}} に {{Ic|texlive-core}} の初期リリースに入っているファイルへの参照が含まれているときにこのエラーがよく発生します。特に、名前が頻繁に変わるドイツ語の最新の実験的なハイフネーションパターンが原因です。現在はドイツ語のパターンは {{ic|dehyph{n,t}-x-2009-06-19.tex}} になっています。
 
   
  +
{{AUR|tllocalmgr}} によって提供されている ''tllocalmgr'' ユーティリティは、[[pacman]] パッケージとして CTAN からパッケージをインストールできるようにします。詳細は [https://github.com/hv15/tllocalmgr/blob/master/tllocalmgr#L835 使用方法] ({{ic|-h}}) を見てください。
この問題を解決するには、次のファイルを削除するか: {{ic|/usr/share/texmf-config/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}}
 
新しいバージョンを使って更新する必要があります: {{ic|/usr/share/texmf/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}}
 
その後、次を実行してください
 
# fmtutil-sys --missing
 
   
===フォント===
+
==== tlmgr ====
   
  +
{{Pkg|texlive-basic}} を使えば、''tlmgr'' ユーティリティは設定無しで動くはずです。問題が発生した場合や、古い {{ic|texlive-core}} パッケージを使用している場合は、''tlmgr'' を動作させるために以下の手順を踏む必要があります。
デフォルトでは、さまざまな TeX Live パッケージに入っているフォントを Fontconfig から自動で利用することができません。XeTeX や [[LibreOffice|LibreOffice]] などからフォントを使えるようにしたいときは、以下のようにシンボリックリンクを作成するのが一番簡単です:
 
# ln -s /usr/share/texmf-dist/fonts/opentype/public/<some_fonts_you_want> ~/.fonts/OTF/ (or TTF or Type1)
 
   
  +
{{Note|
fontconfig で利用できるようにするには、次を実行してください:
 
  +
* {{Pkg|texlive-basic}} は ''TEXMFDIST'' 内に [https://www.tug.org/texlive/tlmgr.html tlmgr] スクリプトを提供しますが、これは壊れています ({{Bug|74404}})。これは、以下で説明されているように修正することができます。
# fc-cache ~/.fonts
 
  +
* {{man|1|texconfig}} コマンドは、部分的に ''tlmgr'' に依存しているため、ほぼ壊れています ({{Bug|59094}})。{{ic|texconfig}} のインタラクティブモードには {{Pkg|dialog}} が必要です。
# mkfontscale ~/.fonts/OTF (or TTF or Type1)
 
  +
}}
# mkfontdir ~/.fonts/OTF (or TTF or Type1)
 
   
  +
{{Accuracy|以下の修正は {{Pkg|texlive-core}}{{Broken package link|replaced by {{Pkg|texlive-basic}}}} パッケージに組み込まれるべきです。''TEXMFDIST'' 内のファイルを編集しても、パッケージをアップグレードすると変更が上書きされてしまいます。}}
また、{{Pkg|texlive-bin}} には TeX Live によって使用されるフォントディレクトリのリストが入ったファイル {{ic|/etc/fonts/conf.avail/09-texlive-fonts.conf}} が含まれています。このファイルを利用するには次を実行して:
 
   
  +
''tlmgr'' ユーティリティは、CTAN からパッケージをインストール、アップデートする標準的な方法です。以下のように小さな修正が必要となります:
{{bc|# ln -s /etc/fonts/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/09-texlive-fonts.conf}}
 
   
  +
まず、{{ic|''TEXMFDIST''/scripts/texlive/tlmgr.pl}} を編集して {{ic|1=$Master = "$Master/../..";}} を {{ic|1=$Master = "${Master}/../../..";}} に置き換えてください。パスのプレフィックス ''TEXMFDIST'' は、事前に定義された環境変数ではなく、この記事の以下で定義されたものです。このプレフィックスは正しい値に置き換えてください。
それから fontconfig を更新してください:
 
   
  +
また、コマンドラインから {{ic|1=sudo sed -i 's/\$Master = "\$Master\/..\/..";/\$Master = "\$Master\/..\/..\/..";/' "$TEXMFDIST/scripts/texlive/tlmgr.pl"}} を実行することでも可能です。
{{bc|# fc-cache && mkfontscale && mkfontdir}}
 
   
  +
その perl スクリプトのエイリアスを作成してください (シェルの初期化ファイルに追加できます)。
{{Note|This may cause conflicts with XeTeX/XeLaTeX if the same fonts are (separately) available to both TeX and Fontconfig, i.e. if multiple copies of the same font are available on the search path.}}
 
   
  +
alias tlmgr='''TEXMFDIST''/scripts/texlive/tlmgr.pl --usermode'
== TeXLive Local Manager ==
 
   
  +
これで、ユーザモードで初期化できます (インストールプレフィックスとして {{ic|~/texmf}} を使用します):
TeXLive Local Manager は Firmicus によって提供されているユーティリティで、Arch Linux 上の TeX Live 環境を便利に管理することができます。
 
[[Arch User Repository|AUR]] の {{AUR|texlive-localmanager-git}} を見て下さい。
 
   
  +
$ tlmgr init-usertree
Usage: tllocalmgr
 
tllocalmgr [options] [command] [args]
 
 
Running tllocalmgr alone starts the TeXLive local manager shell
 
for Arch Linux. This shell is capable of command-line completion!
 
There you can look at the available updates with the command 'status'
 
and you can install individual CTAN packages using 'install' or 'update'
 
under $TEXMFLOCAL. This is done by creating a package texlive-local-<pkg>
 
and installing it with pacman. Note that this won’t interfere with your
 
standard texlive installation, but files under $TEXMFLOCAL will take
 
precedence.
 
 
Here are the commands available in the shell:
 
 
Commands:
 
status -- Current status of TeXLive installation
 
shortinfo * -- Print a one-liner description of CTAN packages
 
info * -- Print info on CTAN packages
 
update * -- Locally update CTAN packages
 
install * -- Locally install new CTAN packages
 
installdoc * -- Locally install documentation of CTAN packages
 
installsrc * -- Locally install sources of CTAN packages
 
listfiles * -- List all files in CTAN packages
 
search * -- Search info on CTAN packages
 
searchfiles * -- Search for files in CTAN packages
 
texhash -- Refresh the TeX file database
 
clean -- Clean local build tree
 
help -- Print helpful information
 
quit -- Quit tllocalmgr
 
 
The commands followed by * take one of more package names as arguments.
 
Note that these can be completed automatically by pressing TAB.
 
 
You can also run tllocalmgr as a standard command-line program, with
 
one of the above commands as argument, then the corresponding task will
 
be performed and the program will exit (except when the command is 'status').
 
 
tllocalmgr accepts the following options:
 
 
Options: --help Shows this help
 
--version Show the version number
 
--forceupdate Force updating the TeXLive database
 
--skipupdate Skip updating the TeXLive database
 
--localsearch Search only installed packages
 
--location #TODO?
 
--mirror CTAN mirror to use (default is mirror.ctan.org)
 
--nocolor #TODO
 
   
  +
自由に[https://www.ctan.org/mirrors ミラー]を設定してください。ミラーのパスの末尾に {{ic|/systems/texlive/tlnet}} を追加する必要があります。例えば:
=== 最近の "langukenglish" エラー ===
 
{{ic|tllocalmgr}} コマンドを実行しようとこのエラーが表示されることがあります:
 
Can't get object for collection-langukenglish at /usr/bin/tllocalmgr line 103
 
AUR の {{AUR|texlive-localmanager}} に ary0 の解決法が載っています。{{ic|/usr/share/texmf-var/arch/tlpkg/TeXLive/Arch.pm}} を編集して以下のセクションから "langukenglish" を削除してください:
 
my @core_colls =
 
qw/ basic context genericrecommended fontsrecommended langczechslovak
 
langdutch langfrench langgerman langitalian langpolish langportuguese
 
langspanish **langukenglish** latex latexrecommended luatex mathextra metapost
 
texinfo xetex /;
 
   
  +
<nowiki>$ tlmgr option repository http://mirrors.rit.edu/CTAN/systems/texlive/tlnet</nowiki>
== .sty ファイルのインストール ==
 
TeX Live (と teTeX) は自前のディレクトリインデックス ({{ic|ls-R}} という名前のファイル) を使っているため、ファイルを TeX ツリーの中にコピーしたときはインデックスを更新する必要があります。そうしないと TeX はコピーしたファイルを認識できません。利用するコマンド:
 
{{bc|# mktexlsr}}
 
または
 
{{bc|# texhash}}
 
または
 
{{bc|# texconfig[-sys] rehash}}
 
インデックスを検索するコマンドラインプログラムは:
 
kpsewhich
 
これを使って特定のファイルを TeX が見つけているか確認できます:
 
kpsewhich <filename>
 
出力はそのファイルのフルパスになります。
 
   
  +
これで、CTAN パッケージを通常通りインストールできるようになりました:
=== 手動インストール ===
 
通常、新しい .sty ファイルは {{ic|/usr/share/texmf-dist/tex/latex/<package name>/*}} に入ります。このディレクトリがない場合は作成してください。*tex を実行するとディレクトリが自動で検索されます。詳しい説明は次を見て下さい: https://bbs.archlinux.org/viewtopic.php?id=85757
 
   
  +
$ tlmgr install ''package_name''
=== PKGBUILD を使う ===
 
コンピュータ全体で LaTeX パッケージをインストールするときは、メンテナンスを簡単にするために [[PKGBUILD|PKGBUILD]] を使いましょう。[[Arch User Repository|AUR]] の {{AUR|texlive-gantt}} パッケージをサンプルとして見て下さい:
 
<pre>
 
# Original autor: Martin Kumm <pluto@ls68.de>
 
# Maintainer: masterkorp <masterkorp@gmail.com> irc: masterkorp at freenode.org
 
# Last edited: 2nd April 2011
 
   
  +
==== パッケージのドキュメント ====
pkgname=texlive-gantt
 
pkgver=1.3
 
pkgrel=1
 
license=('GPL')
 
depends=('texlive-core')
 
pkgdesc="A LaTeX package for drawing gantt plots using pgf/tikz"
 
url="http://www.martin-kumm.de/tex_gantt_package.php"
 
arch=('any')
 
install=texlive-gantt.install
 
source=(http://www.martin-kumm.de/tex/gantt.sty)
 
md5sums=('e942191eb0024633155aa3188b4bbc06')
 
   
  +
公式リポジトリ内のパッケージには、フォント/マクロのパッケージのドキュメントやソースファイルが含まれていません。
build()
 
{
 
mkdir -p $pkgdir/usr/share/texmf/tex/latex/gantt
 
cp $srcdir/gantt.sty $pkgdir/usr/share/texmf/tex/latex/gantt
 
}
 
</pre>
 
   
  +
{{ic|texdoc}} でオフラインアクセスするには、{{AUR|texlive-most-doc}} を使って TeX Live のドキュメントとソースファイルを全て[[インストール]]してください。
{{ic|.install}} ファイル:
 
<pre>
 
post_install() {
 
post_remove
 
echo "The file was installed in:"
 
kpsewhich gantt.sty
 
}
 
   
  +
また、オンラインでドキュメントにアクセスすることもできます:
post_upgrade() {
 
post_install
 
}
 
   
  +
* https://tug.org/texlive/Contents/live/doc.html
post_remove() {
 
  +
* https://ctan.org/ – Tex 関連の全種類の資料の中心的な場所
echo "Upgrading package database..."
 
  +
* https://texdoc.net/{{Dead link|2022|09|23|status=SSL error}} ({{ic|<nowiki>http://texdoc.net/pkg/</nowiki>''packagename''}} は、関連する PDF を直接生成します)
mktexlsr
 
}
 
</pre>
 
   
  +
== 使用方法 ==
== babelbib 言語定義の更新 ==
 
必要としている最新の言語定義が babelbib になく、全てをリコンパイルしたくはないという問題を抱えている場合、https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/ から手動で入手して {{ic|/usr/share/texmf-dist/tex/latex/babelbib/}} に配置することができます。例えば:
 
   
  +
以下のリソースを参照してください:
{{bc|
 
  +
# cd /usr/share/texmf-dist/tex/latex/babelbib/
 
  +
* [[Wikibooks:LaTeX]] ([[Wikibooks:Ja:TeX/LaTeX入門]])
  +
* [https://tobi.oetiker.ch/lshort/lshort.pdf The Not So Short In­tro­duc­tion to LaTeX 2ε]
  +
* [https://www.andy-roberts.net/writing/latex Getting to Grips with LaTeX – Andrew Roberts]
  +
* [https://www.texfaq.org/ The TeX FAQ]
  +
  +
ドキュメントの作成に [[アプリケーション一覧/ドキュメント#TeX editors|TeX エディタ]]を使うこともできます。
  +
  +
=== ドキュメントをコンパイルするための高レベルなラッパー ===
  +
  +
ほとんどの場合、{{man|1|pdflatex}} のようなものを直接呼び出すより、{{man|1|latexmk}} や {{man|1|arara}} といった高レベルなツールを使うほうが合理的です。その理由は主に、低レベルなツールは単一のドキュメントを完全にコンパイルするのに通常複数回実行する必要があるからです。
  +
  +
=== texmf ツリーと Kpathsea ===
  +
  +
texmf ツリー (''texmf'' は TeX と [[Wikipedia:ja:METAFONT|Metafont]] の略) は [https://tug.org/tds/ TeX Directory Structure] に従う必要があります。さもないと、ファイルを見つけられない場合があります。[https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#x1-110002.3]
  +
  +
Tex Live は [https://tug.org/texinfohtml/kpathsea.html Kpathsea] ライブラリを使用して、複数の texmf ツリーと現在の作業ディレクトリにまたがってファイル名でパスを探索します。
  +
  +
Kpathsea は以下の変数を逆順で検索します (後のツリーは前のものを上書きします)。
  +
  +
{| class="wikitable"
  +
! 変数 !! Arch のデフォルト <sup>1)</sup> !! その変数を使用するもの [https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#x1-110002.3]
  +
|-
  +
| {{ic|TEXMFDIST}} || {{ic|/usr/share/texmf-dist}} || 元のディストリビューションのファイル
  +
|-
  +
| {{ic|TEXMFLOCAL}} || {{ic|/usr/local/share/texmf:/usr/share/texmf}} || 追加およびアップデートされたマクロ、フォントなどをシステム全体にインストールするために管理者が使用
  +
|-
  +
| {{ic|TEXMFSYSVAR}} || {{ic|/var/lib/texmf}} || (キャッシュされた) ランタイムデータを保管するために updmap と fmtutil (ユーザモード) が使用
  +
|-
  +
| {{ic|TEXMFSYSCONFIG}} || {{ic|/etc/texmf}} || 変更された設定データを保管するために updmap と fmtutil (ユーザモード) が使用
  +
|-
  +
| {{ic|TEXMFHOME}} || {{ic|~/texmf}} || 追加およびアップデートされたマクロ、フォントなどをユーザ個別にインストールするためにユーザが使用
  +
|-
  +
| {{ic|TEXMFVAR}} || {{ic|~/.texlive/texmf-var}} || (キャッシュされた) ランタイムデータを保管するために updmap と fmtutil (システムモード) が使用
  +
|-
  +
| {{ic|TEXMFCONFIG}} || {{ic|~/.texlive/texmf-config}} || 変更された設定データを保管するために updmap と fmtutil (システムモード) が使用
  +
|-
  +
| {{ic|TEXMFCACHE}} || {{ic|$TEXMFSYSVAR;$TEXMFVAR}} || (キャッシュされた) ランタイムデータを保管するために ConTeXt MkIV と LuaLaTeX が使用
  +
|}
  +
  +
{{Note|デフォルトの値は {{ic|/etc/texmf/web2c/texmf.cnf}}[https://github.com/archlinux/svntogit-packages/blob/packages/texlive-core/trunk/texmf.cnf] で定義されています。それらの値は[[環境変数]]によって上書きできます。}}
  +
  +
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}}{{Broken package link|replaced by {{Pkg|texlive-basic}} は、{{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}} を実行してユーザのデータベースをアップデートしてください。}}
  +
  +
== ヒントとテクニック ==
  +
  +
=== デフォルトの用紙サイズを変更する ===
  +
  +
{{Accuracy|設定ファイルを直接編集することで可能です。[https://tug.org/pipermail/tex-live/2009-April/020692.html]}}
  +
  +
現在、texlive ツールを使用してデフォルトのページサイズを変更することは不可能です。ツールが標準の Arch パッケージで機能しないためです。
  +
  +
通常では、{{ic|texconfig}} か {{ic|tlmgr}} を実行します (これらは、他の便利な設定を変更することもできます)。
  +
  +
以下のように設定ファイルを変更できます。
  +
  +
* ''pdftex'' ファミリのコマンド (''pdftex''、''pdflatex'' など) に対して用紙サイズを設定するには、{{ic|/etc/texmf/tex/generic/tex-ini-files/pdftexconfig.tex}} を編集してください。
  +
  +
このファイルは {{ic|kpsewhich pdftexconfig.tex}} を実行することでも見つけられます。{{ic|pdfpageheight}} と {{ic|pdfpagewidth}} を指定する2行を変更してください。例えば、レターサイズを使用するには、
  +
  +
\pdfpageheight = 297 true mm
  +
\pdfpagewidth = 210 true mm
  +
  +
から
  +
  +
\pdfpageheight = 11 true in
  +
\pdfpagewidth = 8.5 true in
  +
  +
に変更してください。
  +
  +
残念ながら、これは、バイナリの ''.fmt'' ファイルをリビルドするまで効果がありません。{{ic|fmtutil-sys}} でリビルドできます。また、[[pacman]] で {{Pkg|texlive-bin}} を再インストールしてもリビルドできます。
  +
  +
* ''dvips'' に対しては、{{ic|-t}} オプションを使って用紙サイズを指定できます: {{ic|dvips -t letter foo.dvi}}。デフォルトを変更するには、{{ic|/etc/texmf/dvips/config/config.ps}} を編集してください。
  +
  +
このファイルは {{ic|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 フォントに対しても似たような手順です。上記のコマンドでは、{{ic|opentype}} を {{ic|truetype}} や {{ic|type1}} に変更し、{{ic|OTF}} を {{ic|TTF}} や {{ic|Type1}} に変更します。
  +
  +
また、{{Pkg|texlive-core}}{{Broken package link|replaced by {{Pkg|texlive-basic}} には TeX Live によって使用されるフォントディレクトリのリストが入ったファイル {{ic|/usr/share/fontconfig/conf.avail/09-texlive-fonts.conf}} が含まれています。このファイルを利用するには次を実行して:
  +
  +
{{bc|# ln -s /usr/share/fontconfig/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/09-texlive-fonts.conf}}
  +
  +
それから fontconfig を更新してください:
  +
  +
{{bc|$ fc-cache && mkfontscale && mkfontdir}}
  +
  +
{{Note|
  +
* TeX と Fontconfig の両方で同一のフォントが利用できる場合 (検索パスに同じフォントのコピーが複数ある場合)、上記の設定が XeTeX/XeLaTeX と衝突する可能性があります。
  +
* Type 1 フォントは LibreOffice 5.3 およびそれ以降で利用できません。
  +
}}
  +
  +
=== babelbib 言語定義の更新 ===
  +
  +
{{Style|{{ic|/usr/share/texmf-dist/}} を変更するべきではありません。}}
  +
  +
必要としている最新の言語定義が [https://www.ctan.org/pkg/babelbib babelbib] になく、全てをリコンパイルしたくはないという問題を抱えている場合、https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/ から手動で入手して {{ic|/usr/share/texmf-dist/tex/latex/babelbib/}} に配置することができます。例えば:
  +
  +
{{bc|<nowiki>
  +
$ cd /usr/share/texmf-dist/tex/latex/babelbib/
 
# wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/romanian.bdf
 
# wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/romanian.bdf
 
# wget [...all-other-language-files...]
 
# wget [...all-other-language-files...]
 
# wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/babelbib.sty
 
# wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/babelbib.sty
  +
</nowiki>}}
}}
 
   
 
その後、{{ic|texhash}} を実行して TeX データベースを更新してください:
 
その後、{{ic|texhash}} を実行して TeX データベースを更新してください:
  +
 
# texhash
 
# texhash
  +
  +
== 代替 ==
  +
  +
Tex Live の代替としては、MikTex や [[Tectonic]] などがあります。これらは最小限のインストールで、適宜必要なパッケージをインストールします。
  +
  +
== 参照 ==
  +
  +
* [https://tug.org/texlive/doc.html TeX Live ドキュメント]
  +
* Q&A サイト
  +
** [https://tex.stackexchange.com/ TeX - LaTeX Stack Exchange]
  +
** [https://topanswers.xyz/tex TopTeX (TopAnswers の TeX サイト)]
  +
* [http://detexify.kirelabs.org/ Detexify LaTeX handwritten symbol recognition]
  +
  +
{{TranslationStatus|TeX Live|2023-07-03|781962}}

2023年7月3日 (月) 05:31時点における最新版

関連記事

Wikipedia により:

TeX Live は、TeX 植字システムのためのフリーソフトウェア配布で、主要な TeX 関連プログラム、マクロパッケージ、およびフォントを含んでいます。

Tex Live には以下が含まれています:

  • 多くの TeX エンジン。例えば:
  • 基本的なマクロパッケージ (TeX 用語では フォーマット と呼ばれます)。例えば:
  • ユーザによって作成された多くパッケージ

Arch の TeX Live パッケージとネイティブな TeX Live との違い

TeX Live をインストールする方法は複数存在します。TeX Live のスナップショットは Arch Linux のパッケージリポジトリで利用可能ですが (以下を参照)、ほとんどの場合、そのスナップショットは1年に1度しかアップデートされません。対して、TeX Live 自体はローリングリリースなディストリビューションであり、ユーザは1年に1度アップグレードする必要があるというモデルに基づいてはいますが、個々のパッケージのアップグレードは日単位で利用できます。

Arch Linux のリポジトリでパッケージングされている TeX Live のスナップショットは、ほとんどのユーザにとって問題ないはずです。使用目的が単に他人のドキュメントをコンパイルすることである場合は特にです。逆に、使用目的が自分でドキュメントを作成することであるならば、ネイティブな TeX Live をインストールするのが最も良い選択である可能性もあります。

ネイティブで最新の TeX Live をインストールすることには、最新の機能やバグフィックス、関連するドキュメントを入手できるという利点もあります。ネイティブな TeX Live をインストールせずに個々のパッケージをアップグレードしたりインストールしたりすることは可能であるものの (TEXMFLOCALTEXMFHOME を参照)、これには注意が必要です。というのも、関連する全てのパッケージのバージョンが互いに互換性があることを確認する必要があるからです。

ネイティブな TeX Live とは対照的に、Arch Linux のリポジトリにある TeX Live パッケージにはドキュメントが含まれない傾向にあります。CTAN からのドキュメントは TeX パッケージの最新バージョン用のものしか入手できないので、これは問題となります。

ノート: 複数の TeX Live インストールを単一のシステムで共存させることは可能です。

ネイティブな TeX Live

インストール

quickinstall ドキュメントを参照してください。必要であれば、完全なドキュメント (日本語訳) も参照してください。作業は以下のように要約されます:

  1. netinstall アーカイブをダウンロードする
  2. アーカイブを展開し、新しく作成されたディレクトリへ移動する
  3. インストールスクリプトを実行する (perl ./install-tl)。これで、テキストインターフェイスのインタラクティブなインストール手順が始まります
    1. 1つ、または複数のインストールパスを設定する
    2. 任意で、TeX Live によって提供されているパッケージ コレクション のサブセットを選択する
    3. 任意で、A4 ではなくレター用紙サイズをデフォルトとして選択する
    4. ダウンロードが終わるのを待つ
  4. インストールスクリプトの実行が終わったら、TeX Live のインストール場所をシステムの実行ファイルパスとドキュメンテーションパス (PATHMANPATHINFOPATH) に追加する必要があります。インストールスクリプトは、追加すべきパスを終了前に出力してくれます。

アップデート

tlmgr ドキュメントを参照してください。tlmgr update --all を実行すると、インストール中に選択したコレクションの全パッケージをアップグレードします。また、インストール済みの TeX Live コレクションに新しく追加されたパッケージもインストールされます。

年に1度、TeX Live の新しいリリースがあると、tlmgr update --all は失敗します。その場合、TeX Live を新しくインストールする必要があります。

Arch の TeX Live パッケージ

  • texlive グループには、ほとんどの TeX Live パッケージが含まれています。上流のコレクションに基づいてカテゴリ化されています ([1] を参照)。
    • texlive-basic はコアのパッケージです。上流の medium インストールスキームに基づいています。このパッケージには、mktexlsrfmtutilupdmap を自動化する pacman フックが含まれています。
    • texlive-latex には、必須の LaTeX パッケージ群が含まれています。
    • texlive-latexrecommendedtexlive-latexextra には多くの便利な LaTeX パッケージが含まれています (例: polyglossiaamsmathgraphicx)。
    • texlive-fontsrecommended には必須のフォントが含まれています (デフォルトの Latin Modern を含む)。
    • texlive-fontsextra には追加のフォントが含まれています。フォントは LaTeX Font Catalogue で閲覧できます。
    • texlive-xetextexlive-luatex には XeTeX と LuaTeX のパッケージがそれぞれ含まれています。
    • texlive-bibtexextra には、BibLaTeX パッケージ、追加の BibTeX スタイル、および参考文献データベースが含まれています。。
  • texlive-lang グループには、非ラテン文字の言語のための文字セットと機能を提供するパッケージが含まれています。
    • texlive-langcjk は、中国語、日本語、そして韓国語の言語サポートの共通部分です。
    • texlive-langjapanese は、日本語の言語サポートを提供します。
    • texlive-langother は、アフリカの言語、アラビア語、アルメニア語、クロアチア語、ヘブライ語、インド語群、モンゴル語、チベット語、そしてベトナム語の言語サポートを提供します。
  • biber は、BibLaTeX のための代替の参考文献処理バックエンドを提供します。
  • texlive-latexindent-metaAUR メタパッケージは、latexindent を実際に使うために必要になるすべての依存パッケージを提供します。

CTAN で利用できる TeX パッケージをインストールする必要がある場合は、以下のコマンドを実行して、そのパッケージが Arch の texlive- パッケージに含まれているか確認してください:

$ tlmgr info ctan_package_name | grep collection

このコマンドは、Arch の texlive- パッケージに対応する TeX Live コレクションの名前が表示される可能性があります (そのようなパッケージが存在するかどうか texlive を確認してください)。例えば、collection: collection-plaingeneric という出力は、TeX パッケージが texlive-plaingeneric に含まれていることを意味します。

あるいは、tlmgr を使って手動で単一の TeX パッケージをインストールすることもできます (以下を参照)。

ノート: TeX Live に含まれている一部のツールとユーティリティは、ghostscriptperlpythonruby に依存しています。詳細は、それぞれのパッケージの任意の依存パッケージを見てください。

tllocalmgr

警告: tllocalmgr がもはや機能していないと報告されています。[2] を参照してください。

tllocalmgrAUR によって提供されている tllocalmgr ユーティリティは、pacman パッケージとして CTAN からパッケージをインストールできるようにします。詳細は 使用方法 (-h) を見てください。

tlmgr

texlive-basic を使えば、tlmgr ユーティリティは設定無しで動くはずです。問題が発生した場合や、古い texlive-core パッケージを使用している場合は、tlmgr を動作させるために以下の手順を踏む必要があります。

ノート:
  • texlive-basicTEXMFDIST 内に tlmgr スクリプトを提供しますが、これは壊れています (FS#74404)。これは、以下で説明されているように修正することができます。
  • texconfig(1) コマンドは、部分的に tlmgr に依存しているため、ほぼ壊れています (FS#59094)。texconfig のインタラクティブモードには dialog が必要です。
この記事またはセクションの正確性には問題があります。
理由: 以下の修正は texlive-core[リンク切れ: replaced by texlive-basic] パッケージに組み込まれるべきです。TEXMFDIST 内のファイルを編集しても、パッケージをアップグレードすると変更が上書きされてしまいます。 (議論: トーク:TeX Live#)

tlmgr ユーティリティは、CTAN からパッケージをインストール、アップデートする標準的な方法です。以下のように小さな修正が必要となります:

まず、TEXMFDIST/scripts/texlive/tlmgr.pl を編集して $Master = "$Master/../..";$Master = "${Master}/../../.."; に置き換えてください。パスのプレフィックス TEXMFDIST は、事前に定義された環境変数ではなく、この記事の以下で定義されたものです。このプレフィックスは正しい値に置き換えてください。

また、コマンドラインから sudo sed -i 's/\$Master = "\$Master\/..\/..";/\$Master = "\$Master\/..\/..\/..";/' "$TEXMFDIST/scripts/texlive/tlmgr.pl" を実行することでも可能です。

その perl スクリプトのエイリアスを作成してください (シェルの初期化ファイルに追加できます)。

alias tlmgr='TEXMFDIST/scripts/texlive/tlmgr.pl --usermode'

これで、ユーザモードで初期化できます (インストールプレフィックスとして ~/texmf を使用します):

$ tlmgr init-usertree

自由にミラーを設定してください。ミラーのパスの末尾に /systems/texlive/tlnet を追加する必要があります。例えば:

$ tlmgr option repository http://mirrors.rit.edu/CTAN/systems/texlive/tlnet

これで、CTAN パッケージを通常通りインストールできるようになりました:

$ tlmgr install package_name

パッケージのドキュメント

公式リポジトリ内のパッケージには、フォント/マクロのパッケージのドキュメントやソースファイルが含まれていません。

texdoc でオフラインアクセスするには、texlive-most-docAUR を使って TeX Live のドキュメントとソースファイルを全てインストールしてください。

また、オンラインでドキュメントにアクセスすることもできます:

使用方法

以下のリソースを参照してください:

ドキュメントの作成に TeX エディタを使うこともできます。

ドキュメントをコンパイルするための高レベルなラッパー

ほとんどの場合、pdflatex(1) のようなものを直接呼び出すより、latexmk(1)arara(1) といった高レベルなツールを使うほうが合理的です。その理由は主に、低レベルなツールは単一のドキュメントを完全にコンパイルするのに通常複数回実行する必要があるからです。

texmf ツリーと Kpathsea

texmf ツリー (texmf は TeX と Metafont の略) は TeX Directory Structure に従う必要があります。さもないと、ファイルを見つけられない場合があります。[3]

Tex Live は Kpathsea ライブラリを使用して、複数の texmf ツリーと現在の作業ディレクトリにまたがってファイル名でパスを探索します。

Kpathsea は以下の変数を逆順で検索します (後のツリーは前のものを上書きします)。

変数 Arch のデフォルト 1) その変数を使用するもの [4]
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 が使用
ノート: デフォルトの値は /etc/texmf/web2c/texmf.cnf[5] で定義されています。それらの値は環境変数によって上書きできます。

Kpathsea は、パスを探索するための kpsewhich(1) コマンドを提供します。--var-brace-value=VARIABLE 引数で実行すれば、変数の値も表示できます。

Kpathsea はファイル名データベース (ls-R) を使用して、システム全体の texmf ツリー (TEXMFDBS 変数で設定される) での検索を高速化させます。つまり、システム全体のファイルツリーが変更された際に mktexlsr(1)texhash (シンボリックリンク) を root として実行する必要があるということです。幸い、texlive-core{{Broken package link|replaced by texlive-basic は、/usr/local/share/texmf を除くすべてのデフォルトのシステム全体ツリーを対象とする pacman フックで自動化します。[6] なので、システム全体に pacman を通してパッケージをインストールする限り、あなたが mktexlsrtexhash を実行する必要は全くないはずです。

ヒント: ローカルリポジトリをセットアップするために、~/texmf/tex/{format}/ ディレクトリ構造を作成することができます ({format} は通常 latex です)。カスタムクラスは ./{format} フォルダ直下に配置され、他のローカルファイルは同じ名前のフォルダに配置されます (例えば、mycustompackage.sty./{formats}/mycustompackage/mycustompackage.sty に行きます)。その後、texhash を実行してユーザのデータベースをアップデートしてください。

ヒントとテクニック

デフォルトの用紙サイズを変更する

この記事またはセクションの正確性には問題があります。
理由: 設定ファイルを直接編集することで可能です。[7] (議論: トーク:TeX Live#)

現在、texlive ツールを使用してデフォルトのページサイズを変更することは不可能です。ツールが標準の Arch パッケージで機能しないためです。

通常では、texconfigtlmgr を実行します (これらは、他の便利な設定を変更することもできます)。

以下のように設定ファイルを変更できます。

  • pdftex ファミリのコマンド (pdftexpdflatex など) に対して用紙サイズを設定するには、/etc/texmf/tex/generic/tex-ini-files/pdftexconfig.tex を編集してください。

このファイルは kpsewhich pdftexconfig.tex を実行することでも見つけられます。pdfpageheightpdfpagewidth を指定する2行を変更してください。例えば、レターサイズを使用するには、

\pdfpageheight = 297 true mm
\pdfpagewidth  = 210 true mm

から

\pdfpageheight = 11 true in
\pdfpagewidth  = 8.5 true in

に変更してください。

残念ながら、これは、バイナリの .fmt ファイルをリビルドするまで効果がありません。fmtutil-sys でリビルドできます。また、pacmantexlive-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 フォントに対しても似たような手順です。上記のコマンドでは、opentypetruetypetype1 に変更し、OTFTTFType1 に変更します。

また、texlive-core{{Broken package link|replaced by texlive-basic には 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
ノート:
  • TeX と Fontconfig の両方で同一のフォントが利用できる場合 (検索パスに同じフォントのコピーが複数ある場合)、上記の設定が XeTeX/XeLaTeX と衝突する可能性があります。
  • Type 1 フォントは LibreOffice 5.3 およびそれ以降で利用できません。

babelbib 言語定義の更新

この記事あるいはセクションで使われている用語や表現には問題が存在します。
議論: /usr/share/texmf-dist/ を変更するべきではありません。 (議論: トーク:TeX Live#)

必要としている最新の言語定義が 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 などがあります。これらは最小限のインストールで、適宜必要なパッケージをインストールします。

参照

翻訳ステータス: このページは en:TeX Live の翻訳バージョンです。最後の翻訳日は 2023-07-03 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。