Figura che non si riesce a compilare.

  • Creatore
    Topic
  • #40190
    Up
    0
    Down
    ::


    Buongiorno a tutti.
    Il testo di un problema di matematica preso da http://www.mathlinks.ro/resources.php?c=182&cid=45&year=2009 (si tratta del quinto problema del secondo gruppo), contiene una figura il cui codice è

    `[asy]
    unitsize(2.2mm); defaultpen(linewidth(.8pt)+fontsize(8pt)); dotfactor=4; pair A=(0,0), D=8*dir(330), C=8*dir(210), B=7*dir(90); pair Ep=(0,4-27/5); pair[] dotted={A,B,C,D,Ep}; draw(Circle(A,10)); draw(Circle(B,3)); draw(Circle(C,2)); draw(Circle(D,2)); draw(Circle(Ep,27/5)); dot(dotted); label(“$E$”,Ep,E); label(“$A$”,A,W); label(“$B$”,B,W); label(“$C$”,C,W); label(“$D$”,D,E);[/asy]`

    L’output, però, riporta il codice esattamente come viene scritto nel sorgente, al punto in cui viene scritto. Qualcuno ha un’idea per avere la figura correttamente compilata? I pacchetti amsmath, amssymb e amsthm sono correttamente caricati. C’è bisogno di qualche altro pacchetto?

    Grazie
    Tommaso

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #40191
      Up
      0
      Down
      ::

      Buongiorno a tutti.
      Il testo di un problema di matematica preso da http://www.mathlinks.ro/resources.php?c=182&cid=45&year=2009 (si tratta del quinto problema del secondo gruppo), contiene una figura il cui codice è

      `[asy]
      unitsize(2.2mm); defaultpen(linewidth(.8pt)+fontsize(8pt)); dotfactor=4; pair A=(0,0), D=8*dir(330), C=8*dir(210), B=7*dir(90); pair Ep=(0,4-27/5); pair[] dotted={A,B,C,D,Ep}; draw(Circle(A,10)); draw(Circle(B,3)); draw(Circle(C,2)); draw(Circle(D,2)); draw(Circle(Ep,27/5)); dot(dotted); label(“$E$”,Ep,E); label(“$A$”,A,W); label(“$B$”,B,W); label(“$C$”,C,W); label(“$D$”,D,E);[/asy]`

      L’output, però, riporta il codice esattamente come viene scritto nel sorgente, al punto in cui viene scritto. Qualcuno ha un’idea per avere la figura correttamente compilata? I pacchetti amsmath, amssymb e amsthm sono correttamente caricati. C’è bisogno di qualche altro pacchetto?

      Grazie
      Tommaso

      E’ codice Asymptote.
      Ho un tl2009, ho salvato questo in test.asy
      `
      import graph;
      unitsize(2.2mm);
      defaultpen(linewidth(.8pt)+fontsize(8pt));
      dotfactor=4;
      pair A=(0,0), D=8*dir(330), C=8*dir(210), B=7*dir(90);
      pair Ep=(0,4-27/5);
      pair[] dotted={A,B,C,D,Ep};
      draw(Circle(A,10));
      draw(Circle(B,3));
      draw(Circle(C,2));
      draw(Circle(D,2));
      draw(Circle(Ep,27/5));
      dot(dotted);
      label(“$E$”,Ep,E);
      label(“$A$”,A,W);
      label(“$B$”,B,W);
      label(“$C$”,C,W);
      label(“$D$”,D,E);
      `

      $> asy –tex pdflatex test.asy

      produce test.pdf

    • #40192
      Up
      0
      Down
      ::


      Grazie!
      Ora provo subito.

      Ciao
      Tommaso

    • #40193
      Up
      0
      Down
      ::

      Buongiorno a tutti.
      Il testo di un problema di matematica preso da http://www.mathlinks.ro/resources.php?c=182&cid=45&year=2009 (si tratta del quinto problema del secondo gruppo), contiene una figura il cui codice è

      `[asy]
      unitsize(2.2mm); defaultpen(linewidth(.8pt)+fontsize(8pt)); dotfactor=4; pair A=(0,0), D=8*dir(330), C=8*dir(210), B=7*dir(90); pair Ep=(0,4-27/5); pair[] dotted={A,B,C,D,Ep}; draw(Circle(A,10)); draw(Circle(B,3)); draw(Circle(C,2)); draw(Circle(D,2)); draw(Circle(Ep,27/5)); dot(dotted); label(“$E$”,Ep,E); label(“$A$”,A,W); label(“$B$”,B,W); label(“$C$”,C,W); label(“$D$”,D,E);[/asy]`

      L’output, però, riporta il codice esattamente come viene scritto nel sorgente, al punto in cui viene scritto. Qualcuno ha un’idea per avere la figura correttamente compilata? I pacchetti amsmath, amssymb e amsthm sono correttamente caricati. C’è bisogno di qualche altro pacchetto?

      Si tratta di una figura scritta nel linguaggio Asymptote. Il codice va in un file .asy (fourcircles.asy, per esempio) e compilato da linea di comando con
      `asy -tex pdflatex fourcircles.asy`
      Vanno ovviamente tolte le marche “[asy]” e “[/asy]” e, inoltre, occorre cambiare “Circle” in “circle”. La compilazione produce un pdf con la figura che può poi essere inclusa al modo solito.

      Si può anche usare il pacchetto asymptote, faccio un esempio minimo:
      `%%% file prova.tex
      \documentclass[a4paper]{article}
      \usepackage{asymptote}
      \begin{document}

      \begin{center}
      \begin{asy}

      \end{asy}
      \end{center}

      \end{document}`
      Diciamo che il file si chiama prova.tex; a questo punto si deve compilare:
      `pdflatex prova
      asy prova
      pdflatex prova`
      e la figura sarebbe inserita correttamente. L’ambiente “asy” può andare ovunque, per esempio in un ambiente “figure” o dove si vuole.

      Ciao
      Enrico

    • #40194
      Up
      0
      Down
      ::


      Grazie, Enrico.
      Questo Asymptote, mi sembra di aver capito, è potente per comporre grafici e figure geometriche bi- e tridimensionali. È uno strumento da saper usare, oppure ce ne sono di altri migliori o più semplici?

      Grazie
      Tommaso

    • #40195
      Up
      0
      Down
      ::

      Grazie!
      Ora provo subito.

      Ciao
      Tommaso

      ..azzardo un “padova impera” …

    • #40196
      Up
      0
      Down
      ::

      Grazie, Enrico.
      Questo Asymptote, mi sembra di aver capito, è potente per comporre grafici e figure geometriche bi- e tridimensionali. È uno strumento da saper usare, oppure ce ne sono di altri migliori o più semplici?

      Grazie
      Tommaso

      Metapost

    • #40197
      Antonio Ledda
      Partecipante
        Up
        0
        Down
        ::

        Grazie, Enrico.
        Questo Asymptote, mi sembra di aver capito, è potente per comporre grafici e figure geometriche bi- e tridimensionali. È uno strumento da saper usare, oppure ce ne sono di altri migliori o più semplici?

        Grazie
        Tommaso

        Metapost

        http://robitex.wordpress.com/category/it/latex/metapost/

        http://www.tug.org/metapost.html

        😉

        Ciao,
        Antonio

      • #40198
        Up
        0
        Down
        ::

        Grazie, Enrico.
        Questo Asymptote, mi sembra di aver capito, è potente per comporre grafici e figure geometriche bi- e tridimensionali. È uno strumento da saper usare, oppure ce ne sono di altri migliori o più semplici?

        Grazie
        Tommaso

        http://www.tug.org/metapost.html
        Premesso che per l’aspetto grafico “computazionale” esistono altri
        ambienti (cfr pgf/tikz ad esempio),

        vorrei spendere due parole sull’argomento metapost(mpost) / asymptote (asy).

        asy è un programma e nasce come evoluzione di mpost al quale aggiunge alcune “cose” tra le quali il supporto per modelli 3D in formato PRC .

        mpost è pure un programma, che deriva a sua volta da metafont.

        Ora, per quanto riguarda pdftex, la mia opinione è che i due programmi alla fine si equivalgano.
        Non vedo nei modelli 3D, pur sempre affascinanti, una così grande novità: dipendono dal browser, subiscono la concorrenza del formato swf (il reader9 ha un lettore flash incorpotato anche sotto Linux)
        possono appesantire la pagina. Insomma è più un impiego specializzato.

        In ogni caso, bisogna considerare questo: essendo programmi esterni
        devono essere chiamati da pdf(la)tex, e questo significa che un uso massiccio può rallentare tutto il processo di generazione.
        Se si tiene conto che avolte può essere necessario rigenerare il pdf 2~3 volte per sistemare indici labels etc, si capisce che la cosa può diventare veramente pesante.

        La situazione cambia completamente con Luatex.
        In Luatex metapost è incorporato: quindi non occorre chiamare il programma esterno mpost. Il vantaggio è una riduzione veramente notevole dei tempi di produzione: tutte le situazioni in cui si devono generare grafici runtime dipendenti dal contesto (esempio outline dei numeri di pagina) in luatex diventano tranquillamente a portata di mano
        (è evidente che la singola complicatissima figura non ne trae molti benefici).

        Viceversa asy rimane un programma esterno, quindi non cambia nulla
        con Luatex.
        Una soluzione in realtà ci sarebbe:
        modificare il codice base per per produrre libasy,so (libasy.dll sotto windows) ,
        compilare il programma asy come “wrapper” alla libreria
        ed estendere dinamicamente luatex con loadlib per caricare libasy.so .
        In questo modo si ottiene runtime lo stesso effetto
        dell’inclusione a tempo di compilazione di mplib.

        Questa estate ho scritto allo sviluppatore in merito,
        mi ha risposto che la libreria non è un obiettivo immediato, il che lascia ben sperare per il futuro, in quanto luatex a sua volta è alla versione 0.46, con 1.0 stimata nel 2012.

    Visualizzazione 7 filoni di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top