Feynmf

  • Creatore
    Topic
  • #85407
    Up
    0
    Down
    ::


    Buona sera a tutti,
    dopo tanto tempo oggi non posso più schivare, per me insuperabile, problema di fare i grafici di Feynman in latex, e quindi l’utilizzo di tutto il pacchetto feynmf.
    Vi chiedo un aiuto a come affrontarli al meglio, anche per grafici più elaborati. Come compilatore uso texworks. Grazie a tutti in anticipo per la disponibilità.

Visualizzazione 14 filoni di risposte
  • Autore
    Risposte
    • #85408
      Up
      0
      Down
      ::

      kaka101189″ post=84837Buona sera a tutti,
      dopo tanto tempo oggi non posso più schivare, per me insuperabile, problema di fare i grafici di Feynman in latex, e quindi l’utilizzo di tutto il pacchetto feynmf.
      Vi chiedo un aiuto a come affrontarli al meglio, anche per grafici più elaborati. Come compilatore uso texworks. Grazie a tutti in anticipo per la disponibilità.

      Usa feynmp: stessa sintassi, ma richiede Metapost invece che METAFONT. Se poi hai una distribuzione aggiornata, puoi usare feynmp-auto (nessuna modifica alla sintassi) che si occupa da sé di eseguire Metapost (bastano due compilazioni LaTeX).

      Quanto a scrivere i diagrammi di Feynman con feynmp, passo. Scrivere feynmp-auto non mi ha richiesto alcuna conoscenza di fisica (per fortuna), tanto meno di capire che cosa voglia dire quella roba. 🙂

      Ciao
      Enrico

    • #85409
      Up
      0
      Down
      ::


      Guarda questi esempi:
      http://szczypka.web.cern.ch/szczypka/guides/latex/feynmp.html
      http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/fmfsamples.pdf
      Non ho trovato il manuale del pacchetto molto chiaro, iniziai a capire come funzionava dopo aver visto questi esempi.

    • #85410
      Up
      0
      Down
      ::


      Ciao ti ringrazio per la risposta, ti chiedo scusa per la mia ignoranza, ma cos’è Metapost e Metafont???

    • #85411
      Up
      0
      Down
      ::


      ah ho scaricato feynmp-auto però non ho capito bene dove come installarlo, non fa niente se non ho feynmp?

    • #85412
      Up
      0
      Down
      ::

      ah ho scaricato feynmp-auto però non ho capito bene dove come installarlo, non fa niente se non ho feynmp?

      Ciao,
      sei hai installato texlive hai già tutto. In genere è il tipo di installazione che viene caldamente consigliata. Se non l’hai già fatto ti consiglio di scaricare l’”Arte di scrivere con latex”: in genere il 90% delle risposte sono nella guida (cfr. paragrafo 2.1.2).

      Buona lettura,

      Andrea

    • #85413
      Up
      0
      Down
      ::


      ho miktex

    • #85414
      Up
      0
      Down
      ::


      allora lo puoi scaricare con il package manager (o non mi ricordo come si chiama). Te lo installa lui.
      Resta valido il consiglio di installare Texlive o comunque miktex completo.

      Ciao

      Andrea

      p.s. 3.12.1 dell’Arte c’è scritto anche come installare i pacchetti manualmente

    • #85415
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::

        kaka101189″ post=84845Ciao ti ringrazio per la risposta, ti chiedo scusa per la mia ignoranza, ma cos’è Metapost e Metafont???

        Ti ringrazio di questa tua dichiarazione di non conoscenza di che cosa siano quei due programmi facenti parte della distribuzione TeX (sia essa MiKTeX o TeX Live).

        Nelle guide che trovi qui in questo sito non credo che ci sia mai un elenco dei programmi accessori, parecchie decine, con le loro funzioni, che si dà per scontato che siano di secondaria importanza.

        È Vero, se si scrive una guida su LaTeX, si suppone che il lettore voglia avere un documentazione chiara e ricca di esempi per usare LaTeX.

        Tuttavia spesso e volentieri l’utente usa direttamente o indirettamente altri programmi. Per esempio se vuoi usare un font che non è presente nell’installazione o non è installato correttamente, arrivata il punto giusto la compilazione con pdflatex si interrompe e parte il programma METAFONT per creare i glifi, almeno in formato bitmapped, a partire da file sorgente con estensione .mf. Con una installazione completa questo fatto succede rarissimamente e quasi sempre è causato da un errore dell’utente, ma con le installazioni di base o comunque incomplete (specialmente con MiKTeX) questo fatto si può verificare con grande facilità. Se l’utente legge il file .log o controlla quello che succede nella finestra chiamata “console”, vede dei messaggi relativi allo svolgimento del programma METAFONT e non capisce un acca, sia perché i messaggi d’errore sono talvolta criptici, ma in questo caso perché non sa che cosa sia METAFONT. Mi viene in mente quel pezzo del Manzoni dove don Ferrante si chiede “Carneade, chi era costui?”. Lo stesso succede con METAFONT, METAPOST, e diversi altri programmi i cui nomi sono noti quanto lo era quello di Carneade a don Ferrante.:wink:

        Dobbiamo possibilmente mettere una pezza a questa mancanza delle guide del nostro sito: Claudio, Tommaso, Lorenzo, avete sentito?

        Io ho sentito.

        Claudio

      • #85416
        Up
        0
        Down
        ::

        OldClaudio” post=84850

        Ciao ti ringrazio per la risposta, ti chiedo scusa per la mia ignoranza, ma cos’è Metapost e Metafont???

        Ti ringrazio di questa tua dichiarazione di non conoscenza di che cosa siano quei due programmi facenti parte della distribuzione TeX (sia essa MiKTeX o TeX Live).

        Nelle guide che trovi qui in questo sito non credo che ci sia mai un elenco dei programmi accessori, parecchie decine, con le loro funzioni, che si dà per scontato che siano di secondaria importanza.

        È Vero, se si scrive una guida su LaTeX, si suppone che il lettore voglia avere un documentazione chiara e ricca di esempi per usare LaTeX.

        Tuttavia spesso e volentieri l’utente usa direttamente o indirettamente altri programmi. Per esempio se vuoi usare un font che non è presente nell’installazione o non è installato correttamente, arrivata il punto giusto la compilazione con pdflatex si interrompe e parte il programma METAFONT per creare i glifi, almeno in formato bitmapped, a partire da file sorgente con estensione .mf. Con una installazione completa questo fatto succede rarissimamente e quasi sempre è causato da un errore dell’utente, ma con le installazioni di base o comunque incomplete (specialmente con MiKTeX) questo fatto si può verificare con grande facilità. Se l’utente legge il file .log o controlla quello che succede nella finestra chiamata “console”, vede dei messaggi relativi allo svolgimento del programma METAFONT e non capisce un acca, sia perché i messaggi d’errore sono talvolta criptici, ma in questo caso perché non sa che cosa sia METAFONT. Mi viene in mente quel pezzo del Manzoni dove don Ferrante si chiede “Carneade, chi era costui?”. Lo stesso succede con METAFONT, METAPOST, e diversi altri programmi i cui nomi sono noti quanto lo era quello di Carneade a don Ferrante.:wink:

        Dobbiamo possibilmente mettere una pezza a questa mancanza delle guide del nostro sito: Claudio, Tommaso, Lorenzo, avete sentito?

        Io ho sentito.

        Claudio

        ho quasi risolto l’annoso problema dei grafici di feynman, resta solo un piccolo problema che utilizzando il pacchetto feynmf riesco a fare anche grafici di feynman più elaborati (alcuni dei quali non so nemmeno cosa significano bene fisicamente) ma non riesco a stamapare le label. metto il codice di un esempio
        `\begin{fmffile}{simple_labels}
        \begin{fmfgraph*}(40,25)
        \fmfleft{i1,i2}
        \fmfright{o1,o2}
        \fmflabel{$e^-$}{i1}
        \fmflabel{$e^+$}{i2}
        \fmflabel{$e^+,\mu^+$}{o1}
        \fmflabel{$e^-,\mu^-$}{o2}
        \fmflabel{$i\sqrt{\alpha}$}{v1}
        \fmflabel{$i\sqrt{\alpha}$}{v2}
        \fmf{fermion}{i1,v1,i2}
        \fmf{fermion}{o1,v2,o2}
        \fmf{photon,label=$\gamma,,Z^0$}{v1,v2}
        \end{fmfgraph*}
        \end{fmffile}`
        questo codice lo trovate a pagina 4 di questo pdf http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/fmfsamples.pdf

      • #85417
        Up
        0
        Down
        ::

        Elrond” post=84840Guarda questi esempi:
        http://szczypka.web.cern.ch/szczypka/guides/latex/feynmp.html
        http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/fmfsamples.pdf
        Non ho trovato il manuale del pacchetto molto chiaro, iniziai a capire come funzionava dopo aver visto questi esempi.

        Con il secondo link sono riuscito a fare qualcosa, tuttavia non riesco a far stamapare i label, inoltre per far stampare i diagrammi invece di usare il pacchetto \feynmp ho usato il pacchetto \feynmf. mi puoi dare una mano a capire come si possono stampare i label?
        Grazie per la disponibilità

      • #85418
        Up
        0
        Down
        ::

        OldClaudio” post=84850Ti ringrazio di questa tua dichiarazione di non conoscenza di che cosa siano quei due programmi facenti parte della distribuzione TeX (sia essa MiKTeX o TeX Live).

        Nelle guide che trovi qui in questo sito non credo che ci sia mai un elenco dei programmi accessori, parecchie decine, con le loro funzioni, che si dà per scontato che siano di secondaria importanza.

        È Vero, se si scrive una guida su LaTeX, si suppone che il lettore voglia avere un documentazione chiara e ricca di esempi per usare LaTeX.

        Tuttavia spesso e volentieri l’utente usa direttamente o indirettamente altri programmi. Per esempio se vuoi usare un font che non è presente nell’installazione o non è installato correttamente, arrivata il punto giusto la compilazione con pdflatex si interrompe e parte il programma METAFONT per creare i glifi, almeno in formato bitmapped, a partire da file sorgente con estensione .mf. Con una installazione completa questo fatto succede rarissimamente e quasi sempre è causato da un errore dell’utente, ma con le installazioni di base o comunque incomplete (specialmente con MiKTeX) questo fatto si può verificare con grande facilità. Se l’utente legge il file .log o controlla quello che succede nella finestra chiamata “console”, vede dei messaggi relativi allo svolgimento del programma METAFONT e non capisce un acca, sia perché i messaggi d’errore sono talvolta criptici, ma in questo caso perché non sa che cosa sia METAFONT. Mi viene in mente quel pezzo del Manzoni dove don Ferrante si chiede “Carneade, chi era costui?”. Lo stesso succede con METAFONT, METAPOST, e diversi altri programmi i cui nomi sono noti quanto lo era quello di Carneade a don Ferrante.:wink:

        Dobbiamo possibilmente mettere una pezza a questa mancanza delle guide del nostro sito: Claudio, Tommaso, Lorenzo, avete sentito?

        Io ho sentito.

        Claudio

        Con il secondo link sono riuscito a fare qualcosa, tuttavia non riesco a far stamapare i label, inoltre per far stampare i diagrammi invece di usare il pacchetto \feynmp ho usato il pacchetto \feynmf. mi puoi dare una mano a capire come si possono stampare i label?
        Grazie per la disponibilità

      • #85419
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Se non dai un esempio minimo di codice completo e compilabile, sia pure senza label, non posso/possiamo darti una mano.

        • #85420
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Ho provato a eseguire l’esempio di poche righe che compare nel file di documentazione di feynmf
            Con METAFONT: ho compilato il file .tex, poi ho compilato con mf, poi ho ricompilato il file.tex ma evidentemente non ho letto bene la documentazione, perché la console mi dice di compilare due volte con mf; viene prodotto il file dei label, ma poi pdflatex non sembra farsene nulla.

            Ho provato a usare feynmp e qualcosa di meglio si ottiene ma mamca un passo che richiede di intervenire a mano; con una piccola attenzione questo si può evitare.

            Ho provato ad usare feynmp-auto; tutto bene perché uno non deve preoccuparsi di dare i comandi a mano per eseguire METAPOST, ma potrebbe mancare il solito passo da eseguire a mano, se non si fa quella piccola attenzione; in sostanza ho ottenuto il risultato voluto con il seguente file di prova:`% !TEX encoding = UTF-8 Unicode
            % !TEX TS-program = pdflatex
            \documentclass{article}

            \usepackage{graphicx}
            \DeclareGraphicsRule{*}{mps}{*}{}

            \usepackage[errorstop]{feynmp-auto}

            \begin{document}
            \begin{fmffile}{testfeynman}
            \begin{fmfgraph*}(100,75)
            \fmfpen{thick}
            \fmfleft{i1,i2} \fmfright{o1,o2}
            \fmf{fermion}{i1,v1,o1} \fmf{fermion}{i2,v2,o2}
            \fmf{photon,label=$q$}{v1,v2} \fmfdot{v1,v2}
            \end{fmfgraph*}
            \end{fmffile}

            \end{document}`

            Dopo la prima esecuzione di questo file (che ovviamente va a buon fine se si dispone dell’eseguibile METAPOST sempre presente con una distribuzione completa del sistema TeX; ma con una distribuzione MiKTeX parziale, bisogna attivare il Wizard per caricare e installare METAPOST) bisogna aprire il terminale o prompt dei comandi, posizionarsi nella cartella dove risiede il mainfile, cercare il file testfeynman.1 e cambiargli l’estensione producendo il file testfeynman.mps, po bisogna lanciare di nuovo pdflatex; il disegno esce con il suo bravo label, esattamente come appare nel file di documentazione.
            La piccola attenzione consiste nell’aggiungere la riga [tt]\DeclareGraphicsRule[/tt], cosicché non c’è da fare nessuna manovra manuale.

            Non so perché Enrico nel creare il pacchetto feynmp-auto non abbia provveduto a cambiare l’estensione oppure non abbia provveduto a definire le estensioni diverse da quelle predefinite (quindi anche le estensioni numeriche) da trattare come se fossero mps; cioè non abbia lui stesso inserito quella riga nel suo pacchetto.
            Lo so, ci sono inconvenienti sia per un modo sia per l’altro, ma credo che la seconda via sia forse la migliore, cioè presenti meno inconvenienti; l’unico che vedo è che in questo modo qualunque altra estensione diversa da quelle predefinite, ma che non abbia nulla a che vedere con METAPOST, venga trattata come un file METAPOST. In questo caso sta all’utente a non usare file con estensioni esotiche senza fare attenzione a quello che vorrebbe includere come file grafico.

          • #85421
            Up
            0
            Down
            ::

            OldClaudio” post=84888Ho provato a eseguire l’esempio di poche righe che compare nel file di documentazione di feynmf
            Con METAFONT: ho compilato il file .tex, poi ho compilato con mf, poi ho ricompilato il file.tex ma evidentemente non ho letto bene la documentazione, perché la console mi dice di compilare due volte con mf; viene prodotto il file dei label, ma poi pdflatex non sembra farsene nulla.

            Ho provato a usare feynmp e qualcosa di meglio si ottiene ma mamca un passo che richiede di intervenire a mano; con una piccola attenzione questo si può evitare.

            Ho provato ad usare feynmp-auto; tutto bene perché uno non deve preoccuparsi di dare i comandi a mano per eseguire METAPOST, ma potrebbe mancare il solito passo da eseguire a mano, se non si fa quella piccola attenzione; in sostanza ho ottenuto il risultato voluto con il seguente file di prova:`% !TEX encoding = UTF-8 Unicode
            % !TEX TS-program = pdflatex
            \documentclass{article}

            \usepackage{graphicx}
            \DeclareGraphicsRule{*}{mps}{*}{}

            \usepackage[errorstop]{feynmp-auto}

            \begin{document}
            \begin{fmffile}{testfeynman}
            \begin{fmfgraph*}(100,75)
            \fmfpen{thick}
            \fmfleft{i1,i2} \fmfright{o1,o2}
            \fmf{fermion}{i1,v1,o1} \fmf{fermion}{i2,v2,o2}
            \fmf{photon,label=$q$}{v1,v2} \fmfdot{v1,v2}
            \end{fmfgraph*}
            \end{fmffile}

            \end{document}`

            Dopo la prima esecuzione di questo file (che ovviamente va a buon fine se si dispone dell’eseguibile METAPOST sempre presente con una distribuzione completa del sistema TeX; ma con una distribuzione MiKTeX parziale, bisogna attivare il Wizard per caricare e installare METAPOST) bisogna aprire il terminale o prompt dei comandi, posizionarsi nella cartella dove risiede il mainfile, cercare il file testfeynman.1 e cambiargli l’estensione producendo il file testfeynman.mps, po bisogna lanciare di nuovo pdflatex; il disegno esce con il suo bravo label, esattamente come appare nel file di documentazione.
            La piccola attenzione consiste nell’aggiungere la riga [tt]\DeclareGraphicsRule[/tt], cosicché non c’è da fare nessuna manovra manuale.

            Non so perché Enrico nel creare il pacchetto feynmp-auto non abbia provveduto a cambiare l’estensione oppure non abbia provveduto a definire le estensioni diverse da quelle predefinite (quindi anche le estensioni numeriche) da trattare come se fossero mps; cioè non abbia lui stesso inserito quella riga nel suo pacchetto.
            Lo so, ci sono inconvenienti sia per un modo sia per l’altro, ma credo che la seconda via sia forse la migliore, cioè presenti meno inconvenienti; l’unico che vedo è che in questo modo qualunque altra estensione diversa da quelle predefinite, ma che non abbia nulla a che vedere con METAPOST, venga trattata come un file METAPOST. In questo caso sta all’utente a non usare file con estensioni esotiche senza fare attenzione a quello che vorrebbe includere come file grafico.

            ti ringrazio per l’infinita disponibilità, il problema è stato risolto. ti dico quali erano i punti chiave del problema, innanzitutto non sapevo come creare feynmp e poi \DeclareGraphicsRule{*}{mps}{*}{} serve solo se compilo in pdf oppure in altri formati?perchè?

          • #85422
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::

              ti ringrazio per l’infinita disponibilità, il problema è stato risolto. ti dico quali erano i punti chiave del problema, innanzitutto non sapevo come creare feynmp e poi \DeclareGraphicsRule{*}{mps}{*}{} serve solo se compilo in pdf oppure in altri formati?perchè?

              Senza quella riga speciale il pacchetto graphicx non sa che cosa fare dei file con estensioni che non conosce. Se compili con LaTeX, graphics capisce le estensioni .ps, .eps e .mps; se compili con pdflatex esso capisce le estensioni .jpg, .png, .pdf, .eps, .mps; Quindi nessuno dei due programmi capisce le estensioni numeriche che il programma METAPOST attribuisce ai suoi file di uscita. Con quella riga, senza dover specificare nessun numero, tutti i file non predefiniti vengono trattati con le stesse regole dei file .mps, in particolare i file con estensione numerica.

              Nota che spesso le distribuzioni del sistema TeX contengono un file mpstopdf che viene caricato automaticamente e che trasforma scontornandoli i file.mps in file .pdf; non so se sia una funzionalità della distribuzione per il Mac, o una funzionalità generale di TeX Live; MiKTeX una volta non l’aveva, forse oggi ce l’ha anche MiKTeX.

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

          Go to top