Texlive, year ubuntu

12

Click here to load reader

description

How to install tex live on ubuntu

Transcript of Texlive, year ubuntu

  • Installare TEX Live 2012su Ubuntu

    EG

    9 maggio 2013

    Uno dei difetti principali della distribuzione TEX Live su sistemi U che,per precisa scelta degli sviluppatori, manca il gestore di aggiornamento e manu-tenzione tlmgr. Da un lato questo difende lutente da possibili danni al sistema,dallaltro impedisce un costante aggiornamento della distribuzione TEX per ovviarea bug o per avere a disposizione nuove funzioni che escono ogni giorno.

    naturalmente possibile installare la distribuzione normale anche su sistemiche prevedano la gestione delle applicazioni tramite un programma dedicato, nelcaso di Ubuntu Synaptic o, dalla linea di comando, apt-get e simili.

    La procedura che descriviamo, con opportune modiche, pu essere adattataanche ad altre distribuzioni come Fedora o simili. Per tutte quelle basate su Debiandovrebbe essere del tutto identica.

    1 Breve introduzione al terminaleTutto ci che segue richiede una certa pratica con il terminale, cio linterfaccia

    per la linea di comando. Chi non ha idea di che cosa sia il terminale, lasci perdere;ma non poi cos dicile copiare i comandi cos come sono scritti. Si pu trovareuna guida iniziale allindirizzo

    http://wiki.ubuntu-it.org/AmministrazioneSistema/RigaDiComando

    Nel seguito, una riga come

    $ ls -l

    indica un comando da dare sul terminale, che va inviato con lapposito tasto diinvio (quello per andare a capo, per capirsi). Il simbolo $ rappresenta il sistema cheattende un comando, non va copiato. Nel terminale eettivo pu essere diverso,per esempio qualcosa come

    enrico@ubuntu:~$

    e, normalmente, dopo questi caratteri iniziali c un rettangolo lampeggiante. Sicopino i comandi dal segno di $ escluso in poi. In certe situazioni i comandi sonotroppo lunghi per stare su una riga di questo documento e saranno qui resi con

    1

  • $ comando a b c \d e f

    La barra rovescia indica dunque che il comando prosegue sulla riga di stampasuccessiva. Gli spazi prima della barra rovescia sono signicativi.

    Eventuali risposte del sistema saranno rappresentate senza il simbolo $, peresempio

    bash: tix: command not found

    dice che il sistema ha ricevuto il comando di eseguire il programma tix, che pernon esiste. Il presso bash: indica chi sta cercando di eseguire i comandi, in questocaso la shell, ignorate questi dettagli.

    Quasi sempre non necessario copiare del tutto le varie componenti di una rigadi comando: si preme il tasto di tabulazione e, se il completamento della parte chesi sta scrivendo unico, il terminale provveder da s a farlo.

    Ultimi avvisi: se la vostra tastiera non ha ~, trovate il modo di inserire questocarattere (e procuratevi al pi presto una tastiera internazionale); su parecchietastiere, con la congurazione normale di Ubuntu per litaliano, il simbolo ~ siottiene con la combinazione AltGr + . Le parti di testo in corpo ridotto sonoriservate agli utenti pi esperti.

    2 PreliminariCon Synaptic installate i moduli perl-tk e perl-doc. Poi aprite una sessione di

    terminale e preparatevi una cartella di lavoro, per esempio

    $ mkdir ~/texlive-install$ cd ~/texlive-install

    Il secondo comando vi fa entrare nella cartella creata con il primo.

    3 Procurarsi la distribuzione (modo 1)Il modo pi semplice di installare la TEX Live via rete. Si scarica

    http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

    per esempio tramite wget, curl oppure un browser. Lultimo modo non richiedecommenti, se non che il le scaricato va trasferito nella cartella di lavoro; per ilprimo il comando

    $ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

    mentre per curl si dovr scrivere

    $ curl -O http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

    2

  • Il sistema di mirror, cio la rete di macchine che si distribuiscono gli accessiagli archivi della TEX Live, ha un nodo in Italia che a volte tremendamente lento.Se vi accorgete che la connessione lenta, provate a dare lindirizzo diretto delmirror che di solito pi veloce facendo la seguente sostituzione

    mirror.ctan.org! ctan.mirror.garr.it/mirrors/CTANNel seguito continueremo a usare mirror.ctan.org; se avete fatto la sostituzionequi, fatela anche in seguito.

    A questo punto dovete decomprimere il le scaricato. Il comando

    $ tar zxf install-tl-unx.tar.gz

    che produrr una nuova cartella, nella quale ci sposteremo:

    $ cd install-tl-20120914

    La parte nale del nome la data in cui il programma di installazione statoprodotto, quindi pu essere diversa e cade a fagiolo la possibilit di completarecon il tasto di tabulazione. Passate alla sezione 5.

    4 Procurarsi la distribuzione (modo 2)Se non avete un collegamento di rete eciente, potete scaricare unimmagine

    ISO della distribuzione, cio un le che equivale a un DVD, oppure procurarvi ilDVD sico. Lindirizzo Web a cui rivolgersi uno fra i due seguenti

    http://mirror.switch.ch/ftp/mirror/tex/systems/texlive/Images/texlive2012.isohttp://bo.mirror.garr.it/mirrors/CTAN/systems/texlive/Images/texlive2012.iso

    Si tratta di un le di 1:9GiB, trasferitelo su una chiave e copiatelo sulla macchinadove desiderate installare TEX Live; oppure trasformate limmagine in un DVD cheinserirete nella macchina.

    Si pu ricorrere anche a un torrent scegliendo il relativo collegamento allapagina http://www.tug.org/texlive/acquire-iso.html; dovrebbe partire automa-ticamente il programma Transmission che scaricher limmagine del DVD.

    Un doppio clic sul le (o sul DVD) dovrebbe permettere di accedere al discovirtuale (o sico). Aprite una sessione di terminale, create una cartella di lavorocon

    $ mkdir ~/texlive-install

    e spostatevi nella cartella texlive del disco virtuale (o sico). Questa manovradovrebbe essere

    $ cd /cdrom/TeXLive/texlive

    ma al posto di TeXLive potrebbe esserci qualcosaltro; usate il completamentoautomatico. Passate alla sezione 5.

    3

  • 5 Installare la distribuzioneOra dovrete dare il comando di installazione:

    $ sudo ./install-tl -gui -lang it\-repository http://mirror.ctan.org/systems/texlive/tlnet

    (ricordate, nel caso, di sostituire mirror.ctan.org). Il sistema chieder la passworddi amministratore e comparir una nestra simile a quella che vedete nella gura 1.Se omettete -lang it, le scritte saranno in inglese.

    Figura 1: Finestra di installazione

    In basso, al centro, c il pulsante Installa TeX Live. Premetelo e attendete -duciosi che linstallazione sia completa. In realt sarebbe possibile personalizzarelinstallazione in vari modi, ma quello proposto sicuro e completo.

    Non modicate la scelta standard per Crea i collegamenti nelle directory disistema: accanto deve comparire No.

    Quando linstallazione terminata, passate alla sezione 7.

    6 Se qualcosa va stortoNel caso linstallazione non vada a buon ne, prima di riprovare occorre elimi-

    nare quanto eventualmente scritto sul proprio sistema:

    $ sudo rm -rf /usr/local/texlive/2012$ sudo rm -rf ~/.texlive2012

    Poi si riprovi.

    4

  • 7 Perfezionare linstallazioneOra viene la parte dicile, cio far capire al sistema dove trovare i programmi

    della distribuzione TEX. Si consiglia di non toccare quella standard su Ubuntu, inmodo da non aver problemi a installare programmi che da essa dipendono, comeKile.

    Torniamo nella nostra cartella di lavoro con

    $ cd ~/texlive-install

    e arontiamo il sistema operativo. Diamo i comandi misteriosi

    $ echo 'export PATH=/opt/texbin:${PATH}' > texlive.sh$ sudo cp texlive.sh /etc/profile.d/$ sudo mkdir -p /opt

    Questo crea un le texlive.sh contenente il testo che abbiamo scritto fra apici sin-goli e lo copia in una delle directory di sistema. Ora il passo decisivo, che richiedeuna scelta dipendente dallarchitettura hardware della propria macchina; si dovrdare uno (e uno solo) dei comandi qui riportati

    $ sudo ln -s /usr/local/texlive/2012/bin/i386-linux /opt/texbin$ sudo ln -s /usr/local/texlive/2012/bin/x86_64-linux /opt/texbin$ sudo ln -s /usr/local/texlive/2012/bin/powerpc-linux /opt/texbin

    Non possibile per lautore delle note sapere quale dei tre: solo voi potete stabilirese la vostra macchina basata su un processore Intel (o AMD) a 32 bit, su un Intela 64 bit o su un PowerPC. Potete per scoprirlo con il comando

    $ ls /usr/local/texlive/2012/bin

    che dar come risposta una delle tre possibilit.Lutente smaliziato si potrebbe chiedere perch non inserire direttamente in texlive.sh il nome

    della directory con gli eseguibili, per esempio

    export PATH=/usr/local/texlive/2012/bin/i386-linux:$PATH

    Lidea che quando uscir la 2013sar suciente dare il comando

    $ sudo rm /opt/texbin$ sudo ln -s /usr/local/texlive/2013/bin/i386-linux /opt/texbin

    dopo linstallazione, senza toccare nientaltro e senza nemmeno un logout.

    A questo punto si deve eseguire il logout, perch il sistema deve digerire lamodica. Rifatto il login, riapriamo una sessione del terminale e controlliamo chetutto sia a posto; il comando

    $ which tex

    dovrebbe dare come risposta

    /opt/texbin/tex

    5

  • Se cos , siamo a cavallo e possiamo procedere con laggiornamento della di-stribuzione, altrimenti cercare di capire che cos andato storto con laiuto di unguru.

    Ci sono due modi per mettersi in condizione di usare tlmgr, consiglio di usareentrambi. Il primo far partire tlmgr dal terminale. Si dia il comando

    $ gedit ~/.bashrc

    e nella nestra che compare si aggiunga, in fondo

    ...

    # Addition for TeX Livefunction sutlmgr () {

    if [[ -z "$@" ]]then

    sudo /opt/texbin/tlmgr -guielse

    sudo /opt/texbin/tlmgr "$@"fi}alias mktexlsr='sudo /opt/texbin/mktexlsr'alias updmap-sys='sudo /opt/texbin/updmap-sys'alias fmtutil-sys='sudo /opt/texbin/fmtutil-sys'

    I tre puntini rappresentano ci che sta gi nel le .bashrc e che non va modicato.Chi lo preferisce (probabilmente perch ha gi aggiunto altri alias al suo ambiente personale)

    pu inserire quella modica nel le .bash_aliases.

    Si registri la modica con lapposito men e al terminale si scriva

    $ . ~/.bashrc$ sutlmgr

    Apparir la nestra di tlmgr che non richiede particolari commenti (si legga ladocumentazione). Dora in poi il comando sutlmgr far partire tlmgr con privilegidi amministratore in interfaccia graca. Un comando come

    $ sutlmgr show --list xyz

    eseguir direttamente lazione richiesta come argomento di tlmgr.Ci manca ancora una cosa: rendere noti al sistema i font OpenType forniti con

    TEX Live, in particolare per poterli usare con XTEX e XLATEX che si appoggiano sullelibrerie FreeType:

    $ sudo cp $(kpsewhich -var-value TEXMFSYSVAR)\/fonts/conf/texlive-fontconfig.conf \/etc/fonts/conf.d/09-texlive.conf$ sudo fc-cache -fsv

    6

  • I comandi per la procedura via rete, uno dopo laltro in una tipica installazionedi Ubuntu 10, sono riportati nella tabella nale 1; in rosso le parti che potrebbero(o dovrebbero) essere diverse; le righe con la sottolineatura rappresentano rispostedel terminale, quella in rosso dice che cosa sostituire al posto di i386-linux nellariga successiva; le righe con azioni descritte tra parentesi ad angolo descrivonomanovre che si devono fare fuori dal terminale.

    8 OpenSUSELa procedura descritta funziona perfettamente quasi allo stesso modo con

    OpenSUSE 11.3. Vediamo le varianti; la prima per il comando di installazioneche deve essere

    $ su -c './install-tl -gui -lang it\-repository http://mirror.ctan.org/systems/texlive/tlnet'

    La parte da aggiungere al le .bashrc invece

    ...

    # Addition for TeX Livefunction sutlmgr () {

    if [[ -z "$@" ]]then

    su -c '/opt/texbin/tlmgr -gui'else

    sudo -E /opt/texbin/tlmgr "$@"fi}alias mktexlsr='sudo -E /opt/texbin/mktexlsr'alias updmap-sys='sudo -E /opt/texbin/updmap-sys'alias fmtutil-sys='sudo -E /opt/texbin/fmtutil-sys'

    possibile crearsi unapplicazione che lanci tlmgr: premendo con il tasto destrodel mouse sulla scrivania si scelga Create Launcher e si scelga dal men adiscesa Application in terminal. Il comando da inserire

    su -c '/opt/texbin/tlmgr -gui'

    Lanciando lapplicazione cos creata, si aprir una nestra di terminale che chiedela password di amministrazione e poi la nestra di tlmgr.

    9 FedoraLa procedura va bene anche per Fedora, almeno per la versione 13. Per linstal-

    lazione con linterfaccia graca necessario installare Perl-Tk che per potrebbenon far parte della dotazione standard. Nel caso lo si pu recuperare da

    7

  • http://koji.fedoraproject.org/koji/buildinfo?buildID=151517

    Il le da registrare come /etc/profile.d/texlive.sh deve essere diverso e conte-nere

    #!/bin/bashpathmunge () {

    if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; thenif [ "$2" = "after" ] ; then

    PATH=$PATH:$1else

    PATH=$1:$PATHfifi}pathmunge /opt/texbinunset pathmunge

    Altra dierenza che in Fedora si lavora come root per lamministrazione, quindii comandi che vengono indicati per Ubuntu con il presso sudo vanno eseguitidopo un comando iniziale su (e senza sudo, ovviamente).

    AppendiciA Installare un pacchetto personale

    Supponiamo di aver bisogno di un pacchetto LATEX che non nella TEX Live;pu succedere per questioni di licenza o perch una versione sperimentale nonancora negli archivi uciali. Ci sono due posti fra cui scegliere dove sistemare i lenecessari. Prima di tutto scarichiamo larchivio da dove ospitato (CTAN o altrosito) e decomprimiamolo in una cartella di lavoro. Per ssare le idee, il pacchettosar padua e la cartella conterr i le README, padua.ins, padua.dtx e padua.pdf (leparti scritte in rosso saranno quelle da sostituire con il nome eettivo). Apriamouna sessione di terminale e diamo il seguente comando:

    $ tex padua.ins

    Pu capitare che questo le con estensione .ins non ci sia; in tal caso il comando

    $ tex padua.dtx

    sar quello necessario. In entrambi i casi saranno generati alcuni le che dovremosistemare nel posto corretto. Prima di passare allinstallazione, cancelleremo il lepadua.log:

    $ rm padua.log

    8

  • Naturalmente queste istruzioni sono generiche; ci sono pacchetti con strutturapi complessa e andranno seguite le istruzioni degli sviluppatori, ma i passi sonoanaloghi.

    Ora decidiamo se servirci dellalbero personale o di quello locale. La dierenzafondamentale che nel secondo caso il pacchetto sar disponibile a tutti gli utentidella macchina; ovviamente sar necessario essere amministratori per poterlo fare.

    A.1 Installare nellalbero personaleLalbero personale ha la sua radice in ~/texmf (su sistemi GNU/Linux), ma non

    occorre sapere dove sia di preciso e le istruzioni che seguono valgono in realtper qualsiasi sistema Unix. Proseguiamo da dove ceravamo interrotti; per primacosa deniamo unabbreviazione che ci risparmia lavoro, poi creiamo le cartellenecessarie.

    $ Local=$(kpsewhich -var-value TEXMFHOME)$ mkdir -p $Local/source/latex/padua

    $ cp README padua.ins padua.dtx $Local/source/latex/padua$ mkdir -p $Local/doc/latex/padua$ cp padua.pdf $Local/doc/latex/padua$ mkdir -p $Local/tex/latex/padua$ cp * $Local/tex/latex/padua

    A.2 Installare nellalbero localeLalbero locale ha la sua radice in /usr/local/texlive/texmf-local (su sistemi

    GNU/Linux), ma non occorre sapere dove sia di preciso e le istruzioni che seguo-no valgono in realt per qualsiasi sistema Unix. Proseguiamo da dove ceravamointerrotti; per prima cosa deniamo unabbreviazione che ci risparmia lavoro, poicreiamo le cartelle necessarie.

    $ Local=$(kpsewhich -var-value TEXMFLOCAL)$ sudo mkdir -p $Local/source/latex/padua$ sudo cp README padua.ins padua.dtx $Local/source/latex/padua$ sudo mkdir -p $Local/doc/latex/padua$ sudo cp padua.pdf $Local/doc/latex/padua$ sudo mkdir -p $Local/tex/latex/padua$ sudo cp * $Local/tex/latex/padua$ mktexlsr

    B Installare una famiglia di fontCi sono varie istruzioni su come installare nuovi font che siano stati acquistati

    o, se gratuiti, non abbiano una licenza che ne permette linclusione nella TEX Live.Linstallazione di font nellalbero personale sconsigliata, perch richiede un co-stante lavoro dellutente nel caso in cui gli aggiornamenti a TEX Live contenganoanche quelli ai font distribuiti.

    9

  • opportuno seguire le istruzioni contenute nellopuscolo The font installationguide di Philipp Lehman, disponibili nella TEX Live con il comando da terminale

    $ texdoc fontinstallationguide

    Queste istruzioni, volutamente, terminano allo stadio della preparazione dei lenecessari. Facciamo lipotesi che la famiglia di font si chiami Padua, con nome difamiglia zpd. In seguito le parti da sostituire con i nomi eettivi saranno in rosso.La procedura descritta da Lehman crea un certo numero di le nella cartella dilavoro, con varie estensioni:

    .tfm .vf .pfb .afm .map .sty .fd

    che andranno inserite al posto giusto nella gerarchia del sistema TEX. Il posto giusto il cosiddetto albero locale che, nella TEX Live, ha la sua radice in

    /usr/local/texlive/texmf-local

    In realt non necessario saperlo, perch il sistema capace di conoscere s stesso.Prima di tutto costruiamo le cartelle necessarie, denendo una variabile che cirisparmi lavoro:

    $ Local=$(kpsewhich -var-value TEXMFLOCAL)$ sudo mkdir -p $Local/fonts/{afm,tfm,type1,vf}/padua$ sudo cp zpd*.afm $Local/fonts/afm/padua$ sudo cp zpd*.tfm $Local/fonts/tfm/padua$ sudo cp zpd*.pfb $Local/fonts/type1/padua$ sudo cp zpd*.vf $Local/fonts/vf/padua$ sudo mkdir -p $Local/tex/latex/padua$ sudo cp *.sty *.fd $Local/tex/latex/padua$ sudo mkdir -p $Local/fonts/map/dvips/padua$ sudo cp padua.map $Local/fonts/map/dvips/padua$ mktexlsr

    Cos abbiamo terminato di sistemare i mobili. Ora dobbiamo fornire al sistemaTEX la chiave di accesso. Ci sono due casi: o la prima volta che si aggiunge unafamiglia di font oppure labbiamo gi fatto seguendo questa stessa procedura.

    Nel primo caso dobbiamo generare un nuovo le e inserirlo al posto giusto:

    $ echo "Map padua.map" > updmap-local.cfg$ mkdir -p $Local/web2c$ sudo mv updmap-local.cfg $Local/web2c$ sutlmgr generate --rebuild-sys updmap

    Nel secondo caso dobbiamo solo aggiungere una riga al le gi esistente:

    $ cp $Local/web2c/updmap-local.cfg .$ echo "Map padua.map" >> updmap-local.cfg$ sudo mv updmap-local.cfg $Local/web2c$ sutlmgr generate --rebuild-sys updmap

    10

  • Lultima azione, cos come la chiamata di mktexlsr, pu essere eseguita dallinter-faccia graca di tlmgr. Eseguendola possiamo stare certi che la chiave di accessonon sar persa con gli aggiornamenti di TEX Live.

    Se per caso abbiamo anche a disposizione le versioni OpenType dei nostri font,si aggiunga anche la coppia di righe

    $ sudo mkdir -p $Local/fonts/opentype/padua$ sudo cp *.otf $Local/fonts/opentype/padua

    a quelle analoghe viste prima.

    11

  • Tabella 1: Lintera procedura per Ubuntuh Installare perl-tk con Synaptic ihAvviare una sessione di terminale i$ mkdir ~/texlive-install$ cd ~/texlive-install$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

    $ tar zxf install-tl-unx.tar.gz$ cd install-tl-20120914$ sudo ./install-tl -gui -lang it\

    -repository http://mirror.ctan.org/systems/texlive/tlnethPremere Installa TeX Live ihAttendere che linstallazione nisca; bersi un ca, forse due ihPremere Fine i

    $ cd ~/texlive-install$ echo 'export PATH=/opt/texbin:${PATH}' > texlive.sh$ sudo cp texlive.sh /etc/profile.d/$ sudo mkdir -p /opt$ ls /usr/local/texlive/2012/bin

    i386-linux$ sudo ln -s /usr/local/texlive/2012/bin/i386-linux /opt/texbinhEseguire il logout ihDopo il login, aprire un terminale i

    $ which tex/opt/texbin/tex

    hSe la risposta non quella, gridare forte Aiuto! i$ gedit ~/.bashrchAggiungere in coda al le i

    # Additions for TeX Livefunction sutlmgr () {

    if [[ -z "$@" ]]then

    sudo /opt/texbin/tlmgr -guielse

    sudo /opt/texbin/tlmgr "$@"fi}alias mktexlsr='sudo /opt/texbin/mktexlsr'alias updmap-sys='sudo /opt/texbin/updmap-sys'alias fmtutil-sys='sudo /opt/texbin/fmtutil-sys'

    hRegistrare e uscire da gedit i$ sudo cp $(kpsewhich -var-value TEXMFSYSVAR)/fonts/conf/texlive-fontconfig.conf \

    /etc/fonts/conf.d/09-texlive.conf$ sudo fc-cache -fsvhRilassarsi e godersi la TEX Live 2012 i

    Note.(1) Se la connessione risultasse lenta, sostituire mirror.ctan.org conctan.mirror.garr.it/mirrors/CTAN/.(2) La data 20120914 indicativa, potrebbe essere diversa.(3) i386-linux corrisponde a una delle possibili architetture, potrebbe essere x86_64-linux o,meno probabilmente, powerpc-linux.

    12

    Breve introduzione al terminalePreliminariProcurarsi la distribuzione (modo 1)Procurarsi la distribuzione (modo 2)Installare la distribuzioneSe qualcosa va stortoPerfezionare l'installazioneOpenSUSEFedoraInstallare un pacchetto personaleInstallare nell'albero personaleInstallare nell'albero locale

    Installare una famiglia di font