extra/texlive-bin to 2013.30973-2

This commit is contained in:
Kevin Mihelich 2013-08-03 21:15:44 +00:00
parent 54cbeb8c5e
commit 029c839540
6 changed files with 127 additions and 911 deletions

View file

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/share/texmf-dist/fonts/opentype</dir>
<dir>/usr/share/texmf-dist/fonts/truetype</dir>
<dir>/usr/local/share/texmf/fonts/opentype</dir>
<dir>/usr/local/share/texmf/fonts/truetype</dir>
</fontconfig>

View file

@ -3,67 +3,42 @@
# Contributor: francois <francois.archlinux.org> # Contributor: francois <francois.archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - Use -fPIC with armv7 # -fPIC for v6 and v7
# - --disable-cxx-runtime-hack in configure # --disable-xindy, remove xindy stuff, segfaults with clisp
# --disable-cxx-runtime-hack
pkgname=texlive-bin pkgname=texlive-bin
pkgver=2012.0 pkgver=2013.30973
pkgrel=13 pkgrel=2
pkgdesc="TeX Live binaries" pkgdesc="TeX Live binaries"
license=('GPL') license=('GPL')
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
depends=('t1lib' 'gd' 'poppler>=0.22.0' 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2') depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler>=0.22.0'
'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2'
'icu' 'harfbuzz' 'harfbuzz-icu')
makedepends=('perl' 'clisp' 'ffcall') makedepends=('perl' 'clisp' 'ffcall')
optdepends=('ed: for texconfig') optdepends=('ed: for texconfig')
provides=('lcdf-typetools' 'kpathsea' 'xindy' 'pdfjam') provides=('lcdf-typetools' 'kpathsea' 'pdfjam')
conflicts=('pdfjam') conflicts=('pdfjam')
options=('!libtool' '!strip') options=('!libtool' '!strip')
url='http://tug.org/texlive/' url='http://tug.org/texlive/'
install="texlive.install" install="texlive.install"
source=('texmf.cnf' source=('fix-fontforge-encoding.patch'
'fix-fontforge-encoding.patch' "http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-${pkgver}.tar.xz"
'09-texlive-fonts.conf'
'poppler-0.20.patch'
'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-20120623.tar.xz'
'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-texmf-20120623.tar.xz'
'luatex-r4449-radical-rule-thickness.patch'
) )
backup=(etc/texmf/web2c/texmf.cnf \ md5sums=('bfb9716aa00c86c08cd31e5b32edeb98'
etc/texmf/chktex/chktexrc \ '0a8ffd5c0002a080a4202057b1f106c6')
etc/texmf/dvipdfm/config/config \
etc/texmf/dvipdfmx/dvipdfmx.cfg \
etc/texmf/dvips/config/config.ps \
etc/texmf/tex/generic/config/language.dat \
etc/texmf/tex/generic/config/language.def \
etc/texmf/tex/generic/config/pdftexconfig.tex \
etc/texmf/ttf2pk/ttf2pk.cfg \
etc/texmf/web2c/fmtutil.cnf \
etc/texmf/web2c/mktex.cnf \
etc/texmf/xdvi/XDvi)
md5sums=('220a4f4cc0d915bf8fcbcb553dcee1ae'
'bfb9716aa00c86c08cd31e5b32edeb98'
'393a4bf67adc7ca5df2b386759d1a637'
'e3a664d5a7f0923f35060fe9d25d2573'
'ac2c3c3aa765581f8504e21a5edbfb9f'
'f315a860158cfc952c82a6d759961024'
'5190f3295eb9a604c5f17f5bd607299b')
build() { build() {
cd "$srcdir" cd "$srcdir"
if [ "${CARCH}" = "armv6h" -o "${CARCH}" = "armv7h" ]; then if [ "${CARCH}" = "x86_64" -o "${CARCH}" = "armv6h" -o "${CARCH}" = "armv7h" ]; then
export CFLAGS="${CFLAGS} -fPIC" export CFLAGS="${CFLAGS} -fPIC"
export CXXFLAGS="${CXXFLAGS} -fPIC" export CXXFLAGS="${CXXFLAGS} -fPIC"
fi fi
# this patch removes spurious error message with locale "xx_YY.utf8" # this patch removes spurious error message with locale "xx_YY.utf8"
patch -Np0 -i fix-fontforge-encoding.patch #patch -Np0 -i fix-fontforge-encoding.patch
# fix build with poppler >= 0.20
patch -Np0 -i poppler-0.20.patch
# fix radical rule thickness regression in Luatex
# http://tex.stackexchange.com/q/61952/729
patch -Np0 -i luatex-r4449-radical-rule-thickness.patch
# t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251) # t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251)
sed -i s/SELFAUTOPARENT/TEXMFROOT/ source/texk/tex4htk/t4ht.c sed -i s/SELFAUTOPARENT/TEXMFROOT/ source/texk/tex4htk/t4ht.c
############################################################# #############################################################
@ -100,7 +75,11 @@ build() {
--with-system-poppler \ --with-system-poppler \
--with-system-xpdf \ --with-system-xpdf \
--with-system-freetype2 \ --with-system-freetype2 \
--without-system-graphite \ --with-system-pixman \
--with-system-cairo \
--with-system-harfbuzz \
--with-system-graphite \
--with-system-icu \
--with-freetype2-libdir=/usr/lib \ --with-freetype2-libdir=/usr/lib \
--with-freetype2-include=/usr/include/freetype2 \ --with-freetype2-include=/usr/include/freetype2 \
--with-xdvi-x-toolkit=xaw \ --with-xdvi-x-toolkit=xaw \
@ -108,7 +87,7 @@ build() {
--disable-aleph \ --disable-aleph \
--enable-luatex \ --enable-luatex \
--with-clisp-runtime=default \ --with-clisp-runtime=default \
--enable-xindy --disable-xindy-rules --disable-xindy-docs --disable-xindy --disable-xindy-rules --disable-xindy-docs
############################################################# #############################################################
### make ### make
echo "-------------------------------------------------------" echo "-------------------------------------------------------"
@ -119,62 +98,6 @@ build() {
package() { package() {
cd "$srcdir" cd "$srcdir"
#############################################################
### install texmf tree
echo "-------------------------------------------------------"
echo "--> installing the texmf tree"
echo "-------------------------------------------------------"
install -m755 -d "$pkgdir"/usr/share
cp -r texmf "$pkgdir"/usr/share/
install -d -m755 "$pkgdir"/etc/texmf/web2c
install -d -m755 "$pkgdir"/etc/texmf/chktex
install -d -m755 "$pkgdir"/etc/texmf/dvips/config
install -d -m755 "$pkgdir"/etc/texmf/dvipdfm/config
install -d -m755 "$pkgdir"/etc/texmf/dvipdfmx
install -d -m755 "$pkgdir"/etc/texmf/tex/generic/config
install -d -m755 "$pkgdir"/etc/texmf/ttf2pk
install -d -m755 "$pkgdir"/etc/texmf/xdvi
install -d -m755 "$pkgdir"/etc/fonts/conf.avail
install -m644 "$srcdir"/09-texlive-fonts.conf "$pkgdir"/etc/fonts/conf.avail/
# move man files to /usr/share/man
for i in 1 5; do
install -d -m755 "$pkgdir"/usr/share/man/man$i
mv "$pkgdir"/usr/share/texmf/doc/man/man$i/*.$i "$pkgdir"/usr/share/man/man$i/
done
# move info files to /usr/share/info
install -d -m755 "$pkgdir"/usr/share/info
mv "$pkgdir"/usr/share/texmf/doc/info/*.info "$pkgdir"/usr/share/info/
rm -rf "$pkgdir"/usr/share/texmf/doc/{man,info}
# copy config files to $TEXMFCONFIG tree
cp -a "$pkgdir"/usr/share/texmf/chktex/chktexrc \
"$pkgdir"/etc/texmf/chktex/
cp -a "$pkgdir"/usr/share/texmf/web2c/mktex.cnf \
"$pkgdir"/etc/texmf/web2c/
cp -a "$pkgdir"/usr/share/texmf/web2c/updmap.cfg \
"$pkgdir"/etc/texmf/web2c/
cp -a "$pkgdir"/usr/share/texmf/web2c/fmtutil.cnf \
"$pkgdir"/etc/texmf/web2c/
cp -a "$pkgdir"/usr/share/texmf/dvips/config/config.ps \
"$pkgdir"/etc/texmf/dvips/config/
cp -a "$pkgdir"/usr/share/texmf/dvipdfm/config/config \
"$pkgdir"/etc/texmf/dvipdfm/config/
cp -a "$pkgdir"/usr/share/texmf/dvipdfmx/dvipdfmx.cfg \
"$pkgdir"/etc/texmf/dvipdfmx/
cp -a "$pkgdir"/usr/share/texmf/tex/generic/config/pdftexconfig.tex \
"$pkgdir"/etc/texmf/tex/generic/config/
cp -a "$pkgdir"/usr/share/texmf/tex/generic/config/language.dat \
"$pkgdir"/etc/texmf/tex/generic/config/
cp -a "$pkgdir"/usr/share/texmf/tex/generic/config/language.def \
"$pkgdir"/etc/texmf/tex/generic/config/
cp -a "$pkgdir"/usr/share/texmf/ttf2pk/ttf2pk.cfg \
"$pkgdir"/etc/texmf/ttf2pk/
cp -a "$pkgdir"/usr/share/texmf/xdvi/XDvi \
"$pkgdir"/etc/texmf/xdvi/
# remove TL specific warnings in the language.{dat,def} files:
sed -i -e '/DO NOT EDIT/,+3 d' "$pkgdir"/etc/texmf/tex/generic/config/language.*
# clean updmap.cfg
sed -i '/^\(Map\|MixedMap\)/d' "$pkgdir"/etc/texmf/web2c/updmap.cfg
sed -i '/^#! \(Map\|MixedMap\)/d' "$pkgdir"/etc/texmf/web2c/updmap.cfg
############################################################# #############################################################
### install ### install
@ -189,61 +112,103 @@ package() {
make DESTDIR="${pkgdir}" texmf="$pkgdir"/usr/share/texmf install make DESTDIR="${pkgdir}" texmf="$pkgdir"/usr/share/texmf install
rm -rf "${pkgdir}"/usr/{texmf,share/texmf-dist} rm -rf "${pkgdir}"/usr/{texmf,share/texmf-dist}
# replace upstream texmf.cnf with ours
rm -f "$pkgdir"/usr/share/texmf/web2c/texmf.cnf
install -m644 "$srcdir"/texmf.cnf "$pkgdir"/etc/texmf/web2c/texmf.cnf
# since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c
# we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter
ln -sf /etc/texmf/web2c/texmf.cnf "$pkgdir"/usr/share/texmf/web2c/texmf.cnf
# fix location of TEXMFCACHE for luatools
sed -i 's#texlive2010#texlive#' "$pkgdir"/usr/share/texmf/web2c/texmfcnf.lua
## remove aleph from fmtutil.cnf
sed -i -e '/aleph/d' "$pkgdir"/usr/share/texmf/web2c/fmtutil.cnf
## install Perl libraries ## install Perl libraries
mkdir -p "$pkgdir"/usr/share/tlpkg/TeXLive mkdir -p "$pkgdir"/usr/share/tlpkg/TeXLive
install -m644 "${srcdir}"/source/utils/biber/TeXLive/*.pm "${pkgdir}/usr/share/tlpkg/TeXLive" install -m644 "${srcdir}"/source/utils/biber/TeXLive/*.pm "${pkgdir}/usr/share/tlpkg/TeXLive"
# create symlinks for formats ## symlink engines by hand. texlinks has moved to texlive-core...
echo "--> Create symlinks for TeX formats ..." mkdir -p ${pkgdir}/usr/bin
PATH="$PATH:${pkgdir}/usr/bin" texlinks -f "$pkgdir"/usr/share/texmf/web2c/fmtutil.cnf "$pkgdir"/usr/bin/ ln -s eptex ${pkgdir}/usr/bin/platex
ln -s euptex ${pkgdir}/usr/bin/uplatex
ln -s luatex ${pkgdir}/usr/bin/dvilualatex
ln -s luatex ${pkgdir}/usr/bin/dviluatex
ln -s luatex ${pkgdir}/usr/bin/lualatex
ln -s luatex ${pkgdir}/usr/bin/pdfcsplain
ln -s pdftex ${pkgdir}/usr/bin/amstex
ln -s pdftex ${pkgdir}/usr/bin/cslatex
ln -s pdftex ${pkgdir}/usr/bin/csplain
ln -s pdftex ${pkgdir}/usr/bin/eplain
ln -s pdftex ${pkgdir}/usr/bin/etex
ln -s pdftex ${pkgdir}/usr/bin/jadetex
ln -s pdftex ${pkgdir}/usr/bin/latex
ln -s pdftex ${pkgdir}/usr/bin/mex
ln -s pdftex ${pkgdir}/usr/bin/mllatex
ln -s pdftex ${pkgdir}/usr/bin/mltex
ln -s pdftex ${pkgdir}/usr/bin/pdfetex
ln -s pdftex ${pkgdir}/usr/bin/pdfjadetex
ln -s pdftex ${pkgdir}/usr/bin/pdflatex
ln -s pdftex ${pkgdir}/usr/bin/pdfmex
ln -s pdftex ${pkgdir}/usr/bin/pdfxmltex
ln -s pdftex ${pkgdir}/usr/bin/texsis
ln -s pdftex ${pkgdir}/usr/bin/utf8mex
ln -s pdftex ${pkgdir}/usr/bin/xmltex
ln -s xetex ${pkgdir}/usr/bin/xelatex
############################################################# #############################################################
# remove dangling symlinks # remove dangling symlinks
_bibtexextra_scripts=" _bibtexextra_scripts="
bibexport bibexport
listbib listbib
multibibliography
urlbst urlbst
" "
_core_scripts=" _core_scripts="
a2ping
a5toa4
adhocfilelist
afm2afm afm2afm
allcm
allec
allneeded
arara
arlatex arlatex
autoinst autoinst
bundledoc bundledoc
checkcites checkcites
cmap2enc chkweb
context
ctanify ctanify
ctanupload ctanupload
ctxtools
de-macro de-macro
deweb
dosepsbin dosepsbin
dtxgen
dvi2fax
dviasm dviasm
dvired
e2pall
epstopdf epstopdf
findhyph findhyph
font2afm fmtutil
fmtutil-sys
fontinst
fragmaster fragmaster
installfont-tl installfont-tl
kpsepath
kpsetool
kpsewhere
kpsexpand
latex2man latex2man
latexdiff latexdiff
latexdiff-vc latexdiff-vc
latexfileversion latexfileversion
latexmk latexmk
latexpand
latexrevise latexrevise
listings-ext.sh listings-ext.sh
ltxfileinfo
lua2dox_filter
luaotfload-tool
luatools
match_parens match_parens
mf2pt1 mf2pt1
mkjobtexmf mkjobtexmf
mkluatexfontdb mkluatexfontdb
mkt1font mkt1font
mktexfmt
mptopdf mptopdf
mtxrun
ot2kpx ot2kpx
pdf180 pdf180
pdf270 pdf270
@ -259,27 +224,47 @@ pdfjam-slides6up
pdfjoin pdfjoin
pdfnup pdfnup
pdfpun pdfpun
pfm2kpx pfarrei
pkfix pkfix
pkfix-helper pkfix-helper
ps2eps
ps2frag
pslatex
pstopdf
purifyeps purifyeps
repstopdf repstopdf
rpdfcrop rpdfcrop
showglyphs rungs
simpdftex
sty2dtx sty2dtx
texconfig
texconfig-dialog
texconfig-sys
texcount texcount
texdef texdef
texdiff texdiff
texdirflatten texdirflatten
texdoc
texdoctk
texexec
texlinks
texliveonfly texliveonfly
texloganalyser texloganalyser
typeoutfileinfo texmfstart
thumbpdf thumbpdf
typeoutfileinfo
updmap
updmap-sys
vpl2ovp vpl2ovp
vpl2vpl vpl2vpl
" "
_htmlxml_scripts="ht htcontext htlatex htmex httex httexi htxelatex htxetex mk4ht" _htmlxml_scripts="ht htcontext htlatex htmex httex httexi htxelatex htxetex mk4ht"
_langcjk_scripts="convbkmk updmap-setup-kanji" _langcyrillic_scripts="rubibtex rumakeindex"
_langcjk_scripts="convbkmk ptex2pdf
kanji-fontmap-creator
kanji-config-updmap
kanji-config-updmap-sys
"
_langextra_scripts="ebong" _langextra_scripts="ebong"
_langgreek_scripts="mkgrkindex" _langgreek_scripts="mkgrkindex"
_latexextra_scripts=" _latexextra_scripts="
@ -288,7 +273,6 @@ exceltex
makeglossaries makeglossaries
pdfannotextractor pdfannotextractor
perltex perltex
ppower4
ps4pdf ps4pdf
splitindex splitindex
svn-multi svn-multi
@ -302,6 +286,7 @@ vpe"
${_core_scripts} \ ${_core_scripts} \
${_htmlxml_scripts} \ ${_htmlxml_scripts} \
${_langcjk_scripts} \ ${_langcjk_scripts} \
${_langcyrillic_scripts} \
${_langextra_scripts} \ ${_langextra_scripts} \
${_langgreek_scripts} \ ${_langgreek_scripts} \
${_latexextra_scripts} \ ${_latexextra_scripts} \
@ -310,8 +295,10 @@ vpe"
${_pstricks_scripts} \ ${_pstricks_scripts} \
${_science_scripts} \ ${_science_scripts} \
tlmgr; do tlmgr; do
rm -f "$pkgdir"/usr/bin/$s ! readlink -e "$pkgdir"/usr/bin/$s && rm "$pkgdir"/usr/bin/$s
done done
################################################################### ###################################################################
} }
md5sums=('bfb9716aa00c86c08cd31e5b32edeb98'
'0a8ffd5c0002a080a4202057b1f106c6')

View file

@ -1,23 +0,0 @@
Index: source/texk/web2c/luatexdir/tex/mlist.w
===================================================================
--- source/texk/web2c/luatexdir/tex/mlist.w (revision 4448)
+++ source/texk/web2c/luatexdir/tex/mlist.w (revision 4449)
@@ -1798,7 +1798,17 @@
theta = fraction_rule(cur_style);
y = var_delimiter(left_delimiter(q), cur_size,
height(x) + depth(x) + clr + theta, NULL, cur_style);
- theta = height(y);
+ /* If |y| is a composite then set |theta| to the height of its top
+ character, else set it to the height of |y|. */
+ if (list_ptr(y) != null
+ && type(list_ptr(y)) == hlist_node
+ && list_ptr(list_ptr(y)) != null
+ && type(list_ptr(list_ptr(y))) == glyph_node) { /* and it should be */
+ theta = char_height(font(list_ptr(list_ptr(y))),
+ character(list_ptr(list_ptr(y))));
+ } else {
+ theta = height(y);
+ }
} else {
y = var_delimiter(left_delimiter(q), cur_size,
height(x) + depth(x) + clr + theta, NULL, cur_style);

View file

@ -1,22 +0,0 @@
--- source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2011-10-06 06:14:20.000000000 +0000
+++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2012-05-17 11:30:26.327236883 +0000
@@ -1433,7 +1433,7 @@
static int m_Object_getTypeName(lua_State * L)
{
- char *s;
+ const char *s;
udstruct *uin;
uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
if (uin->pd != NULL && uin->pd->pc != uin->pc)
--- source/texk/web2c/pdftexdir/pdftosrc.cc.orig 2012-06-24 17:12:34.376329435 +0200
+++ source/texk/web2c/pdftexdir/pdftosrc.cc 2012-06-24 17:12:25.490003152 +0200
@@ -134,7 +134,7 @@
exit(1);
}
if (extract_xref_table) {
- int size = xref->getSize();
+ int size = xref->getNumObjects();
int i;
for (i = 0; i < size; i++) {
if (xref->getEntry(i)->offset == 0xffffffff)

View file

@ -2,13 +2,16 @@ infodir=usr/share/info
filelist=(dvipng.info dvips.info eplain.info epspdf.info fontname.info kpathsea.info latex2e-es.info latex2e.info latex2man.info mf2pt1.info tds.info texdraw.info web2c.info) filelist=(dvipng.info dvips.info eplain.info epspdf.info fontname.info kpathsea.info latex2e-es.info latex2e.info latex2man.info mf2pt1.info tds.info texdraw.info web2c.info)
post_install() { post_install() {
echo ">>> texlive: updating the filename database..." if [[ -f usr/bin/mktexlsr ]]; then
usr/bin/mktexlsr echo ">>> texlive: updating the filename database..."
echo -n "creating all formats..." usr/bin/mktexlsr
usr/bin/fmtutil-sys --all 1>/dev/null fi
echo " done." if [[ -f usr/bin/fmtutil-sys ]]; then
echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)" echo -n "creating all formats..."
usr/bin/fmtutil-sys --all 1>/dev/null
echo " done."
echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
fi
[[ -x usr/bin/install-info ]] || return 0 [[ -x usr/bin/install-info ]] || return 0
for file in "${filelist[@]}"; do for file in "${filelist[@]}"; do
install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
@ -17,15 +20,19 @@ post_install() {
post_upgrade() { post_upgrade() {
local corename corever _pacout local corename corever _pacout
echo ">>> texlive: updating the filename database..." if [[ -f usr/bin/mktexlsr ]]; then
usr/bin/mktexlsr echo ">>> texlive: updating the filename database..."
usr/bin/mktexlsr
fi
_pacout=$(pacman -Q texlive-core 2>/dev/null) _pacout=$(pacman -Q texlive-core 2>/dev/null)
read corename corever <<< ${_pacout} read corename corever <<< ${_pacout}
if [[ ${corever} == 2012* ]]; then if [[ ${corever} == 2012* ]]; then
echo -n "recreating all formats..." if [[ -f usr/bin/fmtutil-sys ]]; then
usr/bin/fmtutil-sys --all 1>/dev/null echo -n "recreating all formats..."
echo " done." usr/bin/fmtutil-sys --all 1>/dev/null
echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)" echo " done."
echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
fi
else else
echo "WARNING: not recreating formats since texlive-core has version '$corever'" echo "WARNING: not recreating formats since texlive-core has version '$corever'"
fi fi

View file

@ -1,724 +0,0 @@
% texmf.cnf for TeXLive/Arch Linux -- runtime path configuration file for kpathsea.
% Public domain.
%
% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
% updated. Instead, put your changes -- and only your changes, not an
% entire copy of the full texmf.cnf! -- in ../../texmf.cnf. That is, if
% this file is installed in /some/path/to/texlive/2011/texmf/web2c/texmf.cnf,
% add your custom settings to /some/path/to/texlive/2011/texmf.cnf.
%
% What follows is a super-summary of what this .cnf file can
% contain. Please read the Kpathsea manual for more information.
%
% Any identifier (sticking to A-Za-z_ for names is safest) can be assigned.
% The `=' (and surrounding spaces) is optional.
% $foo (or ${foo}) in a value expands to the envvar or cnf value of foo.
% Long lines can be continued with a \.
%
% Earlier entries (in the same or another file) override later ones, and
% an environment variable foo overrides any texmf.cnf definition of foo.
%
% All definitions are read before anything is expanded, so you can use
% variables before they are defined.
%
% If a variable assignment is qualified with `.PROGRAM', it is ignored
% unless the current executable (last filename component of argv[0]) is
% named PROGRAM. This foo.PROGRAM construct is not recognized on the
% right-hand side. For environment variables, use FOO_PROGRAM.
%
% Which file formats use which paths for searches is described in the
% various programs' and the Kpathsea documentation (http://tug.org/kpathsea).
%
% // means to search subdirectories (recursively).
% A leading !! means to look only in the ls-R db, never on the disk.
% In this file, either ; or : can be used to separate path components.
% A leading/trailing/doubled path separator in the paths will be
% expanded into the compile-time default. Probably not what you want.
%
% Brace notation is supported, for example: /usr/local/{mytex,othertex}
% expands to /usr/local/mytex:/usr/local/othertex. We make extensive
% use of this.
% Part 1: Search paths and directories.
% This is the parent directory of our several trees, i.e.,
% /usr/local/texlive/YYYY in the original TeX Live distribution.
%
% All trees must be organized according to the TeX Directory Structure
% (http://tug.org/tds), or files may not be found.
%
% Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share.
TEXMFROOT = $SELFAUTODIR/share
% The tree containing runtime files related to the specific
% distribution and version.
TEXMFMAIN = $TEXMFROOT/texmf
% The main tree of packages, distribution-agnostic:
TEXMFDIST = $TEXMFROOT/texmf-dist
% Local additions to the distribution trees.
TEXMFLOCAL = /usr/local/share/texmf
% TEXMFSYSVAR, where *-sys store cached runtime data.
TEXMFSYSVAR = /var/lib/texmf
% TEXMFSYSCONFIG, where *-sys store configuration data.
TEXMFSYSCONFIG = /etc/texmf
% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
% more than one per-user tree, set this to a list of directories in
% braces, as described above. (This used to be HOMETEXMF.) ~ expands
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive/texmf-var
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
TEXMFCONFIG = ~/.texlive/texmf-config
% List all the texmf trees.
%
% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
% explicitly and before all other trees.
%
% TEXMFLOCAL follows TEXMFMAIN (and precedes TEXMFDIST) because the
% files in TEXMFMAIN are tightly coupled with the particular version of
% the distribution, such as configuration files. Overriding them would
% be more likely to cause trouble than help. On the other hand, the
% bulk of packages and fonts are in TEXMFDIST, and locally-installed
% versions should take precedence over those -- although it is generally
% a source of confusion to have different versions of a package
% installed, whatever the trees, so try to avoid it.
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
% Where to look for ls-R files. There need not be an ls-R in the
% directories in this path, but if there is one, Kpathsea will use it.
% By default, this is only the !! elements of TEXMF, so that mktexlsr
% does not create ls-R files in the non-!! elements -- because if an
% ls-R is present, it will be used, and the disk will not be searched.
% This is arguably a bug in kpathsea.
TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
% The system trees. These are the trees that are shared by all users.
% If a tree appears in this list, the mktex* scripts will use
% VARTEXFONTS for generated files, if the original tree isn't writable;
% otherwise the current working directory is used.
SYSTEXMF = $TEXMFSYSVAR;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST
% Where generated fonts may be written. This tree is used when the sources
% were found in a system tree and either that tree wasn't writable, or the
% varfonts feature was enabled in MT_FEATURES in mktex.cnf.
VARTEXFONTS = $TEXMFVAR/fonts
% On some systems, there will be a system tree which contains all the font
% files that may be created as well as the formats. For example
% TEXMFVAR = /var/lib/texmf
% is used in many distros. In this case, set VARTEXFONTS like this
%VARTEXFONTS = $TEXMFVAR/fonts
% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
%
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
% one of the TEXMF directories (avoids overlapping ls-R files).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Usually you will not need to edit any of the following variables.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% WEB2C is for Web2C specific files. The current directory may not be
% a good place to look for them.
WEB2C = $TEXMF/web2c
% TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
% or \openin, including .sty, .eps, etc. We specify paths for all known
% formats, past or present. Not all of them are built these days.
% Plain TeX. Have the command tex check all directories as a last
% resort, we may have plain-compatible stuff anywhere.
TEXINPUTS.tex = .;$TEXMF/tex/{plain,generic,}//
% Fontinst needs to read afm files.
TEXINPUTS.fontinst = .;$TEXMF/{tex,fonts/afm}//
% Other plain-based formats.
TEXINPUTS.amstex = .;$TEXMF/tex/{amstex,plain,generic,}//
TEXINPUTS.csplain = .;$TEXMF/tex/{csplain,plain,generic,}//
TEXINPUTS.eplain = .;$TEXMF/tex/{eplain,plain,generic,}//
TEXINPUTS.ftex = .;$TEXMF/tex/{formate,plain,generic,}//
TEXINPUTS.mex = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.texinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
% LaTeX 2e specific macros are stored in latex/, macros that can only be
% used with 2.09 in latex209/. In addition, we look in the directory
% latex209, useful for macros that were written for 2.09 and do not
% mention 2e at all, but can be used with 2e.
TEXINPUTS.cslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.latex209 = .;$TEXMF/tex/{latex209,generic,latex,}//
TEXINPUTS.olatex = .;$TEXMF/tex/{latex,generic,}//
% MLTeX.
TEXINPUTS.frlatex = .;$TEXMF/tex/{french,latex,generic,}//
TEXINPUTS.frtex = .;$TEXMF/tex/{french,plain,generic,}//
TEXINPUTS.mllatex = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.mltex = .;$TEXMF/tex/{plain,generic,}//
% e-TeX.
TEXINPUTS.elatex = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.etex = .;$TEXMF/tex/{plain,generic,}//
% pdfTeX.
TEXINPUTS.pdfcslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
TEXINPUTS.pdfcsplain = .;$TEXMF/tex/{csplain,plain,generic,}//
TEXINPUTS.pdflatex = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfmex = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.utf8mex = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.pdftex = .;$TEXMF/tex/{plain,generic,}//
TEXINPUTS.pdftexinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
TEXINPUTS.pdfamstex = .;$TEXMF/tex/{amstex,plain,generic,}//
% pdfeTeX.
TEXINPUTS.pdfelatex = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfetex = .;$TEXMF/tex/{plain,generic,}//
% pdfxTeX.
TEXINPUTS.pdfxlatex = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfxmex = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.pdfxtex = .;$TEXMF/tex/{plain,generic,}//
% LuaTeX.
TEXINPUTS.lualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
TEXINPUTS.luatex = .;$TEXMF/tex/{luatex,plain,generic,}//
TEXINPUTS.dvilualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
TEXINPUTS.dviluatex = .;$TEXMF/tex/{luatex,plain,generic,}//
% XeTeX.
TEXINPUTS.xelatex = .;$TEXMF/tex/{xelatex,latex,xetex,generic,}//
TEXINPUTS.xeplain = .;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}//
TEXINPUTS.xetex = .;$TEXMF/tex/{xetex,plain,generic,}//
% Omega / Aleph.
TEXINPUTS.aleph = .;$TEXMF/tex/{plain,generic,}//
TEXINPUTS.elambda = .;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.eomega = .;$TEXMF/tex/{plain,generic,}//
TEXINPUTS.lambda = .;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.lamed = .;$TEXMF/tex/{lamed,lambda,latex,generic,}//
TEXINPUTS.omega = .;$TEXMF/tex/{plain,generic,}//
% p(La)TeX.
TEXINPUTS.ptex = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}//
TEXINPUTS.platex = .;$TEXMF/tex/{platex,ptexgeneric,latex,generic,}//
% epTeX.
TEXINPUTS.eptex = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}//
% pBibTeX bibliographies and style files.
BIBINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bib//
BSTINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bst//
% ConTeXt.
TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic,}//
% jadetex.
TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
TEXINPUTS.pdfjadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
% XMLTeX.
TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
TEXINPUTS.pdfxmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
% Miscellany, no longer built.
TEXINPUTS.lamstex = .;$TEXMF/tex/{lamstex,plain,generic,}//
TEXINPUTS.lollipop = .;$TEXMF/tex/{lollipop,plain,generic,}//
TEXINPUTS.frpdflatex = .;$TEXMF/tex/{french,latex,generic,}//
TEXINPUTS.frpdftex = .;$TEXMF/tex/{french,plain,generic,}//
% Earlier entries override later ones, so put this generic one last.
TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}//
% ttf2tfm.
TTF2TFMINPUTS = .;$TEXMF/ttf2pk//
% Metafont, MetaPost inputs.
MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
MPINPUTS = .;$TEXMF/metapost//
% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
% We want to find the engine-specific file, e.g., cont-en.fmt can
% exist under both pdftex/ and xetex/. But just in case some formats
% end up without an engine directory, look directly in web2c/ too.
% We repeat the same definition three times because of the way fmtutil
% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
% will not be found.
TEXFORMATS = .;$TEXMF/web2c{/$engine,}
MFBASES = .;$TEXMF/web2c{/$engine,}
MPMEMS = .;$TEXMF/web2c{/$engine,}
%
% As of 2008, pool files don't exist any more (the strings are compiled
% into the binaries), but just in case something expects to find these:
TEXPOOL = .;$TEXMF/web2c
MFPOOL = ${TEXPOOL}
MPPOOL = ${TEXPOOL}
% support the original xdvi. Must come before the generic settings.
PKFONTS.XDvi = .;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}//
VFFONTS.XDvi = .;$TEXMF/%s
PSHEADERS.XDvi = .;$TEXMF/%q{dvips,fonts/type1}//
TEXPICTS.XDvi = .;$TEXMF/%q{dvips,tex}//
% Device-independent font metric files.
VFFONTS = .;$TEXMF/fonts/vf//
TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm//
% The $MAKETEX_MODE below means the drivers will not use a cx font when
% the mode is ricoh. If no mode is explicitly specified, kpse_prog_init
% sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual.
% The modeless part guarantees that bitmaps for PostScript fonts are found.
PKFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}//
% Similarly for the GF format, which only remains in existence because
% Metafont outputs it (and MF isn't going to change).
GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE//
% A backup for PKFONTS and GFFONTS. Not used for anything.
GLYPHFONTS = .;$TEXMF/fonts
% A place to puth everything that doesn't fit the other font categories.
MISCFONTS = .;$TEXMF/fonts/misc//
% font name map files. This isn't just fonts/map// because ConTeXt
% wants support for having files with the same name in the different
% subdirs. Maybe if the programs ever get unified to accepting the same
% map file syntax the definition can be simplified again.
TEXFONTMAPS = .;$TEXMF/fonts/map/{$progname,pdftex,dvips,}//
% BibTeX bibliographies and style files. bibtex8 also uses these.
BIBINPUTS = .;$TEXMF/bibtex/bib//
BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}//
% MlBibTeX.
MLBIBINPUTS = .;$TEXMF/bibtex/bib/{mlbib,}//
MLBSTINPUTS = .;$TEXMF/bibtex/{mlbst,bst}//
% .ris and .bltxml bibliography formats.
RISINPUTS = .;$TEXMF/bibtex/ris//
BLTXMLINPUTS = .;$TEXMF/bibtex/bltxml//
% MFT style files.
MFTINPUTS = .;$TEXMF/mft//
% PostScript headers and prologues (.pro); unfortunately, some programs
% also use this for acessing font files (enc, type1, truetype)
TEXPSHEADERS = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3}}//
TEXPSHEADERS.gsftopk = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3,truetype}}//
% OSFONTDIR is to provide a convenient hook for allowing TeX to find
% fonts installed on the system (outside of TeX). An empty default
% value would add "//" to the search paths, so we give it a dummy value.
% OSFONTDIR = /usr/share/fonts
% PostScript Type 1 outline fonts.
T1FONTS = .;$TEXMF/fonts/type1//;$OSFONTDIR//
% PostScript AFM metric files.
AFMFONTS = .;$TEXMF/fonts/afm//;$OSFONTDIR//
% TrueType outline fonts.
TTFONTS = .;$TEXMF/fonts/{truetype,opentype}//;$OSFONTDIR//
% OpenType outline fonts.
OPENTYPEFONTS = .;$TEXMF/fonts/{opentype,truetype}//;$OSFONTDIR//
% Type 42 outline fonts.
T42FONTS = .;$TEXMF/fonts/type42//
% Ligature definition files.
LIGFONTS = .;$TEXMF/fonts/lig//
% Dvips' config.* files (this name should not start with `TEX'!).
TEXCONFIG = $TEXMF/dvips//
% Makeindex style (.ist) files.
INDEXSTYLE = .;$TEXMF/makeindex//
% Font encoding files (.enc).
ENCFONTS = .;$TEXMF/fonts/enc//
% CMap files.
CMAPFONTS = .;$TEXMF/fonts/cmap//
% Subfont definition files.
SFDFONTS = .;$TEXMF/fonts/sfd//
% OpenType feature files (.fea).
FONTFEATURES=.;$TEXMF/fonts/fea//
% .cid and .cidmap
FONTCIDMAPS=.;$TEXMF/fonts/cid//
% pdftex config files:
PDFTEXCONFIG = .;$TEXMF/pdftex/{$progname,}//
% Used by DMP (ditroff-to-mpx), called by makempx -troff.
TRFONTS = /usr{/local,}/share/groff/{current/font,site-font}/devps
MPSUPPORT = .;$TEXMF/metapost/support
% For xdvi to find mime.types and .mailcap, if they do not exist in
% ~. These are single directories, not paths.
% (But the default mime.types, at least, may well suffice.)
MIMELIBDIR = /etc
MAILCAPLIBDIR = /etc
% Default settings for the fontconfig library as used by the Windows
% versions of xetex/xdvipdfmx. On Unixish systems, fontconfig ignores
% this. ConTeXT MkIV (all platforms) also use these values.
%
FONTCONFIG_FILE = fonts.conf
FONTCONFIG_PATH = $TEXMFSYSVAR/fonts/conf
FC_CACHEDIR = $TEXMFSYSVAR/fonts/cache
% TeX documentation and source files, for use with texdoc and kpsewhich.
TEXDOCS = $TEXMF/doc//
TEXSOURCES = .;$TEXMF/source//
% Web and CWeb input paths.
WEBINPUTS = .;$TEXMF/web//
CWEBINPUTS = .;$TEXMF/cweb//
% Omega-related fonts and other files.
OFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//
OPLFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/opl//
OVFFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ovf,vf}//
OVPFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovp//
OTPINPUTS = .;$TEXMF/omega/otp//
OCPINPUTS = .;$TEXMF/omega/ocp//
% Some additional input variables for several programs. If you add
% a program that uses the `other text files' or `other binary files'
% search formats, you'll want to add their variables here as well.
T4HTINPUTS = .;$TEXMF/tex4ht//
%% t4ht utility, sharing files with TeX4ht
TEX4HTFONTSET=alias,iso8859,unicode
TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}//
% TeXworks editor configuration and settings
TW_LIBPATH = $TEXMFCONFIG/texworks
TW_INIPATH = $TW_LIBPATH
% For security, do not look in . for dvipdfmx.cfg, since the D option
% would allow command execution.
DVIPDFMXINPUTS = $TEXMF/dvipdfmx
% Lua needs to look in TEXINPUTS for lua scripts distributed with packages.
%
% But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in
% the environment with a colon, say, TEXINPUTS=/some/dir:, the intended
% default expansion of TEXINPUTS will not happen and .lua files under
% the /tex/ will not be found.
%
% So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex.
% The default LUAINPUTS sufficess for luatex and dviluatex.
%
LUAINPUTS.lualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
LUAINPUTS.dvilualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}//
% Lua needs to look for binary lua libraries distributed with packages.
CLUAINPUTS = .;$SELFAUTOLOC/lib/{$progname,$engine,}/lua//
% Architecture independent executables.
TEXMFSCRIPTS = $TEXMF/scripts/{$progname,$engine,}//
% Other languages.
JAVAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/java//
PERLINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/perl//
PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python//
RUBYINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/ruby//
%% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment.
% KPSE_DOT = .
% This definition isn't used from this .cnf file itself (that would be
% paradoxical), but the compile-time default in paths.h is built from it.
% The SELFAUTO* variables are set automatically from the location of
% argv[0], in kpse_set_program_name.
%
% This main texmf.cnf file is installed, for a release YYYY, in a
% directory such as /usr/local/texlive/YYYY/texmf/web2c/texmf.cnf.
% Since this file is subject to future updates, the TeX Live installer
% or human administrator may also create a file
% /usr/local/texlive/YYYY/texmf.cnf; any settings in this latter file
% will take precedence over the distributed one under texmf/web2c.
%
% For security reasons, it is better not to include . in this path.
%
TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
% kpathsea 3.5.3 and later sets these at runtime. To avoid empty
% expansions from binaries linked against an earlier version of the
% library, we set $progname and $engine to something non-empty:
progname = unsetprogname
engine = unsetengine
% Part 2: Options.
% If this option is set to true, `tex a.b' will look first for a.b.tex
% (within each path element), and then for a.b, i.e., we try standard
% extensions first. If this is false, we first look for a.b and then
% a.b.tex, i.e., we try the name as-is first.
%
% Both names are always tried; the difference is the order in which they
% are tried. The setting applies to all searches, not just .tex.
%
% This setting only affects names being looked up which *already* have
% an extension. A name without an extension (e.g., `tex story') will
% always have an extension added first.
%
% The default is true, because we already avoid adding the standard
% extension(s) in the usual cases. E.g., babel.sty will only look for
% babel.sty, not babel.sty.tex, regardless of this setting.
try_std_extension_first = t
% Enable system commands via \write18{...}. When enabled fully (set to
% t), obviously insecure. When enabled partially (set to p), only the
% commands listed in shell_escape_commands are allowed. Although this
% is not fully secure either, it is much better, and so useful that we
% enable it for everything but bare tex.
shell_escape = p
% No spaces in this command list.
%
% The programs listed here are as safe as any we know: they either do
% not write any output files, respect openout_any, or have hard-coded
% restrictions similar or higher to openout_any=p. They also have no
% features to invoke arbitrary other programs, and no known exploitable
% bugs. All to the best of our knowledge. They also have practical use
% for being called from TeX.
%
shell_escape_commands = \
bibtex,bibtex8,\
kpsewhich,\
makeindex,\
repstopdf,\
% we'd like to allow:
% dvips - but external commands can be executed, need at least -R1.
% epspdf, ps2pdf, pstopdf - need to respect openout_any,
% and gs -dSAFER must be used and check for shell injection with filenames.
% (img)convert (ImageMagick) - delegates.mgk possible misconfig, besides,
% without Unix convert it hardly seems worth it, and Windows convert
% is something completely different that destroys filesystems, so skip.
% pygmentize - but is the filter feature insecure?
% ps4pdf - but it calls an unrestricted latex.
% rpdfcrop - maybe ok, but let's get experience with repstopdf first.
% texindy,xindy - but is the module feature insecure?
% ulqda - but requires optional SHA1.pm, so why bother.
% tex, latex, etc. - need to forbid --shell-escape, and inherit openout_any.
% plain TeX should remain unenhanced.
shell_escape.tex = f
shell_escape.initex = f
% This is used by the Windows script wrapper for restricting searching
% for the purportedly safe shell_escape_commands above to system
% directories.
TEXMF_RESTRICTED_SCRIPTS = \
{!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}/scripts/{$progname,$engine,}//
% Allow TeX \openin, \openout, or \input on filenames starting with `.'
% (e.g., .rhosts) or outside the current tree (e.g., /etc/passwd)?
% a (any) : any file can be opened.
% r (restricted) : disallow opening "dotfiles".
% p (paranoid) : as `r' and disallow going to parent directories, and
% restrict absolute paths to be under $TEXMFOUTPUT.
openout_any = p
openin_any = a
% Write .log/.dvi/etc. files here, if the current directory is unwritable.
%TEXMFOUTPUT = /tmp
% If a dynamic file creation fails, log the command to this file, in
% either the current directory or TEXMFOUTPUT. Set to the
% empty string or 0 to avoid logging.
MISSFONT_LOG = missfont.log
% Set to a colon-separated list of words specifying warnings to suppress.
% To suppress everything, use TEX_HUSH = all; this is currently equivalent to
% TEX_HUSH = checksum:lostchar:readable:special
% To suppress nothing, use TEX_HUSH = none or do not set the variable at all.
TEX_HUSH = none
% Allow TeX, and MF to parse the first line of an input file for
% the %&format construct.
parse_first_line = t
% But don't parse the first line if invoked as "tex", since we want that
% to remain Knuth-compatible. The src_specials and
% file_line_error_style settings, as well as the options -enctex,
% -mltex, -8bit, etc., also affect this, but they are all off by default.
parse_first_line.tex = f
parse_first_line.initex = f
% Control file:line:error style messages.
file_line_error_style = f
% Enable the mktex... scripts by default? These must be set to 0 or 1.
% Particular programs can and do override these settings, for example
% dvips's -M option. Your first chance to specify whether the scripts
% are invoked by default is at configure time.
%
% These values are ignored if the script names are changed; e.g., if you
% set DVIPSMAKEPK to `foo', what counts is the value of the environment
% variable/config value `FOO', not the `MKTEXPK' value.
%
%MKTEXTEX = 0
%MKTEXPK = 0
%MKTEXMF = 0
%MKTEXTFM = 0
%MKTEXFMT = 0
%MKOCP = 0
%MKOFM = 0
% Used by makempx to run TeX. We use "etex" because MetaPost is
% expecting DVI, and not "tex" because we want first line parsing.
TEX = etex
% These variables specify the external program called for the
% interactive `e' option. %d is replaced by the line number and %s by
% the current filename. The default is specified at compile-time, and
% we let that stay in place since different platforms like different values.
%TEXEDIT = vi +%d '%s' % default for Unix
%TEXEDIT = texworks --position=+%d "%s" % default for Windows
%MFEDIT = ${TEXEDIT}
%MPEDIT = ${TEXEDIT}
% The default `codepage and sort order' file for BibTeX8, when none is
% given as command line option or environment variable.
BIBTEX_CSFILE = 88591lat.csf
% This variable is specific to Windows. It must be set to 0 or 1. The
% default is 0. Setting it to 1 tells the Windows script wrappers to
% use an already installed Perl interpreter if one is found on the
% search path, in preference to the Perl shipped with TeX Live. Thus,
% it may be useful if you both (a) installed a full Perl distribution
% for general use, and (b) need to run Perl programs from TL that use
% additional modules we don't provide. The TL Perl does provide all the
% standard Perl modules.
%
%TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 0
% Part 3: Array and other sizes for TeX (and Metafont).
%
% If you want to change some of these sizes only for a certain TeX
% variant, the usual dot notation works, e.g.,
% main_memory.hugetex = 20000000
%
% If a change here appears to be ignored, try redumping the format file.
% Memory. Must be less than 8,000,000 total.
%
% main_memory is relevant only to initex, extra_mem_* only to non-ini.
% Thus, have to redump the .fmt file after changing main_memory; to add
% to existing fmt files, increase extra_mem_*. (To get an idea of how
% much, try \tracingstats=2 in your TeX source file;
% web2c/tests/memtest.tex might also be interesting.)
%
% To increase space for boxes (as might be needed by, e.g., PiCTeX),
% increase extra_mem_bot.
%
% For some xy-pic samples, you may need as much as 700000 words of memory.
% For the vast majority of documents, 60000 or less will do.
%
main_memory = 3000000 % words of inimemory available; also applies to inimf&mp
extra_mem_top = 0 % extra high memory for chars, tokens, etc.
extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.
% ConTeXt needs lots of memory.
extra_mem_top.context = 2000000
extra_mem_bot.context = 4000000
% Words of font info for TeX (total size of all TFM files, approximately).
% Must be >= 20000 and <= 147483647 (without tex.ch changes).
font_mem_size = 3000000
% Total number of fonts. Must be >= 50 and <= 9000 (without tex.ch changes).
font_max = 9000
% Extra space for the hash table of control sequences.
hash_extra = 200000
% Max number of characters in all strings, including all error messages,
% help texts, font names, control sequences. These values apply to TeX.
pool_size = 3250000
% Minimum pool space after TeX's own strings; must be at least
% 25000 less than pool_size, but doesn't need to be nearly that large.
string_vacancies = 90000
% Maximum number of strings.
max_strings = 500000
% min pool space left after loading .fmt
pool_free = 47500
% Buffer size. TeX uses the buffer to contain input lines, but macro
% expansion works by writing material into the buffer and reparsing the
% line. As a consequence, certain constructs require the buffer to be
% very large, even though most documents can be handled with a small value.
buf_size = 200000
% Hyphenation trie. The maximum possible is 4194303 (ssup_trie_size in
% the sources), but we don't need that much. The value here suffices
% for all known free hyphenation patterns to be loaded simultaneously
% (as TeX Live does).
%
trie_size = 1000000
hyph_size = 8191 % prime number of hyphenation exceptions, >610, <32767.
% http://primes.utm.edu/curios/page.php/8191.html
nest_size = 500 % simultaneous semantic levels (e.g., groups)
max_in_open = 15 % simultaneous input files and error insertions,
% also applies to MetaPost
param_size = 10000 % simultaneous macro parameters, also applies to MP
save_size = 50000 % for saving values outside current group
stack_size = 5000 % simultaneous input sources
% These are Omega-specific.
ocp_buf_size = 500000 % character buffers for ocp filters.
ocp_stack_size = 10000 % stacks for ocp computations.
ocp_list_size = 1000 % control for multiple ocps.
% These work best if they are the same as the I/O buffer size, but it
% doesn't matter much. Must be a multiple of 8.
dvi_buf_size = 16384 % TeX
gf_buf_size = 16384 % MF
% It's probably inadvisable to change these. At any rate, we must have:
% 45 < error_line < 255;
% 30 < half_error_line < error_line - 15;
% 60 <= max_print_line;
% These apply to TeX, Metafont, and MetaPost.
error_line = 79
half_error_line = 50
max_print_line = 79
% Metafont only.
screen_width.mf = 1664
screen_depth.mf = 1200
% BibTeX only (max_strings also determines hash_size and hash_prime).
ent_str_size = 250
glob_str_size = 5000
max_strings.bibtex = 35307
max_strings.bibtex8 = 35307
max_strings.bibtexu = 35307
max_strings.pbibtex = 35307
% GFtype only.
line_length.gftype = 500
max_rows.gftype = 8191
max_cols.gftype = 8191