TeX Live (日本語)
TeX Live は"簡単に立ち上げて使える TeX 文章生成システムです。GNU/Linux を含むほとんどの Unix や Windows に対応したバイナリの包括的な TeX システムを提供します。主要な TeX 関連プログラム、マクロパッケージ、フォントなどを全て含み、世界中の言語をサポートしています。"
より詳しい情報は次を見て下さい: Category:TeX (日本語)
Contents
インストール
公式リポジトリでは TeX Live のパッケージは2つのグループに分けられています:
- texlive-most には TeX Live のアプリケーションが入っています。
- texlive-lang には様々な文字セットや非英語圏の機能が入っています。
必須のパッケージ texlive-core には基本的な texmf-dist ツリーが含まれており、texlive-bin にはバイナリやライブラリ、texmf ツリーが含まれています。texlive-core は上流のディストリビューションの “medium” インストールスキームに基づいています。他のパッケージは全て TeX Live の eponymous コレクションに基づいています。CTAN パッケージがそれぞれのパッケージに含まれているか確かめるには、次のファイルを調べて下さい:
/var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs
texlive-most
texlive-lang
代案: TeX Live ネットワークインストール
TeX Live を手動でインストールすることは通常のインストールよりもコントロールが効きプロセスの理解に役立つため Arch Way の主旨に沿います。また、100 MB 以下でフル機能の LaTeX ディストリビューションを取得する唯一の方法であり、使わないような数千のパッケージをインストールする必要がありません。
TeX Live のネットワークインストールについては詳しいガイドが LaTeX Wikibook にあります。
TeX Live をネットワークインストールする情報: http://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-140003
TeX Live のネットワークインストールに関するメリットとデメリットの議論もあります。
texlive がインストールされていることを必要とするプログラム (例: kile) のために AUR から texlive-dummy パッケージを使うことができます。
重要事項
- 2009年の9月から updmap のフォントマッピングを処理する方法は改善され、以前よりもインストールが信頼できるものになっています。もし、マップファイルが見つからないというエラーメッセージが表示されたときは、手動で
updmap.cfgファイルから削除してください (updmap-sys --editを使うのが理想)。また、updmap-sys --syncwithtreesを実行すれば設定ファイルから古くなったマップを自動でコメントアウトすることができます。
- (MKII や MKIV の) ConTeXt フォーマットはインストール時に自動で生成されません。ConTeXT wiki の説明を見て下さい。
- ドキュメントやソースを含むパッケージを [community] リポジトリから取得することができます。また、オンラインで http://tug.org/texlive/Contents/live/doc.html や CTAN で見ることも可能です。
- (上流の) TeX Live は CTAN パッケージの差分更新をするためのツールを提供しています。私たちもパッケージを定期的に更新する予定です (作業をほぼ自動化するツールを書き出しています)。
- TeX Live に入っているツールやユーティリティには ghostscript, perl, ruby に依存しているものがあります。
- TeX Live のヘルプや情報は次を参照してください: http://tug.org/texlive/doc.html と http://tug.org/texlive/doc/texlive-en/texlive-en.html
- システム全体の設定ファイルは
/usr/share/texmf-configにあります。ユーザー別の設定ファイルは~/.texlive/texmf-configの下に置いて下さい。$TEXMFHOMEは~/texmfで$TEXMFVARは~/.texlive/texmf-varです。
- ローカルの texmf ツリーのスケルトンは
/usr/local/share/texmfにあります: このディレクトリは tex グループのメンバーに書き込みが許可されています。
用紙サイズ
デフォルトのページサイズを A4 以外 ("Letter" など) に設定したい場合は、次のコマンドを実行してください:
$ texconfig
このコマンドは他の便利な設定を変更するのにも使えます。
アップデート時の "formats not generated" エラー
このバグレポートを参照してください。
ハイフネーションパターンの設定ファイル language.def や language.dat に texlive-core の初期リリースに入っているファイルへの参照が含まれているときにこのエラーがよく発生します。特に、名前が頻繁に変わるドイツ語の最新の実験的なハイフネーションパターンが原因です。現在はドイツ語のパターンは dehyph{n,t}-x-2009-06-19.tex になっています。
この問題を解決するには、次のファイルを削除するか: /usr/share/texmf-config/tex/generic/config/language.{def,dat}
新しいバージョンを使って更新する必要があります: /usr/share/texmf/tex/generic/config/language.{def,dat}
その後、次を実行してください
# fmtutil-sys --missing
フォント
デフォルトでは、さまざまな TeX Live パッケージに入っているフォントを Fontconfig から自動で利用することができません。XeTeX や LibreOffice などからフォントを使えるようにしたいときは、以下のようにシンボリックリンクを作成するのが一番簡単です:
# ln -s /usr/share/texmf-dist/fonts/opentype/public/<some_fonts_you_want> ~/.fonts/OTF/ (or TTF or Type1)
fontconfig で利用できるようにするには、次を実行してください:
# fc-cache ~/.fonts # mkfontscale ~/.fonts/OTF (or TTF or Type1) # mkfontdir ~/.fonts/OTF (or TTF or Type1)
また、texlive-bin には TeX Live によって使用されるフォントディレクトリのリストが入ったファイル /etc/fonts/conf.avail/09-texlive-fonts.conf が含まれています。このファイルを利用するには次を実行して:
# ln -s /etc/fonts/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/09-texlive-fonts.conf
それから fontconfig を更新してください:
# fc-cache && mkfontscale && mkfontdir
TeXLive Local Manager
TeXLive Local Manager は Firmicus によって提供されているユーティリティで、Arch Linux 上の TeX Live 環境を便利に管理することができます。 AUR の texlive-localmanager-git を見て下さい。
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
最近の "langukenglish" エラー
tllocalmgr コマンドを実行しようとこのエラーが表示されることがあります:
Can't get object for collection-langukenglish at /usr/bin/tllocalmgr line 103
AUR の texlive-localmanager に ary0 の解決法が載っています。/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 /;
.sty ファイルのインストール
TeX Live (と teTeX) は自前のディレクトリインデックス (ls-R という名前のファイル) を使っているため、ファイルを TeX ツリーの中にコピーしたときはインデックスを更新する必要があります。そうしないと TeX はコピーしたファイルを認識できません。利用するコマンド:
# mktexlsr
または
# texhash
または
# texconfig[-sys] rehash
インデックスを検索するコマンドラインプログラムは:
kpsewhich
これを使って特定のファイルを TeX が見つけているか確認できます:
kpsewhich <filename>
出力はそのファイルのフルパスになります。
手動インストール
通常、新しい .sty ファイルは /usr/share/texmf-dist/tex/latex/<package name>/* に入ります。このディレクトリがない場合は作成してください。*tex を実行するとディレクトリが自動で検索されます。詳しい説明は次を見て下さい: https://bbs.archlinux.org/viewtopic.php?id=85757
PKGBUILD を使う
コンピュータ全体で LaTeX パッケージをインストールするときは、メンテナンスを簡単にするために PKGBUILD を使いましょう。AUR の texlive-gantt パッケージをサンプルとして見て下さい:
# 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
}
.install ファイル:
post_install() {
post_remove
echo "The file was installed in:"
kpsewhich gantt.sty
}
post_upgrade() {
post_install
}
post_remove() {
echo "Upgrading package database..."
mktexlsr
}
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