TeX Live

提供: ArchWiki
2016年1月11日 (月) 21:54時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

関連記事

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-langextra はアフリカ・アラビア・アルメニア・クロアチア・ヘブライ・インド・モンゴル・チベット・ベトナムの言語サポートを提供します。

手動インストール

LaTeX WikibookTeX Live Guide を見てください。TeX Live のインストールが必要なプログラム (例: kile) を利用したいときは texlive-dummyAUR パッケージを使うことができます。

使用方法

以下のコマンドでインストールされたことを確認できます:

$ tex '\empty Hello world!\bye'
$ pdftex '\empty Hello world!\bye'

DVI と PDF ファイルが作成されるはずです。TeX エディタを使うことでドキュメントを作成できます。

また、TeX Live がなくてもオンラインで TeX のドキュメントを作成できるウェブサイトも存在します:

  • Authorea — 科学論文・学術文献・技術文章などのオンライン共同エディタ。
https://www.authorea.com/ ||
  • ShareLaTeX — オープンソースのオンライン LaTeX エディタ。自分でホストして、編集、リアルタイムの共同編集で LaTeX 文章をコンパイル出来るローカルバージョンを実行することも、公式ウェブサイトでホストされているバージョンを使うこともできます。
https://www.sharelatex.com/ ||
  • Overleaf — リアルタイムプレビューが統合されたオンライン LaTeX エディタ (旧名 writeLaTeX)。
https://www.overleaf.com/ ||
  • cloudTeX — クラウドでソーシャルな TeX。
https://cloud-tex.com/ ||
  • Papeeria — オンラインの LaTeX エディタ。
http://papeeria.com/ ||

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 に依存しているものがあります。
  • システム全体の設定ファイルは /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" エラー

このバグレポートを参照してください。

ノート: 実験的なエンジン LuaTeX を使っていない場合は、無視してかまいません。

ハイフネーションパターンの設定ファイル language.deflanguage.dattexlive-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
ノート: 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.

TeXLive Local Manager

TeXLive Local Manager は Firmicus によって提供されているユーティリティで、Arch Linux 上の TeX Live 環境を便利に管理することができます。 AURtexlive-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 を使いましょう。AURtexlive-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