Difference between revisions of "TeX Live"
m (→Installing .sty using PKGBUILDs: fixed typo) |
m (→TeXLive Local Manager: texlive-localmanager-git seems to receives updates, and the current texlive-core is 2012.28273-1) |
||
(35 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category:TeX | + | [[Category:TeX]] |
− | {{ | + | [[it:TeXLive]] |
+ | [[zh-CN:TeXLive]] | ||
+ | {{Article summary start}} | ||
+ | {{Article summary text|Introduce how install and use TeX Live.}} | ||
+ | {{Article summary heading|Related}} | ||
+ | {{Article summary wiki|TeX Live FAQ}} | ||
+ | {{Article summary wiki|TeX Live and CJK}} | ||
+ | {{Article summary wiki|LaTeX}} | ||
+ | {{Article summary end}} | ||
+ | [http://www.tug.org/texlive/ TeX Live] is an "easy way to get up and running with the [[Wikipedia:TeX|TeX]] document production system. It provides a comprehensive TeX system with binaries for most flavors of Unix, including GNU/Linux, and also Windows. It includes all the major TeX-related programs, macro packages, and fonts that are free software, including support for many languages around the world." | ||
− | + | For more information see: [[:Category:TeX]] | |
− | + | == Installation == | |
+ | The TeX Live packages are arranged into two groups: {{grp|texlive-most}} and {{grp|texlive-lang}}. | ||
− | + | The essential package {{Pkg|texlive-core}} contains the basic texmf-dist tree, while {{Pkg|texlive-bin}} contains the binaries, libraries, and the texmf tree. {{Pkg|texlive-core}} is based on the “medium” install scheme of the upstream distribution. All other packages are based on the eponymous collections in TeX Live. To determine which CTAN packages are included in each package, lookup the files: | |
+ | /var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs | ||
− | + | === texlive-most === | |
+ | {| width="100%" | ||
+ | |- valign="top" | ||
+ | | | ||
+ | * {{Pkg|texlive-core}} | ||
+ | * {{Pkg|texlive-bibtexextra}} | ||
+ | * {{Pkg|texlive-fontsextra}} | ||
+ | * {{Pkg|texlive-formatsextra}} | ||
+ | * {{Pkg|texlive-games}} | ||
+ | | | ||
+ | * {{Pkg|texlive-genericextra}} | ||
+ | * {{Pkg|texlive-htmlxml}} | ||
+ | * {{Pkg|texlive-humanities}} | ||
+ | * {{Pkg|texlive-latexextra}} | ||
+ | * {{Pkg|texlive-music}} | ||
+ | | | ||
+ | * {{Pkg|texlive-pictures}} | ||
+ | * {{Pkg|texlive-plainextra}} | ||
+ | * {{Pkg|texlive-pstricks}} | ||
+ | * {{Pkg|texlive-publishers}} | ||
+ | * {{Pkg|texlive-science}} | ||
+ | |} | ||
+ | |||
+ | === texlive-lang === | ||
+ | * {{Pkg|texlive-langcjk}} | ||
+ | * {{Pkg|texlive-langcyrillic}} | ||
+ | * {{Pkg|texlive-langgreek}} | ||
+ | * {{Pkg|texlive-langextra}} | ||
+ | |||
+ | {{note| {{ic|texlive-langextra}} replaced the African, Arab, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan and Vietnamese packages.}} | ||
+ | |||
+ | === Alternative: TeX Live network install === | ||
+ | Information about making TexLive network install : http://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-140003 | ||
+ | |||
+ | A [https://bbs.archlinux.org/viewtopic.php?id=109427 discussion] of the pros and cons of making the TeX Live network install. | ||
+ | |||
+ | For all those programs that require texlive to be installed (e.g. kile) you can use the {{AUR|texlive-dummy}} package from AUR. | ||
== Important information == | == Important information == | ||
− | * The way to handle font mappings for updmap has been improved in Sept. 2009, and installation should now be much more reliable than in the past. In the meanwhile, if you encounter error messages about unavailable map file, simply remove them by hand from the {{ | + | * The way to handle font mappings for updmap has been improved in Sept. 2009, and installation should now be much more reliable than in the past. In the meanwhile, if you encounter error messages about unavailable map file, simply remove them by hand from the {{ic|updmap.cfg}} file (ideally using {{Ic|updmap-sys --edit}}). You can also run {{Ic|updmap-sys --syncwithtrees}} to automatically comment out outdated map lines from the config file. |
* The ConTeXt formats (for MKII and MKIV) are not automatically generated upon installation. See [http://wiki.contextgarden.net '''the ConTeXT wiki'''] for instructions on how to do this. | * The ConTeXt formats (for MKII and MKIV) are not automatically generated upon installation. See [http://wiki.contextgarden.net '''the ConTeXT wiki'''] for instructions on how to do this. | ||
Line 20: | Line 67: | ||
* TeX Live (upstream) now provides a tool for incremental updates of CTAN packages. On that basis, we also plan to update our packages on a regular basis (we have written tools that almost automate that task). | * TeX Live (upstream) now provides a tool for incremental updates of CTAN packages. On that basis, we also plan to update our packages on a regular basis (we have written tools that almost automate that task). | ||
− | * Some tools and utilities included in TeX Live rely on {{ | + | * Some tools and utilities included in TeX Live rely on {{Pkg|ghostscript}}, {{Pkg|perl}}, and {{Pkg|ruby}}. |
* For help and information about TeX Live see: http://tug.org/texlive/doc.html and http://tug.org/texlive/doc/texlive-en/texlive-en.html | * For help and information about TeX Live see: http://tug.org/texlive/doc.html and http://tug.org/texlive/doc/texlive-en/texlive-en.html | ||
− | * System-wide configuration files are under {{ | + | * System-wide configuration files are under {{ic|/usr/share/texmf-config}}. User-specific ones should be put under {{ic|~/.texlive/texmf-config}}. {{Ic|$TEXMFHOME}} is {{ic|~/texmf}} and {{Ic|$TEXMFVAR}} is {{ic|~/.texlive/texmf-var}}. |
− | * A skeleton of a local texmf tree is at {{ | + | * A skeleton of a local texmf tree is at {{ic|/usr/local/share/texmf}}: this directory is writable for members of the group '''tex'''. |
===Paper Size=== | ===Paper Size=== | ||
Line 35: | Line 82: | ||
===Error with "formats not generated" upon update=== | ===Error with "formats not generated" upon update=== | ||
− | See [ | + | See [https://bugs.archlinux.org/task/16467 this bug report]. ('''Note that if you do not use the experimental engine ''LuaTeX'', you can ignore this.''') This situation typically occurs when the configuration files {{ic|language.def}} and/or {{ic|language.dat}} for hyphenation patterns contain references to files from earlier releases of {{Ic|texlive-core}}, in particular to the latest experimental hyphenation patterns for German, whose file name changes frequently. Currently they should point to {{ic|dehyph{n,t}-x-2009-06-19.tex}}. |
− | To solve this, you need to either remove these files: {{ | + | To solve this, you need to either remove these files: {{ic|/usr/share/texmf-config/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}} |
− | or update them using the newest version under: {{ | + | or update them using the newest version under: {{ic|/usr/share/texmf/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}} |
and then run | and then run | ||
# fmtutil-sys --missing | # fmtutil-sys --missing | ||
Line 44: | Line 91: | ||
===Fonts=== | ===Fonts=== | ||
− | By default, the fonts that come with the various TeX Live packages are not automatically available to | + | By default, the fonts that come with the various TeX Live packages are not automatically available to Fontconfig. If you want to use them with, say XeTeX or [[LibreOffice]], the easiest approach is to make symlinks as follows: |
ln -s /usr/share/texmf-dist/fonts/opentype/public/<some_fonts_you_want> ~/.fonts/OTF/ (or TTF or Type1) | ln -s /usr/share/texmf-dist/fonts/opentype/public/<some_fonts_you_want> ~/.fonts/OTF/ (or TTF or Type1) | ||
+ | |||
To make them available to fontconfig, run: | To make them available to fontconfig, run: | ||
fc-cache ~/.fonts | fc-cache ~/.fonts | ||
mkfontscale ~/.fonts/OTF (or TTF or Type1) | mkfontscale ~/.fonts/OTF (or TTF or Type1) | ||
mkfontdir ~/.fonts/OTF (or TTF or Type1) | mkfontdir ~/.fonts/OTF (or TTF or Type1) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{ | + | Alternatively, {{Pkg|texlive-bin}} contains the file {{ic|/etc/fonts/conf.avail/09-texlive-fonts.conf}} that contains a list of the font directories used by TeX Live. You can use this file with: |
− | + | {{bc|# ln -s /etc/fonts/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/09-texlive-fonts.conf}} | |
− | + | And then update fontconfig: | |
− | |||
− | + | {{bc|# fc-cache && mkfontscale && mkfontdir}} | |
− | |||
− | + | {{Note|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 == | ||
− | + | The TeXLive Local Manager is a utility provided by Firmicus which allows to conveniently manage a TeX Live installation on Arch Linux. | |
− | See | + | See {{AUR|texlive-localmanager-git}} in the [[Arch User Repository|AUR]]. |
− | '''NB: The tool | + | <s>'''NB: The tool was not updated for a while and does only work with the current texlive-core 2011.24722-1 after some tweaking.''' </s> |
Usage: tllocalmgr | Usage: tllocalmgr | ||
Line 153: | Line 165: | ||
=== Recent "langukenglish" errors === | === Recent "langukenglish" errors === | ||
− | For issues involving this error when trying to run {{ | + | For issues involving this error when trying to run {{ic|tllocalmgr}} commands, |
Can't get object for collection-langukenglish at /usr/bin/tllocalmgr line 103 | Can't get object for collection-langukenglish at /usr/bin/tllocalmgr line 103 | ||
− | See ary0's solution at the AUR: | + | See ary0's solution at the AUR: {{AUR|texlive-localmanager}}. In summary, edit {{ic|/usr/share/texmf-var/arch/tlpkg/TeXLive/Arch.pm}} and remove "langukenglish" from the section of the file shown here: |
my @core_colls = | my @core_colls = | ||
qw/ basic context genericrecommended fontsrecommended langczechslovak | qw/ basic context genericrecommended fontsrecommended langczechslovak | ||
Line 162: | Line 174: | ||
texinfo xetex /; | texinfo xetex /; | ||
− | == | + | == Install .sty files == |
− | Normally, new .sty files go in {{ | + | TeX Live (and teTeX) uses its own directory indexes (files named {{ic|ls-R}}), and you need to refresh them after you copy something into one of the TeX trees. Or TeX can not see them. Magic command: |
+ | mktexlsr | ||
+ | or | ||
+ | texhash | ||
+ | or | ||
+ | texconfig[-sys] rehash | ||
+ | A command line program to search through these indexes is | ||
+ | kpsewhich | ||
+ | Hence you can check that TeX can find a particular file by running | ||
+ | kpsewhich <filename> | ||
+ | The output should be full path to that file. | ||
+ | |||
+ | === Manual Installation === | ||
+ | Normally, new .sty files go in {{ic|/usr/share/texmf-dist/tex/latex/<package name>/*}}. Create this directory if you do not have it. This directory will automatically be searched when *tex is executed. Further discussion can be found here: https://bbs.archlinux.org/viewtopic.php?id=85757 | ||
− | == | + | === Using PKGBUILDs === |
− | To install a | + | To install a LaTeX package on a global level, you should use a [[PKGBUILD]] for the sake of simplifying maintenance. Look at this example. |
<pre> | <pre> | ||
# Original autor: Martin Kumm <pluto@ls68.de> | # Original autor: Martin Kumm <pluto@ls68.de> | ||
Line 186: | Line 211: | ||
build() | build() | ||
{ | { | ||
− | + | mkdir -p $pkgdir/usr/share/texmf/tex/latex/gantt | |
− | + | cp $srcdir/gantt.sty $pkgdir/usr/share/texmf/tex/latex/gantt | |
} | } | ||
</pre> | </pre> | ||
− | And the .install file: | + | And the {{ic|.install}} file: |
<pre> | <pre> | ||
post_install() { | post_install() { | ||
Line 209: | Line 234: | ||
</pre> | </pre> | ||
− | From | + | From the {{AUR|texlive-gantt}} package in the [[Arch User Repository|AUR]]. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 07:38, 18 December 2012
zh-CN:TeXLive Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end TeX Live is an "easy way to get up and running with the TeX document production system. It provides a comprehensive TeX system with binaries for most flavors of Unix, including GNU/Linux, and also Windows. It includes all the major TeX-related programs, macro packages, and fonts that are free software, including support for many languages around the world."
For more information see: Category:TeX
Installation
The TeX Live packages are arranged into two groups: texlive-most and texlive-lang.
The essential package texlive-core contains the basic texmf-dist tree, while texlive-bin contains the binaries, libraries, and the texmf tree. texlive-core is based on the “medium” install scheme of the upstream distribution. All other packages are based on the eponymous collections in TeX Live. To determine which CTAN packages are included in each package, lookup the files:
/var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs
texlive-most
texlive-lang
texlive-langextra
replaced the African, Arab, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan and Vietnamese packages.Alternative: TeX Live network install
Information about making TexLive network install : http://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-140003
A discussion of the pros and cons of making the TeX Live network install.
For all those programs that require texlive to be installed (e.g. kile) you can use the texlive-dummyAUR package from AUR.
Important information
- The way to handle font mappings for updmap has been improved in Sept. 2009, and installation should now be much more reliable than in the past. In the meanwhile, if you encounter error messages about unavailable map file, simply remove them by hand from the
updmap.cfg
file (ideally usingupdmap-sys --edit
). You can also runupdmap-sys --syncwithtrees
to automatically comment out outdated map lines from the config file.
- The ConTeXt formats (for MKII and MKIV) are not automatically generated upon installation. See the ConTeXT wiki for instructions on how to do this.
- The packages containing the documentation and sources are available in the [community] repository. You can also consult it online at http://tug.org/texlive/Contents/live/doc.html or on CTAN.
- TeX Live (upstream) now provides a tool for incremental updates of CTAN packages. On that basis, we also plan to update our packages on a regular basis (we have written tools that almost automate that task).
- Some tools and utilities included in TeX Live rely on ghostscript, perl, and ruby.
- For help and information about TeX Live see: http://tug.org/texlive/doc.html and http://tug.org/texlive/doc/texlive-en/texlive-en.html
- System-wide configuration files are under
/usr/share/texmf-config
. User-specific ones should be put under~/.texlive/texmf-config
.$TEXMFHOME
is~/texmf
and$TEXMFVAR
is~/.texlive/texmf-var
.
- A skeleton of a local texmf tree is at
/usr/local/share/texmf
: this directory is writable for members of the group tex.
Paper Size
American users are advised to run
texconfig
in order to set the default page size to "Letter", as opposed to A4, the current default. This command is also capable of changing other useful settings. Not changing this setting can result in slightly flawed output, as the right margin will be bigger than the left.
Error with "formats not generated" upon update
See this bug report. (Note that if you do not use the experimental engine LuaTeX, you can ignore this.) This situation typically occurs when the configuration files language.def
and/or language.dat
for hyphenation patterns contain references to files from earlier releases of texlive-core
, in particular to the latest experimental hyphenation patterns for German, whose file name changes frequently. Currently they should point to dehyph{n,t}-x-2009-06-19.tex
.
To solve this, you need to either remove these files: /usr/share/texmf-config/tex/generic/config/language.{def,dat}
or update them using the newest version under: /usr/share/texmf/tex/generic/config/language.{def,dat}
and then run
# fmtutil-sys --missing
Fonts
By default, the fonts that come with the various TeX Live packages are not automatically available to Fontconfig. If you want to use them with, say XeTeX or LibreOffice, the easiest approach is to make symlinks as follows:
ln -s /usr/share/texmf-dist/fonts/opentype/public/<some_fonts_you_want> ~/.fonts/OTF/ (or TTF or Type1)
To make them available to fontconfig, run:
fc-cache ~/.fonts mkfontscale ~/.fonts/OTF (or TTF or Type1) mkfontdir ~/.fonts/OTF (or TTF or Type1)
Alternatively, texlive-bin contains the file /etc/fonts/conf.avail/09-texlive-fonts.conf
that contains a list of the font directories used by TeX Live. You can use this file with:
# ln -s /etc/fonts/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/09-texlive-fonts.conf
And then update fontconfig:
# fc-cache && mkfontscale && mkfontdir
TeXLive Local Manager
The TeXLive Local Manager is a utility provided by Firmicus which allows to conveniently manage a TeX Live installation on Arch Linux. See texlive-localmanager-gitAUR in the AUR.
NB: The tool was not updated for a while and does only work with the current texlive-core 2011.24722-1 after some tweaking.
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
Recent "langukenglish" errors
For issues involving this error when trying to run tllocalmgr
commands,
Can't get object for collection-langukenglish at /usr/bin/tllocalmgr line 103
See ary0's solution at the AUR: texlive-localmanagerAUR. In summary, edit /usr/share/texmf-var/arch/tlpkg/TeXLive/Arch.pm
and remove "langukenglish" from the section of the file shown here:
my @core_colls = qw/ basic context genericrecommended fontsrecommended langczechslovak langdutch langfrench langgerman langitalian langpolish langportuguese langspanish **langukenglish** latex latexrecommended luatex mathextra metapost texinfo xetex /;
Install .sty files
TeX Live (and teTeX) uses its own directory indexes (files named ls-R
), and you need to refresh them after you copy something into one of the TeX trees. Or TeX can not see them. Magic command:
mktexlsr
or
texhash
or
texconfig[-sys] rehash
A command line program to search through these indexes is
kpsewhich
Hence you can check that TeX can find a particular file by running
kpsewhich <filename>
The output should be full path to that file.
Manual Installation
Normally, new .sty files go in /usr/share/texmf-dist/tex/latex/<package name>/*
. Create this directory if you do not have it. This directory will automatically be searched when *tex is executed. Further discussion can be found here: https://bbs.archlinux.org/viewtopic.php?id=85757
Using PKGBUILDs
To install a LaTeX package on a global level, you should use a PKGBUILD for the sake of simplifying maintenance. Look at this example.
# 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 }
And the .install
file:
post_install() { post_remove echo "The file was installed in:" kpsewhich gantt.sty } post_upgrade() { post_install } post_remove() { echo "Upgrading package database..." mktexlsr }
From the texlive-ganttAUR package in the AUR.