Anzeige:
Ergebnis 1 bis 6 von 6

Thema: problem mit labels in feynmf

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.10.2007
    Beiträge
    29

    problem mit labels in feynmf

    hi,

    ich habe schon das manual und auch die beitraege in diesem forum gelesen aber ich bekomme es trotzdem nicht hin das er mir die labels zu den graphen malt. hat noch jmd eine idee?

    der einfachheit halber habe ich einfach ein minimalbeispiel aus dem forum kopiert:

    \documentclass[10pt]{article}

    \usepackage{feynmf}

    \begin{document}
    \setlength{\unitlength}{1mm}

    \begin{fmffile}{test}
    \begin{fmfgraph}(40,25)
    \fmfleft{i1,i2} %eingehende Fermionlinien
    \fmfright{o1,o2} %ausgehende Fermionlinien
    \fmflabel{$e^-$}{i1} %Beschriftung
    \fmflabel{$e^+$}{i2} %Beschriftung
    \fmflabel{$e^+,\mu^+$}{o1} %Beschriftung
    \fmflabel{$e^-,\mu^-$}{o2} %Beschriftung
    \fmflabel{$i\sqrt{\alpha}$}{v1} %Beschriftung
    \fmflabel{$i\sqrt{\alpha}$}{v2} %Beschriftung
    \fmf{fermion}{i1,v1,i2} %Fermionenverknüpfung
    \fmf{fermion}{o1,v2,o2} %Fermionenverknüpfung
    \fmf{photon,label=$\gamma,,Z^0$}{v1,v2}
    \end{fmfgraph}
    \end{fmffile}
    \end{document}

    was ich dann mache ist:

    latex
    mf '\mode:=ljfour; input test'
    latex
    latex
    dvips

    meine test.log datei zeigt auch die labels an:

    This is METAFONT, Version 2.718281 (TeX Live 2010) (base=mf 2010.11.15) 14 FEB 2011 16:07
    **\mode:=ljfour; input test
    (test.mf (/usr/local/texlive/2010/texmf-dist/metafont/feynmf/feynmf.mf)
    :1:\fmfL(20.00258,10.36903,t){$\gamma ,Z^0$}%
    :1:\fmfL(2.3144,-1.31833,rt){$e^-$}%
    :1:\fmfL(2.3144,26.33746,rb){$e^+$}%
    :1:\fmfL(37.69081,-1.31833,lt){$e^+,\mu ^+$}%
    :1:\fmfL(37.69081,26.33746,lb){$e^-,\mu ^-$}%
    :1:\fmfL(9.86115,12.50957,r){$i\sqrt {\alpha }$}%
    :1:\fmfL(30.144,12.50955,l){$i\sqrt {\alpha }$}% [1] )
    Here is how much of METAFONT's memory you used:
    624 strings out of 5275
    7351 string characters out of 69991
    34673 words of memory out of 3000000
    1378 symbolic tokens out of 9500
    14i,67n,50r,28p,119b stack positions out of 300i,300n,1000r,150p,200000b

    (You used 2w,2h,1d,1i,0l,0k,0e,0p metric file positions
    out of 256w,16h,16d,64i,15000l,2500k,256e,60p)

    Font metrics written on test.tfm.
    Output written on test.600gf (1 character, 4324 bytes).

    Ich bin fuer jeden weiteren tip dankbar!

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    dazu aus der Doku Abschnitt 2.5.6, `Labels':
    Zitat Zitat von fmfman
    Note that the fmfgraph* environment must be used to use labels, they will silently disappear in fmfgraph.
    MfG
    Geändert von rais (14-02-2011 um 19:14 Uhr) Grund: Doku-Namen korrigiert
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    11.10.2007
    Beiträge
    29

    Makefile

    vielen dank.
    mit fmfchar* gings dann auch.

    Gibt es eine moeglichkeit bei vielen feynman graphen in einem dokument diese automatisch im makefile zu erzeugen. Ich kenne mich mit makefiles nur sehr begrenzt aus und im netz gibt es nur beispiele wo man den name des enstehenden metafont eintraegt:

    mf '\mode=ljfour; input test'

    ich haette gerne so etwas wie

    ALLMF = $(shell ls *.mf | cut -d. -f1)
    mf '\mode=ljfour; input '$(ALLMF)';'

    was leider nicht so recht funktioniert..

    Gruesse

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von jbo24884 Beitrag anzeigen
    Gibt es eine moeglichkeit bei vielen feynman graphen in einem dokument diese automatisch im makefile zu erzeugen. Ich kenne mich mit makefiles nur sehr begrenzt aus und im netz gibt es nur beispiele wo man den name des enstehenden metafont eintraegt:
    evtl. tut so etwas (hier nur als Einzeiler auf der Konsole getestet):
    Code:
    for I in *.mf; do mf "\mode=ljfour; input $I"; done
    Ansonsten muss dazu jemand Stellung nehmen, der sich mit makefiles auskennt;-)

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    Registrierter Benutzer
    Registriert seit
    11.10.2007
    Beiträge
    29
    Hi,

    dankeschoen.

    jain, das funktoniert eingermaßen:

    mf :
    @printf " metafont"
    for I in $$(ls -1 *.mf) ; do mf "\mode=ljfour; input $$I" ; done

    allerdings habe ich keinen weggefunden, das er alles auf einmal kompiliert, in einem schritt, da die *.mf files erst nach dem ersten pdflatex erzeugt werden.

    und leider geht sowas wie:

    pdflatex $(DOCUMENT).tex
    mf
    pdflatex $(DOCUMENT).tex
    pdflatex $(DOCUMENT).tex

    nicht! auch das hier nicht:

    pdflatex $(DOCUMENT).tex
    for I in $$(ls -1 *.mf) ; do mf "\mode=ljfour; input $$I" ; done
    pdflatex $(DOCUMENT).tex
    pdflatex $(DOCUMENT).tex

    da hoert er direkt nach dem ersten pdflatex auf, mit error natuerlich.

    mhm, noch jmd ideen?

  6. #6
    Registrierter Benutzer
    Registriert seit
    27.11.2007
    Beiträge
    375
    Hallo,

    wie hast du denn die Abhängigkeiten in deinem makefile gesetzt? Poste doch am besten mal das ganze makefile...

    Christian.

    PS. Nutze doch für Quellcode bitte die CODE-Umgebung (#-Knopf).
    Ubuntu 16.04 -- TeX Live 2015 -- Emacs (AUCTeX, RefTeX)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •