- Questo topic ha 12 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 19 anni, 1 mese fa da
egreg9.
-
CreatoreTopic
-
16 Giugno 2007 alle 16:59 #15326::
ho un problema strano: ho installato su ubuntu texlive; funziona tutto a dovere a parte la compilazione in modalità utente. lo stesso file da superuser viene compilato in 1 seconod circa mentre utilizzando il normale utente è almeno 30 volte + lento.Ho effettuato le seguenti prove:
-eliminare eventuali set di caratteri inutili
-cancellare del tutto la home per partire con un sistema pulito
-commentare alcune parti del preambolo critiche
ma nulla sembra avere effettoho pensato a problemi nella generazione di qualche sorta di cache ma non riesco a capire bene dove e cose… qualche suggerimento?
-
CreatoreTopic
-
AutoreRisposte
-
-
16 Giugno 2007 alle 17:06 #15327::
ho un problema strano: ho installato su ubuntu texlive; funziona tutto a dovere a parte la compilazione in modalità utente. lo stesso file da superuser viene compilato in 1 seconod circa mentre utilizzando il normale utente è almeno 30 volte + lento.
Ho effettuato le seguenti prove:
-eliminare eventuali set di caratteri inutili
-cancellare del tutto la home per partire con un sistema pulito
-commentare alcune parti del preambolo critiche
ma nulla sembra avere effettoho pensato a problemi nella generazione di qualche sorta di cache ma non riesco a capire bene dove e cose… qualche suggerimento?
Problemi di permessi? Prova a riportare la risposta al seguente comando dalla shell
`kpsexpand '$TEXINPUTS'`
Altra domanda: per caso hai messaggi sullo schermo che parlano di generazione di font?Ciao
Enrico
-
16 Giugno 2007 alle 17:44 #15328::
grazie per la pronta risposta:`antonio@Voyager:~$ kpsexpand '$TEXINPUTS'
.:{/home/antonio//.texmf-config,/home/antonio//.texmf-var,
/home/antonio//texmf,/etc/texmf,
!!/var/lib/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf,
!!/usr/share/texmf-{texlive,tetex}}/tex/{kpsewhich,generic,}//
`per i font non mi sembra, il punto in cui noto una particolare lentezza è qui:
`antonio@Voyager:/home/antonio/Progetti/cUml2Svg/cuml2svg/doc/relazione$ pdflatex index.tex
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
%&-line parsing enabled.
entering extended mode
(./index.tex
LaTeX2e <2005/12/01>
Babeland hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, italian, italian, loaded.
(/usr/share/texmf-texlive/tex/latex/base/book.cls
Document Class: book 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/bk12.clo))
`
-
16 Giugno 2007 alle 18:08 #15329::
grazie per la pronta risposta:
`antonio@Voyager:~$ kpsexpand '$TEXINPUTS'
.:{/home/antonio//.texmf-config,/home/antonio//.texmf-var,
/home/antonio//texmf,/etc/texmf,
!!/var/lib/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf,
!!/usr/share/texmf-{texlive,tetex}}/tex/{kpsewhich,generic,}//
`per i font non mi sembra, il punto in cui noto una particolare lentezza è qui:
`antonio@Voyager:/home/antonio/Progetti/cUml2Svg/cuml2svg/doc/relazione$ pdflatex index.tex
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
%&-line parsing enabled.
entering extended mode
(./index.tex
LaTeX2e <2005/12/01>
Babeland hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, italian, italian, loaded.
(/usr/share/texmf-texlive/tex/latex/base/book.cls
Document Class: book 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/bk12.clo))`Prova a dare
`kpsexpand '$VARTEXFONTS'
kpsexpand '$TEXMFVAR'`
Poi dà un’occhiata ai vari ls-R:
`ls -l /var/lib/texmf/ls-R`
e anche per tutti gli altri percorsi che ottieni da “kpsexpand ‘$TEXINPUTS.pdflatex’” e che sono preceduti da “!!”. Dove ci sono graffe devi espandere: xxx/{aaa,bbb} si riferisce tanto a xxx/aaa che a xxx/bbbDovrebbero essere tutti disponibili in lettura.
Ciao
Enrico
-
22 Giugno 2007 alle 13:56 #15330
-
22 Giugno 2007 alle 16:06 #15331
-
22 Giugno 2007 alle 16:46 #15332
-
22 Giugno 2007 alle 17:17 #15333::
ho fatto un’altra prova che dovrebbe restringere di molto il campo… ho creato un nuovo utente generico e provato a ricompilare lo stesso file: tempi di compilazione molto bassi!
viene memorizzata qualche impostazione riguardo gli utenti in file non nella cartella home?
Direi di no. Prova a rinominare .texmf-var nella tua home e vedere che succede.
Ciao
Enrico
-
22 Giugno 2007 alle 17:40 #15334::
ho tentato una nuova via… provando un comando del genere:`watch -d lsof -c pdflatex > file
vim file`ho notato che effettua una scansione di tutta la mia home directory; a questo punto è un opzione generale che però non degrada le performance con gli altri utenti visto che le rispettivi cartelle utente sono semivuote!
sono veramente poco esperto del mondo latex e non reisco a immaginarmi da cosa possa essere causato… non esiste un reset delle impostazioni? (anche se una rimozione completa + reinstallazione) non era servita.
grazie per la pazienza
-
18 Luglio 2007 alle 14:51 #15335::
ho finalmente risolto il problema; probabilmente può essere considerato un bug:la mia variabile d’ambiente $HOME era impostata a /home/antonio/; il tutto funziona con $HOME=/home/antonio
il problema sta proprio in quella barra in più che fa diventare i percorsi utente una cosa del genere:
/home/antonio//.tex-config
/home/antonio//texmf
etc.il parsing di questi percorsi viene inteso come:
/home/antonio
e provoca quindi l’inizio di una scansione di tutta la cartella home. Spero che a qualcuno possa servire: grazie dell’aiuto!
-
18 Luglio 2007 alle 15:35 #15336::
ho finalmente risolto il problema; probabilmente può essere considerato un bug:
la mia variabile d’ambiente $HOME era impostata a /home/antonio/; il tutto funziona con $HOME=/home/antonio
il problema sta proprio in quella barra in più che fa diventare i percorsi utente una cosa del genere:
/home/antonio//.tex-config
/home/antonio//texmf
etc.il parsing di questi percorsi viene inteso come:
/home/antonio
e provoca quindi l’inizio di una scansione di tutta la cartella home. Spero che a qualcuno possa servire: grazie dell’aiuto!Chi la dura la vince! 🙂
Però è un bug del tuo .bashrc, non delle librerie di ricerca di TeX. Credo che la scelta di usare “//” per indicare la ricorsione nelle directory non sia casuale: Karl Berry, che ha sviluppato la libreria kpathsea, è l’attuale presidente del TeX Users Group.
Ciao
Enrico
-
18 Luglio 2007 alle 15:40 #15337::
Però è un bug del tuo .bashrc, non delle librerie di ricerca di TeX. Credo che la scelta di usare “//” per indicare la ricorsione nelle directory non sia casuale: Karl Berry, che ha sviluppato la libreria kpathsea, è l’attuale presidente del TeX Users Group.
non sapevo volesse dire “ricorsione”: ho imparato una cosa nuova! Se mi dici ciò allora confermo che il bug sono io (che avevo cambiato il path per altri motivi)!
-
18 Luglio 2007 alle 16:04 #15338::
Però è un bug del tuo .bashrc, non delle librerie di ricerca di TeX. Credo che la scelta di usare “//” per indicare la ricorsione nelle directory non sia casuale: Karl Berry, che ha sviluppato la libreria kpathsea, è l’attuale presidente del TeX Users Group.
non sapevo volesse dire “ricorsione”: ho imparato una cosa nuova! Se mi dici ciò allora confermo che il bug sono io (che avevo cambiato il path per altri motivi)!
Un problema antico dei programmi TeX era quello dei percorsi: c’è bisogno che questi programmi sappiano dove cercare fogli di stile, file di definizioni, file metrici dei font, immagini bitmap dei font e così via. Parecchi anni fa Karl Berry ebbe l’idea di una libreria unica su cui tutti i programmi possono appoggiarsi per queste ricerche. Poiché i file in gioco sono moltissimi e possono anche avere lo stesso nome pur con contenuti diversi (per esempio le immagini bitmap nei sistemi dove l’estensione è limitata a tre caratteri si chiamano tutte
.pk e vengono distinti tramite la directory dove vivono, che ha come nome la risoluzione richiesta) è necessario organizzare una struttura ad albero. Ma specificare il percorso di ricerca completo è difficilmente mantenibile: ogni volta che si aggiunge una directory occorrerebbe modificare l’elenco dei percorsi; ci sarebbero anche ovvi problemi di memoria e di lunghezza di stringhe. Quindi la ricerca avviene in modo ricorsivo: se stai usando il programma latex, il percorso di ricerca dei file di stile è, per esempio e semplificando,
/tex/latex//, dove è, per la distribuzione TeX Live, /usr/local/texlive/2007/texmf-dist. La doppia barra finale indica che si va da lì in giù, ricorsivamente su tutte le sottodirectory. Per limitare l’accesso al disco, c’è un meccanismo di cache che qui è irrilevante (sono i file ls-R che vengono prodotti con lo script mktexlsr). L’appoggiarsi a una libreria unica rende superfluo definire per ogni utente una miriade di variabili d’ambiente, come invece era necessario prima. Ma le variabili d’ambiente sono implicite nella libreria e l’utente può usarle.
Supponi che esca una versione beta di pgf, che è un insieme piuttosto vasto di macro per la grafica; i file di pgf sono organizzati in un albero, per vari motivi. Ottieni il tarball, pgf-beta.tar che spacchetti nella tua home, dentro la directory pgf-beta. Adesso vuoi insegnare a LaTeX che usi questa versione di pgf e non quella della distribuzione:
`export TEXINPUTS=~/pgf-beta//:`
è il modo di farlo; la variabile implicita TEXINPUTS contiene il percorso dove cercare i pacchetti. Se viene assegnata esplicitamente in questo modo, indica a LaTeX di cercare ricorsivamente da ~/pgf-beta e, in seguito, secondo il percorso della variabile implicita. È, in effetti, come scrivere
`export TEXINPUTS=~/pgf-beta//:${TEXINPUTS}`
pensando che la variabile sia già definita nell’ambiente (non lo è, però, quindi si deve usare il metodo descritto).La documentazione di kpathsea è molto interessante per chi debba fare cose simili con altri programmi.
Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.