TeX Live

提供: ArchWiki
2015年1月10日 (土) 00:27時点におけるKusakata (トーク | 投稿記録)による版 (1版 をインポートしました)
ナビゲーションに移動 検索に移動

関連記事

TeX Live は"簡単に立ち上げて使える TeX 文章生成システムです。GNU/Linux を含むほとんどの Unix や Windows に対応したバイナリの包括的な TeX システムを提供します。主要な TeX 関連プログラム、マクロパッケージ、フォントなどを全て含み、世界中の言語をサポートしています。"

より詳しい情報は次を見て下さい: Category:TeX

インストール

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

代案: 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-dummyAUR パッケージを使うことができます。

重要事項

  • 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-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
ノート: 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 ファイルは /usr/share/texmf-dist/tex/latex/<package name>/* に入ります。このディレクトリがない場合は作成してください。*tex を実行するとディレクトリが自動で検索されます。詳しい説明は次を見て下さい: https://bbs.archlinux.org/viewtopic.php?id=85757

PKGBUILD を使う

コンピュータ全体で LaTeX パッケージをインストールするときは、メンテナンスを簡単にするために PKGBUILD を使いましょう。AURtexlive-ganttAUR パッケージをサンプルとして見て下さい:

# 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