Risposte nei forum create
-
AutoreRisposte
-
::
lorenzo.pantieri” post=97192Il bordo del rettangolo centrale è in bianco.
Già ma perché? E’ questo che non ho capito.
lorenzo.pantieri” post=97192Riguardo alle etichette dell’asse delle frequenze, non ho capito come useresti right.
`\foreach \x in {1,5,7,9,11,14,17,19,22,24}
\nodeat (\x,9pt) {$10^{\x}$};`
::lorenzo.pantieri” post=97071Ma concordo con voi: la versione colorata è la più adatta agli studenti. Però sì, ora è troppo colorata. 🙁 Il problema, però, è che quei colori li ho presi dalla documentazione del pacchetto tcolorbox: quindi mi sono lasciato guidare da quelli che l’autore stesso del pacchetto ritiene gli abbinamenti migliori. Non credo di riuscire a fare meglio di lui, che il pacchetto l’ha scritto!! La riga del titolo deve essere abbastanza scura, perché il titolo è scritto in bianco. Certo, si può anche avere la riga del titolo chiara e il titolo in nero, ma l’autore di tcolorbox non fa così quasi mai.
Guarda come sono belli i colori che ha scelto @cfiandra per il suo pacchetto [tt]smartdiagram[/tt] (par. 6.1 della documentazione). Sicuramente in bianco e nero si confondono, ecco perché la soluzione di @OldClaudio di aggiungere un simbolo ad ogni riquadro non è male: colori pastello per il video e simboli per il cartaceo.
Ciao
::lorenzo.pantieri” post=97070Come vedete, le sottodidascalie non sono perfettamente allineate: “Alcuni valori” è più in basso di “Grafico”. La differenza è evidente, si nota anche a occhio nudo, senza ingrandire il PDF. Soluzioni?
Usare TikZ per allineare la figura e la tabella, mettendo quest’ultima in un nodo di TikZ.
`\documentclass{article}
\usepackage{tikz,pgfplots,booktabs,subfig}
\begin{document}\begin{figure}
\centering
\subfloat[][Grafico.]{
\begin{tikzpicture} [baseline=-6mm, font=\small]
\begin{axis} [width=0.7\textwidth,
anchor=origin,
axis lines=middle,
xmin=-5,xmax=5,ymin=0,ymax=16,
enlargelimits,
xtick={-4,…,4},
ytick={0,…,16},
xlabel=$x$,
ylabel=$y$]
\addplot [domain=-4:4, samples=500,smooth,very thick,blue] {2^x};
\addplot [only marks, samples at={-4,-3,-2,-1,0,1,2,3,4}, blue] {2^x};
\end{axis}
\end{tikzpicture}
}
\quad
\subfloat[][Alcuni valori.]{
\begin{tikzpicture} [baseline=-6mm]
\node [above, inner sep=0pt, outer sep=-0.04em] {
\begin{tabular}{rl}
\toprule
$x$ & $y=2^x$ \\
\midrule
$-4$ & $2^{-4} = 1/16$ \\
$-3$ & $2^{-3} = 1/8$ \\
$-2$ & $2^{-2} = 1/4$ \\
$-1$ & $2^{-1}= 1/2$ \\
$0$ & $2^{0} = 1$ \\
$1$ & $2^1 = 2$ \\
$2$ & $2^2 = 4$ \\
$3$ & $2^3 = 8$ \\
$4$ & $2^4 = 16$ \\
\bottomrule
\end{tabular}
};
\end{tikzpicture}
}
\caption{La funzione $y=2^x$.}
\label{fig:esponenzialecrescente}
\end{figure}\end{document}`
Spiegazione:
1) [tt]baseline=-6mm[/tt] dice che in entrambi i disegni la linea che si trova 6 mm sotto l’origine del disegno corrisponde alla linea di base del testo. Il valore di 6 mm è scelto arbitrariamente (sicuramente si può calcolare automaticamente)
2) [tt]anchor=origin[/tt] dice che l’origine del grafico corrisponde anche all’origine del disegno. Mi serve per allineare l’asse x con la linea inferiore della tabella
3) [tt]above, inner sep=0pt, outer sep=-0.04em[/tt] dicono che l’origine del disegno si trova sulla linea inferiore della tabella. In particolare il valore 0.04em tiene conto del fatto che la linea della tabella è spessa 0.08em per default e in questo modo l’origine viene a trovarsi a metà spessore della linea.Riepilogando, abbiamo detto che l’asse x deve corrispondere alla linea inferiore della tabella e che la linea di base del testo deve trovarsi 6 mm più in basso.
Sicuramente c’è un modo di farlo senza usare TikZ.
Ciao
::Bonalumi” post=97060Oppure posso usare qualche altra soluzione?
Cerca [tt]mark repeat[/tt] e [tt]mark phase[/tt] nella documentazione. Ti consiglio di dare un’occhiata all’argomento [tt]cycle lists[/tt] anche se non è indispensabile (nota che è definita una lista [tt]black white[/tt]) e conseguentemente alla differenza tra [tt]\addplot[/tt] e [tt]\addplot+[/tt].
Ciao
::Bonalumi” post=97028Riguardo all’immagine che ho postato, non è completa. Manca infatti la relativa colorbar. Non so se ho capito bene, ma sembra, da quel che hai scritto, che sia possibile creare una colorbar partendo da un’immgaine importata. E’ così? Perchè altrimenti, insieme al campo di velocità che si vede nell’immagine potrei importare la relativa colorbar, includendola nell’immagine stessa. A questo punto però avrei una scala della colorbar con caratteri differenti rispetto a quelli di LaTex, che è quello che vorrei evitare.
Premessa: non ho mai importato un’immagine in pgfplots.
Mi riferivo al grafico realizzato direttamente da pgfplots. In questo caso realizzare la barra dei colori è un gioco da ragazzi.
Se invece importi l’immagine, quello che puoi fare è indicare quale modello dei colori hai usato e i valori associati al minimo e massimo del parametro. Sappi però che i modelli disponibili in pgfplots sono simili ma non identici a quelli di Matlab/Octave, perché definiti con un numero inferiore di step (e manca il recentissimo modello parula che ora è il default in Matlab). Può essere (ed è molto probabile) che la differenza con l’originale non si veda, ma può essere anche che la corrispondenza tra colori intermedi e valori numerici non sia la stessa e si veda. In altre parole, quello che realizzi è un falso, probabilmente plausibile.
Puoi definirti una barra dei colori personalizzata riproducendo fedelmente l’originale (devi inserire tutti i valori della matrice dei colori), ma credo sia un lavoraccio.
Se salvi grafico e mappa insieme, come suggerisci, non puoi incollare il grafico nel sistema di riferimento di pgfplots, perché anche la mappa ci finirebbe dentro (a meno che non abbia fatto così in partenza).
Puoi salvare una colormap senza etichette e poi aggiungerla al grafico con TikZ, ricreando le etichette con i caratteri del corpo del testo.Il mio consiglio, se importi l’immagine, è di provare a vedere il risultato con il modello dei colori corrispondente di pgfplots, sperando che la differenza sia trascurabile ad occhio.
Ciao
::
Opinione personale: la prima versione, quella classica, mi sembra troppo seria. Ricordo che quando andavo alle superiori vedere un libro in bianco e nero (quasi tutti) mi metteva una tristezza, mentre un libro a colori (anche solo due tonalità) già mi sembrava più vivace. Il colore risveglia lo studente.
I riquadri colorati possono piacere oppure no. Io li ho usati recentemente per quel corso intensivo di Fisica del quale ti ho accennato e non ne sono pentito, ma avevo un solo tipo di riquadro colorato. Il problema semmai è contenere il numero dei colori (cioè selezionare a cosa dare risalto) e scegliere bene i colori.
Dal punto di vista didattico — e qui tu ne sai molto più di me — ho notato che fior fior di autori, anche a livello universitario, stanno adottando il metodo dei box colorati. Rimanendo in ambito di Fisica, ti posso citare il Serway o il Cutnell che ho sotto mano, che non saranno il massimo del rigore e della completezza, ma vengono consigliati per la semplicità e in questo anche la grafica fa la sua parte. In questi libri i box vengono utilizzati per mettere in risalto un concetto, per un esercizio svolto, ma il colore è dappertutto: nei titoli, nei margini, nelle figure, nelle tabelle… Non è elegante ma rende la materia più accessibile perché ti sembra di leggere un settimanale.
Perciò il mio consiglio è di non rinunciare completamente al colore e nemmeno ai riquadri, ma di limitarne l’uso: un libro fatto da una successione di riquadri colorati perde significato e forse era proprio questo che a Tommaso non piaceva.Ciao
::Bonalumi” post=97016Hai ragione mi sono espresso un pò male nella fretta. matlab2tikz effettivamente non l’ho ancora utilizzato, ma pensavo di utilizzarlo per grafici più complessi come ad esempio quello di cui parlavo in precedenza.
Non vorrei spaventarti, ma credo che qui matlab2tikz non vada bene. Hai fatto una prova rapida solo per vedere cosa ti dà?
Bonalumi” post=97016La mole di dati è piuttosto elevata e sto avendo problemi anche con Octave per lo stesso motivo. Eventualmente come potrei risolvere?
Ma a te l’interpolazione serve per i dati o per i colori? Perché nel secondo caso devi solo usare [tt]shading interp[/tt] (ammesso che non l’abbia già fatto). Dici che i valori sono comunque troppo pochi per nascondere la tassellatura?
Bonalumi” post=97016Vorrei evitare di importare un’immagine (eps o altri formati) ti quella che ho allegato (e che ora provvederò a rendere leggibile) per questioni legate alla qualità della stessa, ma soprattutto per questioni legate all’uniformità della tesi dal punto di vista estetico. Importandola infatti penso che avrei risultati differenti rispetto agli altri grafici generati con LaTex.
Puoi importare l’immagine in pgfplots e far disegnare al pacchetto solo gli assi, le annotazioni, la legenda e la barra dei colori. Vedi il par. 4.3.7 della documentazione.
Altrimenti, se vuoi costruire la mappa direttamente in pgfplots, vedi il par. 4.6.12.Bonalumi” post=97016Vorrei che questo grafico avesse anche una colorbar (questo è il nome usato in matlab) a fianco, una specie di legenda della mappa di colori.
Non dovrebbe essere un problema. Cerca il par. 4.9.12 nella documentazione di pgfplots.
Ciao
::Bonalumi” post=97012Quel che faccio attualmente è partire da file che contengo, tra i vari, i dati che mi interessano, elaborarli con Octave al fine di ottenere file .csv con solo i dati necessari a produrre un grafico. Poi, partendo da alcuni file utilizzati da un collega (il Frigeri di cui si è parlato sopra) ho provato semplicemente a incollare i miei dati all’interno di un suo grafico, modificando lo stretto necessario.
Non ci ho capito molto. Se ho capito bene, tu incolli direttamente i numeri nel sorgente LaTeX che genera il grafico. Invece pgfplots è in grado di leggere direttamente i valori da un file esterno, csv o perfino txt tramite l’istruzione [tt]\addplot table[/tt]. Questo metodo lo trovo più rapido e migliore dal punto di vista della leggibilità del codice. A questo punto mi chiedo dove usi matlab2tikz.
Bonalumi” post=97012Il file da cui parto è composto da 3 colonne, una per le X, una per le Y e una per il parametro d’interesse (in questo caso la velocità), per un totale di circa 22000 righe. Per produrre un grafico del genere è necessario effettuare un’interpolazione di questi dati, poichè altrimenti non viene sufficientemente definito. E’ qualcosa di fattibile direttamente con pgfplots? Oppure è meglio che lo realizzi con Octave e poi lo passi a LaTex tramite matlab2tikz? Oppure ancora che faccia l’interpolazione con Octave, salvi i dati e passi questi a pgfplots?
L’immagine non si vede ma penso di aver capito. L’interpolazione va fatta con un software di calcolo, non con pgfplots. Potresti salvare i dati e passarli a pgfplots. Rischi di avere problemi di memoria, vista la mole di dati da trattare, ma si possono risolvere (vedi sul forum o sul manuale di pgfplots se hai un errore di memoria). Andrebbe fatta una prova per vedere se ne vale la pena e quali problemi si incontrano. In questo caso matlab2tikz aiuta fino a un certo punto, ammesso che ce la faccia.
::Bonalumi” post=96993A tal proposito, trattandosi di grafici da produrre con Octave, esportare mediante matlab2tikz e importare infine in LaTex, sarebbe fuori luogo chiedere aiuto su questo forum in merito alla compilazione del codice Octave?
Se il diagramma non è troppo complicato, il mio consiglio è di esportare i dati che lo generano in un file di testo per darli in pasto a pgfplots.
Bonalumi” post=96993Ora il grafico è riprodotto correttamente ad eccezione di un paio di cose:
Aggiungi [tt]yticklabel style={/pgf/number format/fixed},[/tt] alle opzioni di [tt]axis[/tt].
Ti serve [tt]amsmath[/tt] per usare il comando [tt]\text[/tt] (che mi sembra inutile lì). L’errore di [tt]axis[/tt] dipende da quello.Ciao
::illinguista1972″ post=96939La prima è l’etichetta Definizione 1.3: mi costringe a leggere tutto ogni volta. Se all’inizio dichiari che in rosso metti le definizioni, allora puoi levare l’etichetta.
Anche questo è vero. Se non richiami nel seguito le definizioni tramite il numero, quell’etichetta spaventa soltanto lo studente. Ho letto molti libri che fanno come suggerisce Tommaso: nella prefazione spiegano le convenzioni adottate.
::lorenzo.pantieri” post=96922Quello che voglio fare è chiaro. Disegnare per punti una funzione logaritmica.
`
\begin{tikzpicture}
\begin{axis} [width=13cm,
axis lines=middle,
xmin=0,xmax=16,ymin=-5,ymax=5,
enlargelimits,
xtick={1,…,16},
ytick={-5,…,5},
xlabel=$x$,
ylabel=$y$]
\addplot [domain=0:16, samples=500,smooth,very thick,blue] {ln(x)/ln(2)};
\addplot [only marks, samples at={1,2,4,8,16}, blue] {ln(x)/ln(2)};
\end{axis}
\end{tikzpicture}`
Occhio che c’era una parentesi troppo dopo il [tt]ln(2)[/tt]. Nota come ho ridefinito le tacche degli assi con la notazione ellittica. Perché avevi definito manualmente le etichette? A me risulta che quelle automatiche siano già in modo matematico.Ciao
::lorenzo.pantieri” post=96912Consigli tipografici?
Mi piace la versione con la traccia dell’esempio nei riquadri. Sono d’accordo che la scelta dei colori andrebbe curata un po’ di più. Io sceglierei colori più tenui, come quelli che usa @cfiandra in uno dei suoi pacchetti (ora non ricordo quale).
Non mi convince l’ombra dei riquadri: mi sembra troppo staccata considerato che non è sfumata. Si potrebbe sfumare in trasparenza, come nell’articolo su TikZ, ma non te lo consiglio perché la stampa su stampanti PostScript non recenti delle immagini con trasparenza non funziona. Quindi il mio consiglio è di avvicinarla ai riquadri.
La freccia che usi per le rette orientate non risponde alle norme ISO. So che non te ne frega niente (e non posso darti torto), ma in ogni caso a me piace di più una freccia tipo [tt]-Latex[/tt] (sempre fuori norma).
Le etichette per i punti sulle rette orientate mi sembrano troppo vicine agli assi.
Non mi piace l’uso massiccio del simbolo qed che userei solo per le dimostrazioni.
Non mi piace l’uso della punteggiatura nelle espressioni matematiche. Lo trovo fuorviante…
Qualcosa non mi convince negli occhi sul riquadro “osservazione”: o sono troppo distanti oppure le pupille si vedono troppo poco. L’effetto non è immediato.
Non so se hai notato che, con tutti quei riquadri colorati, i titoli dei paragrafi non risaltano più.
Ciao
::lorenzo.pantieri” post=96730
Via via che scriverò il lavoro ne metterò a punto anche l’aspetto tipografico.
Il mio consiglio è di decidere uno stile uniforme per i disegni e applicarlo subito, altrimenti sarai costretto a fare due volte il lavoro.
Altro consiglio: se decidi di usare la libreria external per ridurre i tempi di compilazione, attivala subito perché se lo farai dopo aver accumulato già un bel po’ di disegni, alla prima compilazione ci metterà un sacco di tempo.
Ciao
::lorenzo.pantieri” post=96613
Qui il documento “normale”:
http://www.lorenzopantieri.net/Matematica_files/Prova2.pdfQui il documento con gli effetti speciali e i colori ultravivaci di tcolorbox.
http://www.lorenzopantieri.net/Matematica_files/Prova1.pdfChe dite?
A me piace di più la prima versione (cioè “Prova2”), ma perché “Esempio 1.1” non lo scrivi nell’intestazione del riquadro come hai fatto per la definizione?
La griglia sotto i sistemi di riferimento la farei grigio chiaro (vedi “help lines” sul manuale di TikZ). Altro consiglio: usa spessori (o colori) differenti per far risaltare il grafico rispetto al sistema di riferimento.Ciao
-
AutoreRisposte