Icone Metapost e Metapost Preview All non attive in Winedt

  • Creatore
    Topic
  • #92489
    Up
    0
    Down
    ::


    Salve a tutti,

    vorrei sapere come poter attivare le icone “Metapost” e “Metapost Preview All” in Winedt 6. Attualmente uso Metapost attraverso un file separato con estensione .mp e poi con il comando includegrafx in Latex riesco a visualizzare l’immagine, ma non è molto funzionale. So che il linguaggio Metapost può essere inserito direttamente in Latex utilizzando il pacchetto: \usepackage{gmp} e poi inserendo i comandi \begin{mpost}
    \end{mpost}.
    Attualmente, inserendo in Latex i comandi di Metapost per ottenere un’immagine, non disponendo delle icone funzionanti, nel DVI nel punto dove deve comparire l’immagine compare un quadratino al cui interno in rosso vi è scritto MP (vedi file allegato).

    Grazie infinite per la risposta.
    [attachment=929]misra.pdf[/attachment]
    😕

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #92490
      Up
      0
      Down
      ::

      stegen” post=92075Salve a tutti,

      vorrei sapere come poter attivare le icone “Metapost” e “Metapost Preview All” in Winedt 6. Attualmente uso Metapost attraverso un file separato con estensione .mp e poi con il comando includegrafx in Latex riesco a visualizzare l’immagine, ma non è molto funzionale. So che il linguaggio Metapost può essere inserito direttamente in Latex utilizzando il pacchetto: \usepackage{gmp} e poi inserendo i comandi \begin{mpost}
      \end{mpost}.
      Attualmente, inserendo in Latex i comandi di Metapost per ottenere un’immagine, non disponendo delle icone funzionanti, nel DVI nel punto dove deve comparire l’immagine compare un quadratino al cui interno in rosso vi è scritto MP (vedi file allegato).

      Grazie infinite per la risposta.
      [attachment=929]misra.pdf[/attachment]
      😕

      Benvenuto!

      Dovresti fornirci un esempio minimo compilabile, ovvero un file sorgente .tex e il file metapost per poter compilare e vedere il risultato.

      Ciao
      Ivan

    • #92491
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        stegen” post=92075Salve a tutti,

        vorrei sapere come poter attivare le icone “Metapost” e “Metapost Preview All” in Winedt 6. Attualmente uso Metapost attraverso un file separato con estensione .mp e poi con il comando includegrafx in Latex riesco a visualizzare l’immagine, ma non è molto funzionale. So che il linguaggio Metapost può essere inserito direttamente in Latex utilizzando il pacchetto: \usepackage{gmp} e poi inserendo i comandi \begin{mpost}
        \end{mpost}.
        Attualmente, inserendo in Latex i comandi di Metapost per ottenere un’immagine, non disponendo delle icone funzionanti, nel DVI nel punto dove deve comparire l’immagine compare un quadratino al cui interno in rosso vi è scritto MP (vedi file allegato).

        Grazie infinite per la risposta.
        [attachment=929]misra.pdf[/attachment]
        😕

        Ciao.
        Il pacchetto gmp funziona così: salva in un file il codice Metapost e se è attivata l’opzione -shell-escape lo può far compilare dal programma mpost. Se compare il box con MP è probabile che tu non dia a pdflatex l’opzione di -shell-escape, dunque non è possibile compilare il codice.
        Non conosco il funzionamento che citavi di WinEdit. Devi verificarne la configurazione probabilmente, in funzione dell’opzione -shell-escape.
        Questa opzione esiste per motivi di sicurezza. Con essa infatti, si consente a pdflatex di eseguire comandi di shell e quindi codice arbitrario.
        Comunque, usa pdflatex e non latex per ottenere direttamente il pdf senza passare dal dvi.
        Il dvi è un formato “scomodo” perché occorre il passaggio al pdf ed inoltre con esso non possono venir utilizzate delle caratteristiche disponibili sono in pdftex.

        Esiste anche un altro modo di usare Metapost: LuaTeX che incorpora Metapost come libreria.
        In questo caso è molto comodo avvalersi del formato ConTeXt miv con l’ambiente \startmppage \stopmppage.
        Credo che nella gallery del sito ci sia un esempio…
        R.

      • #92492
        Up
        0
        Down
        ::


        Avete ragione. Allego gli esempi minimi compilabili sia in Latex sia in formato mp.

        Intanto grazie per l’attenzione.

        FILE LATEX

        \documentclass[a4paper,12pt]{article}
        \usepackage{graphicx}
        \usepackage{psfrag}
        \usepackage{pgf}
        \usepackage{PSTricks}
        \usepackage{emp}
        \usepackage{gmp}
        \begin{document}

        \DeclareGraphicsRule{*}{mps}{*}{}

        {\begin{figure}[!h]
        \begin{center}
        \includegraphics[scale=0.6]{C:/Users/Stefano/Desktop/mis_rana/ranamp/gra-151.eps}
        \caption{}\label{fig:semi}
        \end{center}
        \end{figure}}

        \begin{mpost}
        prologues:=3; % include all fonts
        outputtemplate:=”%j-%c.eps”; % output file will be hello-1.mps
        beginfig(10)
        for i=0 step 1 until 360:
        pair P;
        P = 2cm* (sind(2*i), cosd(3*i));
        fill fullcircle scaled 4mm shifted P withcolor white;
        draw fullcircle scaled 4mm shifted P;
        endfor;
        picture p;
        p:=nullpicture;
        for i=-180 step 1 until 180:
        pair P;
        P = 2cm* (sind(2*i), cosd(3*i));
        addto p contour fullcircle scaled 4mm shifted P withcolor white;
        addto p doublepath fullcircle scaled 4mm shifted P
        withpen pencircle scaled .5bp;
        endfor;
        clip p to (.5cm,2.5cm) — (.5cm,1.5cm)–
        (-.5cm,1.5cm) — (-.5cm,2.5cm)–cycle;
        draw p;
        endfig;
        \end{mpost}

        \noindent Costruisci un esempio con la funzione lunghezza con la caratterizzazione numero {\it 4.} della proposizione.

        \end{document}

        FILE MP

        prologues:=3; % include all fonts
        outputtemplate:=”%j-%c.eps”; % output file will be hello-1.mps
        beginfig(151)
        for i=0 step 1 until 360:
        pair P;
        P = 2cm* (sind(2*i), cosd(3*i));
        fill fullcircle scaled 4mm shifted P withcolor white;
        draw fullcircle scaled 4mm shifted P;
        endfor;
        picture p;
        p:=nullpicture;
        for i=-180 step 1 until 180:
        pair P;
        P = 2cm* (sind(2*i), cosd(3*i));
        addto p contour fullcircle scaled 4mm shifted P withcolor white;
        addto p doublepath fullcircle scaled 4mm shifted P
        withpen pencircle scaled .5bp;
        endfor;
        clip p to (.5cm,2.5cm) — (.5cm,1.5cm)–
        (-.5cm,1.5cm) — (-.5cm,2.5cm)–cycle;
        draw p;
        endfig;

        end

        Attachments:
        You must be logged in to view attached files.
      • #92493
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Essenzialmente il file scritto in metapost contiene degli errori che non so correggere perché non so che cosa vuoi fare. il rettangolino con la cornica nera e la scritta rissa MP dentro il rettangolino dipende dal fatto che non esiste il file compilato da metapost, e quindi il disegno non può essere incluso (come non pò essere incluso il disegno della rana, perché non l’hai allegato: inoltre non usare mai indirizzi assoluti che, come nel tuo caso dipendono dal sistema operativo e chi non ha windows non può interpretare,

        • #92494
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::


            Buongiorno,
            ho provato il codice che hai allegato e funziona.
            Ti dico subito che nel sorgente ci sono degli errori TeXnici ma questi non sono in tema.
            Quanto al codice Metapost, devi eliminare le istruzioni di outputtemplate e di beginfig endfig, che sono gestiti internamente dal pacchetto gmp.
            Ecco il codice del tuo esempio:
            `
            \documentclass[a4paper,12pt]{article}
            \usepackage[shellescape]{gmp}

            \begin{document}

            \begin{mpost}
            for i=0 step 1 until 360:
            pair P;
            P = 2cm* (sind(2*i), cosd(3*i));
            fill fullcircle scaled 4mm shifted P withcolor white;
            draw fullcircle scaled 4mm shifted P;
            endfor;
            picture p;
            p:=nullpicture;
            for i=-180 step 1 until 180:
            pair P;
            P = 2cm* (sind(2*i), cosd(3*i));
            addto p contour fullcircle scaled 4mm shifted P withcolor white;
            addto p doublepath fullcircle scaled 4mm shifted P
            withpen pencircle scaled .5bp;
            endfor;
            clip p to (.5cm,2.5cm) — (.5cm,1.5cm)–
            (-.5cm,1.5cm) — (-.5cm,2.5cm)–cycle;
            draw p;
            \end{mpost}

            Costruisci un esempio con la funzione lunghezza con la caratterizzazione numero \ref{labelkey} della proposizione.

            \end{document}`

            Devi compilarlo due volte da terminale (o configurando opportunamente lo shell editor):
            `$ pdflatex -shell-escape esempio
            $ pdflatex esempio`
            e dovrebbe essere tutto come avevi previsto.
            Leggi il manuale del pacchetto gmp (comando “$ texdoc gmp” da terminale) per scoprire le altre modalità di esecuzione del codice Metapost. In particolare penso ti sia utile l’opzione ‘nowrite’ una volta che le figure sono a posto.
            R.

          • #92495
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              In alternativa a quello che ri ha scritto @robitex, esamina anche questo listato, dove ho dato un nome all’a,mbinete in modo da poter usare la figura quante volte volgio`\documentclass[a4paper,12pt]{article}

              \usepackage[shellescape,%
              everymp={prologues:=3;}% include tutti i font
              ]{gmp}

              \begin{document}

              \DeclareGraphicsRule{*}{mps}{*}{}

              \begin{mpost}[name=Lissajou]
              for i=0 step 1 until 360:
              pair P;
              P = 2cm* (sind(2*i), cosd(3*i));
              fill fullcircle scaled 4mm shifted P withcolor white;
              draw fullcircle scaled 4mm shifted P;
              endfor;
              picture p;
              p:=nullpicture;
              for i=-180 step 1 until 180:
              pair P;
              P = 2cm* (sind(2*i), cosd(3*i));
              addto p contour fullcircle scaled 4mm shifted P withcolor white;
              addto p doublepath fullcircle scaled 4mm shifted P
              withpen pencircle scaled .5bp;
              endfor;
              clip p to (.5cm,2.5cm) — (.5cm,1.5cm)–
              (-.5cm,1.5cm) — (-.5cm,2.5cm)–cycle;
              draw p;
              \end{mpost}

              \begin{center}
              \usempost{Lissajou}
              \end{center}

              \noindent Costruisci un esempio con la funzione lunghezza con la caratterizzazione
              numero~4 della proposizione.

              \begin{center}
              \usempost{Lissajou}
              \end{center}

              \end{document}`

              ho spostato il ploogues:=3; nelle opzioni del pacchetto; anche se la cosa in questo esempio è inulte, in altri casi dove hai disegni con etichette e/o legende, i font vengono correttamente caricati.

              La presenza dell’opzione shell escape è essenziale, perché senza la compilazione non è sincrona e devi intervenire a mno eseguendo lo script che termina con l’estension .sh

              Ma siccome tu usi Wndows, è improbabile che tu abbi l’interprete per questo linguaggio di scripting. Forse devi configurare MiKTeX perché esegua l’opzione –enable-write18 come dice la documentazione di gmp; tieni presente che se la tua distribuzione di MiKTeX è aggiornatissima, non dovrebbe essere necessario perché i programmi dovrebbero essere tutti abilitati ad eseguire lo shell escape in modalità protetta, quindi può eseguire senza problemi anche mpost, il programma interprete del linguaggio METAPOST.

              PS: Inoltre non usare mai \it, casomai \textit{…}, ma non farlo mai con i numeri.

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

          Go to top