Gentoo Logo

Guida a TeX Live 2008

Indice:

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.



Stampa

Aggiornato il 15 aprile 2009

Oggetto: In questa guida si mostra come installare TeX Live 2008 su Gentoo, senza tralasciare i passaggi da effettuare nel caso in cui sia già presente una distribuzione TeX nel sistema (come tetex o TeX Live 2005).

Alexis Ballier
Autore

Andrea Menegolo
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.