- Questo topic ha 11 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 4 mesi fa da
OldClaudio.
-
CreatoreTopic
-
7 Maggio 2013 alle 10:57 #85561::
Buongiorno,
sono mesi che mi riprometto di studiare il pacchetto tikz ma ho sempre rimandato e adesso ne ho un bisogno urgente 😯 .
Sto scrivendo un piccolo articolo e adesso devo inserire un’immagine (riportata sotto in allegato) ma non ho tempo per imparare a farla.
Qualcuno potrebbe aiutarmi a scrivere in codice da inserire nel file .tex per riprodurre l’immagine.
Le misure non devono essere precise, basta che le proporzioni siano più o meno rispettate e che i colori siano simili.[attachment=696]Andamento_asse_neutro.png[/attachment]
Ve ne sarei molto grato.
Grazie
Marco
Attachments:
You must be logged in to view attached files. -
CreatoreTopic
-
AutoreRisposte
-
-
7 Maggio 2013 alle 15:18 #85562::
marchetto” post=85003Buongiorno,
sono mesi che mi riprometto di studiare il pacchetto tikz ma ho sempre rimandato e adesso ne ho un bisogno urgente 😯 .
Sto scrivendo un piccolo articolo e adesso devo inserire un’immagine (riportata sotto in allegato) ma non ho tempo per imparare a farla.
Qualcuno potrebbe aiutarmi a scrivere in codice da inserire nel file .tex per riprodurre l’immagine.
Le misure non devono essere precise, basta che le proporzioni siano più o meno rispettate e che i colori siano simili.[attachment=696]Andamento_asse_neutro.png[/attachment]
Ve ne sarei molto grato.
Grazie
MarcoEcco uno schema semplicissimo per iniziare il tuo disegno, attenzione non ho impostato le misure che desideri, poiché non le conosco.
Sono sicuro che saprai aggiungere quello che manca e fornire coordinate corrette per le dimensioni del disegno che devi ottenere.
`\begin{tikzpicture}
\draw (0,0) rectangle (5,10);
\draw (1,1) — (4,1);
\draw (1,9) — (4,9);
\draw[dashed] (5,10) — (14,10);
\draw[dashed] (5,9) — (14,9);
\draw[dashed] (5,1) — (14,1);
\draw[dashed] (5,0) — (14,0);
\draw[dashed] (14,0) — (14,10);
%quote
\draw[->,red] (15,10) — (15,9);
\path[red] (15,10.5) node(yn1) {$y_{n1}$};
%linee colorate
\draw[red] (6,9) — (14,10);\end{tikzpicture}`
SalutiPS: non servono librerie di espansione di [tt]tiKz[/tt].
-
7 Maggio 2013 alle 16:30 #85563::
marchetto” post=85003Buongiorno,
sono mesi che mi riprometto di studiare il pacchetto tikz ma ho sempre rimandato e adesso ne ho un bisogno urgente 😯 .
Sto scrivendo un piccolo articolo e adesso devo inserire un’immagine (riportata sotto in allegato) ma non ho tempo per imparare a farla.
Qualcuno potrebbe aiutarmi a scrivere in codice da inserire nel file .tex per riprodurre l’immagine.
Le misure non devono essere precise, basta che le proporzioni siano più o meno rispettate e che i colori siano simili.[attachment=696]Andamento_asse_neutro.png[/attachment]
Ve ne sarei molto grato.
Grazie
MarcoPerdonami, però vista la complessità del disegno credo che “non avere studiato TikZ” non sia una scusa. Non servono conoscenze particolari (te la cavi con dei [tt]\draw[/tt] e dei [tt]\node[/tt] semplici) e il bisogno urgente fa sembrare quasi che il forum sia una succursale di disegno a richiesta. So che non era tua intenzione, ma al posto tuo non avrei inserito la prima riga e molto probabilmente avresti avuto il disegno completo come risposta. Invece, ottieni “solo” un canovaccio:
1) visto che le misure non devono essere precise, parti con l’origine sopra la label Ecu;
2) disegna tutti i segmenti tratteggiati (magari prima tracciali su carta per un’idea delle misure); sei all’inizio quindi procedi un segmento alla volta:
2a) disegna da (0,0) in alto fino a, sparo, (6,0);
2b) impostate le misure 1.5cm, 2.5cm, 2.5cm, disegnerai da (-1.5,0)–(-1.5,6) tratteggiata, (-4,0)–(-4,6) non tratteggiata e (-6.5,0)–(-6.5,6) di nuovo tratteggiata;
2c) disegna il rettangolo a partire da un ulteriore shift di 2.5cm con [tt]rectangle[/tt] tipo (-8,0)rectangle (-10.5,6) ;
2d) congiungi i segmenti orizzontali;
3) disegna a partire da (0,6) i segmenti colorati (blu, rosso, giallo e verde credo tu li possa trovare senza difficoltà);
4) metti le label in basso;
5) a partire da (0.5,6) disegna una freccia verso il basso (avrà la stessa y della misura in rosso) tipo: [tt]\draw(0.5,6) –(0.5,4.9) node[midway]{$y_1$};[/tt];
6) segui la stessa filosofia per le altre frecce, separale di 0.5 ognuna; se ho fatto bene i conti, abbiamo raggiunto 12.5cm totali perciò il disegno sforerà dalla pagina (se usi classi standard) e otterrai qualche warning che te lo comunica; a quel punto piazza nelle opzioni di ambiente [tt]scale=0.9,transform shape[/tt] e sei a posto.Ciao
Claudio
-
7 Maggio 2013 alle 20:25 #85564::
Certo che avrei potuto scrivere diversamente e chiedo scusa se ho offeso qualcuno.Ho provato a modificare il canovaccio. Di seguito il codice:
`\documentclass{article}
\usepackage{pgfplots}
% and optionally (as of Pgfplots 1.3):
\pgfplotsset{compat=newest}
\pgfplotsset{plot coordinates/math parser=false}
\newlength\figureheight
\newlength\figurewidth
\begin{document}\begin{tikzpicture}[scale=0.7,transform,shape]
\draw (0,0) rectangle (5,7);
\draw (1,1) — (4,1);
\draw (1,6) — (4,6);
\draw[dashed] (5,7) — (14,7);
\draw[dashed] (5,6) — (13.5,6);
\draw[dashed] (5,1) — (13.5,1);
\draw[dashed] (5,0) — (13.5,0);
\draw (10,-0.5) — (10,7.5);
\draw[dashed] (13.5,0) — (13.5,7);
\draw[dashed] (12,0) — (12,7);
\draw[dashed] (8,0) — (8,7);
%Red
\draw[->,red] (14,7) — (14,6.3636);
\path[red] (14.5,6.5) node(yn1) {$y_{n_1}$};
\draw[red] (8,6) — (13.5,7);
%Orange
\draw[->,orange] (15,7) — (15,4.6667);
\path[orange] (15.5,6.5) node(yn2) {$y_{n_2}$};
\draw[orange] (8,3.3333) — (13.5,7);
%Green
\draw[->,green] (16,7) — (16,3.1818);
\path[green] (16.5,6.5) node(yn3) {$y_{n_b}$};
\draw[green] (8,1) — (13.5,7);
%Blue
\draw[blue] (17,7) — (17,4);
\draw[dashed,blue] (17,4) — (17,0.3);
\draw[->,blue] (17,0.3) — (17,-0.5);
\path[blue] (17.5,6.5) node(yn4) {$y_{n_4}$};
\draw[blue] (11.75,0) — (13.5,7);
%Names
\path (8,-1) node(-Ese) {$-\varepsilon_{se}$};
\path (10,-1) node(E0) {$\varepsilon$\textit{=0}};
\path (12,-1) node(Ese) {$\varepsilon_{se}$};
\path (13.5,-1) node(Ecu) {$\varepsilon_{cu}$};
\end{tikzpicture}\end{document}`
Il codice non è molto elegante ma ci ho provato 🙂
Ho una domanda: è corretto il modo di inserire le scritte (epsilon…)?
Grazie per l’aiuto
Marco
-
7 Maggio 2013 alle 20:49 #85565
-
8 Maggio 2013 alle 4:54 #85566::
Non ottieni errori, forse, ma li scrivi tu:1) [tt]\textit{=0}[/tt] è matematica e quindi va scritto [tt]$\varepsilon=0$[/tt]
2) poi quei [tt]_{se}[/tt] e [tt]_{cu}[/tt] vanno scritti in tondo se se e cu NON sono variabili matematiche o fisiche. O scrivi [tt]_\mathrm{se}[/tt] (e lo stesso per cu), oppure se scrivi in italiano [tt]\ped{se}[/tt] (e lo stessso epr cu).
-
8 Maggio 2013 alle 6:04 #85567::
marchetto” post=85019Con il testo appena scritto sopra non ottengo errori o warning ma solo un badbox: sapete come potrei risolverlo?
Ciao
MarcoCiao, nel tuo codice utilizzi [tt]scale=0.7[/tt], se vuoi un consiglio non farlo! Riduce tutto anche i pedici!
Imposta il documento per a4, a meno che tu non voglia usare la “quadrotta” cioè l’opzione di default della classe article, dopodiché scegli delle coordiante che facciano stare il tuo disegno dentro i margini.
La larghezza totale del disegno devo essere pari a: [tt]\textwidth[/tt].
Ciao
-
8 Maggio 2013 alle 9:34 #85568::
Ciao,
ho solo riordinato un po’ il tuo codice… caricando il tikz e scurendo un po’ il verde.L’opzione ‘scale’ scala solamente la geometria e non i testi, per cui può essere usata tranquillamente.
`\documentclass{standalone}
\usepackage{tikz}\colorlet{verde}{green!80!black}
\begin{document}
\begin{tikzpicture}[scale=0.7]
\draw (0,0) rectangle (5,7);
\draw[line width=1pt] (1,1) — (4,1);
\draw[line width=1pt] (1,6) — (4,6);\draw[dashed] (5,7) — (14,7);
\draw[dashed] (5,6) — (13.5,6);
\draw[dashed] (5,1) — (13.5,1);
\draw[dashed] (5,0) — (13.5,0);
\draw (10,-0.5) — (10,7.5);
\draw[dashed] (13.5,0) — (13.5,7);
\draw[dashed] (12,0) — (12,7);
\draw[dashed] (8,0) — (8,7);
%Red
\draw[->,red] (14,7) — (14,6.3636);
\path[red] (14.5,6.5) node(yn1) {$y_{n_1}$};
\draw[red] (8,6) — (13.5,7);
%Orange
\draw[->,orange] (15,7) — (15,4.6667);
\path[orange] (15.5,6.5) node(yn2) {$y_{n_2}$};
\draw[orange] (8,3.3333) — (13.5,7);
%Green
\draw[->,verde] (16,7) — (16,3.1818);
\path[verde] (16.5,6.5) node(yn3) {$y_{n_\mathrm{b}}$};
\draw[verde] (8,1) — (13.5,7);
%Blue
\draw[blue] (17,7) — (17,4);
\draw[dashed,blue] (17,4) — (17,0.3);
\draw[->,blue] (17,0.3) — (17,-0.5);
\path[blue] (17.5,6.5) node(yn4) {$y_{n_4}$};
\draw[blue] (11.75,0) — (13.5,7);
%Names
\path (8,-1) node(-Ese) {$-\varepsilon_\mathrm{se}$};
\path (10,-1) node(E0) {$\varepsilon=0$};
\path (12,-1) node(Ese) {$\varepsilon_\mathrm{se}$};
\path (13.5,-1) node(Ecu) {$\varepsilon_\mathrm{cu}$};
\end{tikzpicture}\end{document}`
Saluti.
R.
-
8 Maggio 2013 alle 10:13 #85569::
robitex” post=85032Ciao,
ho solo riordinato un po’ il tuo codice… caricando il tikz e scurendo un po’ il verde.L’opzione ‘scale’ scala solamente la geometria e non i testi, per cui può essere usata tranquillamente.
`\documentclass{standalone}
\usepackage{tikz}\colorlet{verde}{green!80!black}
\begin{document}
\begin{tikzpicture}[scale=0.7]
\draw (0,0) rectangle (5,7);
\draw[line width=1pt] (1,1) — (4,1);
\draw[line width=1pt] (1,6) — (4,6);\draw[dashed] (5,7) — (14,7);
\draw[dashed] (5,6) — (13.5,6);
\draw[dashed] (5,1) — (13.5,1);
\draw[dashed] (5,0) — (13.5,0);
\draw (10,-0.5) — (10,7.5);
\draw[dashed] (13.5,0) — (13.5,7);
\draw[dashed] (12,0) — (12,7);
\draw[dashed] (8,0) — (8,7);
%Red
\draw[->,red] (14,7) — (14,6.3636);
\path[red] (14.5,6.5) node(yn1) {$y_{n_1}$};
\draw[red] (8,6) — (13.5,7);
%Orange
\draw[->,orange] (15,7) — (15,4.6667);
\path[orange] (15.5,6.5) node(yn2) {$y_{n_2}$};
\draw[orange] (8,3.3333) — (13.5,7);
%Green
\draw[->,verde] (16,7) — (16,3.1818);
\path[verde] (16.5,6.5) node(yn3) {$y_{n_\mathrm{b}}$};
\draw[verde] (8,1) — (13.5,7);
%Blue
\draw[blue] (17,7) — (17,4);
\draw[dashed,blue] (17,4) — (17,0.3);
\draw[->,blue] (17,0.3) — (17,-0.5);
\path[blue] (17.5,6.5) node(yn4) {$y_{n_4}$};
\draw[blue] (11.75,0) — (13.5,7);
%Names
\path (8,-1) node(-Ese) {$-\varepsilon_\mathrm{se}$};
\path (10,-1) node(E0) {$\varepsilon=0$};
\path (12,-1) node(Ese) {$\varepsilon_\mathrm{se}$};
\path (13.5,-1) node(Ecu) {$\varepsilon_\mathrm{cu}$};
\end{tikzpicture}\end{document}`
Saluti.
R.Ciao Roberto, ho usato [tt]scale, shape transform[/tt] come opzione passata a tutta la figura, tutta l’immagine viene ridimensionata, anche le parti “testuali”.
Quindi correttamente come hai fatto nl tuo codice, basta rimuovere [tt]shape transform[/tt].
Grazie per la drittaSaluti.
-
8 Maggio 2013 alle 15:32 #85570::
marchetto” post=85018Certo che avrei potuto scrivere diversamente e chiedo scusa se ho offeso qualcuno.
Nessun problema, figurati. 🙂 Era solo un consiglio per non dare alle domande un’aspetto poco invitante alla risposta.
marchetto” post=85018
Ho provato a modificare il canovaccio. Di seguito il codice:
`\documentclass{article}
\usepackage{pgfplots}
% and optionally (as of Pgfplots 1.3):
\pgfplotsset{compat=newest}
\pgfplotsset{plot coordinates/math parser=false}
\newlength\figureheight
\newlength\figurewidth
\begin{document}\begin{tikzpicture}[scale=0.7,transform,shape]
\draw (0,0) rectangle (5,7);
\draw (1,1) — (4,1);
\draw (1,6) — (4,6);
\draw[dashed] (5,7) — (14,7);
\draw[dashed] (5,6) — (13.5,6);
\draw[dashed] (5,1) — (13.5,1);
\draw[dashed] (5,0) — (13.5,0);
\draw (10,-0.5) — (10,7.5);
\draw[dashed] (13.5,0) — (13.5,7);
\draw[dashed] (12,0) — (12,7);
\draw[dashed] (8,0) — (8,7);
%Red
\draw[->,red] (14,7) — (14,6.3636);
\path[red] (14.5,6.5) node(yn1) {$y_{n_1}$};
\draw[red] (8,6) — (13.5,7);
%Orange
\draw[->,orange] (15,7) — (15,4.6667);
\path[orange] (15.5,6.5) node(yn2) {$y_{n_2}$};
\draw[orange] (8,3.3333) — (13.5,7);
%Green
\draw[->,green] (16,7) — (16,3.1818);
\path[green] (16.5,6.5) node(yn3) {$y_{n_b}$};
\draw[green] (8,1) — (13.5,7);
%Blue
\draw[blue] (17,7) — (17,4);
\draw[dashed,blue] (17,4) — (17,0.3);
\draw[->,blue] (17,0.3) — (17,-0.5);
\path[blue] (17.5,6.5) node(yn4) {$y_{n_4}$};
\draw[blue] (11.75,0) — (13.5,7);
%Names
\path (8,-1) node(-Ese) {$-\varepsilon_{se}$};
\path (10,-1) node(E0) {$\varepsilon$\textit{=0}};
\path (12,-1) node(Ese) {$\varepsilon_{se}$};
\path (13.5,-1) node(Ecu) {$\varepsilon_{cu}$};
\end{tikzpicture}\end{document}`
Il codice non è molto elegante ma ci ho provato 🙂
L’importante è fare esercizio: è così che si impara. 🙂 Quello che vedo, e che dovrebbe essere la causa del warning è che hai impostato una dimensione orizzontale totale di 17.4 cm; in genere, come dicevo, con le classi standard io facevo conto di avere 12 cm a disposizione per non dover riscalare il disegno. Quindi qui sei andato un po’ oltre e hai due soluzioni: a) ti rifai le misure a mano, b) più comoda, fai in modo che la dimensione orizzontale si riscali automaticamente. Prova con: `
\begin{tikzpicture}[scale=0.7,transform shape,x=0.925cm]
` Attenzione: la chiave non è [tt]transform,shape[/tt] ma [tt]transform shape[/tt] senza virgola. @alegenn: in effetti questa opzione serve proprio per quel motivo (il testo dei nodi non viene assolutamente riscalato da [tt]scale[/tt]).Un’altra cosa: prendi l’abitudine di non usare `
\pgfplotsset{compat=newest}
` Come scritto nella documentazione, è una brutta abitudine che può provare danni in quanto se oggi (versione 1.8 ) provassi a compilare un documento di un paio d’anni fa che usava l’opzione [tt]newest[/tt] molto probabilmente darebbe errore. Questo perché [tt]newest[/tt] si riferisce all’ultima versione presente sulla macchina, ma due anni fa probabilmente era la 1.3 mentre oggi è la 1.8.Ciao
Claudio
-
8 Maggio 2013 alle 21:24 #85571::
Grazie a tutti per l’aiuto/insegnamento che mi avete dato.OldClaudio” post=85020
2) poi quei [tt]_{se}[/tt] e [tt]_{cu}[/tt] vanno scritti in tondo se se e cu NON sono variabili matematiche o fisiche.\varepsilon rappresenta la deformazione di un materiale (metro su metro), c e s si riferiscono rispettivamente a calcestruzzo e acciaio, e ed u rappresentano una condizione del materiale. Detto questo, correggetemi se sbaglio, se e cu andrebbero scritte in tondo.
robitex” post=85032Ciao,
ho solo riordinato un po’ il tuo codice… caricando il tikz e scurendo un po’ il verde.Grazie robitex, ottima idea!
Qui di seguito riporto il codice finale che ho scelto di utilizzare, è molto simile a quello di cfiandra.
`\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum}\colorlet{verde}{green!80!black}
\begin{document}
\begin{tikzpicture}[scale=0.6]
% \begin{tikzpicture}[scale=0.7,transform shape,x=0.925cm] % Scala tutto e deforma l'asse x
\draw (-1,0) rectangle (5,7);
\draw[line width=1pt] (0,1) — (4,1);
\draw[line width=1pt] (0,6) — (4,6);\draw[dashed] (5,7) — (14,7);
\draw[dashed] (5,6) — (13.5,6);
\draw[dashed] (5,1) — (13.5,1);
\draw[dashed] (5,0) — (13.5,0);
\draw (10,-0.5) — (10,7.5);
\draw[dashed] (13.5,0) — (13.5,7);
\draw[dashed] (12,0) — (12,7);
\draw[dashed] (8,0) — (8,7);
%Red
\draw[->,red] (14,7) — (14,6.3636);
\path[red] (14.5,6.5) node(yn1) {$y_{n_1}$};
\draw[red] (8,6) — (13.5,7);
%Orange
\draw[->,orange] (15,7) — (15,4.6667);
\path[orange] (15.5,6.5) node(yn2) {$y_{n_2}$};
\draw[orange] (8,3.3333) — (13.5,7);
%Green
\draw[->,verde] (16,7) — (16,3.1818);
\path[verde] (16.5,6.5) node(yn3) {$y_{n_\mathrm{b}}$};
\draw[verde] (8,1) — (13.5,7);
%Blue
\draw[blue] (17,7) — (17,2.5);
\draw[dashed,blue] (17,2.5) — (17,0.3);
\draw[->,blue] (17,0.3) — (17,-0.5);
\path[blue] (17.5,6.5) node(yn4) {$y_{n_4}$};
\draw[blue] (11.75,0) — (13.5,7);
%Names
\path (8,-1) node(-Ese) {$-\varepsilon_\mathrm{se}$};
\path (10,-1) node(E0) {$\varepsilon=0$};
\path (12,-1) node(Ese) {$\varepsilon_\mathrm{se}$};
\path (13.5,-1) node(Ecu) {$\varepsilon_\mathrm{cu}$};
\end{tikzpicture}\section{Casaccio}
\lipsum\end{document}`
-
9 Maggio 2013 alle 5:15 #85572::
\varepsilon rappresenta la deformazione di un materiale (metro su metro), c e s si riferiscono rispettivamente a calcestruzzo e acciaio, e ed u rappresentano una condizione del materiale. Detto questo, correggetemi se sbaglio, se e cu andrebbero scritte in tondo.
Appunto: c ed s indicano il calcestruzzo e l’acciaio, e queste due cose NON sono variabili matematiche o fisiche; e ed u indicano le condizioni del materiale: NON sono variabili matematiche o fisiche; le norme ISO le vogliono in tondo.
La regola più semplice da ricordare per il font dei pedici è la domanda: “questo pedice è una variabile matematica o fisica?” se la risposta è sì. va in corsivo matematico, altrimenti va in tondo. Le lettere greche a pedice indicano sempre grandezze matematiche o fisice (per lo meno non ne ho mai vista uan per indicare qualcos’altro, ma vedi sotto) quindi LaTeX non prevede nemmeno che si possano usare lettere greche non inclinate.
Tuttavia i fisici nucleari indicano con lettere greche le particelle come i muoni, i pioni e simili e per queste sono richieste lettere greche diritte che richiedono alfabeti matematici particolari che LaTeX di solito non carica; il problema è fonte di non poche discussioni; certi pacchetti per scegliere font predisposti dai francesi dispongono anche delle lettere greche minuscole diritte (fourier, kpfonts,…); anche i pacchetti txfonts, pxfonts, newtx e newpx dispongono di font greci diritti; e il pacchetto isomath prevede tutte le forme dei font latini e greci per soddisfare le norme ISO. Ovviamente prevede prevede anche il tondo medio e nero, ma sta al compositore usarli quando occorre.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.