- Questo topic ha 12 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 12 anni, 9 mesi fa da
Marco.
-
CreatoreTopic
-
16 Novembre 2013 alle 14:00 #90470::
Salve a tutti,
mi secca disturbarvi ma sono incappato in uno strano errore dopo l’ultimo aggiornamento svolto ieri. Dopo l’aggiornamento tutto compila perfettamente tranne appunto il pacchetto [tt]pgfplots[/tt]: se lo carico mi restituisce l’errore
`
! I can't find file `pgfplots.errorbars.code.tex'.
l.39 \input pgfplots.errorbars.code.tex
`
Questo file si dovrebbe trovare nella cartella [tt]/usr/local/texlive/2013/texmf-dir/tex/generic/pgfplots/[/tt] (ho Lubuntu 12.10 come sistema operativo) e, cosa strana, effettivamente c’è! (Ho aperto la cartella e il file è presente insieme a tutti gli altri caricati con input). Nonostante ciò [tt]texlive[/tt] si rifiuta di `vederlo’ e mi restituisce errore, impedendomi di compilare qualsiasi file dove carico [tt]pgfplots[/tt]. Ho provato a aggiornare il database di [tt]texlive[/tt] con gli appositi comandi, ma niente. Qualche idea?Grazie in anticipo per il vostro aiuto,
MarcoPS: La mia distribuzione è TeXlive 2013 aggiornata a ieri.
-
CreatoreTopic
-
AutoreRisposte
-
-
16 Novembre 2013 alle 14:13 #90471::
skevin93″ post=89989Salve a tutti,
mi secca disturbarvi ma sono incappato in uno strano errore dopo l’ultimo aggiornamento svolto ieri. Dopo l’aggiornamento tutto compila perfettamente tranne appunto il pacchetto [tt]pgfplots[/tt]: se lo carico mi restituisce l’errore
`
! I can't find file `pgfplots.errorbars.code.tex'.
l.39 \input pgfplots.errorbars.code.tex
`
Questo file si dovrebbe trovare nella cartella [tt]/usr/local/texlive/2013/texmf-dir/tex/generic/pgfplots/[/tt] (ho Lubuntu 12.10 come sistema operativo) e, cosa strana, effettivamente c’è! (Ho aperto la cartella e il file è presente insieme a tutti gli altri caricati con input). Nonostante ciò [tt]texlive[/tt] si rifiuta di `vederlo’ e mi restituisce errore, impedendomi di compilare qualsiasi file dove carico [tt]pgfplots[/tt]. Ho provato a aggiornare il database di [tt]texlive[/tt] con gli appositi comandi, ma niente. Qualche idea?Grazie in anticipo per il vostro aiuto,
MarcoPS: La mia distribuzione è TeXlive 2013 aggiornata a ieri.
Si, però serve vedere anche il preambolo del documento. Puoi creare un esempio minimo con 1) [tt]\documentclass[/tt], 2) solo pgfplots ed eventuali librerie, 3) documento.
Ciao
Claudio
-
16 Novembre 2013 alle 14:24 #90472::
So bene che non dovrei modificare i file dei pacchetti, ma per capire che cosa succede ho fatto delle prove semplicemente commentando (logico poi toglierò i % che ho aggiunto) la riga incriminata e ho scoperto che i file `difettosi’ sono due:
`
\input pgfplots.errorbars.code.tex
\input pgfplots.markers.code.tex
`
Se commento le due linee miracolosamente la compilazione prosegue senza intoppi. Dato che sicuramente servono al pacchetto per funzionare a dovere, non posso lasciare le cose come stanno. Qualche idea sul perché non me li riconosca nonostante siano presenti nella stessa cartella del file [tt]pgfplots.code.tex[/tt] che li carica?
-
16 Novembre 2013 alle 14:29 #90473::
Ecco un documento minimo che mi dà l’errore che ho descritto nel primo messaggio
`
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
ciao
\end{document}
`
Come puoi vedere, carico solo [tt]pgfplots[/tt]. Dalle prove fatte sono risalito ai due file segnati qui sopra. Tu cosa mi consigli di fare?
-
16 Novembre 2013 alle 14:31 #90474::
skevin93″ post=89991So bene che non dovrei modificare i file dei pacchetti, ma per capire che cosa succede ho fatto delle prove semplicemente commentando (logico poi toglierò i % che ho aggiunto) la riga incriminata e ho scoperto che i file `difettosi’ sono due:
`
\input pgfplots.errorbars.code.tex
\input pgfplots.markers.code.tex
`
Se commento le due linee miracolosamente la compilazione prosegue senza intoppi. Dato che sicuramente servono al pacchetto per funzionare a dovere, non posso lasciare le cose come stanno. Qualche idea sul perché non me li riconosca nonostante siano presenti nella stessa cartella del file [tt]pgfplots.code.tex[/tt] che li carica?Non mi ricordo di quale “consuetudine” Christian abbia per le librerie di pgfplots. Visto che ti sei dato da fare alla ricerca dell’errore, ti suggerisco di controllare i nomi delle librerie. In particolare, guarda se dopo pgfplots c’è un punto o no. In genere, in TikZ la consuetudine è: `tikzlibrary
.code.tex`; senza punto. Ciao
Claudio
-
16 Novembre 2013 alle 15:00 #90475::
Controllando meglio mi sono reso conto che:1) Ho la nuova versione di pgfplots da un po’ di tempo e non mi ha mai creato problemi.
2) Non ci sono “consuetudini” per le librerie di pgfplots; due esempi: `
\input pgfplotscore.code.tex
\input pgfplots.scaling.code.tex
` Quello che sospettavo era un semplice errore di battitura nell’inserire la libreria, ma non è così. Quindi per te sono brutte notizie perché è un problema più complesso e di cui non ho nessuna idea di come risolvere.Ciao
Claudio
-
16 Novembre 2013 alle 16:05 #90476::
skevin93″ post=89991So bene che non dovrei modificare i file dei pacchetti, ma per capire che cosa succede ho fatto delle prove semplicemente commentando (logico poi toglierò i % che ho aggiunto) la riga incriminata e ho scoperto che i file `difettosi’ sono due:
`
\input pgfplots.errorbars.code.tex
\input pgfplots.markers.code.tex
`
Se commento le due linee miracolosamente la compilazione prosegue senza intoppi. Dato che sicuramente servono al pacchetto per funzionare a dovere, non posso lasciare le cose come stanno. Qualche idea sul perché non me li riconosca nonostante siano presenti nella stessa cartella del file [tt]pgfplots.code.tex[/tt] che li carica?Non sono un utente frequente di pgflots e quindi non ho l’esperienza che ha @cfiandra, ma sei sicuro che non si debbano caricare quei file mediante \usepgflibrary? Tiro a indovinare, eprché non ho controllato, ma per caso il codice giusto non è il seguente?`\usepgflibrary{errorbars}
\usepgflibrary{markers}`
Scusami se ho indovinato sbagliato, ma sfogliando la documentazione ho trovato esempi simili, anche se non si riferiscono ai tuoi due file.
-
16 Novembre 2013 alle 17:33 #90477::
OldClaudio” post=89999Non sono un utente frequente di pgflots e quindi non ho l’esperienza che ha @cfiandra, ma sei sicuro che non si debbano caricare quei file mediante \usepgflibrary? Tiro a indovinare, eprché non ho controllato, ma per caso il codice giusto non è il seguente?`\usepgflibrary{errorbars}
\usepgflibrary{markers}`
Scusami se ho indovinato sbagliato, ma sfogliando la documentazione ho trovato esempi simili, anche se non si riferiscono ai tuoi due file.skevin93 quando riportava: `
\input pgfplots.errorbars.code.tex
\input pgfplots.markers.code.tex
` si riferiva al codice con cui pgfplots stesso chiama le librerie.Sia TikZ che pgfplots, ma anche tikzmark e smartdiagram (probabilmente ce ne sono anche altri, ma ora non mi vengono in mente) sono pacchetti che hanno “librerie”, ossia il codice del pacchetto è suddiviso in tanti file: in primis per comodità di sviluppo del codice (specialmente quando ci lavora un team, ma non solo); in secondo luogo l’utente può servirsi solo di determinate funzionalità del pacchetto generale. Per farmi pubblicità 😉 , ad esempio, smartdiagram ha tre librerie “core” dove sono definiti tutti i tipi di diagrammi più una libreria di additions, strumenti per “aggiungere” elementi ai diagrammi. Solo le librerie “core” sono sempre caricare, mentre la libreria additions la deve caricare l’utente.
Come funzionano i pacchetti con le librerie. Tratto TikZ e pgfplots, tikzmark e smartdiagram hanno molte meno librerie, ma il concetto è lo stesso.
Il pacchetto principale, tikz.sty o pgfplots.sty sono semplicissimi: hanno pochissime righe di codice che fanno un input del codice. Per TikZ c’è [tt]tikz.code.tex[/tt], per pgfplots [tt]pgfplots.code.tex[/tt]. Sono quei due i file in cui vengono fatti gli input delle librerie principali che a loro volta spesso chiamano altre librerie di più basso livello. Le librerie esterne invece è sempre l’utente che le deve caricare. Come spiegavo, con TikZ si va colpo sicuro: il codice della libreria calc si può trovare nel file tikzlibrarycalc.code.tex! E questa regola vale per tutte le librerie. Con pgfplots invece si è visto che non c’è tutta questa uniformità.
Perché tutto questo discorso? Le librerie si possono richimare con degli input o con la macro apposite. Per TikZ nessun problema, è il pacchetto “numero 1”. Per pgfplots invece, l’autore ha definito due metodi di caricamento delle librerie:
1) [tt]\usepgfplotslibrary{}[/tt]
2) [tt]\usetikzlibrary{pgfplots.}[/tt] Per questo motivo ho voluto indagare sul “punto” che poteva sembrare una cosa banale. Si capisce benissimo che una piccola svista nel mandare un aggiornamento e casca una libreria completa, magari di quelle principali che generano un errore semplicemente caricando:`
\usepackage{pgfplots}
` (Anche questo è stato sperimentato in prima persona 🙁 anche così si accumula esperienza e possibilmente si evitano certi errori molto pericolosi).Tornando al problema: credo che skevin93 abbia la versione 1.9 di pgfplots avendo aggiornato di recente. A me non ha dato nessun problema e non sono a conoscenza di altri utenti con errore simile.
Ciao
Claudio
-
17 Novembre 2013 alle 0:39 #90478::
Sono appena tornato da scorribande notturne 😀 Comunque voglio ringraziare entrambi per il vostro contributo, in particolar modo l’esperto di TiKz @cfiandra (ma quanti claudio siete su questo forum? Due di sicuro qui ad aiutarmi :D). Ora vado a nanna ma domani tenterò qualcosa basandomi sulla spiegazione di @cfiandra (anche se ho paura che il problema sia molto profondo e interno a texlive). Speriamo che la notte porti consiglio. 😀PS: La ricerca mi è stata molto semplificata da TeXstudio, che mi dava l’errore direttamente legato al file di pgfplots, ho semplicemente cliccato sull’errore e mi ha aperto il file del pacchetto (così ho visto in che cartella era). Un bel risparmio di tempo 😀
-
17 Novembre 2013 alle 14:29 #90479
-
17 Novembre 2013 alle 16:01 #90480::
Grazie @robitex per il tuo contributo, ma avevo già tentato sia [tt]texhash[/tt] che [tt]mktexlsr[/tt]. Nonostante i due comandi diano esito positivo, non cambia niente (pgfplots non mi riconosce quei due file). Ho provato a rinominarli e caricarli nel file con il nuovo nome (metodo sbagliatissimo, lo so, ma a mali estremi…) ma continua a dirmi che il file non esiste :(. La cosa mi lascia perplesso e comincio a pensare che sia un problema di texlive.
-
17 Novembre 2013 alle 18:26 #90481::
skevin93″ post=90017Grazie @robitex per il tuo contributo, ma avevo già tentato sia [tt]texhash[/tt] che [tt]mktexlsr[/tt]. Nonostante i due comandi diano esito positivo, non cambia niente (pgfplots non mi riconosce quei due file). Ho provato a rinominarli e caricarli nel file con il nuovo nome (metodo sbagliatissimo, lo so, ma a mali estremi…) ma continua a dirmi che il file non esiste :(. La cosa mi lascia perplesso e comincio a pensare che sia un problema di texlive.
Ok.
Ho finalmente fatto la prova: compilando l’esempio minimo non ricevo nessun errore.
Ecco quale versione di pgfplots ho installata:
`$ tlmgr show pgfplots
package: pgfplots
category: Package
shortdesc: Create normal/logarithmic plots in two and three dimensions.
longdesc: PGFPlots draws high-quality function plots in normal or logarithmic ecc…
installed: Yes
revision: 31822
sizes: src: 881k, doc: 12257k, run: 2741k
relocatable: No
cat-version: 1.9
cat-date: 2013-10-03 20:59:17 +0200
cat-license: gpl
collection: collection-pictures
`
-
18 Novembre 2013 alle 11:51 #90482::
Vi ringrazio tutti per l’aiuto, sono riuscito a risolvere. Ho trovato un altra versione di TeXlive nella cartella [tt]/usr/share/[/tt] che veniva riconosciuta da Syntac (sicuramente era la versione Debian scaricabile dai repo di Ubuntu), che però non ricordavo di aver installato (magari uno dei programmi dedicati a TeX che ho scaricato me lo ha fatto in sordina per soddisfare delle dipendenze). Ho disinstallato questa versione di TeXlive (versione 2012, tra l’altro), aggiornato il database dei pacchetti nella TeXlive giusta per sicurezza e, miracolosamente, [tt]pgfplots[/tt] non dà più problemi!Ancora grazie per il vostro aiuto.
Ciao,
Marco
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.