Guida a TeX Live 2008
1.
Disinstallazione di una distribuzione precedentemente installata
Introduzione
In questa sezione si assume che >=app-text/tetex-3 sia installato sul
proprio sistema. Si può seguire la stessa procedura anche nel caso in cui sia
installato app-text/texlive-2005. Purtroppo non è sufficiente eseguire
la rimozione dei relativi pacchetti.
Salvataggio della configurazione esistente
Se si è personalizzata la configurazione di tetex modificando i file
contenuti in /etc/texmf, è necessario salvare il contenuto di tale
directory:
Codice 1.1: Salvataggio dei file di configurazione |
$ cp -rf /etc/texmf ~/tetex-texmf
|
Rimozione di tetex
Ora si può disinstallare tetex in tutta sicurezza:
Codice 1.2: Rimozione di tetex |
# emerge -C tetex
|
È stata segnalata la comparsa di errori durante l'unmerge. Ciò potrebbe accadere
se, nella directory /etc/texmf, sono presenti file di
configurazione anomali. Per sicurezza e per un'installazione pulita di TeX
Live si raccomanda di rimuovere il file
/etc/texmf/texmf.d/00texmf.cnf:
Codice 1.3: Pulizia della directory /etc/texmf |
# rm /etc/texmf/texmf.d/00texmf.cnf
|
Nota:
Rimuovendo tale file non si rischia di perdere la configurazione della
precedente distribuzione TeX poiché tutta la directory è stata salvata
precedentemente.
|
Poiché tetex usa texlinks che il gestore di pacchetti non riesce a
controllare, la rimozione del pacchetto lascia nel sistema alcuni collegamenti
simbolici:
Codice 1.4: Collegamenti simbolici di tetex |
$ ls -l /usr/bin/pdftex
lrwxrwxrwx 1 root root 7 2007-07-09 07:34 /usr/bin/pdftex -> pdfetex
|
Sicuramente pdfetex à stato cancellato con la rimozione di tetex, quindi
pdftex è un collegamento simbolico che punta ad un file inesistente e può essere
rimosso senza problemi. Si può utilizzare il comando find per trovare e
rimuovere questo e altri collegamenti simbolici in modo interattivo:
Codice 1.5: Rimozione interattiva dei collegamenti simbolici morti |
# find /usr/bin -type l ! -xtype f ! -xtype d -ok rm -f {} \;
< rm ... /usr/bin/pdflatex > ? y
< rm ... /usr/bin/amstex > ? y
< rm ... /usr/bin/pdftex > ? y
< rm ... /usr/bin/eplain > ? y
< rm ... /usr/bin/jadetex > ? y
< rm ... /usr/bin/lambda > ? y
< rm ... /usr/bin/pdfamstex > ? y
< rm ... /usr/bin/elatex > ? y
< rm ... /usr/bin/lamed > ? y
< rm ... /usr/bin/pdfjadetex > ? y
< rm ... /usr/bin/latex > ? y
|
Questi sono i file della distribuzione tetex dell'autore rimasti nel
sistema successivamente alla rimozione del pacchetto.
tetex, per generare file per la formattazione, utilizza fmtutil
che anche in questo caso non può venire controllato in modo appropriato dal
gestore di pacchetti. Con TeX Live 2008 la maggior parte dei file di
formattazione vengono scritti durante il processo di compilazione dei pacchetti;
tali file vengono installati in /var/lib/texmf. Ci si deve quindi
assicurare che non siano presenti file di formattazione strani in tale
directory:
Codice 1.6: Rimozione di file di formattazione strani |
# rm -rf /var/lib/texmf/web2c
|
2.
Installazione di TeX Live 2008
Se sono stati seguiti tutti i passaggi fin qui presentati, l'installazione di
TeX Live 2008 risulterà molto semplice.
Codice 2.1: Installazione di TeX Live 2008 |
# emerge texlive
|
In teoria con questo comando verrà installato tutto senza riscontrare problemi.
Si potrebbero voler modificare le USE flag di app-text/texlive al fine di
installare dei pacchetti TeX aggiuntivi, ma questa operazione può venir
effettuata anche successivamente; app-text/texlive è solo un meta-ebuild
le cui dipendenze sono influenzate dalle USE flag impostate. Ad ogni USE flag
corrisponde uno o più pacchetti TeX da cui app-text/texlive dipenderà.
È possibile che si incontrino dei problemi per quanto riguarda dipendenze non
soddisfatte, errori durante la compilazione, ecc. In questi casi si è pregati di
aprire un bug su https://bugs.gentoo.org. A tal proposito è utile
fornire le informazioni relative all'errore riscontrato includendo inoltre come
allegato l'output di texconfig conf (comando da eseguire con lo stesso
nome utente che non è riuscito a portare a termine l'installazione, al fine di
conservare le stesse variabili d'ambiente); l'output di questo comando è infatti
richiesto nella maggior parte dei casi.
3.
Configurazione
Introduzione
Come per tetex-3, TeX Live su Gentoo ha tre distinti file
di configurazione principali gestiti da texmf-update. Questi file sono
texmf.cnf, fmtutil.cnf e updmap.cfg.
Risiedono nella directory /etc/texmf/web2c; essi non dovrebbero
venire modificati direttamente poiché ogni cambiamento verrebbe perso
all'esecuzione di texmf-update.
texmf.cnf
Il file texmf.cnf è il principale file di configurazione della
distribuzione TeX. Esso contiene le definizioni di variabili utilizzate da molti
programmi.
Il file texmf.cnf viene generato concatenando i file contenuti in
/etc/texmf/texmf.d. Per modificare la configurazione dell'ambiente
TeX, è necessario modificare i file contenuti in tale directory. Allo stato
attuale l'ebuild di Gentoo TeX Live installa sei file i questo percorso:
Codice 3.1: File installati in texmf.d |
00header.cnf
05searchpaths.cnf
10standardpaths.cnf
15options.cnf
20sizes.cnf
25misc.cnf
|
Ogni file corrisponde ad una sezione del file (leggermente modificato)
texmf.cnf presente nel DVD di TeX Live 2008.
I file 00header.cnf, 05searchpaths.cnf,
10standardpaths.cnf e 25misc.cnf non dovrebbero venire
modificati. Se si ritiene che le impostazioni predefinite potrebbero essere
migliorate, si prega di aprire un bug segnalando le migliorie che si vorrebbero
apportare a tali file.
Avvertenza:
Gli ebuild di TeX Live non possono tener conto di cambiamenti apportati
nei percorsi definiti in tali file. Se si apportano dei cambiamenti, assicurarsi
di sapere cosa si sta facendo.
|
I file 15options.cnf e 20sizes.cnf possono venire
modificati prestando un po' di attenzione. I commenti presenti in questi file
forniscono una guida per capire il significato di ogni impostazione. Per
esempio, in 20sizes.cnf si può aumentare la quantità di memoria
utilizzata da TeX, utile nel caso in cui si incorra nell'errore TeX capacity
exceeded, sorry durante la compilazione di un documento molto grosso.
Nel caso si vogliano fare delle aggiunte al contenuto di texmf.cnf,
c'è la possibilità di creare un nuovo file nella directory
/etc/texmf/texmf.d, chiamandolo per esempio
99mieaggiunte.cnf. È comunque necessario che il nome del nuovo file
cominci con un numero maggiore di 25 al fine di conferirgli una priorità
inferiore a quella dei file di configurazione principali.
La creazione di un nuovo file in texmf.d è prevista anche nel caso
di pacchetti che prevedono l'aggiunta al file texmf.cnf di qualche
impostazione:
Codice 3.2: Codice di esempio per installare un file in texmf.d |
insinto /etc/texmf/texmf.d
doins 40mieaggiunteatexmf.cnf
|
updmap.cfg
Il file di configurazione updmap.cfg è utilizzato da updmap
(e updmap-sys), a meno che non sia specificato diversamente. Esso
fornisce delle informazioni per quanto riguarda le mappe di caratteri da
utilizzare a seconda del driver di output di TeX che si sta utilizzando.
Il file updmap.cfg in /etc/texmf/web2c è ottenuto
concatenando i file nella directory /etc/texmf/updmap.d. Il file di
iniziale 00updmap.cfg installato dal pacchetto
app-text/texlive-core è ottenuto eseguendo il comando updmap
--syncwithtrees sull'albero di texmf presente nel sistema
(praticamente l'esecuzione di updmap --syncwithtrees viene solo simulata,
ma questo è solo un dettaglio tecnico).
Più di un ebuild di TeX Live, al momento dell'installazione di font,
aggiungeranno dei file in /etc/texmf/updmap.d. Al fine di
disabilitare qualche mappa di caratteri si possono modificare tali file, ma è
preferibile rimuovere i pacchetti coinvolti.
Se un pacchetto di terze parti installa una nuova mappa di caratteri, essi
dovrebbe installare un file in /etc/texmf/updmap.d e lasciare che
sia texmf-update ad occuparsi del resto.
Avvertenza:
Può capitare di vedere updmap-sys --enable Map=mymap.map in qualche
ebuild o nelle istruzioni di installazione di un pacchetto di terze parti per
l'installazione di un nuovo font. Mentre tutto sembrerà funzionare
nell'immediato futuro, tutti i cambiamenti apportati da tale comando vengono
annullati la prima volta che verrà eseguito texmf-update.
|
Un modo migliore di installare tali pacchetti è quello di creare un file nella
directory /etc/texmf/updmap.d nel caso di distribuzioni di TeX che
utilizzano texmf-update:
Codice 3.3: Abilitare una nuova mappa di caratteri |
inherit latex-package
...
src_install() {
...
if latex-package_has_tetex_3; then
insinto /etc/texmf/updmap.d
doins myfontmapconfig.cfg
fi
...
}
...
pkg_postinst() {
latex-package_pkg_postinst
latex-package_has_tetex_3 || updmap-sys --enable Map=mymap.map
}
pkg_postrm() {
latex-package_pkg_postinst
latex-package_has_tetex_3 || updmap-sys --disable Map=mymap.map
}
|
I file presenti in /etc/texmf/updmap.d devono rispettare la
sintassi di updmap:
Codice 3.4: Frammento di updmap.cfg che spiega la sintassi |
Ci sono due possibili voci: Map e MixedMap. Entrambi richiedono un argomento: il
nome del file che contiene la mappa. Le linee di MixedMap ("mixed" significa che
il file è disponibile sia bitmap che vettoriale) non vengono utilizzati da dvips
se dvipsPreferoutline è settato a "false". File Map da disattivare devono essere
marcati con "#! " (senza le virgolette), e non solo da #.
|
fmtutil.cnf
Il file fmtutil.cnf contiene le informazioni necessarie per
costruire e maneggiare un file di formato.
fmtutil.cnf è ottenuto concatenando i file in
/etc/texmf/fmtutil.d. Vari ebuild di TeX Live installano dei
file in questa directory. Questi file sono accompagnati dai file di formato
corrispondenti e dal link simbolico al motore pertinente.
Codice 3.5: Frammento della pagina di man di fmtutil.cnf(5) che spiega la sintassi |
Il file fmtutil.cnf contiene le informazioni di configurazione per fmtutil(8).
Ogni linea contiene in nome del formato (per esempio "tex", "latex", "omega"),
il nome del motore utilizzato per quel formato (per esempio "tex", "etex",
"omega"), il file che definisce lo schema o "pattern" (per esempio language.dat,
language.def), e altri argomenti (il nome di qualche file .ini).
I campi sono separati da spazi bianchi e linee intere possono venir commentate
con "#". Il campo corrispondente al "pattern file" non può venir usato per
definire un file che è utilizzato durante il processo di costruzione del
formato. Esso dice a fmtutil quale file usare nel processo di creazione del
formato e ha degli effetti anche sulle opzioni --showhyphen e --byhyphen. Se il
formato non definisce come personalizzare il ritorno a capo, può essere usato un
"-" per indicare lo stesso.
|
Ebuild di TeX Live che installano un file in fmtutil.d,
installano anche il relativo file di formato in
/var/lib/texmf/web2c e creano il collegamento simbolico dal formato
al motore.
Si noti che quando viene installato un file per aggiungere il supporto ad una
nuova lingua, texmf-update si occupa di aggiungere tale file in
language.dat e di rigenerare i file di formato per aggiungere il
supporto alla lingua appena installata.
Personalizzare la configurazione
Ora che si sa come TeX Live gestisce la configurazione, si dovrebbe
essere in grado di fare quei cambiamenti che erano presenti nella vecchia
distribuzione di TeX.
4.
Errori comuni
Introduzione
In questo capitolo vengono presentati gli errori più comuni in cui si può
incappare, con una spiegazione della causa del malfunzionamento.
Il formato era scritto con (pdf)etex
A volte durante l'installazione di qualche pacchetto che richiede latex, ci si
può trovare di fronte al seguente errore:
Codice 4.1: Formato scritto con pdfetex |
---! //var/lib/texmf/web2c/latex.fmt was written by pdfetex
|
Questo errore è dovuto alla presenza nel sistema di alcuni vecchi file di una
distribuzione di TeX basata su etex. Questo significa che la guida
non è stata seguita scrupolosamente, specialmente per quanto riguarda il
capitolo Disinstallazione di una distribuzione
precedentemente installata.
È possibile risolvere il problema senza dover reinstallare nulla; si eseguano i
seguenti comandi come utente root:
Codice 4.2: Rimuovere vecchi formati |
# rm -rf /var/lib/texmf/web2c
# texmf-update
|
Directory dei formati non esistente
Quando si installa per esempio texlive-latex, si può incontrare il
seguente errore:
Codice 4.3: Directory dei formati non esistente |
fmtutil: format directory
`/var/tmp/portage/dev-texlive/texlive-latex-2007/work/texmf-var/web2c' does not exist.
|
Questo è dovuto probabilmente ad una configurazione errata. Si provi ad eseguire
il seguente comando e verificare se si ottiene lo stesso output:
Codice 4.4: Valore della variabile TEXMFMAIN |
$ kpsewhich --var-value=TEXMFMAIN
/usr/share/texmf
|
Questo è molto importante, perché fmtutil cerca mktexdir in tale
directory; se si ottiene un output differente allora fmtutil non troverà
mktexdir e quindi non riuscirà a creare la directory in cui salvare
temporaneamente i file di formato compilati.
Non ci sono comandi veloci per risolvere questo problema; si controllino i file
di configurazione o la presenza di strani file in
/etc/texmf/texmf.d. La causa potrebbe essere anche la presenza di
una versione vecchia del file 00texmf.cnf che imposta delle
definizioni errate per il file texmf.cnf. Si faccia riferimento al
capitolo Disinstallazione di una distribuzione
precedentemente installata e ricordarsi che quando si modifica o rimuove
un file in /etc/texmf/*.d bisogna eseguire texmf-update per
applicare correttamente i cambiamenti.
file .tex mancante
Durante l'installazione di texlive-latex (o qualsiasi altro formato che
supporti la sillabazione attraverso babel), si può riscontrare il seguente
errore:
Codice 4.5: bghyphen.tex mancante |
===========================================
Local configuration file hyphen.cfg used
===========================================
(/var/tmp/portage/dev-texlive/texlive-latex-2008/work/texmf-dist/tex/generic/ba
bel/hyphen.cfg (/usr/share/texmf/tex/generic/hyphen/hyphen.tex)
(/usr/share/texmf/tex/generic/hyphen/ushyphmax.tex)
(/usr/share/texmf/tex/generic/hyphen/dumyhyph.tex)
(/usr/share/texmf/tex/generic/hyphen/zerohyph.tex)
(/usr/share/texmf/tex/generic/hyphen/zerohyph.tex)
(/usr/share/texmf-dist/tex/generic/xu-hyphen/xu-bahyph.tex
(/usr/share/texmf/tex/generic/hyphen/bahyph.tex))
(/usr/share/texmf-dist/tex/generic/xu-hyphen/xu-bghyphen.tex
! I can't find file `bghyphen.tex'.
l.10 \input bghyphen.tex
Please type another input file name:
! Emergency stop.
l.10 \input bghyphen.tex
No pages of output.
Transcript written on latex.log.
Error: `pdftex -ini -jobname=latex -progname=latex
-translate-file=cp227.tcx *latex.ini' failed
|
Si dovrà controllare quale file language.dat viene usato:
Codice 4.6: Trovare il file language.dat usato |
$ kpsewhich language.dat
/usr/share/texmf/tex/generic/config/language.dat
|
Questo file è generato automaticamente da texmf-update ed è il risultato
della concatenazione dei file language.*.dat presenti nella
directory che contiene language.us (per TeX Live 2008, i file
language.*.dat sono presi da
/etc/texmf/language.dat.d/). Questa directory dovrebbe essere
/usr/share/texmf/tex/generic/config/. Si dovrebbe quindi
controllare che non vi siano altri file del tipo language.*.dat in
tale directory oltre a quelli installati dai pacchetti del tipo
dev-texlive/texlive-lang*. La presenza di un file in tale directory viene
interpretato come l'intenzione di abilitare la sillabazione per quella lingua
specifica; se non sono presenti i file di sillabazione corrispondenti i formati
che supportano la sillabazione non potranno venir costruiti e quindi si verifica
un errore.
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|