「TeX Live」の版間の差分
(texlive-mostをtexliveに変更) |
細 (→インストール: 訳を微修正) |
||
(2人の利用者による、間の12版が非表示) | |||
13行目: | 13行目: | ||
:'''TeX Live''' は、[[Wikipedia:TeX|TeX]] 植字システムのためのフリーソフトウェア配布で、主要な TeX 関連プログラム、マクロパッケージ、およびフォントを含んでいます。 |
:'''TeX Live''' は、[[Wikipedia:TeX|TeX]] 植字システムのためのフリーソフトウェア配布で、主要な TeX 関連プログラム、マクロパッケージ、およびフォントを含んでいます。 |
||
+ | Tex Live には以下が含まれています: |
||
− | TeX Live には {{man|1|tex}} と {{man|1|pdftex}} プログラム、[[Wikipedia:LaTeX|LaTeX]] と [[Wikipedia:ConTeXt|ConTeXt]] TeX マクロパッケージ、[[Wikipedia:XeTeX|XeTeX]] と [[Wikipedia:LuaTeX|LuaTeX]] TeX エンジンが含まれています。 |
||
+ | * 多くの TeX エンジン。例えば: |
||
+ | ** [[Wikipedia:ja:pdfTeX|pdfTeX]] |
||
+ | **[[Wikipedia:ja:XeTeX|XeTeX]] |
||
+ | **[[Wikipedia:ja:LuaTeX|LuaTeX]] |
||
+ | * 基本的なマクロパッケージ (TeX 用語では ''フォーマット'' と呼ばれます)。例えば: |
||
+ | ** [[Wikipedia:ja:LaTeX|LaTeX]] |
||
+ | ** [[Wikipedia:ja:ConTeXt|ConTeXt]] |
||
+ | * ユーザによって作成された多くパッケージ |
||
+ | == Arch の TeX Live パッケージとネイティブな TeX Live との違い == |
||
− | == インストール == |
||
+ | TeX Live をインストールする方法は複数存在します。TeX Live のスナップショットは Arch Linux のパッケージリポジトリで利用可能ですが (以下を参照)、ほとんどの場合、そのスナップショットは1年に1度しかアップデートされません。対して、TeX Live 自体はローリングリリースなディストリビューションであり、ユーザは1年に1度アップグレードする必要があるというモデルに基づいてはいますが、個々のパッケージのアップグレードは日単位で利用できます。 |
||
− | * {{Grp|texlive}} グループには、ほとんどの Tex Live パッケージが含まれています。 |
||
+ | |||
− | ** {{Pkg|texlive-core}} は必須のパッケージであり、上流の ''medium'' インストールスキームに基づいています (その他のパッケージは全て上流のコレクションに基づいています)。このパッケージには、''mktexlsr''、''fmtutil''、''updmap'' を自動化する [[pacman フック]]が含まれています。 |
||
+ | Arch Linux のリポジトリでパッケージングされている TeX Live のスナップショットは、ほとんどのユーザにとって問題ないはずです。使用目的が単に他人のドキュメントをコンパイルすることである場合は特にです。逆に、使用目的が自分でドキュメントを作成することであるならば、''ネイティブな'' TeX Live をインストールするのが最も良い選択である可能性もあります。 |
||
− | ** {{Pkg|texlive-bin}} にはバイナリとライブラリが含まれています ({{Pkg|texlive-core}} の依存パッケージです)。 |
||
+ | |||
− | ** {{Pkg|texlive-latexextra}} には、{{ic|polyglossia}}、{{ic|amsmath}}、{{ic|graphicx}} などの便利なパッケージが多く含まれています。 |
||
+ | ネイティブで最新の TeX Live をインストールすることには、最新の機能やバグフィックス、関連するドキュメントを入手できるという利点もあります。ネイティブな TeX Live をインストールせずに個々のパッケージをアップグレードしたりインストールしたりすることは可能で''ある''ものの ({{ic|TEXMFLOCAL}} と {{ic|TEXMFHOME}} を参照)、これには注意が必要です。というのも、関連する全てのパッケージのバージョンが互いに互換性があることを確認する必要があるからです。 |
||
+ | |||
+ | ネイティブな TeX Live とは対照的に、Arch Linux のリポジトリにある TeX Live パッケージにはドキュメントが含まれない傾向にあります。CTAN からのドキュメントは TeX パッケージの最新バージョン用のものしか入手できないので、これは問題となります。 |
||
+ | |||
+ | {{Note|複数の TeX Live インストールを単一のシステムで共存させることは可能です。}} |
||
+ | |||
+ | === ネイティブな TeX Live === |
||
+ | |||
+ | ==== インストール ==== |
||
+ | |||
+ | [https://tug.org/texlive/quickinstall.html quickinstall] ドキュメントを参照してください。必要であれば、[https://tug.org/texlive/doc/texlive-en/texlive-en.html 完全な]ドキュメント ([https://tug.org/texlive/doc/texlive-ja/ 日本語訳]) も参照してください。作業は以下のように要約されます: |
||
+ | |||
+ | # netinstall [https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz アーカイブ]をダウンロードする |
||
+ | # アーカイブを展開し、新しく作成されたディレクトリへ移動する |
||
+ | # インストールスクリプトを実行する ({{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 コレクションに新しく追加されたパッケージもインストールされます。 |
||
+ | |||
+ | 年に1度、TeX Live の新しいリリースがあると、{{ic|tlmgr update --all}} は失敗します。その場合、TeX Live を新しくインストールする必要があります。 |
||
+ | |||
+ | === Arch の TeX Live パッケージ === |
||
+ | |||
+ | * {{Grp|texlive}} グループには、ほとんどの TeX Live パッケージが含まれています。上流のコレクションに基づいてカテゴリ化されています ([https://tex.stackexchange.com/questions/356831/tex-live-package-collection-organisation] を参照)。 |
||
+ | ** {{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}} グループには、非ラテン文字の言語のための文字セットと機能を提供するパッケージが含まれています。 |
* {{Grp|texlive-lang}} グループには、非ラテン文字の言語のための文字セットと機能を提供するパッケージが含まれています。 |
||
− | ** {{Pkg|texlive- |
+ | ** {{Pkg|texlive-langcjk}} は、中国語、日本語、そして韓国語の言語サポートの共通部分です。 |
− | * {{Pkg|texlive- |
+ | ** {{Pkg|texlive-langjapanese}} は、日本語の言語サポートを提供します。 |
+ | ** {{Pkg|texlive-langother}} は、アフリカの言語、アラビア語、アルメニア語、クロアチア語、ヘブライ語、インド語群、モンゴル語、チベット語、そしてベトナム語の言語サポートを提供します。 |
||
− | * {{Pkg|texlive-fontsextra}} には、追加のフォントが含まれています ([https://www.tug.org/FontCatalogue/ LaTeX Font Catalogue] で見られます)。 |
||
− | * {{Pkg|biber}} は、 |
+ | * {{Pkg|biber}} は、BibLaTeX のための代替の参考文献処理バックエンドを提供します。 |
* {{AUR|texlive-latexindent-meta}} メタパッケージは、''latexindent'' を実際に使うために必要になるすべての依存パッケージを提供します。 |
* {{AUR|texlive-latexindent-meta}} メタパッケージは、''latexindent'' を実際に使うために必要になるすべての依存パッケージを提供します。 |
||
+ | [https://www.ctan.org/ CTAN] で利用できる TeX パッケージをインストールする必要がある場合は、以下のコマンドを実行して、そのパッケージが Arch の ''texlive-'' パッケージに含まれているか確認してください: |
||
− | それぞれの ''texlive-'' パッケージにどの [https://www.ctan.org/ CTAN] パッケージが含まれているか調べるには、{{ic|/var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs}} のファイルを見てください。 |
||
+ | $ tlmgr info ctan_package_name | grep collection |
||
− | {{Note|Tex Live に含まれている一部のツールとユーティリティは、{{Pkg|ghostscript}} や {{Pkg|perl}}、{{Pkg|python}}、{{Pkg|ruby}} に依存しています。詳細は、それぞれのパッケージの任意の依存パッケージを見てください。}} |
||
+ | このコマンドは、Arch の ''texlive-'' パッケージに対応する TeX Live コレクションの名前が表示される可能性があります (そのようなパッケージが存在するかどうか {{Grp|texlive}} を確認してください)。例えば、{{ic|collection: collection-plaingeneric}} という出力は、TeX パッケージが {{Pkg|texlive-plaingeneric}} に含まれていることを意味します。 |
||
− | {{Tip|[[アプリケーション一覧/ドキュメント#Tex editors|Tex エディタ]]をインストールすると良いかもしれません。}} |
||
+ | あるいは、{{ic|tlmgr}} を使って手動で単一の TeX パッケージをインストールすることもできます (以下を参照)。 |
||
− | === tllocalmgr === |
||
+ | |||
+ | {{Note|TeX Live に含まれている一部のツールとユーティリティは、{{Pkg|ghostscript}} や {{Pkg|perl}}、{{Pkg|python}}、{{Pkg|ruby}} に依存しています。詳細は、それぞれのパッケージの任意の依存パッケージを見てください。}} |
||
+ | |||
+ | ==== tllocalmgr ==== |
||
+ | |||
+ | {{Warning|1=tllocalmgr がもはや機能していないと報告されています。[https://bbs.archlinux.org/viewtopic.php?id=286197] を参照してください。}} |
||
{{AUR|tllocalmgr}} によって提供されている ''tllocalmgr'' ユーティリティは、[[pacman]] パッケージとして CTAN からパッケージをインストールできるようにします。詳細は [https://github.com/hv15/tllocalmgr/blob/master/tllocalmgr#L835 使用方法] ({{ic|-h}}) を見てください。 |
{{AUR|tllocalmgr}} によって提供されている ''tllocalmgr'' ユーティリティは、[[pacman]] パッケージとして CTAN からパッケージをインストールできるようにします。詳細は [https://github.com/hv15/tllocalmgr/blob/master/tllocalmgr#L835 使用方法] ({{ic|-h}}) を見てください。 |
||
− | === tlmgr === |
+ | ==== tlmgr ==== |
+ | |||
+ | {{Pkg|texlive-basic}} を使えば、''tlmgr'' ユーティリティは設定無しで動くはずです。問題が発生した場合や、古い {{ic|texlive-core}} パッケージを使用している場合は、''tlmgr'' を動作させるために以下の手順を踏む必要があります。 |
||
{{Note| |
{{Note| |
||
− | * {{Pkg|texlive- |
+ | * {{Pkg|texlive-basic}} は ''TEXMFDIST'' 内に [https://www.tug.org/texlive/tlmgr.html tlmgr] スクリプトを提供しますが、これは壊れています ({{Bug|74404}})。これは、以下で説明されているように修正することができます。 |
* {{man|1|texconfig}} コマンドは、部分的に ''tlmgr'' に依存しているため、ほぼ壊れています ({{Bug|59094}})。{{ic|texconfig}} のインタラクティブモードには {{Pkg|dialog}} が必要です。 |
* {{man|1|texconfig}} コマンドは、部分的に ''tlmgr'' に依存しているため、ほぼ壊れています ({{Bug|59094}})。{{ic|texconfig}} のインタラクティブモードには {{Pkg|dialog}} が必要です。 |
||
}} |
}} |
||
− | {{Accuracy|以下の修正は {{Pkg|texlive-core}} パッケージに組み込まれるべきです。''TEXMFDIST'' 内のファイルを編集しても、パッケージをアップグレードすると変更が上書きされてしまいます。}} |
+ | {{Accuracy|以下の修正は {{Pkg|texlive-core}}{{Broken package link|replaced by {{Pkg|texlive-basic}}}} パッケージに組み込まれるべきです。''TEXMFDIST'' 内のファイルを編集しても、パッケージをアップグレードすると変更が上書きされてしまいます。}} |
''tlmgr'' ユーティリティは、CTAN からパッケージをインストール、アップデートする標準的な方法です。以下のように小さな修正が必要となります: |
''tlmgr'' ユーティリティは、CTAN からパッケージをインストール、アップデートする標準的な方法です。以下のように小さな修正が必要となります: |
||
51行目: | 104行目: | ||
まず、{{ic|''TEXMFDIST''/scripts/texlive/tlmgr.pl}} を編集して {{ic|1=$Master = "$Master/../..";}} を {{ic|1=$Master = "${Master}/../../..";}} に置き換えてください。パスのプレフィックス ''TEXMFDIST'' は、事前に定義された環境変数ではなく、この記事の以下で定義されたものです。このプレフィックスは正しい値に置き換えてください。 |
まず、{{ic|''TEXMFDIST''/scripts/texlive/tlmgr.pl}} を編集して {{ic|1=$Master = "$Master/../..";}} を {{ic|1=$Master = "${Master}/../../..";}} に置き換えてください。パスのプレフィックス ''TEXMFDIST'' は、事前に定義された環境変数ではなく、この記事の以下で定義されたものです。このプレフィックスは正しい値に置き換えてください。 |
||
+ | また、コマンドラインから {{ic|1=sudo sed -i 's/\$Master = "\$Master\/..\/..";/\$Master = "\$Master\/..\/..\/..";/' "$TEXMFDIST/scripts/texlive/tlmgr.pl"}} を実行することでも可能です。 |
||
− | その perl スクリプトのエイリアスを作成してください (シェルの init ファイルに追加できます)。 |
||
+ | |||
+ | その perl スクリプトのエイリアスを作成してください (シェルの初期化ファイルに追加できます)。 |
||
alias tlmgr='''TEXMFDIST''/scripts/texlive/tlmgr.pl --usermode' |
alias tlmgr='''TEXMFDIST''/scripts/texlive/tlmgr.pl --usermode' |
||
59行目: | 114行目: | ||
$ tlmgr init-usertree |
$ tlmgr init-usertree |
||
− | 自由に[https://www.ctan.org/mirrors ミラー]を設定してください。例えば: |
+ | 自由に[https://www.ctan.org/mirrors ミラー]を設定してください。ミラーのパスの末尾に {{ic|/systems/texlive/tlnet}} を追加する必要があります。例えば: |
<nowiki>$ tlmgr option repository http://mirrors.rit.edu/CTAN/systems/texlive/tlnet</nowiki> |
<nowiki>$ tlmgr option repository http://mirrors.rit.edu/CTAN/systems/texlive/tlnet</nowiki> |
||
67行目: | 122行目: | ||
$ tlmgr install ''package_name'' |
$ tlmgr install ''package_name'' |
||
− | === パッケージのドキュメント === |
+ | ==== パッケージのドキュメント ==== |
公式リポジトリ内のパッケージには、フォント/マクロのパッケージのドキュメントやソースファイルが含まれていません。 |
公式リポジトリ内のパッケージには、フォント/マクロのパッケージのドキュメントやソースファイルが含まれていません。 |
||
− | {{ic|texdoc}} でオフラインアクセスするには、 |
+ | {{ic|texdoc}} でオフラインアクセスするには、{{AUR|texlive-most-doc}} を使って TeX Live のドキュメントとソースファイルを全て[[インストール]]してください。 |
また、オンラインでドキュメントにアクセスすることもできます: |
また、オンラインでドキュメントにアクセスすることもできます: |
||
78行目: | 133行目: | ||
* https://ctan.org/ – Tex 関連の全種類の資料の中心的な場所 |
* https://ctan.org/ – Tex 関連の全種類の資料の中心的な場所 |
||
* https://texdoc.net/{{Dead link|2022|09|23|status=SSL error}} ({{ic|<nowiki>http://texdoc.net/pkg/</nowiki>''packagename''}} は、関連する PDF を直接生成します) |
* https://texdoc.net/{{Dead link|2022|09|23|status=SSL error}} ({{ic|<nowiki>http://texdoc.net/pkg/</nowiki>''packagename''}} は、関連する PDF を直接生成します) |
||
− | |||
− | === 手動インストール === |
||
− | |||
− | 上流のインストーラで Tex Live をインストールすることもできます。これは {{AUR|texlive-installer}} としてパッケージングされています。詳細は [[wikibooks:LaTeX/Installation#Custom_installation_with_TeX_Live|LaTeX Wikibook]] や [https://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-140003 TeX Live Guide] を見てください。 |
||
== 使用方法 == |
== 使用方法 == |
||
87行目: | 138行目: | ||
以下のリソースを参照してください: |
以下のリソースを参照してください: |
||
− | * [[Wikibooks:LaTeX]] |
+ | * [[Wikibooks:LaTeX]] ([[Wikibooks:Ja:TeX/LaTeX入門]]) |
* [https://tobi.oetiker.ch/lshort/lshort.pdf The Not So Short Introduction to LaTeX 2ε] |
* [https://tobi.oetiker.ch/lshort/lshort.pdf The Not So Short Introduction to LaTeX 2ε] |
||
* [https://www.andy-roberts.net/writing/latex Getting to Grips with LaTeX – Andrew Roberts] |
* [https://www.andy-roberts.net/writing/latex Getting to Grips with LaTeX – Andrew Roberts] |
||
* [https://www.texfaq.org/ The TeX FAQ] |
* [https://www.texfaq.org/ The TeX FAQ] |
||
+ | |||
+ | ドキュメントの作成に [[アプリケーション一覧/ドキュメント#TeX editors|TeX エディタ]]を使うこともできます。 |
||
+ | |||
+ | === ドキュメントをコンパイルするための高レベルなラッパー === |
||
+ | |||
+ | ほとんどの場合、{{man|1|pdflatex}} のようなものを直接呼び出すより、{{man|1|latexmk}} や {{man|1|arara}} といった高レベルなツールを使うほうが合理的です。その理由は主に、低レベルなツールは単一のドキュメントを完全にコンパイルするのに通常複数回実行する必要があるからです。 |
||
=== texmf ツリーと Kpathsea === |
=== texmf ツリーと Kpathsea === |
||
124行目: | 181行目: | ||
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}}{{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}} を実行してユーザのデータベースをアップデートしてください。}} |
{{Tip|ローカルリポジトリをセットアップするために、{{ic|~/texmf/tex/{format}/}} ディレクトリ構造を作成することができます ({{ic|{format} }} は通常 {{ic|latex}} です)。カスタムクラスは {{ic|./{format} }} フォルダ直下に配置され、他のローカルファイルは同じ名前のフォルダに配置されます (例えば、{{ic|mycustompackage.sty}} は {{ic|./{formats}/mycustompackage/mycustompackage.sty}} に行きます)。その後、{{ic|texhash}} を実行してユーザのデータベースをアップデートしてください。}} |
||
− | |||
− | == 重要事項 == |
||
− | |||
− | {{Out of date|ConTeXt は最近、設定せずに使用できます。時々、{{ic|mtxrun --generate}} を実行する必要があるだけです。[https://www.contextgarden.net/Running_Mark_IV]}} |
||
− | |||
− | * (MKII や MKIV の) ConTeXt フォーマットはインストール時に自動で生成されません。方法は [https://wiki.contextgarden.net ConTeXT wiki] の説明を見て下さい。 |
||
− | * (上流の) TeX Live は CTAN パッケージの差分更新をするためのツールを提供しています。私たちもパッケージを定期的に更新する予定です (作業をほぼ自動化するツールを書き出しています)。 |
||
− | * 2009年の9月から {{man|1|updmap}} のフォントマッピングを処理する方法は改善され、以前よりもインストールが信頼できるものになっています。もし、マップファイルが見つからないというエラーメッセージが表示されたときは、手動で {{ic|updmap.cfg}} ファイルから削除してください ({{Ic|updmap-sys --edit}} を使うのが理想)。また、{{Ic|updmap-sys --syncwithtrees}} を実行すれば設定ファイルから古くなったマップを自動でコメントアウトすることができます。 |
||
== ヒントとテクニック == |
== ヒントとテクニック == |
||
182行目: | 231行目: | ||
TrueType フォントや Type 1 フォントに対しても似たような手順です。上記のコマンドでは、{{ic|opentype}} を {{ic|truetype}} や {{ic|type1}} に変更し、{{ic|OTF}} を {{ic|TTF}} や {{ic|Type1}} に変更します。 |
TrueType フォントや Type 1 フォントに対しても似たような手順です。上記のコマンドでは、{{ic|opentype}} を {{ic|truetype}} や {{ic|type1}} に変更し、{{ic|OTF}} を {{ic|TTF}} や {{ic|Type1}} に変更します。 |
||
− | また、{{Pkg|texlive-core}} には TeX Live によって使用されるフォントディレクトリのリストが入ったファイル {{ic|/usr/share/fontconfig/conf.avail/09-texlive-fonts.conf}} が含まれています。このファイルを利用するには次を実行して: |
+ | また、{{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}} |
{{bc|# ln -s /usr/share/fontconfig/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/09-texlive-fonts.conf}} |
||
211行目: | 260行目: | ||
# texhash |
# texhash |
||
− | |||
− | == トラブルシューティング == |
||
− | |||
− | === 更新時に "formats not generated" というエラー === |
||
− | |||
− | {{Bug|16467}} を参照してください。(実験的な ''LuaTeX'' エンジンを使用しない場合、これは無視できることに注意してください。) この状況は典型的に、ハイフネーションパターンの設定ファイル {{ic|language.def}} と {{ic|language.dat}} の両方/一方に、以前のリリースの {{Pkg|texlive-core}} のファイルへの参照が含まれている場合に発生します (特に、ファイル名が頻繁に変更される、ドイツ語の最新の実験的なハイフネーションパターン)。現在、それらは {{ic|dehyph{n,t}-x-2009-06-19.tex}} を指しているはずです。 |
||
− | |||
− | これを解決するには、ファイル {{ic|/etc/texmf/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}} を削除するか、{{ic|/usr/share/texmf/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}} の最新のバージョンを使うように更新し、以下を実行する必要があります: |
||
− | |||
− | # fmtutil-sys --missing |
||
− | |||
− | === tlmgr を texliveonfly で動作させる === |
||
− | |||
− | ''tlmgr'' を ''texliveonfly'' で動作させる最も簡単な方法は、({{ic|tlmgr}} をエイリアスにせずに) 以下の内容を含むスクリプト {{ic|tlmgr}} を {{ic|$PATH}} 内に作成することです: |
||
− | |||
− | #!/bin/sh |
||
− | /usr/share/texmf-dist/scripts/texlive/tlmgr.pl --usermode "$@" |
||
− | |||
− | こうする理由は、''textliveonfly'' が Python スクリプトであり、エイリアスを処理できないからです。 |
||
== 代替 == |
== 代替 == |
||
238行目: | 268行目: | ||
* [https://tug.org/texlive/doc.html TeX Live ドキュメント] |
* [https://tug.org/texlive/doc.html TeX Live ドキュメント] |
||
+ | * Q&A サイト |
||
− | * [https://tug.org/texlive/doc/texlive-en/texlive-en.html The TeX Live Guide] (完全には当てはまらない) |
||
− | * [https://tex.stackexchange.com/ TeX - LaTeX Stack Exchange] |
+ | ** [https://tex.stackexchange.com/ TeX - LaTeX Stack Exchange] |
+ | ** [https://topanswers.xyz/tex TopTeX (TopAnswers の TeX サイト)] |
||
* [http://detexify.kirelabs.org/ Detexify LaTeX handwritten symbol recognition] |
* [http://detexify.kirelabs.org/ Detexify LaTeX handwritten symbol recognition] |
||
− | {{TranslationStatus|TeX Live|2023- |
+ | {{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 をインストールせずに個々のパッケージをアップグレードしたりインストールしたりすることは可能であるものの (TEXMFLOCAL
と TEXMFHOME
を参照)、これには注意が必要です。というのも、関連する全てのパッケージのバージョンが互いに互換性があることを確認する必要があるからです。
ネイティブな TeX Live とは対照的に、Arch Linux のリポジトリにある TeX Live パッケージにはドキュメントが含まれない傾向にあります。CTAN からのドキュメントは TeX パッケージの最新バージョン用のものしか入手できないので、これは問題となります。
ネイティブな TeX Live
インストール
quickinstall ドキュメントを参照してください。必要であれば、完全なドキュメント (日本語訳) も参照してください。作業は以下のように要約されます:
- netinstall アーカイブをダウンロードする
- アーカイブを展開し、新しく作成されたディレクトリへ移動する
- インストールスクリプトを実行する (
perl ./install-tl
)。これで、テキストインターフェイスのインタラクティブなインストール手順が始まります- 1つ、または複数のインストールパスを設定する
- 任意で、TeX Live によって提供されているパッケージ コレクション のサブセットを選択する
- 任意で、A4 ではなくレター用紙サイズをデフォルトとして選択する
- ダウンロードが終わるのを待つ
- インストールスクリプトの実行が終わったら、TeX Live のインストール場所をシステムの実行ファイルパスとドキュメンテーションパス (
PATH
、MANPATH
、INFOPATH
) に追加する必要があります。インストールスクリプトは、追加すべきパスを終了前に出力してくれます。
アップデート
tlmgr ドキュメントを参照してください。tlmgr update --all
を実行すると、インストール中に選択したコレクションの全パッケージをアップグレードします。また、インストール済みの TeX Live コレクションに新しく追加されたパッケージもインストールされます。
年に1度、TeX Live の新しいリリースがあると、tlmgr update --all
は失敗します。その場合、TeX Live を新しくインストールする必要があります。
Arch の TeX Live パッケージ
- texlive グループには、ほとんどの TeX Live パッケージが含まれています。上流のコレクションに基づいてカテゴリ化されています ([1] を参照)。
- texlive-basic はコアのパッケージです。上流の medium インストールスキームに基づいています。このパッケージには、mktexlsr、fmtutil、updmap を自動化する pacman フックが含まれています。
- texlive-latex には、必須の LaTeX パッケージ群が含まれています。
- texlive-latexrecommended と texlive-latexextra には多くの便利な LaTeX パッケージが含まれています (例:
polyglossia
、amsmath
、graphicx
)。 - texlive-fontsrecommended には必須のフォントが含まれています (デフォルトの Latin Modern を含む)。
- texlive-fontsextra には追加のフォントが含まれています。フォントは LaTeX Font Catalogue で閲覧できます。
- texlive-xetex と texlive-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 パッケージをインストールすることもできます (以下を参照)。
tllocalmgr
tllocalmgrAUR によって提供されている tllocalmgr ユーティリティは、pacman パッケージとして CTAN からパッケージをインストールできるようにします。詳細は 使用方法 (-h
) を見てください。
tlmgr
texlive-basic を使えば、tlmgr ユーティリティは設定無しで動くはずです。問題が発生した場合や、古い texlive-core
パッケージを使用している場合は、tlmgr を動作させるために以下の手順を踏む必要があります。
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 のドキュメントとソースファイルを全てインストールしてください。
また、オンラインでドキュメントにアクセスすることもできます:
- https://tug.org/texlive/Contents/live/doc.html
- https://ctan.org/ – Tex 関連の全種類の資料の中心的な場所
- https://texdoc.net/[リンク切れ 2022-09-23] (
http://texdoc.net/pkg/packagename
は、関連する PDF を直接生成します)
使用方法
以下のリソースを参照してください:
- Wikibooks:LaTeX (Wikibooks:Ja:TeX/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 に従う必要があります。さもないと、ファイルを見つけられない場合があります。[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 が使用 |
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 を通してパッケージをインストールする限り、あなたが 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{{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
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 などがあります。これらは最小限のインストールで、適宜必要なパッケージをインストールします。