- Questo topic ha 17 risposte, 10 partecipanti ed è stato aggiornato l'ultima volta 15 anni, 12 mesi fa da
drudox84.
-
CreatoreTopic
-
18 Dicembre 2005 alle 11:30 #7471::
Ho appena scoperto l’esistenza di una routine matlab che trasforma tutte le figure create in matlab in eps con codice Latex associato: in pratica tutte le scritte contenute nella figura (titolo, ascisse, ordinate, legenda…) sono trasformate in codice latex, la routine genera un .tex che importa la figura mentre le scritte vengono posizionate con psfrag. Se ho ben capito (non l’ho ancora utilizzata) questo permette di riutilizzare le stesse figure senza preoccuparsi del fatto che magari nella tesi hanno un font e nella presentazione un altro perché i font verranno cambiati automaticamente.
La routine si chiama “laprint.m” ed è disponibile qui:
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=4638&objectType=file
Sapete se è possibile utilizzare questi file direttamente con pdflatex con qualcosa del tipo pdftricks?
-
CreatoreTopic
-
AutoreRisposte
-
-
18 Dicembre 2005 alle 13:58 #7472
-
31 Gennaio 2006 alle 13:55 #7473::
Ciao ho provato la routine laprint e la trovo molto utile e interessante, grazie minnolina per il suggerimento 🙂..anche se non riesco ad usarla acora molto bene!! 😥
ad esempio non riesco a visualizzare correttamente i label dei grafici.spero che qlc di più esperto riesca a dare qualche “dritta” utile sull’uso di questa routine
ciao a tutti
-
13 Aprile 2010 alle 9:47 #7474::
Ho appena scoperto l’esistenza di una routine matlab che trasforma tutte le figure create in matlab in eps con codice Latex associato: in pratica tutte le scritte contenute nella figura (titolo, ascisse, ordinate, legenda…) sono trasformate in codice latex, la routine genera un .tex che importa la figura mentre le scritte vengono posizionate con psfrag. Se ho ben capito (non l’ho ancora utilizzata) questo permette di riutilizzare le stesse figure senza preoccuparsi del fatto che magari nella tesi hanno un font e nella presentazione un altro perché i font verranno cambiati automaticamente.
La routine si chiama “laprint.m” ed è disponibile qui:
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=4638&objectType=file
Sapete se è possibile utilizzare questi file direttamente con pdflatex con qualcosa del tipo pdftricks?Innanzitutto ringrazio moltissimo minnolina per la segnalazione (vecchia ma utilissima). Grazie a te mi sono impegnato per ricercare qualcosa che funzionasse più comodamente di laprint. Infatti questo fornisce un grafico .eps modificato con psfrag. Questo comporta il dover utilizzare la compilazione in PS altrimenti il grafico non è visualizzato correttamente. Dopo molto cercare con mio stupore ho trovato nella stessa pagina che segnali un collegamento ad una routine molto più comoda che può risolvere tutti i problemi connessi con laprint.m. Questa è PlotPdfTex (http://www.mathworks.com/matlabcentral/fileexchange/20847)! Essa utilizza lo stesso laprint.m per creare il .eps e modificarlo con psfrag, però automaticamente converte il grafico in .pdf, scontornato e pronto per essere utilizzato con pdfLaTeX 😀
La cosa è semplicissima! Bisogna avere PlotPdfTex.m e laprint.m nella stessa cartella;poi o si ha la figura salvata sempre nella stessa cartella oppure la figura è attiva in matlab. Si può chiamare la funzione plotpdftex specificando uno o più opzioni in questo modo: plotpdftex(H,’nomefile’, [fontscaling linescaling], ‘pacchetti’). Dove
H = numero della figura di interesse;
nomefile = nome con cui verrà salvata la figura. Non è necessaria l’estensione (gli apici si, mi sono ammazzato per capirlo visto che non sono specificati nell’mfile)
[fontscaling linescaling] = scalano rispettivamente grandezza del font e dello spessore delle linee rispetto al grafico ([1 1]=nessuno scaling)
pacchetti = PACCHETTI DA UTILIZZARE!!!!!!! bisogna scriverli separandoli con una virgola (esempio = ‘amssymb, times’).Sottolineerei proprio quest’ultima opzione! Infatti in questo modo è possibile cambiare, ad es., il font del testo e dei numeri sul grafico velocemente, cosa che non sono riscito a fare con il solo laprint.m (ho provato con mathpazo e funziona alla perfezione)! Utilizzatelo se potete e fatemi sapere cosa ne pensate in modo da trovare eventuali bug e mancanze!
Fra
-
13 Aprile 2010 alle 10:15 #7475
-
23 Aprile 2010 alle 7:01 #7476::
Lo script matlab2tikz purtroppo ha qualche limite che voglio segnalare:– se nel grafico vengono inserite label oltre alla legenda queste non vengono convertite in tikz;
– la conversione di grafici 3D non avviene.
Premetto che lo uso da pochi giorni quindi non ho ancora un’ ottima dimestichezza.
-
23 Aprile 2010 alle 10:27 #7477::
Lo script matlab2tikz purtroppo ha qualche limite che voglio segnalare:
– se nel grafico vengono inserite label oltre alla legenda queste non vengono convertite in tikz;
– la conversione di grafici 3D non avviene.
Premetto che lo uso da pochi giorni quindi non ho ancora un’ ottima dimestichezza.`% ========================================================================
% *** FUNCTION matlab2tikz
% ***
% *** Convert figures to TikZ (using pgfplots) for inclusion in LaTeX
% *** documents.
% ***
% *** Workflow:
% *** 0.) Place this file in one of the MATLAB paths
% ** (for example the current directory).
% *** 1.) Create your 2D plot in MATLAB.
% *** 2.) Invoke matlab2tikz by
% ***
% *** >> matlab2tikz( 'test.tikz' );
% ***
% ***
% *** ——-
% *** Note:
% *** ——-
% *** This program is a rewrite on Paul Wagenaars' Matfig2PGF which
% *** itself uses pure PGF as output format, see
% ***
% *** http://www.mathworks.com/matlabcentral/fileexchange/12962
% ***
% *** In an attempt to simplify and extend things, the idea for
% *** matlab2tikz has emerged. The goal is to provide the user with a
% *** clean interface between the very handy figure creation in MATLAB
% *** and the powerful means that TikZ with pgfplots has to offer.
% ***
% ***
% *** TODO: * tex(t) annotations
% *** * 3D plots
% ***
% =========================================================================`
Per grafici 3D (superfici) cerca surf2latex
-
26 Aprile 2010 alle 17:44 #7478
-
17 Agosto 2010 alle 14:57 #7479::
buonasera a tutti
riapro la discussione per porvi un quesito su plotpdfTeX , il mio problema riguarda il fatto che non riesco a usare il programma per stampare + file e con diversi nomi , non ho idea di quale sia la logica per impostare uno script che mi consenta di stampare molti file all interno della catella … qualche suggerimento?
-
17 Agosto 2010 alle 15:39 #7480::
buonasera a tutti
riapro la discussione per porvi un quesito su plotpdfTeX , il mio problema riguarda il fatto che non riesco a usare il programma per stampare + file e con diversi nomi , non ho idea di quale sia la logica per impostare uno script che mi consenta di stampare molti file all interno della catella … qualche suggerimento?Devi scrivere uno script Matlab.
Se cerchi su Google “introduzione a matlab” troverai parecchie guide che trattano gli argomenti i base di questo software.😉
LuCa
-
17 Agosto 2010 alle 16:03 #7481
-
17 Agosto 2010 alle 16:22 #7482::
Se le immagini hanno dei nomi “prevedibili” è semplice; supponendo che i file si chiamino “nomefile_001.ext”, “nomefile_002.ext” eccetera, puoi impostare uno script sul modello seguente
`for iii=1:100
dataname = strcat('nomefile_',num2str(iii,'%.3u'),'.ext');load(dataname);
% …
% resto dello script
% …end`
Il primo comando all’interno del ciclo assegna alla stringa “dataname” il nome del file corrente, e può essere usata ovunque nel resto dello script.😉
LuCa
-
17 Agosto 2010 alle 16:51 #7483
-
21 Agosto 2010 alle 10:31 #7484::
Buongiorno a tutti!
Sono nuovo nel forum e da poco tempo ho imparato a fare qualcosa con LateX.
Avrei bisogno di un aiuto con pdflatex. Non riesco a creare i grafici in pdf perchè Matlab mi da sempre lo stesso errore:??? Error using ==> plotpdftex at 184
Error 1 — PS2EPSI:
eps2eps: No alternate file name found.
eps2eps: Data: C:\Program FilesNon so se magari era il caso di rivolgermi a qualche forum più specifico su Matlab, ma visto che ho conosciuto qui pdflatex, ho pensato di parlarne in questa discussione.
Grazie in anticipo!!!
-
21 Agosto 2010 alle 11:17 #7485::
Ciao deimos84,quello che posso consigliarti io è di usare il pacchetto pgfplots. La documentazione è piuttosto ampia e corredata da molteplici esempi. Inoltre poi fare riferimenti alla function Matlab matlab2pgfplots. Io per fare i grafici in LaTeX (2D, per i 3D cerca in rete la function surf2latex, di cui però non c’è documentazione per quanto ne so io) uso questa function e poi completo ciò che non fa. Comunque secondo me è di grande aiuto, almeno per impostare il grafico. La resa grafica di pgfplots, poi, è molto elevata.
Ciao,
Marco.
-
10 Settembre 2010 alle 19:21 #7486
-
11 Settembre 2010 alle 11:24 #7487::
Ciao drudox84,ma sbaglio o questo script funziona solo in sistemi linux (non vorrei aver detto una fesseria … chiedi lumi a chi più esperto di me)
No, funziona anche su Windows. Lo script (forse è una function, ma cambia poco) matlab2pgfplots è uno scritp di Matlab. Matlab è presente per Windows, Mac (Leopard), Ubuntu, Fedora e credo proprio anche per altre distro linux. Ovviamente devi disporre della versione di Matlab installabile sul tuo sistema operativo.
Ciao,
Marco.P.S. Io ho provato a installare Matlab R2010a su Ubuntu 10.04 con pochi risultati. Al momento dell’installazione non venivano installati alcuni pacchetti. Poiché non mi piace per niente disporre di una versione “ridotta” di un programma, ho proseguito nell’uso di Matlab su Windows.
-
16 Settembre 2010 alle 9:23 #7488::
cmq vorrei segnalare dei problemi che ho riscontrato con pgfplot .. ma credo nascano da laprint .. non so ome intervenire .. mi potreste dare una mano??il problema è il seguente :
spesso la legenda del grafico viene “tagliata” o meglio il contorno è di dimensioni inferiori rispetto al testo della legenda ; non viene inserito il moltiplicatore (es. 10^5 ) dell’ asse y (è posizionato in alto sopra il riquadro …
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.