TeX Live
TeX Live は簡単に立ち上げて使える TeX 文章生成システムです。GNU/Linux を含むほとんどの Unix や Windows に対応したバイナリの包括的な TeX システムを提供します。主要な TeX 関連プログラム、マクロパッケージ、フォントなどを全て含み、世界中の言語をサポートしています。
TeX Live は LaTeX, ConTeXt などの最も人気のあるディストリビューションの一つです。
目次
インストール
公式リポジトリでは 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
- texlive-langchinese
- texlive-langcyrillic
- texlive-langgreek
- texlive-langjapanese
- texlive-langkorean
- texlive-langextra
手動インストール
LaTeX Wikibook や TeX Live Guide を見てください。TeX Live のインストールが必要なプログラム (例: kile) を利用したいときは texlive-dummyAUR パッケージを使うことができます。
使用方法
以下のコマンドでインストールされたことを確認できます:
$ tex '\empty Hello world!\bye' $ pdftex '\empty Hello world!\bye'
DVI と PDF ファイルが作成されるはずです。TeX エディタを使うことでドキュメントを作成できます。
また、TeX Live がなくてもオンラインで TeX のドキュメントを作成できるウェブサイトも存在します:
- Authorea — 科学論文・学術文献・技術文章などのオンライン共同エディタ。
- ShareLaTeX — オープンソースのオンライン LaTeX エディタ。自分でホストして、編集、リアルタイムの共同編集で LaTeX 文章をコンパイル出来るローカルバージョンを実行することも、公式ウェブサイトでホストされているバージョンを使うこともできます。
- Overleaf — リアルタイムプレビューが統合されたオンライン LaTeX エディタ (旧名 writeLaTeX)。
- cloudTeX — クラウドでソーシャルな TeX。
- Papeeria — オンラインの LaTeX エディタ。
LaTeX wikibook も見てください。
重要事項
- 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-core には 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-gitAUR を見て下さい。
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-localmanagerAUR に 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>
出力はそのファイルのフルパスになります。
また、特定のユーザーの sty ファイルは ~/texmf/
ツリーに入ります。例えば、latex パッケージの wrapfig の wrapfig.sty
は ~/texmf/tex/latex/wrapfig/wrapfig.sty
にあります。~/texmf
は tex が実行されるたびに検索されるので mktexlsr
を実行する必要はありません。
手動インストール
通常、新しい .sty ファイルは /usr/share/texmf-dist/tex/latex/<package name>/*
に入ります。このディレクトリがない場合は作成してください。*tex を実行するとディレクトリが自動で検索されます。詳しい説明は次を見て下さい: https://bbs.archlinux.org/viewtopic.php?id=85757
PKGBUILD を使う
コンピュータ全体で LaTeX パッケージをインストールするときは、メンテナンスを簡単にするために PKGBUILD を使いましょう。AUR の texlive-ganttAUR パッケージなどがサンプルです。
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