TeX Live: Difference between revisions

From ArchWiki
m (→‎Paper size: style)
m (→‎Installation: move CTAN link to first mention)
(102 intermediate revisions by the same user not shown)
Line 8: Line 8:
{{Related|TeX Live FAQ}}
{{Related|TeX Live FAQ}}
{{Related|TeX Live and CJK}}
{{Related|TeX Live and CJK}}
{{Related|Ooolatex}}
{{Related|List of applications/Documents#Scientific_documents}}
{{Related articles end}}
{{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."
According to [[Wikipedia:TeX Live|Wikipedia]]:


TeX Live is one of the most popular distributions for [[Wikipedia:LaTeX|LaTeX]], [[Wikipedia:ConTeXt|ConTeXt]] and friends.
:'''TeX Live''' is a free software distribution for the [[Wikipedia:TeX|TeX]] typesetting system that includes major TeX-related programs, macro packages, and fonts.
 
TeX Live includes the {{man|1|tex}} and {{man|1|pdftex}} programs, the [[Wikipedia:LaTeX|LaTeX]] and [[Wikipedia:ConTeXt|ConTeXt]] TeX macro packages and the [[Wikipedia:XeTeX|XeTeX]] and [[Wikipedia:LuaTeX|LuaTeX]] TeX engines.


== Installation ==
== Installation ==
The TeX Live packages are arranged into two groups in the [[official repositories]]:
* {{grp|texlive-most}} includes TeX Live applications.
* {{grp|texlive-lang}} provides various character sets and non-English features.


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:
* The {{Grp|texlive-most}} group contains most TeX Live packages.
  /var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs
** {{Pkg|texlive-core}}, the essential package, based on the ''medium'' upstream install scheme (all other packages are based on the upstream collections). The package includes [[pacman hook]]s to automate ''mktexlsr'', ''fmtutil'' and ''updmap''.[https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/texlive-core]
** {{Pkg|texlive-bin}} contains the binaries and libraries (it is a dependency of {{Pkg|texlive-core}}).
* The {{Grp|texlive-lang}} group contains packages providing character sets and features for non-English languages.
** {{Pkg|texlive-langextra}} provides language support for African, Arabic, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan and Vietnamese.
* The {{Pkg|biber}} utility used to handle [https://ctan.org/pkg/biblatex biblatex] bibliography is provided as a separate package.


{{note|{{Pkg|texlive-langextra}} provides language support for African, Arabic, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan and Vietnamese.}}
To determine which [https://www.ctan.org/ CTAN] packages are included in each ''texlive-'' package, look up the files {{ic|/var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs}}.
 
{{Note|Some tools and utilities included in TeX Live rely on {{Pkg|ghostscript}}, {{Pkg|perl}}, {{Pkg|python2}}, or {{Pkg|ruby}}.}}
 
{{Tip|You may want to install a [[List of applications/Documents#TeX editors|TeX editor]].}}
 
=== tllocalmgr ===
 
The {{ic|tllocalmgr}} utility, provided by {{AUR|texlive-localmanager-git}}, lets you install (and update) packages from CTAN as [[pacman]] packages, see [https://git.archlinux.org/users/remy/texlive-localmanager.git/tree/tllocalmgr#n809 its usage] ({{ic|-h}}) for details.
 
===  Package documentation ===
 
The packages in the official repositories do not contain the documentation or source files of font/macro packages.
 
For offline access with {{ic|texdoc}} you can either [[install]] the whole TeX Live documentation and source files with {{AUR|texlive-most-doc}} or install documentation of specific packages with ''tllocalmgr''.
 
You can also access the documentation online at:
 
* https://tug.org/texlive/Contents/live/doc.html
* https://ctan.org/ – the cen­tral place for all kinds of ma­te­rial around TeX
* http://texdoc.net/ ({{ic|<nowiki>http://texdoc.net/pkg/</nowiki>''packagename''}} directly yields the relevant PDF)


=== Manual installation ===
=== Manual installation ===


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-installer}} package provides the TeX Live installer.
Alternatively you can install TeX Live with the upstream installer, which is packaged as {{AUR|texlive-installer}}. For more information, see the [[wikibooks:LaTeX/Installation#Custom_installation_with_TeX_Live|LaTeX Wikibook]] and the [https://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-140003 TeX Live Guide].


== Usage ==
== Usage ==


You can test your installation with
{{Note|
* While {{Pkg|texlive-core}} provides the [https://www.tug.org/texlive/tlmgr.html tlmgr] script in ''TEXMFDIST'' it is broken. For package installations you can use [[#tllocalmgr|tllocalmgr]] instead.
* The {{man|1|texconfig}} command is mostly broken because it partially depends on ''tlmgr'' ({{Bug|59094}}). The interactive mode of {{ic|texconfig}} requires {{Pkg|dialog}}.
}}
 
See the following resources:
 
* [[Wikibooks:LaTeX]]
* [https://tobi.oetiker.ch/lshort/lshort.pdf The Not So Short In­tro­duc­tion to LaTeX 2ε]
* [https://www.andy-roberts.net/writing/latex Getting to Grips with LaTeX – Andrew Roberts]
* [https://texfaq.org/ The TeX FAQ]
 
=== texmf trees and Kpathsea ===
 
texmf trees (''texmf'' stands for TeX and [[Wikipedia:Metafont|Metafont]]) should follow the [https://tug.org/tds/ TeX Directory Structure], or files may not be found.[https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#x1-110002.3]
 
TeX Live uses the [https://tug.org/texinfohtml/kpathsea.html Kpathsea] library to lookup paths by filename across multiple texmf trees and the current working directory.


$ tex '\empty Hello world!\bye'
Kpathsea searches the following variables in the reverse order (later trees override earlier ones).
$ pdftex '\empty Hello world!\bye'


You should get a DVI or a PDF file accordingly.
{| class="wikitable"
! Variables !! Arch default <sup>1)</sup> !! Used by [https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#x1-110002.3]
|-
| TEXMFDIST || /usr/share/texmf-dist ||  files of the original distribution
|-
| TEXMFLOCAL || /usr/local/share/texmf:/usr/share/texmf || administrators for system-wide installation of additional or updated macros, fonts, etc.
|-
| TEXMFSYSVAR || /var/lib/texmf ||  updmap and fmtutil (user mode) to store (cached) runtime data
|-
| TEXMFSYSCONFIG || /etc/texmf || updmap and fmtutil (user mode) to store modified configuration data
|-
| TEXMFHOME || ~/texmf || users for their own individual installations of additional or updated macros, fonts, etc.
|-
| TEXMFVAR || ~/.texlive/texmf-var || updmap and fmtutil (sys mode) to store (cached) runtime data
|-
| TEXMFCONFIG || ~/.texlive/texmf-config || updmap and fmtutil (sys mode) to store modified configuration data
|-
| TEXMFCACHE || $TEXMFSYSVAR;$TEXMFVAR || ConTeXt MkIV and LuaLaTeX to store (cached) runtime data
|}


You will probably want a [[List of applications/Documents#TeX editors|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].
# The default values are defined in {{ic|/etc/texmf/web2c/texmf.cnf}}[https://git.archlinux.org/svntogit/packages.git/tree/trunk/texmf.cnf?h=packages/texlive-core], they can be overridden with [[environment variables]].


== Important information ==
Kpathsea provides the {{man|1|kpsewhich}} command to lookup paths. When run with the {{ic|-var}} argument it can also print the values of variables.
* The {{Pkg|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 {{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.
Kpathsea uses filename databases ({{ic|ls-R}}) to speed up searches in system-wide texmf trees (configured with the ''TEXMFDBS'' variable). This means that when system-wide file trees are changed, {{man|1|mktexlsr}} or {{ic|texhash}} (a symlink) need to be run as [[root user|root]]. Fortunately the {{Pkg|texlive-core}} automates this with a [[pacman hook]] targeting all default system-wide texmf trees but {{ic|/usr/local/share/texmf}}.[https://git.archlinux.org/svntogit/packages.git/tree/trunk/mktexlsr.hook?h=packages/texlive-core] So as long as you install system-wide packages via [[pacman]] you should not need to run ''mktexlsr'' or ''texhash'' at all.


* 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.
== Important information ==


* 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}}.
{{Out of date|ConTeXt nowadays works out of the box. You just sometimes need to run {{ic|mtxrun --generate}}.[https://www.contextgarden.net/Running_Mark_IV]}}


* The ConTeXt formats (for Mark II and IV) are not automatically generated upon installation. See [http://wiki.contextgarden.net the ConTeXT wiki] for instructions on how to do this.
* 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).
* The way to handle font mappings for {{man|1|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.


* Some tools and utilities included in TeX Live rely on {{Pkg|ghostscript}}, {{Pkg|perl}}, {{Pkg|python2}}, and {{Pkg|ruby}}.
== Tips and tricks ==


* 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
=== Changing default paper size ===


* 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}}.
{{Accuracy|It's possible by directly editing the config files.[https://tug.org/pipermail/tex-live/2009-April/020692.html]}}


* 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===
It is currently impossible to set the default page size, because the Arch package removes the tool necessary for this, see {{Bug|59094}}.
It is currently impossible to set the default page size, because the Arch package removes the tool necessary for this, see {{Bug|59094}}.


Usually, you would run the {{ic|texconfig}} command, which is also capable of changing other useful settings.
Usually, you would run the {{ic|texconfig}} command, which is also capable of changing other useful settings.


===Error with "formats not generated" upon update===
=== Making fonts available to Fontconfig ===
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: {{ic|/usr/share/texmf-config/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}}
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:
or update them using the newest version under: {{ic|/usr/share/texmf/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}}
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)  
   ln -s /usr/share/texmf-dist/fonts/opentype/public/<some_fonts_you_want> ~/.fonts/OTF/ (or TTF or Type1)  


Line 91: Line 136:
{{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.}}
{{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 ==
=== Updating babelbib language definitions ===
{{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.
 
== Install .sty files ==
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:
{{bc|# mktexlsr}}
or
{{bc|# texhash}}
or
{{bc|# 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 {{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  ===
{{Style|You should not change {{ic|/usr/share/texmf-dist/}}.}}
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 ===
If you have the very specific problem of [https://www.ctan.org/pkg/babelbib 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:
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}}.
 
== 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 {{ic|/usr/share/texmf-dist/tex/latex/babelbib/}}. For example:


{{bc|
{{bc|
Line 127: Line 151:
Afterwards, you need to run {{ic|texhash}} to update the TeX database:
Afterwards, you need to run {{ic|texhash}} to update the TeX database:
  # texhash
  # texhash
== Troubleshooting ==
=== Error with "formats not generated" upon update ===
See {{Bug|16467}}. (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 {{Pkg|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: {{ic|/etc/texmf/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}}
or update them using the newest version under: {{ic|/usr/share/texmf/tex/generic/config/language.<nowiki>{def,dat}</nowiki>}}
and then run
# fmtutil-sys --missing


== See also ==
== See also ==


* [https://www.ctan.org/tex-archive/info/lshort/english A (Not So) Short In­tro­duc­tion to LaTeX2ε]
* [https://tug.org/texlive/doc.html TeX Live documentation]
* [https://tug.org/texlive/doc/texlive-en/texlive-en.html The TeX Live Guide] (not completely applicable)
* [https://tex.stackexchange.com/ TeX - LaTeX Stack Exchange]

Revision as of 14:23, 30 September 2018

fa:LaTeX

According to Wikipedia:

TeX Live is a free software distribution for the TeX typesetting system that includes major TeX-related programs, macro packages, and fonts.

TeX Live includes the tex(1) and pdftex(1) programs, the LaTeX and ConTeXt TeX macro packages and the XeTeX and LuaTeX TeX engines.

Installation

  • The texlive-most group contains most TeX Live packages.
    • texlive-core, the essential package, based on the medium upstream install scheme (all other packages are based on the upstream collections). The package includes pacman hooks to automate mktexlsr, fmtutil and updmap.[1]
    • texlive-bin contains the binaries and libraries (it is a dependency of texlive-core).
  • The texlive-lang group contains packages providing character sets and features for non-English languages.
    • texlive-langextra provides language support for African, Arabic, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan and Vietnamese.
  • The biber utility used to handle biblatex bibliography is provided as a separate package.

To determine which CTAN packages are included in each texlive- package, look up the files /var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs.

Note: Some tools and utilities included in TeX Live rely on ghostscript, perl, python2, or ruby.
Tip: You may want to install a TeX editor.

tllocalmgr

The tllocalmgr utility, provided by texlive-localmanager-gitAUR, lets you install (and update) packages from CTAN as pacman packages, see its usage (-h) for details.

Package documentation

The packages in the official repositories do not contain the documentation or source files of font/macro packages.

For offline access with texdoc you can either install the whole TeX Live documentation and source files with texlive-most-docAUR or install documentation of specific packages with tllocalmgr.

You can also access the documentation online at:

Manual installation

Alternatively you can install TeX Live with the upstream installer, which is packaged as texlive-installerAUR. For more information, see the LaTeX Wikibook and the TeX Live Guide.

Usage

Note:
  • While texlive-core provides the tlmgr script in TEXMFDIST it is broken. For package installations you can use tllocalmgr instead.
  • The texconfig(1) command is mostly broken because it partially depends on tlmgr (FS#59094). The interactive mode of texconfig requires dialog.

See the following resources:

texmf trees and Kpathsea

texmf trees (texmf stands for TeX and Metafont) should follow the TeX Directory Structure, or files may not be found.[2]

TeX Live uses the Kpathsea library to lookup paths by filename across multiple texmf trees and the current working directory.

Kpathsea searches the following variables in the reverse order (later trees override earlier ones).

Variables Arch default 1) Used by [3]
TEXMFDIST /usr/share/texmf-dist files of the original distribution
TEXMFLOCAL /usr/local/share/texmf:/usr/share/texmf administrators for system-wide installation of additional or updated macros, fonts, etc.
TEXMFSYSVAR /var/lib/texmf updmap and fmtutil (user mode) to store (cached) runtime data
TEXMFSYSCONFIG /etc/texmf updmap and fmtutil (user mode) to store modified configuration data
TEXMFHOME ~/texmf users for their own individual installations of additional or updated macros, fonts, etc.
TEXMFVAR ~/.texlive/texmf-var updmap and fmtutil (sys mode) to store (cached) runtime data
TEXMFCONFIG ~/.texlive/texmf-config updmap and fmtutil (sys mode) to store modified configuration data
TEXMFCACHE $TEXMFSYSVAR;$TEXMFVAR ConTeXt MkIV and LuaLaTeX to store (cached) runtime data
  1. The default values are defined in /etc/texmf/web2c/texmf.cnf[4], they can be overridden with environment variables.

Kpathsea provides the kpsewhich(1) command to lookup paths. When run with the -var argument it can also print the values of variables.

Kpathsea uses filename databases (ls-R) to speed up searches in system-wide texmf trees (configured with the TEXMFDBS variable). This means that when system-wide file trees are changed, mktexlsr(1) or texhash (a symlink) need to be run as root. Fortunately the texlive-core automates this with a pacman hook targeting all default system-wide texmf trees but /usr/local/share/texmf.[5] So as long as you install system-wide packages via pacman you should not need to run mktexlsr or texhash at all.

Important information

This article or section is out of date.

Reason: ConTeXt nowadays works out of the box. You just sometimes need to run mtxrun --generate.[6] (Discuss in Talk:TeX Live)
  • The ConTeXt formats (for Mark II and IV) are not automatically generated upon installation. See the ConTeXT wiki for instructions on how to do this.
  • 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).
  • The way to handle font mappings for updmap(1) 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.

Tips and tricks

Changing default paper size

The factual accuracy of this article or section is disputed.

Reason: It's possible by directly editing the config files.[7] (Discuss in Talk:TeX Live)

It is currently impossible to set the default page size, because the Arch package removes the tool necessary for this, see FS#59094.

Usually, you would run the texconfig command, which is also capable of changing other useful settings.

Making fonts available to Fontconfig

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.

Updating babelbib language definitions

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Reason: You should not change /usr/share/texmf-dist/. (Discuss in Talk:TeX Live)

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

Troubleshooting

Error with "formats not generated" upon update

See FS#16467. (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: /etc/texmf/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

See also