Difference between revisions of "TeX Live"

From ArchWiki
Jump to: navigation, search
m (Install .sty files)
(update interlanguage links)
(Tag: wiki-scripts)
 
(62 intermediate revisions by 30 users not shown)
Line 1: Line 1:
 
[[Category:TeX]]
 
[[Category:TeX]]
[[it:TeXLive]]
+
[[es:TeX Live]]
[[zh-CN:TeXLive]]
+
[[fa:LaTeX]]
{{Article summary start}}
+
[[it:TeX Live]]
{{Article summary text|Introduce how install and use TeX Live.}}
+
[[ja:TeX Live]]
{{Article summary heading|Related}}
+
[[zh-hans:TeX Live]]
{{Article summary wiki|TeX Live FAQ}}
+
{{Related articles start}}
{{Article summary wiki|TeX Live and CJK}}
+
{{Related|TeX Live FAQ}}
{{Article summary wiki|LaTeX}}
+
{{Related|TeX Live and CJK}}
{{Article summary end}}
+
{{Related|Ooolatex}}
[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."
+
{{Related|List of applications/Documents#Scientific_documents}}
 +
{{Related articles end}}
 +
[https://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]]
+
TeX Live is one of the most popular distributions for [[Wikipedia:LaTeX|LaTeX]], [[Wikipedia:ConTeXt|ConTeXt]] and friends.
  
 
== Installation ==
 
== Installation ==
The TeX Live packages are arranged into two groups in the [[Official Repositories|official repositories]]:  
+
The TeX Live packages are arranged into two groups in the [[official repositories]]:  
 
* {{grp|texlive-most}} includes TeX Live applications.
 
* {{grp|texlive-most}} includes TeX Live applications.
 
* {{grp|texlive-lang}} provides various character sets and non-English features.
 
* {{grp|texlive-lang}} provides various character sets and non-English features.
Line 21: Line 23:
 
   /var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs
 
   /var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs
  
=== texlive-most ===
+
{{note|{{Pkg|texlive-langextra}} provides language support for African, Arabic, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan and Vietnamese.}}
{| 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 ===
+
=== Manual installation ===
* {{Pkg|texlive-langcjk}}
 
* {{Pkg|texlive-langcyrillic}}
 
* {{Pkg|texlive-langgreek}}
 
* {{Pkg|texlive-langextra}}
 
 
 
{{note|{{Pkg|texlive-langextra}} provides language support for African, Arabic, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan and Vietnamese.}}
 
  
=== Alternative: TeX Live network install ===
+
See the [https://en.wikibooks.org/wiki/LaTeX/Installation#Custom_installation_with_TeX_Live LaTeX Wikibook] and [https://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-140003 TeX Live Guide]. For programs that require TeX Live to be installed (e.g. kile) you can use the {{AUR|texlive-dummy}} package.
  
Installing TeX Live manually honors the Arch Way in that it gives you much more control and lets you understand the process. It's the only way you can get a full-featured LaTeX distribution under 100 MB that fits your needs without install a thousand of packages you will never use.
+
== Usage ==
  
A detailed guide for TeX Live network install can be found on the [http://en.wikibooks.org/wiki/LaTeX/Installation#Custom_installation_with_TeX_Live LaTeX Wikibook].
+
You can test your installation with
  
Information about making TeX Live network install : http://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-140003
+
$ tex '\empty Hello world!\bye'
 +
$ pdftex '\empty Hello world!\bye'
  
A [https://bbs.archlinux.org/viewtopic.php?id=109427 discussion] of the pros and cons of making the TeX Live network install.
+
You should get a DVI or a PDF file accordingly.
  
For all those programs that require texlive to be installed (e.g. kile) you can use the {{AUR|texlive-dummy}} package from AUR.
+
You will probably want a [[List of applications/Documents#Scientific_documents|TeX editor]]. There are also a few online solutions that let you create TeX-based documents without TeX Live. See the [https://en.wikibooks.org/wiki/LaTeX/Installation#Online_solutions LaTeX wikibook].
  
 
== Important information ==
 
== Important information ==
 +
* The {{Pkg|biber}} utility used to handle biblatex bibliography is provided as a separate package.
  
* 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 way to handle font mappings for updmap was improved in September 2009, and installation should now be much more reliable than in the past. In the meantime, if you encounter error messages about unavailable map files, 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.
  
* 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.  
+
* The packages containing the documentation and sources are '''no longer available''' in official repositories. You can locally build them with [[#TeXLive Local Manager|tllocalmgr]]. You can also consult documentation online at https://tug.org/texlive/Contents/live/doc.html or on CTAN. Another possibility is using the online documentation at {{ic|<nowiki>http://texdoc.net/pkg/packagename</nowiki>}} which resolves to the relevant pdf for {{ic|packagename}}, similar to the command line tool {{ic|texdoc}} (which is useless without locally installed documentation). The documentation is now contained in {{AUR|texlive-most-doc}}.
  
 
* 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 {{Pkg|ghostscript}}, {{Pkg|perl}}, and {{Pkg|ruby}}.  
+
* Some tools and utilities included in TeX Live rely on {{Pkg|ghostscript}}, {{Pkg|perl}}, {{Pkg|python2}}, 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: https://tug.org/texlive/doc.html and https://tug.org/texlive/doc/texlive-en/texlive-en.html
  
 
* 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}}.
 
* 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}}.
Line 82: Line 59:
 
* A skeleton of a local texmf tree is at {{ic|/usr/local/share/texmf}}: this directory is writable for members of the group '''tex'''.
 
* 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===
If you would like to set the default page size to something other than A4 (such as "Letter"), run the following command:
+
If you would like to set the default page size to something other than A4 (such as "Letter"), run the {{ic|texconfig}} command.
$ texconfig
 
 
This command is also capable of changing other useful settings.
 
This command is also capable of changing other useful settings.
  
 
===Error with "formats not generated" upon update===
 
===Error with "formats not generated" upon update===
 
 
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}}.  
 
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}}.  
  
Line 97: Line 72:
  
 
===Fonts===
 
===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:
 
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)  
Line 106: Line 80:
 
   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:
+
Alternatively, {{Pkg|texlive-core}} 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}}
 
{{bc|# ln -s /etc/fonts/conf.avail/09-texlive-fonts.conf /etc/fonts/conf.d/09-texlive-fonts.conf}}
Line 117: Line 91:
  
 
== TeXLive Local Manager ==
 
== TeXLive Local Manager ==
 
+
{{AUR|texlive-localmanager-git}} is a utility which allows to conveniently manage a TeX Live installation on Arch Linux. See [https://git.archlinux.org/users/remy/texlive-localmanager.git/tree/tllocalmgr#n809 Usage] for details.
The TeXLive Local Manager is a utility provided by Firmicus which allows to conveniently manage a TeX Live installation on Arch Linux.
 
See {{AUR|texlive-localmanager-git}} in the [[Arch User Repository|AUR]].
 
 
 
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 {{ic|tllocalmgr}} commands,
 
Can't get object for collection-langukenglish at /usr/bin/tllocalmgr line 103
 
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 =
 
qw/ basic context genericrecommended fontsrecommended langczechslovak
 
langdutch langfrench langgerman langitalian langpolish langportuguese
 
langspanish **langukenglish** latex latexrecommended luatex mathextra metapost
 
texinfo xetex /;
 
  
 
== Install .sty files ==  
 
== Install .sty files ==  
Line 189: Line 103:
 
  kpsewhich
 
  kpsewhich
 
Hence you can check that TeX can find a particular file by running
 
Hence you can check that TeX can find a particular file by running
  kpsewhich <filename>
+
  kpsewhich <filename.sty>
The output should be full path to that file.
+
The output should be the full path to that file.
 +
 
 +
Alternatively, sty files that are intended only for a particular user should go in the {{ic|~/texmf/}} tree. For instance, the latex package wrapfig consists of the file {{ic|wrapfig.sty}} and would go in {{ic|~/texmf/tex/latex/wrapfig/wrapfig.sty}}. There is no need to run {{ic|mktexlsr}} or equivalent because {{ic|~/texmf}} is searched every time tex is run.
  
 
=== Manual Installation  ===
 
=== 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
+
You should '''not''' manually install files into {{ic|/usr/share/texmf-dist/tex/latex/<package name>/*}}. Instead, install local ''.sty'' files in {{ic|TEXMFLOCAL}}, if they should be available to all users, or into {{ic|TEXMFHOME}}, if they are specific to you. Use {{ic|kpsewhich -var TEXMFLOCAL}} to get the local directory and install into {{ic|<local directory>/tex/latex/<package name>/}}. The {{ic|TEXMFHOME}} directory will automatically be searched when TeX tools are executed. If you use {{ic|TEXMFLOCAL}}, you need to update the database as described above in order for the files to be found.
  
 
=== Using PKGBUILDs ===
 
=== 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.
+
To install a LaTeX package on a global level, you should use a [[PKGBUILD]] for the sake of simplifying maintenance. Examples can be found in the [[AUR]], e.g. {{AUR|texlive-gantt}}.
<pre>
 
# 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
 
}
 
</pre>
 
 
 
And the {{ic|.install}} file:
 
<pre>
 
post_install() {
 
  post_remove
 
  echo "The file was installed in:"
 
  kpsewhich gantt.sty
 
}
 
  
post_upgrade() {
+
== Updating babelbib language definitions ==
  post_install
+
If you have the very specific problem of babelbib not having the latest language definitions that you need, and you do not want to recompile everything, you can get them manually from https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/ and put them in {{ic|/usr/share/texmf-dist/tex/latex/babelbib/}}. For example:
}
 
  
post_remove() {
+
{{bc|
  echo "Upgrading package database..."
+
# cd /usr/share/texmf-dist/tex/latex/babelbib/
  mktexlsr
+
# wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/romanian.bdf
}
+
# wget [...all-other-language-files...]
</pre>
+
# wget https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/babelbib.sty
 +
}}
  
From the {{AUR|texlive-gantt}} package in the [[Arch User Repository|AUR]].
+
Afterwards, you need to run {{ic|texhash}} to update the TeX database:
 +
# texhash

Latest revision as of 07:03, 17 October 2017

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."

TeX Live is one of the most popular distributions for LaTeX, ConTeXt and friends.

Installation

The TeX Live packages are arranged into two groups in the official repositories:

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
Note: texlive-langextra provides language support for African, Arabic, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan and Vietnamese.

Manual installation

See the LaTeX Wikibook and TeX Live Guide. For programs that require TeX Live to be installed (e.g. kile) you can use the texlive-dummyAUR package.

Usage

You can test your installation with

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

You should get a DVI or a PDF file accordingly.

You will probably want a TeX editor. There are also a few online solutions that let you create TeX-based documents without TeX Live. See the LaTeX wikibook.

Important information

  • The biber utility used to handle biblatex bibliography is provided as a separate package.
  • The way to handle font mappings for updmap was improved in September 2009, and installation should now be much more reliable than in the past. In the meantime, if you encounter error messages about unavailable map files, simply remove them by hand from the updmap.cfg file (ideally using updmap-sys --edit). You can also run 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 the ConTeXT wiki for instructions on how to do this.
  • The packages containing the documentation and sources are no longer available in official repositories. You can locally build them with tllocalmgr. You can also consult documentation online at https://tug.org/texlive/Contents/live/doc.html or on CTAN. Another possibility is using the online documentation at http://texdoc.net/pkg/packagename which resolves to the relevant pdf for packagename, similar to the command line tool texdoc (which is useless without locally installed documentation). The documentation is now contained in texlive-most-docAUR.
  • 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).
  • 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

If you would like to set the default page size to something other than A4 (such as "Letter"), run the texconfig command. This command is also capable of changing other useful settings.

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-core 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
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-localmanager-gitAUR is a utility which allows to conveniently manage a TeX Live installation on Arch Linux. See Usage for details.

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.sty>

The output should be the full path to that file.

Alternatively, sty files that are intended only for a particular user should go in the ~/texmf/ tree. For instance, the latex package wrapfig consists of the file wrapfig.sty and would go in ~/texmf/tex/latex/wrapfig/wrapfig.sty. There is no need to run mktexlsr or equivalent because ~/texmf is searched every time tex is run.

Manual Installation

You should not manually install files into /usr/share/texmf-dist/tex/latex/<package name>/*. Instead, install local .sty files in TEXMFLOCAL, if they should be available to all users, or into TEXMFHOME, if they are specific to you. Use kpsewhich -var TEXMFLOCAL to get the local directory and install into <local directory>/tex/latex/<package name>/. The TEXMFHOME directory will automatically be searched when TeX tools are executed. If you use TEXMFLOCAL, you need to update the database as described above in order for the files to be found.

Using PKGBUILDs

To install a LaTeX package on a global level, you should use a PKGBUILD for the sake of simplifying maintenance. Examples can be found in the AUR, e.g. texlive-ganttAUR.

Updating babelbib language definitions

If you have the very specific problem of babelbib not having the latest language definitions that you need, and you do not want to recompile everything, you can get them manually from https://www.tug.org/texlive/devsrc/Master/texmf-dist/tex/latex/babelbib/ and put them in /usr/share/texmf-dist/tex/latex/babelbib/. For example:

# 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

Afterwards, you need to run texhash to update the TeX database:

# texhash