- Questo topic ha 20 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 12 anni, 6 mesi fa da
cfiandra.
-
CreatoreTopic
-
24 Gennaio 2014 alle 16:52 #91806::
Ciao a tutti.
Ho una delle domandone candidate a domanda dell’anno 🙂
Tempo fa chiesi se ci fosse modo per impedire che si rielaborassero i grafici ad ogni compilazione del sorgente per la creazione del file pdf.
Gentilmente mi indicaste l’esistenza del comando \tikzexternalizeOra avrei una necessità simile, ma un po’ più “brutale”.
Vorrei sapere (perché non ho trovato nulla a riguardo) se esiste un modo per impedire a pgfplots di fare i calcoli anche alla prima elaborazione.
Sto facendo delle modifiche ad un sorgente (usando \tikzexternalize), ma ogni volta che modifico devo comunque “ripulire” la directory contenente i sorgenti per poter apportare le modifiche senza errore.
Da questo, nasce la mia “esigenza” di sapere se esiste la possibilità di fare in modo che pgfplots “sostituisca” ogni grafico con una figura (o con qualsiasi cosa, anche un frame vuoto).Vi ringrazio in anticipo della vostra disponibilità 🙂
Ciao.
-
CreatoreTopic
-
AutoreRisposte
-
-
24 Gennaio 2014 alle 17:27 #91807::
@l3on4rdo, io qualche volta faccio rpima a risolvermi i problemi artigianalmente piuttosot di andare a cercare come fare cose che sembrano inconsuete; certo è che un comando che possa controlalre se di una certa cosa esiste una versione più recente (sorgente oppure compilato) è comodo proprio epr non dover rifare semrpe gli stessi coti.Ma per esperienza ho imparato che le cose che richiedono molte compilazioni prima che siano come piace a me (tabelle, diagrammi, circuiti, eccetera) vengono molto meglio se per ogni oggetto difficile mi creo un nuovo file tex dove cambio la classe in standalone, ma carico solo i pacchetti esterni strettamente necessari e con el stesse impostazioni che ho nel preambolo del documento che sto lavorando.
Poi compilo il ile dell’oggetto difficile e lo ricompilo con modifiche, fino a quando l’oggetto viene bene nel suo formato PDF.
Torno poi al documento che mi interessa e includo il disegno ottenuto dalla compilazione individuale fatta in precedenza. Risultato ci vuole solo quei pochi millisecondi che pdflatex impiega per includere il file grafico, ma pgfplots non lavora più. Facendo in questo modo su un documento di circa 300 pagine contente una cinquantina di diagrammi eseguiti (a parte) con pgfplots, il tempo è diminuito da quasi 5 minuti a una quindicina di secondi; naturalmente il tempo dipende dal resto del contenuto del documento, a sostanzialmente il tempo totale si riduce in modo impressionante.
Quando poi avessi da modificare un diagramma, modifico il sorgente ed eseguo solo la compilazione di quel soo diagramma, ripetendo quante volte occorre finché le modifiche da fare portano al risultato voluto. Contando anche questi tempi, la lavorazione dell’intero documento diventa, sostanzialmente, solo quello necessario epr mettere a punto il testo, togliere i rifusi, ritoccare quelle frasi che a una seonda lettura sembrano poco chiare, riscrivere alcuni capoversi; insomma il lavor normale che si fa con ogni documento senza diagrammi.
Giostrando con pacchetti insoliti (che so che esistono, ma non li ho mai usati, si potrebbe anche fare in modo che pdflatex controlli da solo le date complete di ore minuti e secondi, per verifica se una parte del sorgente del documento principale abbia data più o meno recente del file pdf da importare, ma facendo come faccio, in modo del tutto artigianale, le cose vanno benissimo lo stesso.
-
24 Gennaio 2014 alle 17:37 #91808::
Generalmente mi regolo come dici tu.
Ho purtroppo ripreso in mano un vecchio sorgente su cui avevo lavorato prima di diventare (minimamente) più consapevole dell’uso di latex come sono ora.
Sta davvero incasinato e volevo sfangarla così 🙂In futuro cercherò di tenere a mente le indicazioni (specialmente alcune) che mi hai gentilmente offerto.
-
25 Gennaio 2014 alle 14:36 #91809
-
25 Gennaio 2014 alle 15:02 #91810::
l3on4rdo” post=91387Ciao a tutti.
Ho una delle domandone candidate a domanda dell’anno 🙂
Tempo fa chiesi se ci fosse modo per impedire che si rielaborassero i grafici ad ogni compilazione del sorgente per la creazione del file pdf.
Gentilmente mi indicaste l’esistenza del comando \tikzexternalizeOra avrei una necessità simile, ma un po’ più “brutale”.
Vorrei sapere (perché non ho trovato nulla a riguardo) se esiste un modo per impedire a pgfplots di fare i calcoli anche alla prima elaborazione.
Sto facendo delle modifiche ad un sorgente (usando \tikzexternalize), ma ogni volta che modifico devo comunque “ripulire” la directory contenente i sorgenti per poter apportare le modifiche senza errore.
Da questo, nasce la mia “esigenza” di sapere se esiste la possibilità di fare in modo che pgfplots “sostituisca” ogni grafico con una figura (o con qualsiasi cosa, anche un frame vuoto).Vi ringrazio in anticipo della vostra disponibilità 🙂
Ciao.Non ho capito niente della domanda. Ti riferisci al fatto che se aggiungi una figura in mezzo alle altre, da quel punto in poi le figure sono tutte fuori posto?
-
25 Gennaio 2014 alle 15:15 #91811::
l3on4rdo” post=91398Scusami, ma avrei un’ultimissima domanda.
Potresti farmi un esempio esplicito di come cambi la classe in “standalone”?
Credo di non aver capito questo punto 🙂L’altra cosa che non ho capito è come fare ad inserire nel documento il diagramma compilato “altrove” 🙁
Be, se il tuo documento principale è compilato conla classe book, per esempio, e comincia con `\documentclass[…]{book}`cambiare classe vuol dire sostituire book con standalone`\documenclass[…]{standalone}`Se però leggi la documentazione trovi che puoi lasciare la classe originale e poi puoi caricare nel preambolo il pacchetto standalone, che ti permette di ottenere lo stesso risultato; io preferisco cambiare il nome alla classe.
“Altrove” vuol dire in un documento diverso da quello principale; se poi usi una cartella Immagini, il file sorgente con cui componi separatamente e altrove le immagini PDf già scontornate, puoi fare tutto nella cartella Immagini, per cui i diagrammi bell’e fatti si trovano effettivamente altrove, nel senso che sono contenuti in una carella distinta da quella del tuo documento principale, ma ad essa subalterna, in modo che gli \includegraphics messi nel documento principale possano trovarli e includerli.
-
25 Gennaio 2014 alle 15:46 #91812::
@Liverpool
Anche quello che hai sottolineato è uno dei problemi che ogni tanto riscontro.
Per velocizzare la compilazione, per esempio, ho eliminato alcuni capitoli… con il risultato “disastroso” di avere tutte le immagini sballate, quando ovviamente non capita che non compila proprio più.
@OldClaudio
Ok per lo standalone.
Per quanto ho capito relativamente alle immagini, quindi, è preferibile compilare un grafico in una directory a parte e poi importarlo come immagine nel documento?
Non ci avevo mai pensato.
-
25 Gennaio 2014 alle 16:23 #91813::
l3on4rdo” post=91404 @Liverpool
Anche quello che hai sottolineato è uno dei problemi che ogni tanto riscontro.
Per velocizzare la compilazione, per esempio, ho eliminato alcuni capitoli… con il risultato “disastroso” di avere tutte le immagini sballate, quando ovviamente non capita che non compila proprio più.Per la mia esperienza personale, probabilmente (ma non mi sono confrontato con nessuno su questo tema), la soluzione migliore quando si ritiene di modificare in corso un documento è assegnare un nome univoco ad ogni figura “esternalizzata” anziché affidarsi al numero progressivo. In tal modo, se si inserisce o rimuove una figura, le altre non ne risentono.
-
25 Gennaio 2014 alle 22:31 #91814::
Non è strettamente necessario creare i file dei plot in una cartella separata, ma è conveniente; pensa solo se hai 50 plot da fare separatamente e li tieni tutti nella stessa cartella del documento principale, finisci per avere in questa cartella alcune centinaio di file e non ci capisci più niente.
Ma è anche importante seguire la raccomandazione di @Liverpool, cioè di chiamare ogni grafico con standalone con un nome diverso; vuol dire che devi usare forse sempre lo stesso preambolo ma il file sorgente deve avere un nome diverso epr ogni grafico, possibilmente un nome che ti dica chiaramente di che cosa si tratta, non una cosa com3 pgfplot39.tex per produrre il corrispondente pgfplot39.pdf; ma, per esempio, DifferenzialePosteriore.tex con il disegno in DifferenzialePosteriore.pdf. Cancella via via i file ausiliari. quando devi correggere o comunque modifica un diagramma, hai sempre il sorgente su cui operare. se avesse bisogno di ulteriori file se li crea da sol, al massimo ci vorranno un paio di compilazioni iniziali.Ne teso principale potrai aver definito un \graphicspath secondo quanto scritto nella guida che leggi con texdoc grfguide e quindi per importare il tuo diagramma scriverai sempre [tt]\includegraphics[width=0.8\textwidth]{DifferenzialePosteriore}[/tt] e non devi pensarci più.
Io trovo questo modo di procedere molto ordinato, semplice, facile per eseguire le correzioni/modifiche, rapido nell’importazione dei file pdf, la cui inclusione è decisamente più rapida, per esempio di una file png (ma stima parlando di secondi o frazioni di secondo).
-
27 Gennaio 2014 alle 7:33 #91815
-
27 Gennaio 2014 alle 9:52 #91816::
Vi ringrazio calorosamente per questi consigli che mi state dando.
Purtroppo per questo documento le cose sono messe male per quanto riguarda quello di cui stiamo parlando.
In futuro, visto che spero che LaTeX resti un mio compagno di lavoro per ancora parecchio tempo, mi regolerò approfondendo quanto mi avete indicato.
Apprezzo in particolar modo il “reindirizzamento” a documentazioni varie. Da solo, spesso, non so dove andare a pescare le informazioni 🙂
-
27 Gennaio 2014 alle 11:40 #91817::
Sembra comunque che questo funzioni (da http://tex.stackexchange.com/questions/60434/draft-mode-for-pgfplots ):
`\documentclass[draft]{article}\usepackage{pgfplots}
\ifdim\overfullrule>0pt % draft option is active
\usepackage{environ}
\let\tikzpicture\relax
\let\endtikzpicture\relax
\NewEnviron{tikzpicture}{%
\begin{pgfpicture}
\pgfpathrectanglecorners{\pgfpointorigin}{\pgfpoint{3cm}{3cm}}%
\pgfusepath{stroke}\end{pgfpicture}%
}
\fi
\begin{document}
Testo\begin{tikzpicture}
\begin{axis}
\end{axis}
\end{tikzpicture}Testo
\end{document}`L’opzione draft data o meno alla classe fa non lavorare o meno pgfplots.
R.
-
27 Gennaio 2014 alle 11:55 #91818::
Apperò, grazie! 🙂Al momento sto cercando di capire quale porzione del preambolo
`
\documentclass[a4paper,12pts,twoside,openright]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,italian]{babel}
\usepackage{csquotes}
\usepackage[useprefix,backend=bibtex]{biblatex} %incompatibile con il pacchetto ucs
\bibliography{bibliografia}
\usepackage{indentfirst}
\usepackage{graphicx}
\usepackage{subfigure}
%pacchetti per i bordi delle figure
\usepackage{float}
%\floatstyle{boxed}
\usepackage{verbatim}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathrsfs}
\usepackage{bbm}
\usepackage{braket}
\usepackage[dvipsnames]{xcolor}
\usepackage{listings}\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{external}
\usetikzlibrary{calc}
\tikzexternalize %comando per non ricalcolare sempre i grafici\usepackage{fancyhdr}
\pagestyle{fancy}\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{} % delete current setting for header and footer
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt}
\fancypagestyle{plain}{
\fancyhead{}
\renewcommand{\headrulewidth}{0pt} % and the line
}%~ \usepackage{hyperref}
\usepackage{url}%% Define a new 'leo' style for the package that will use a smaller font.
\makeatletter
\def\url@leostyle{%
\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\small\ttfamily}}}
\makeatother
%% Now actually use the newly defined style.
\urlstyle{leo}\restylefloat{figure}
\newcommand{\omissis}{[\dots\negthinspace]}
\theoremstyle{plain}
\newtheorem{teorema}{Teorema}[chapter]
\newtheorem{lemma}{Lemma}[chapter]
\newtheorem{cor}{Corollario}[chapter]
%\newtheorem{proof}{Dimostrazione}\theoremstyle{definition}
\newtheorem{defn}{Definizione}[chapter]\addto\captionsitalian{\renewcommand{\lstlistingname}{Codice}}
\lstset{basicstyle=\small\ttfamily,
language=C++,
showstringspaces=false,
numbers=left,
numberstyle=\tiny,
tabsize=2,
frame=trbl
basicstyle=\ttfamily,
keywordstyle=\color{blue}\ttfamily,
stringstyle=\color{red}\ttfamily,
commentstyle=\color{green}\ttfamily,
morecomment=[l][\color{magenta}]{\#},
literate={è}{{\`e}}1
{é}{{\'e}}1
{à}{{\`a}}1
}%~ \allowdisplaybreaks
\graphicspath{{Immagini/}}
\overfullrule=5pt
%\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
`sia necessario inserire nel documento standalone.
Lo chiedo, perché devo capire bene come generare dei grafici “a parte” che poi andrò ad inserire nei documenti futuri.
Penso infatti di regolarmi in questo modo.
Anzi, se voleste darmi una mano con qualche indicazione ve ne sarei davvero grato.
-
27 Gennaio 2014 alle 12:10 #91819::
l3on4rdo” post=91462Apperò, grazie! 🙂
Al momento sto cercando di capire quale porzione del preambolo
`
\documentclass[a4paper,12pts,twoside,openright]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,italian]{babel}
\usepackage{csquotes}
\usepackage[useprefix,backend=bibtex]{biblatex} %incompatibile con il pacchetto ucs
\bibliography{bibliografia}
\usepackage{indentfirst}
\usepackage{graphicx}
\usepackage{subfigure}
%pacchetti per i bordi delle figure
\usepackage{float}
%\floatstyle{boxed}
\usepackage{verbatim}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathrsfs}
\usepackage{bbm}
\usepackage{braket}
\usepackage[dvipsnames]{xcolor}
\usepackage{listings}\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{external}
\usetikzlibrary{calc}
\tikzexternalize %comando per non ricalcolare sempre i grafici\usepackage{fancyhdr}
\pagestyle{fancy}\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{} % delete current setting for header and footer
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt}
\fancypagestyle{plain}{
\fancyhead{}
\renewcommand{\headrulewidth}{0pt} % and the line
}%~ \usepackage{hyperref}
\usepackage{url}%% Define a new 'leo' style for the package that will use a smaller font.
\makeatletter
\def\url@leostyle{%
\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\small\ttfamily}}}
\makeatother
%% Now actually use the newly defined style.
\urlstyle{leo}\restylefloat{figure}
\newcommand{\omissis}{[\dots\negthinspace]}
\theoremstyle{plain}
\newtheorem{teorema}{Teorema}[chapter]
\newtheorem{lemma}{Lemma}[chapter]
\newtheorem{cor}{Corollario}[chapter]
%\newtheorem{proof}{Dimostrazione}\theoremstyle{definition}
\newtheorem{defn}{Definizione}[chapter]\addto\captionsitalian{\renewcommand{\lstlistingname}{Codice}}
\lstset{basicstyle=\small\ttfamily,
language=C++,
showstringspaces=false,
numbers=left,
numberstyle=\tiny,
tabsize=2,
frame=trbl
basicstyle=\ttfamily,
keywordstyle=\color{blue}\ttfamily,
stringstyle=\color{red}\ttfamily,
commentstyle=\color{green}\ttfamily,
morecomment=[l][\color{magenta}]{\#},
literate={è}{{\`e}}1
{é}{{\'e}}1
{à}{{\`a}}1
}%~ \allowdisplaybreaks
\graphicspath{{Immagini/}}
\overfullrule=5pt
%\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
`sia necessario inserire nel documento standalone.
Lo chiedo, perché devo capire bene come generare dei grafici “a parte” che poi andrò ad inserire nei documenti futuri.
Penso infatti di regolarmi in questo modo.
Anzi, se voleste darmi una mano con qualche indicazione ve ne sarei davvero grato.Solo i pacchetti rilventi al disegno.
TikZ, pgfplots, amsmath e amssymb se devi inserire della matematica, i pacchetti per il cambio dei font se nel documento hai cambiato font (giusto per uniformità). Trovi un esempio di applicazione nel repository della guida tematica sulla macro tikzmark.
Ciao
Claudio
-
27 Gennaio 2014 alle 14:56 #91820::
Molto semplice. Ovvio che non ti servono le impostazioni per le testatine, per il formato pagina, per la bibliografia, ecc.
Il sorgente potrebbe essere:
`\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,italian]{babel}\usepackage{amsmath} % se eventualmente nel grafico appaia della matematica
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{bbm}
\usepackage{braket}
\usepackage[dvipsnames]{xcolor}\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
% eccetera\end{axis}
\end{tikzpicture}
\end{document}
`Ciao.
R.
-
28 Gennaio 2014 alle 13:41 #91821::
Scusatemi. Avevo fatto quella domanda senza ben riflettere prima, piuttosto “spaventato” dalla lunghezza del preambolo.
Successivamente, ieri, ho rimosso i vari pacchetti che ho pensato essere inutili (se non “dannosi”), ma mi sono bloccato di fronte ad un problema che non riuscivo a risolvere.
Il problema era abbastanza ovvio… non riuscivo a generare un grafico “standalone” perché avevo inserito l’ambiente tickzpicture dentro un ambiente figure.
Per spiegarmi meglio posto direttamente il codice, su cui poi avrei alcune domande.
`
\PassOptionsToPackage{dvipsnames}{xcolor}
\documentclass[tikz,border=10pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,italian]{babel}
\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{pgfplots}\begin{document}
\centering
%~ \begin{figure}[!h]
\begin{tikzpicture}
\begin{axis}[xlabel=Iterazioni,ylabel=Posizione del random walker,
xmin=0,xmax=150,ymin=-35,ymax=35]
\addplot[black] table {../../FileDati/Randwalk/randwalk01.txt};
\addplot[green] table {../../FileDati/Randwalk/randwalk02.txt};
\addplot[blue] table {../../FileDati/Randwalk/randwalk03.txt};
\addplot[red] table {../../FileDati/Randwalk/randwalk05.txt};
\addplot[yellow] table {../../FileDati/Randwalk/randwalk04.txt};
\addplot[Maroon] table {../../FileDati/Randwalk/randwalk06.txt};
\addplot[Magenta] table {../../FileDati/Randwalk/randwalk07.txt};
\addplot[OliveGreen] table {../../FileDati/Randwalk/randwalk08.txt};
\addplot[violet] table {../../FileDati/Randwalk/randwalk10.txt};
\end{axis}
\end{tikzpicture}
%~ \caption{Random walk unidimensionali, con $S_{0}=0$ e $n=150$}
%~ \label{fig:randWalkUnidimensionali}
%~ \end{figure}
\end{document}
`Le parti commentate, legate all’ambiente figure, erano quelle che mi mandavano tutto in palla.
Nel senso che non veniva ovviamente generato il solo grafico, ma un documento di tre pagine, con l’immagine vera e propria nella seconda pagina e la didascalia addirittura nella terza pagina.
Una volta eliminate le righe che qui compaiono commentate, mi è stato effettivamente generato il grafico… credo nel modo in cui mi possa andare bene.Ma veniamo alle domande 🙂
Nella prima riga uso l’istruzione
`\PassOptionsToPackage{dvipsnames}{xcolor}`
Ci sono arrivato dopo svariati tentativi che mi hanno sempre dato errore.
Dal momento che uso colori come Maroon e via dicendo, mi serve il pacchetto xcolor con l’opzione dvipsnames. Prima di risolvere con questa istruzione, caricavo il pacchetto a parte, con l’unica accortezza di caricarlo prima di pgfplots. Mi veniva quindi dato l’errore dovuto al fatto che, penso di aver capito, l’istruzione
`\documentclass[tikz,border=10pt]{standalone}`
lo carica in automatico con “opzioni” differenti.
Questo modo in cui ho “risolto”… è quello corretto? Qualora non lo fosse, quale è il modo corretto di gestire il pacchetto xcolor?A parte questioni di natura (credo si dica così) stilistica, quali l’uso degli stessi font e via dicendo, avrei ancora un paio di domande.
Il mio obiettivo, come mi avete spiegato, è quello di generare separatamente questi grafici e poi gestirli come “semplici immagini” da importare nel documento finale.
La pagina originale (o meglio, una porzione della pagina originale) in cui compare questo grafico è questa[attachment=900]output.png[/attachment]
Il grafico standalone è invece questo
[attachment=899]svuotamentoTrappola.png[/attachment]
Ci sono ulteriori cose di cui dovrei tener conto? Va bene così?
Scusate se la domanda può sembrare stupida, ma vorrei essere sicuro di aver capito. Mi chiedo in particolar modo se ci siano delle indicazioni sulle dimensioni del grafico e quale sia il formato migliore per poi inserirlo agevolmente nel documento finale. Per questo esempio ho creato un pdf, che poi ho trasformato in png per poterlo allegare la forum.Vi ringrazio anticipatamente 🙂
Attachments:
You must be logged in to view attached files. -
28 Gennaio 2014 alle 13:47 #91822::
l3on4rdo” post=91502Nella prima riga uso l’istruzione
`\PassOptionsToPackage{dvipsnames}{xcolor}`
Ci sono arrivato dopo svariati tentativi che mi hanno sempre dato errore.
Dal momento che uso colori come Maroon e via dicendo, mi serve il pacchetto xcolor con l’opzione dvipsnames. Prima di risolvere con questa istruzione, caricavo il pacchetto a parte, con l’unica accortezza di caricarlo prima di pgfplots. Mi veniva quindi dato l’errore dovuto al fatto che, penso di aver capito, l’istruzione
`\documentclass[tikz,border=10pt]{standalone}`
lo carica in automatico con “opzioni” differenti.
Questo modo in cui ho “risolto”… è quello corretto? Qualora non lo fosse, quale è il modo corretto di gestire il pacchetto xcolor?È corretto perché quello che succede quando usi l’opzione [tt]tikz[/tt] in standalone è da un lato caricare il pacchetto (che carica xcolor senza opzioni) e dall’altro un miglior “crop” dell’immagine.
l3on4rdo” post=91502A parte questioni di natura (credo si dica così) stilistica, quali l’uso degli stessi font e via dicendo, avrei ancora un paio di domande.
Il mio obiettivo, come mi avete spiegato, è quello di generare separatamente questi grafici e poi gestirli come “semplici immagini” da importare nel documento finale.
La pagina originale (o meglio, una porzione della pagina originale) in cui compare questo grafico è questa
[attachment=897]output.pdf[/attachment]Il grafico standalone è invece questo
[attachment=898]svuotamentoTrappola.pdf[/attachment]Ci sono ulteriori cose di cui dovrei tener conto? Va bene così?
Scusate se la domanda può sembrare stupida, ma vorrei essere sicuro di aver capito. Mi chiedo in particolar modo se ci siano delle indicazioni sulle dimensioni del grafico e quale sia il formato migliore per poi inserirlo agevomente nel documento finale.Vi ringrazio anticipatamente 🙂
Non vedo gli allegati.
EDIT: ho visto gli allegati e mi sembra sia corretto. Chiaramente, se non cambi le impostazioni della tela del grafico, puoi usare cento classi e il risultato sarà lo stesso. Certo, usi la classe standalone, ma il suo obbiettivo è solo di fornire un risultato scontornato: la figura al suo interno ha le dimensioni che definisci tu (o di default) e sarebbero uguali con article, report, book eccetera eccetera.
Ciao
Claudio
-
27 Febbraio 2014 alle 15:10 #91823::
Sto riprendendo il “discorso”, quindi mi riaffaccio per ulteriori cortesi chiarimenti da parte vostra 🙂
@cfiandra
Temo di non aver capito adeguatamente cosa tu intenda con:Chiaramente, se non cambi le impostazioni della tela del grafico, puoi usare cento classi e il risultato sarà lo stesso. Certo, usi la classe standalone, ma il suo obbiettivo è solo di fornire un risultato scontornato: la figura al suo interno ha le dimensioni che definisci tu (o di default) e sarebbero uguali con article, report, book eccetera eccetera
Detto questo, avrei alcune domande, considerando che il mio scopo è quello di “scorporare” dal documento (o meglio dai vari capitoli che includo poi separatamente nel documento complessivo) tutto quello che riguarda la generazione di immagini.
Nel file principale del documento ho impostato
`\graphicspath{{Grafica/}}`
All’interno della directory “Grafica”, ho provveduto a creare le apposite directory secondo una struttura (che ritengo) appropriata:
ho le prime sottodirectory “Immagini”, “Grafici” e via dicendo;
al loro interno ho le sottodirectory il cui nome è associato a quello del capitolo;
in ognuna di queste ultime ho messo l’ “ultima” directory, il cui nome è collegato al nome del grafico/immagine e che contenente il file sorgente tex “standalone” e il relativo grafico generato con la compilazione del sorgente, in cui anche il nome del file tex riconduce al nome dell’immagine.Faccio un esempio con l’immagine già postata nella discussione.
Supponiamo di avere il capitolo “Preliminari Matematici”, in cui voler mettere quel grafico, cui sarà associata la label “randWalkUnidimensionali”
Ho, quindi, la directory il cui path relativo (a partire da Grafica) sarà:
`Grafici/PreliminariMatematici/randWalkUnidimensionali`Al suo interno (ovviamente dopo la compilazione del file tex) ho il contenuto
`
randWalkUnidimensionali.aux
randWalkUnidimensionali.tex
randWalkUnidimensionali.log
randWalkUnidimensionali.pdf
`Il contenuto del file tex (differente da quello precedente, per la modifica dei path) è
`
\PassOptionsToPackage{dvipsnames}{xcolor}
\documentclass[tikz,border=10pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,italian]{babel}
\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{pgfplots}\begin{document}
\centering
\begin{tikzpicture}
\begin{axis}[xlabel=Iterazioni,ylabel=Posizione del random walker,
xmin=0,xmax=150,ymin=-35,ymax=35]
\addplot[black] table {../../../FileDati/PreliminariMatematici/randWalkUnidimensionali/randwalk01.dat};
\addplot[green] table {../../../FileDati/PreliminariMatematici/randWalkUnidimensionali/randwalk02.dat};
\addplot[blue] table {../../../FileDati/PreliminariMatematici/randWalkUnidimensionali/randwalk03.dat};
\addplot[red] table {../../../FileDati/PreliminariMatematici/randWalkUnidimensionali/randwalk05.dat};
\addplot[yellow] table {../../../FileDati/PreliminariMatematici/randWalkUnidimensionali/randwalk04.dat};
\addplot[Maroon] table {../../../FileDati/PreliminariMatematici/randWalkUnidimensionali/randwalk06.dat};
\addplot[Magenta] table {../../../FileDati/PreliminariMatematici/randWalkUnidimensionali/randwalk07.dat};
\addplot[OliveGreen] table {../../../FileDati/PreliminariMatematici/randWalkUnidimensionali/randwalk08.dat};
\addplot[violet] table {../../../FileDati/PreliminariMatematici/randWalkUnidimensionali/randwalk10.dat};
\end{axis}
\end{tikzpicture}
\end{document}`Il pdf prodotto è quello che ho allegato in un precedente messaggio cui mi sono riferito come grafico standalone.
I file di dati sono contenuti in una apposita directory che, a prescindere dal fatto che la directory “principale” non è “Grafica” ma “FileDati”, segue la stessa logica.
In questo modo produco i grafici in formato pdf in una directory il cui path relativo è del tipo:
`Grafici/NomeCapitolo/NomeGrafico`
Mentre ho i file di dati in una directory differente, il cui path relativo è del tipo:
`FileDati/NomeCapitolo/NomeGrafico`Le domande sono
1) è più opportuno tenere i file di dati direttamente dentro la directory in cui poi genero i grafici, intendo in una ulteriore directory del tipo:
`Grafici/NomeCapitolo/NomeGrafico/FileDati`?
2) Sto procedendo nel modo corretto? O sto facendo un casino di cui in futurò avrò modo di pentirmi?
3) Dovendo produrre molti di questi grafici standalone, quale è il modo più oculato di evitare di riscrivere ogni volta ogni pacchetto da “usare”?
Io stavo pensando di predisporre un file di “intestazione” a parte e includerlo all’inizio dei singoli sorgenti “standalone”. Che dite?
4) In questo modo, dovrei poter agevolmente inserire i grafici in formato pdf nel documento o, eventualmente, “includere” il sorgente tex… o sbaglio?
5) Quale è, per l’immagine prodotta, il formato grafico migliore per gestire in questo modo la produzione del grafico e il suo successivo inserimento in un documento, in cui è previsto eventualmente lo “scaling” delle dimensioni?Grazie ancora per gli aiuti.
🙂p.s.:
Il problema dell’eventuale ridondanza dei file di dati per ora non lo prendo neanche in considerazione (se qualcuno volesse giustamente farlo notare)
-
28 Febbraio 2014 alle 12:34 #91824::
l3on4rdo” post=92490
[…]
Le domande sono
1) è più opportuno tenere i file di dati direttamente dentro la directory in cui poi genero i grafici, intendo in una ulteriore directory del tipo:
`Grafici/NomeCapitolo/NomeGrafico/FileDati`?
2) Sto procedendo nel modo corretto? O sto facendo un casino di cui in futurò avrò modo di pentirmi?
3) Dovendo produrre molti di questi grafici standalone, quale è il modo più oculato di evitare di riscrivere ogni volta ogni pacchetto da “usare”?
Io stavo pensando di predisporre un file di “intestazione” a parte e includerlo all’inizio dei singoli sorgenti “standalone”. Che dite?
4) In questo modo, dovrei poter agevolmente inserire i grafici in formato pdf nel documento o, eventualmente, “includere” il sorgente tex… o sbaglio?
5) Quale è, per l’immagine prodotta, il formato grafico migliore per gestire in questo modo la produzione del grafico e il suo successivo inserimento in un documento, in cui è previsto eventualmente lo “scaling” delle dimensioni?Grazie ancora per gli aiuti.
🙂p.s.:
Il problema dell’eventuale ridondanza dei file di dati per ora non lo prendo neanche in considerazione (se qualcuno volesse giustamente farlo notare)La risposta alla domanda numero 3) l’ho capita da solo 🙂
Non avevo pensato al comando \input e ho risolto usandolo. Spero sia la soluzione più corretta.Le altre rimangono ancora aperte, sperando che non siano talmente stupide da non meritare risposta.
😀
-
10 Marzo 2014 alle 13:06 #91825::
Ciao… non vedendo più ulteriori vostri interventi… comprendo che forse le mie erano domande non degne di risposta 🙂
Mi riaffaccio solo per dire che sono riuscito a sistemare i vari punti, in modo abbastanza “lineare”.Rimane un problema relativo a differenti rese grafiche date dai due modi di inserire i grafici (elaborazione direttamente nel documento principale vs inserimento di un grafico elaborato a parte), ma penso sia opportuno affrontarlo in un’altra discussione.
Pertanto, grazie a tutti degli aiuti 🙂
-
10 Marzo 2014 alle 14:37 #91826::
l3on4rdo” post=92490 @cfiandra
Temo di non aver capito adeguatamente cosa tu intenda con:Chiaramente, se non cambi le impostazioni della tela del grafico, puoi usare cento classi e il risultato sarà lo stesso. Certo, usi la classe standalone, ma il suo obbiettivo è solo di fornire un risultato scontornato: la figura al suo interno ha le dimensioni che definisci tu (o di default) e sarebbero uguali con article, report, book eccetera eccetera
Se un grafico è largo 5cm e alto 4.5cm, che tu usi la classe article, report, book, suftesi, o standalone, il risultato non cambia: il grafico rimane largo 5cm e alto 4cm. La cosa di primari importanza, quindi, non è la classe, ma le dimensioni del grafico (certo, anche la classe con relative opzioni ha il suo peso: non puoi far stare un grafico largo 25cm in orizzontale su un foglio a4).
Ottimo se hai risolto per gli altri problemi. 🙂
Ciao
Claudio
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.