- Questo topic ha 6 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 5 mesi fa da
robitex.
-
CreatoreTopic
-
28 Marzo 2013 alle 7:59 #84303::
Salve a tutti,ho un problema sulla gestione di un diagramma realizzato con il pacchetto TIKZ.
Funziona tutto a meraviglia ma l’insieme del diagramma viene posto a destra della pagina.
Ho provato a dare coordinate “x” negative ma non riesco a spostare a sinistra come vorrei.
Ci sono soluzioni?
Allego un file di prova (uso XeLaTex)
[attachment:1]C:\fakepath\Schema_test_finale_1.tex[/attachment][attachment=642]Schema_test_finale_1.tex[/attachment]
Grazie e saluti
PM
Attachments:
You must be logged in to view attached files. -
CreatoreTopic
-
AutoreRisposte
-
-
28 Marzo 2013 alle 8:38 #84304::
piemme” post=83581Salve a tutti,
ho un problema sulla gestione di un diagramma realizzato con il pacchetto TIKZ.
Funziona tutto a meraviglia ma l’insieme del diagramma viene posto a destra della pagina.
Ho provato a dare coordinate “x” negative ma non riesco a spostare a sinistra come vorrei.
Ci sono soluzioni?
Allego un file di prova (uso XeLaTex)
[attachment:1]C:\fakepath\Schema_test_finale_1.tex[/attachment][attachment=642]Schema_test_finale_1.tex[/attachment]
Grazie e saluti
PM
Ciao.
Provo ad aiutarti spiegando come viene composta una figura grafica in TikZ.
All’interno dell’ambiente TikZpicture vige un sistema di riferimento per l’inserimento delle coordinate. Alla fine il disegno avrà comunque delle dimensioni minime indipendenti dalla posizione utilizzata per l’origine.
Per capirci il seguente codice pruduce la stessa pagina finale:
`\begin{tikzpicture}
\draw (100,100) rectangle (101,102);
\end{tikzpicture}`
`\begin{tikzpicture}
\draw (0,0) rectangle (1,2);
\end{tikzpicture}`
Quindi i tuoi problemi di posizionamento non riguardano TikZ.
Come inserisci la figura?
Quello che immagino è che inserisci l’ambiente tikzpicture direttamente nel testo.
Quindi, ti trovi come una specie di enorme carattere. TeX lo identa, e lo tratta come un capoverso.
Prova a mettere \noindent subito prima dell’ambiente grafico.
Comunque, in generale dovresti inserire la figura a sua volta in un ambiente figure.
Sul codice TikZ che hai costruito, possono essere fatte ulteriori ottimizzazioni.
Saluti.
R.
-
28 Marzo 2013 alle 9:09 #84305::
Roberto ha detto bene, ma nel caso specifico le cose sono un po’ diverse. Usando classi standard (senza personalizzazione dei margini) fà conto di avere 12cm massimi disponibili per la figura; in TikZ l’unità base è il cm quindi `
\node at (1,0){Ciao};
` posiziona il testo Ciao 1cm a destra rispetto all’origine. Considerata la dimensione massima (che avevo ricavato per esperienza), la parte del disegno più lontana può essere a [tt](12,0)[/tt], ma se utilizzi anche coordinate negative devi riscalare le cose: ad esempio da [tt](-2,0)[/tt] a [tt](10,0)[/tt].Il problema del tuo codice è che hai sforato, non intenzionalmente, ma hai sforato: infatti i nodi più distanti sono posizionati a [tt](11,20)[/tt] e [tt](-1,21)[/tt] però occorre tenere conto della dimensione stessa dei nodi (minimo 2.5cm). Ecco quindi che sporgi di 1.5cm da entrambi i lati. Quindi l’immagine non si sposta da dove è piazzata (non so perché la vedi a destra: a me va in pagina nuova addirittura).
L’unico modo che hai per sistemare le cose senza impazzire è usare le opzioni di riscalamento: `
\begin{tikzpicture}[scale=0.8,transform shape]
` dovrebbero funzionare a meraviglia: l’immagine ti apparirà nel centro esatto della pagina.Come diceva Roberto, puoi migliorare il codice: non perché non vada bene, ma piuttosto perché anche con copia/incolla si impazzisce a ripetere le stesse opzioni (e peggiora la lettura).
Usa gli stili ad esempio: `
\tikzset{stile dei nodi/.style={
draw,
minimum height=0.7cm,
text width=2.5cm,
text centered,
font=\bfseries
}
}
—–
\node[stile dei nodi] (IS) at (11,20) {IS};
etc
` Ti aiuteranno sicuramente.Ciao
Claudio
-
28 Marzo 2013 alle 13:10 #84306::
Suggerimenti preziosi!
Ho modificato il codice e adesso è certamente più razionale.
La geometria della pagina l’avevo già modificata ponendo 4,5 cm margine esterno e 2,5 cm margine interno; dovrò scalare l’immagine per farla stare entro i 14 cm utili.
Ho provato a mettere \noindent sul file di prova e funziona mentre sul file principale (con \include{filename}) non funziona. Ho provato a scriverlo esternamente con varie combinazioni ma non cambia.
Adesso sto ricontrollando tutto nell’eventualità che mi sia sfuggita qualche inezia.
Grazie.
pm
-
28 Marzo 2013 alle 13:59 #84307::
piemme” post=83605Suggerimenti preziosi!
Ho modificato il codice e adesso è certamente più razionale.
La geometria della pagina l’avevo già modificata ponendo 4,5 cm margine esterno e 2,5 cm margine interno; dovrò scalare l’immagine per farla stare entro i 14 cm utili.
Ho provato a mettere \noindent sul file di prova e funziona mentre sul file principale (con \include{filename}) non funziona. Ho provato a scriverlo esternamente con varie combinazioni ma non cambia.
Adesso sto ricontrollando tutto nell’eventualità che mi sia sfuggita qualche inezia.
Grazie.
pmL’inezia è che le immagini non si includono con \include ma bensì con \includegraphics del pacchetto graphicx!!!
R.
-
29 Marzo 2013 alle 4:37 #84308::
Grazie per l’informazione ma anche con \includegraphics non funziona.A seguito dei precedenti suggerimenti, avevo posto \noindent nel mio ambiente di prova, che è un file costituito da macro tikz, e il diagramma si era posizionato in modo corretto.
Adesso penso di avere due strade: posso generare un diagramma a se stante, quindi pdf, e poi inserirlo con \includegraphics oppure posso inserire il codice con \include, prova che ho già effettuato ma che non ha dato i risultati sperati. Per il momento ho ridotto di un 3% e il risultato è accettabile.
Saluti.
PM
-
29 Marzo 2013 alle 6:15 #84309::
piemme” post=83637Grazie per l’informazione ma anche con \includegraphics non funziona.
A seguito dei precedenti suggerimenti, avevo posto \noindent nel mio ambiente di prova, che è un file costituito da macro tikz, e il diagramma si era posizionato in modo corretto.
Adesso penso di avere due strade: posso generare un diagramma a se stante, quindi pdf, e poi inserirlo con \includegraphics oppure posso inserire il codice con \include, prova che ho già effettuato ma che non ha dato i risultati sperati. Per il momento ho ridotto di un 3% e il risultato è accettabile.
Saluti.
PM
Vero, però per includere codice TeX da un file si usa \input{nome_file_senza_estensione} e non \inlcude che serve per comporre i capitoli…
Mi era parso di capire che avevi già trasformato il codice in un’immagine pdf…
R.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.