Pliki systemu TeXLive są umieszczone nie w jednym a w kilku katalogach. Listę tych katalogów otrzymamy wykonując polecenie:
kpsewhich -expand-var '$TEXMF'
Mówiąc
bardziej precyzyjnie:
$TEXMFMAIN
to katalog główny (korzeń główny instalacji), którego zawartość nie powinna być modyfikowana
w inny sposób niż poprzez tlmgr
;
$TEXMFLOCAL
-- tu można instalować coś prywatnego, co będzie
dostępne dla wszystkich użytkowników systemu (system-wide);
$TEXMFHOME
-- prywatne pliki użytkownika (user-specific files).
kpsewhich --expand-var '$TEXMFMAIN' # korzeń główny = to co dała fabryka kpsewhich --expand-var '$TEXMFLOCAL' # korzeń lokalnych zmian dla całej instalacji kpsewhich --expand-var '$TEXMFHOME' # lokalne nastawy użytkownika
Kolejność wyszukiwania plików jest taka, że najpierw jest
przeszukiwane drzewo katalogów o korzeniu $TEXMFHOME
a potem $TEXMFLOCAL
a na końcu $TEXMFMAIN
.
System TeX konfiguruje się edytując plik texmf.cnf
.
Plik ten można odszukać w następujący sposób:
kpsewhich texmf.cnf /usr/local/texlive/2011/texmf.cnf
Po zainstalowaniu czegokolwiek w $TEXMFHOME
należy wykonać texhash $HOME/texmf
.
Po modyfikacji zawartości $TEXMFLOCAL
też
należy wykonać texhash
(jako root
).
Powtórzyłem procedurę opisaną w Próbowanie fontów STIX, tj.:
otftotfm -a -e qx.enc STIXGeneral.otf STIXGeneral--qx
Powyższe generuje pliki vf/tfm/pfb
w odpowiednie podkatalogi
katalogu /home/tomek/.texlive2011
.
Uruchamia nawet program updmap, ale coś tam jest nie tak:
otftotfm -a -e qx.enc STIXGeneral.otf STIXGeneral--q I had to round some heights by 18.0000000 units. I had to round some depths by 3.0000000 units. I had to round some heights by 18.0000000 units. I had to round some depths by 3.0000000 units. Config file: "/home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg" /home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg unchanged. Map files not recreated. /opt/tex/bin/updmap: Updating ls-R files. otftotfm: warning: `updmap --nomkmap --enable Map \ /home/tomek/.texlive2011/texmf-var/fonts/map/dvips/lcdftools/lcdftools.map; updmap >/dev/null 2>&1' exited with status 1; otftotfm: warning: run it manually to check for errors
Powtarzam zatem:
$ updmap --nomkmap --enable Map /home/tomek/.texlive2011/texmf-var/fonts/map/dvips/lcdftools/lcdftools.map updmap --nomkmap --enable Map /home/tomek/.texlive2011/texmf-var/fonts/map/dvips/lcdftools/lcdftools.map Config file: "/home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg" /home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg unchanged. Map files not recreated. /opt/tex/bin/updmap: Updating ls-R files. ## nie wiem o co chodzi, ale jedziemy dalej ## $ updmap updmap Config file: "/home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg" .. .. .. ERROR: The following map file(s) couldn't be found: /home/tomek/.texlive2011/texmf-var/fonts/map/dvips/lcdftools/lcdftools.map Did you run mktexlsr?
updmap
nie może
zatem odszukać pliku lcdftools.map
zadeklarowanego
w pliku ~/.texlive2011/texmf-config/web2c/updmap.cfg
Próby ustalenia co jest nie tak zawiodły:
kpsewhich -expand-path '$TEXFONTMAPS'
Wydruk z powyższego zawiera ~/.texlive2011/texmf-var/fonts/map/dvips/lcdftools
a wykonanie mktexlsr
nie pomaga.
Skopiowałem zatem
lcdftools.map
do katalogu systemowego
/usr/local/texlive/2011/texmf-var/fonts/map/dvips/updmap
. Potem
## jako root mktexlsr ; ## jako zwykły użytkownik, bo pliki tfm/vf/pfb są w moim katalogu domowym updmap
Teraz działa. Wygląda na błąd w TL 2011. Znalazłem nawet
w google
radę zdesperowanego użytkownika, który radził
wywalenie updmap
.
Banalny dokument:
\documentclass[a4page]{book} \usepackage{fontspec} %<-- włącza LM wymaga xetexa \begin{document} Hopla \end{document}
Przy kompilacji XeLaTeXem (fontspec
nie działa ze zwykłym LaTeXem) spowodował
komunikat o brakującym pakiecie expl3.sty
oraz xparse.sty
.
[Używam TL2010 a konkretnie tzw. GUST scheme, zainstalowane poprzez WWW.]
Aby dociągnąć brakujące pakiety
skorzystałem po raz pierwszy w życiu z tlmgr
.
$ tlmgr search --global expl3 tlmgr: package repository http://dante.ctan.org/tex-archive/systems/texlive/tlnet expl3 - Packages supporting LaTeX3 programming conventions. siunitx - A comprehensive (SI) units package. unicode-math - Unicode mathematics support for XeTeX and LuaTeX. xpackages - High-level LaTeX3 concepts. $ tlmgr search --global xparse tlmgr: package repository http://dante.ctan.org/tex-archive/systems/texlive/tlnet xpackages - High-level LaTeX3 concepts. $ tlmgr install expl3 tlmgr: package repository http://dante.ctan.org/tex-archive/systems/texlive/tlnet [1/1, ??:??/??:??] install: expl3 [2513k] tlmgr: package log updated at /usr/local/texlive/2010/texmf-var/web2c/tlmgr.log running mktexlsr ... done running mktexlsr. $ tlmgr install xpackages tlmgr: package repository http://dante.ctan.org/tex-archive/systems/texlive/tlnet [1/1, ??:??/??:??] install: xpackages [2401k] tlmgr: package log updated at /usr/local/texlive/2010/texmf-var/web2c/tlmgr.log running mktexlsr ... done running mktexlsr.