Newsgroup: it.comp.software.tex
Titolo: Dove imparo il MetaPost?

Ho seri problemi a imparare anche le cose più semplici, girano
pochissimi tutorial su Internet (o equivalentemente non so dove
cercarli)....
Ho provato a scrivere una cosa strasemplice, ma niente, non riesco a
compilarla... ecco di cosa si tratta
beginfig(1)
pair p[0];
p[0] :=(1,0);
draw p[0];
drawarrow (0,0) --(1,0);
for i:=1 upto 20;
p[i] = p[i-1] shifted 18;
draw p[i];
endfor;
endfig;
(tutto il ciclo for è solo un esperimento: volevo "trovare" dei punti
nel piano cui poi unire un punto centrale nell'origine per fare una
stella a più punte, provo a toglierlo ma non funzia lo stesso... non
so che fare)

 scrive:

pair p[]; % così si inizializza un array di tipo pair
p[0] :=(1,0);
draw p[0];
drawarrow (0,0) --(1,0); % un po' piccina la freccia, no?
for i:=1 upto 20: % l'inizio di for deve essere seguito da ":"
p[i] = p[i-1] shifted 18;
draw p[i];
endfor;
L'errore più grave è con "shifted 18": non ha senso spostare un vettore
di una "distanza"; dopo shifted ci va un vettore.
Forse volevi usare rotated:
pair p[];
p[0] :=(1cm,0);
draw p[0];
drawarrow (0,0) --(1cm,0);
for i:=1 upto 20:
p[i] = p[i-1] rotated 18;
draw (0,0)--p[i];
endfor;
Tieni anche conto che (1,0) rappresenta un vettore di lunghezza 1 bp 
(ci sono 72 bp in un pollice, quindi è circa 0.35 millimetri). Tutti
le lunghezze in Metapost sono espresse in bp, se non indichi un'altra
unità di misura.
Il manuale di Metapost è molto ben fatto.
Ciao
Enrico

Si, avevo corretto dopo lo shifted in un rotated, avevo postato la
versione messa peggio. Come dichiaro le unità di misura? setlength,
qualcosa di simile?
dove trovo la documentazione che dici? ho dovuto penare un sacco per
trovare un tutorial in francese, di 15 pagine, scritto malissimo
(pieno di errori)... quindi sarebbe per me molto bello trovarne un
altro... la CTAN se scrivo metapost mi inonda di files che c'entrano
ma sono troppo settoriali, dove trovo una guida che prenda le cose
alla larga e spieghi tutto per bene anche a un negato in
programmazione come me?
Grazie mille dell'aiuto
(il tuo codice non funziona comunque... forse il problema è piu a
monte... cosa dovrei avere installato? Si chiamano file .sty anche con
MP?)



 MP?)
Come, non funziona? Certo che funziona; ovviamente ci mancano 
beginfig e endfig, con un end in fondo.
Le dimensioni vanno date esplicitamente, oppure puoi esprimerle in 
funzione di una unità u:
%%% inizio del file 
prova.mp
beginfig(1);
u=1cm;
draw (0,0)--(u,2u);
endfig;
end
%%% fine
Ciao
Enrico

Ok, ora ce l'ho fatta.. grazie ancora. Potresti darmi l'indirizzo di
unag uida a MetaPost fatta bene?

 27-10-2007 19:41:32: STOP
Magari dovrai scrivere beginfig(1);
Che dici?
<
http://www.ctan.org/tex-archive/systems/msdos/metapost/doc#jhfc56df4210
37c15987d9a8e98d91953d>
Qui trovi la versione PostScript del manuale.
Ciao
Enrico

 scrive:

Lo scrivevo! Giuro! Il problema era che non mettev"end" dopo endfig.
Non chiedermi perchè. :) Grazie ancora

 cercarli)....
 
http://www.tug.org/metapost.html
ci sono i link ai manuali e ai tutorial, e un sacco d'altro.
ma se devi fare dei grafici in un documento LaTeX, guarda anche Tikz
-- 
sapete contare fino a venticinque?
Olimpia Milano Jugoplastika Split Partizan Beograd
Roberto Premier Duska Ivanovic Zarko Paspalj

Grazie mille! In ogni caso per i grafici mia rrangio con Gnuplot, set
terminal latex e via. Ora ho risolto il vecchio problema, ma me ne
sorge un altro. Tanto vale che vi spieghi cosa devo fare: vorrei
disegnare le linee di campo elettrico (frece) e le superfici
equipotenziali (curve tratteggiate) nel caso di una o due cariche
elettriche puntiformi. Il disegno di ieri rappresentava la carica
isolata, linee di campo radiali e superfici equipotenziali sferiche.
Facile.
Ora viene il peggio perchè in presenza di 2 cariche le linee hanno una
struttura che è molto difficile "parametrizzare"... come fare a
disegnare cose come queste?
http://www.glenbrook.k12.il.us/GBSSCI/PHYS/Class/estatics/u8l4c13.gif
http://www.berkeleyscience.com/images/forcefields.gif

 
Non vorrei sembrare tedioso perche' e' un consiglio che ho gia' dato. Ho
usato per qualche anno metapost ma la mia attuale e convinta opinione e'
che se uno deve iniziare e' MOLTO meglio che si orienti su Asymptote:
stessa filosofia (asymptote e' dichiaratamente ispirato da metapost),
stessa compatibilita' con tex/latex per inserimento nelle figure di
formule ecc. ma per il resto molto piu' potente. Non ho mai avuto
rimpianti da quanto sono passato da MP ad Asymptote.
Vedere su:
http://asymptote.sourceforge.net/
per il programma, documentazione ecc.
e anche su:
http://piprim.tuxfamily.org/asymptote/
per altri esempi.

 che se uno deve iniziare e' MOLTO meglio che si orienti su Asymptote:
Non è affatto un cattivo consiglio, non sei l'unico a consigliarlo,
anzi! Il fatto è che quando si tratta di queste cose conta molto il
giudizio "a pelle" che si da ai programmi. Ho consigliato a molte
persone di utilizzare il TeX per scrivere le loro cose importanti,
invece di uscire pazzi con gli editor WYSIWYG tipo word (ricordo un
commento di sapore matrixiano di un mio professore, "ragazzi, il punto
doc NON ESISTE!"), ma non tutti hanno accettato il mio consiglio. Io
smanetto con questi programmi alla fine solo perchè mi piace la
bellezza e la professionalità del risultato, preparandomi per il
giorno in cui ne avrò un reale bisogno ... questo per dire, mi sono
stati consigliati almeno tre programmi, MetaPost, PSTricks e
Asymptote, e tutti hanno giustificato il loro consiglio con "secondo
me provato questo non torni più indietro"... Il deterrente maggiore
nell'impararli è che ci vuole un po' di dedizione, e purtroppo spesso
il tempo libero scarseggia.
PSTricks è buono, con un buon tutorial sono riuscito a disegnare la
pallina con le frecce attorno di cui prima, in SOLO un pomeriggio, e
per un novizio non è male! :)
MP è piu arduo, devi già sapere bene quello che vuoi e non permette di
scoprire le cose per prove ed errori.
Asymptote mi ero messo a leggere la documentazione tempo fa, ma mis
embra troppo simile al C++, linguaggio con cui ho cattivi rapporti da
tempo... Questo non per dire che non lo valuto nemmeno, solo per ora
ho qualche resistenza...
Ciò detto, il mio problema rimane.... come posso fare a disegnare,
conl programma che volete, quello che ho in mente?
Grazie ancora a chi interverrà

 
Per essere piu' preciso: non credo esista un programma adatto per *ogni*
genere di illustrazioni (tecnico, scientifico, artistico,
creativo-pubblicitario). Per esempio, per certe cose e' necessario usare
roba tipo adobe illustrator o simili che pero' ti danno poi altri
problemi. Cmq volevo dire che ho avuto *anni* di esperienza con MetaPost
 con il quale ho fatto anche i disegni per un libro e altro. Poi ho
scoperto Asymptote e ora faccio fatica a vedere perche' qualcuno che
inizia dovrebbe imparare Metapost piuttosto che Asymptote. Secondo me
non ci sono vantaggi. Altro discorso e' dire se con Asymptote si possano
fare bene tutti i disegni. Dipende, ovviamente, dal tipo di disegno ma
non credo che si possa ottenere con MetaPost quello che non si riesce a
fare con Asymptote. Questo lo so per esperienza personale: ora ho fatto
altri disegni con Asymptote (piu' di 120) per un altro libro e so bene
quale sia la differenza di potenza e facilita' d'uso fra MP e Asymptote.
Invece conosco PStricks ma non ho mai avuto esperienze dirette con
questo tool, anche se non mi convince troppo.
Pero' e' certamente vero che bisogna fare un investimento di tempo ed
energie per imparare ma se vuoi una cosa veramente ben fatta questo e'
un problema che hai con ogni tool.
Ho visto i disegni sul campo elettrico ai quali ti riferisci. E' vero
che non puoi parametrizzare le curve ma penso che tu possa descriverle
come curve di livello del potenziale. Cmq hai due possibilita': o te le
inventi e le disegni come curve passanti per punti assegnati e allora le
puoi disegnare con tanti strumenti (sicuramente sia MP che Asymptote,
per esempio), oppure le vuoi proprio calcolare e allora la cosa e' piu'
laboriosa. Cmq Asymptote puo' disegnare curve di livello, MP non
ricordo. Certo c'e' un po' da lavorare.
Se mi viene un'idea piu' precisa mi faccio vivo di nuovo.
M.

 > MP è piu arduo, devi già sapere bene quello che vuoi e non permette di

Sai qual è una cosa buona di PSTricks? Usa le liste per definire un
oggetto grafico, come Mathematica... per quello pensavo di farli
lavorare in coppia: a Matheamtica faccio calcolare le curve di livello
del potenziale (che anche lì, come fare? si tratta di un semplice
campo vettoriale newtoniano, però come fare per esprimerlo come curva
di livello? immergerlo in uno spazio a una dimensione in più?) e poi
con PSTricks o qualcosa di equivalente a cui posso dire "interpola i
punti che ora ti scriverò" disegnare le curve. Non dovrebbe venir male
ma non so da dove iniziare... calcolare le curve di livello di una
funzione data non è difficle, ma altro discorso è il procedimento
inverso, trovare la funzione che ha determinate curve di livello!!

 punti che ora ti scriverň" disegnare le curve. 
Sono sicuro che anche con Asymptote puoi disegnare curve passanti per
punti dati da un file esterno prodotto da un SW di calcolo. Cmq la mia
esperienza di disegno e' diversa. Nonostante i miei 120 e piu' disegni
fatti con asymptote (anche 3d) non ho mai provato a fare una cosa del
genere, che pero' non dovrebbe essere inusuale nel campo della
letteratura scientifica. In effetti e' un problema (non solo di puro
disegno) interessante. Provero' cmq a pensarci.
Ciao.

 Ciao.
Primo problema. Non trovo il file asymptote.sty e quindi non posso
compilare i documenti che hanno quei disegni... cosa faccio?

 compilare i documenti che hanno quei disegni... cosa faccio?
Non capisco: quali documenti? Cmq il file asymptote.sty dovrebbe essere
nella directory Program Files/Asympote o equivalente e poi deve essere
copiato in una directory dove il tex/latex la veda ecc. Sono sicuro che
sia cosi'.
Ciao.

 
tetrapharma...@gmail.com
 ha scritto:

Si, l'ho trovato... Ecco il suo percorso (forse l'ho messo in una
cartella sbagliata?)
C:\Programmi\MiKTeX 2.5\tex\latex\asymptote.sty
Ed ecco il messaggio di errore di LED:
! LaTeX Error: File `asymptote.sty' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)
che si presenta al mio file
\begin{asy}
\draw((0,0)--(100,100))
\end{asy}

 
il comando draw in asymptote poi non e' \draw ma solo draw.
dovresti preparare un file dal nome test.asy
con le sole righe
/////////////
currentpicture=new picture;
currentpen=linewidth(.5);
draw((0,0)--(100,100));
shipout("mypicture");
//////////////
e lanciare su di questo
C:\Programmi\Asymptote\asy.exe -f eps -noV mypath\test
(mypath ovviamente e' il path del file) Tutto cio' ovviamente puo'
essere automatizzato con un batch opportuno...
Cosi' dovresti ottenere un file mypicture.eps da includere poi nel tuo
documento tex/latex. Questo secondo me e' un vantaggio di asymptote:
lavora come programma separato da tex e usa tex/latex solo per le
formule e il testo matematico.
Invece con
C:\Programmi\Asymptote\asy.exe -f pdf -noV mypath\test
avresti un mypicture.pdf
Bisogna anche vedere se tutto e' a posto nel file di configurazione di
asymptote...
In ogni caso anche se vuoi lavorare all'interno di un file .tex i
comandi fra
\begin{asy}
e
\end{asy}
devono essere codice asymptote puro e corretto.
Poi in questo caso devi fare: un giro di latex, un giro di asymptote
(con l'opzione -f eps), un giro di latex e poi dvips ecc. (ma questa non
e' la strada che consiglio in generale).
Cmq e' meglio leggere la documentazione piu' in dettaglio.
Ciao.

 
Qui volevo dire asy.exe che e' il compilatore asymptote...
Ciao.

Dimenticavo. Non ci saro' per qualche giorno. Torno lunedi'.
Saludos.

 Saludos.
Sul sito di asymptote vedrai che c'e' un forum dedicato al programma. Di
solito sono collaborativi, una volta che tu abbia un sistema up and
running che ora e' il tuo problema principale. Io ho risolto parecchi
problemi dialogando li' sopra.