PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Feynman-Diagramme + Probleme mit labels



danm357
02-02-2007, 18:19
Hallo liebe Foren Mitglieder,

ich habe folgendes Problem:
Ich möchte Feynman-Diagramme zeichnen. Dazu verwende ich das Packet feynmf. Damit kann ich zwar schön meine Graphen zeichnen, aber die Labels/Beschriftung der einzelnen Linien funktioniert leider nicht.
Vielleicht seht ihr ja an folgendem Minimalbeispiel, was ich falsch mache:

\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}

Verwende ich anstatt feynmf feynmp bekomme ich gar kein Bild. Das ganze lasse ich mir immer als pdf-file ausgeben.

Für eure Hilfe wäre ich echt dankbar
Daniel

rais
04-02-2007, 12:34
Moin moin,
also nachvollziehen kann ich's nicht: Wenn ich die Punkte aus Deiner Präambel streiche und sicherheitshalber das mit utf8 für mich korrekte Encoding einstelle (sonst gibt's teilweise Probleme mit Umlauten, selbst wenn sie nur im Kommentar stehen), dann bekomme ich nach


pdflatex foo.tex
mf '\mode:=ljfour; input test'
pdflatex foo.tex (2x)

auch ein beschriftetes Ergebnis (siehe Anhang).
Hast Du vllt die Beschriftung erst hinterher vorgenommen und metafont nicht wieder aufgerufen? Vgl. mal feynmf-Doku: "automagically"... und was der Autor so darüber schreibt;-)
MfG,

danm357
04-02-2007, 14:22
Hallo,

danke für Deine Hilfe. Nein die Beschriftung habe ich nicht hinterher vorgenommen. Aber vielleicht stelle ich mich etwas blöd an. Daher erlaube ich mir, Dir einfach mal mein Vorgehen zu erläutern:

Das komplette TeX-File mitsamt Beschriftung und ohne Kommentare füge ich in das TeXnicCenter ein, da ich mit Windows arbeite. (ich verwende zum Testen nur das Paket feynmf, für das komplette Dokument kommen natürlich noch weitere Pakete hinzu, welche ich hier mit ... angedeutet habe).
Dann speichere ich das ganze unter "neues Projekt", wobei ich bei
\begin{fmffile}{test}
immer einen neuen Namen wähle, also anstatt test, test2 etc. Sonst wird mir immer ein altes Bild angezeigt. Dabei achte ich darauf, daß Projektname und gewählter Name verschieden sind, sonst bekomme ich eine Fehlermeldung.
Nach mehrfachen Kompilieren und Ausgabe als pdf, ps, oder DVI-file, bekomme ich zwar den Graph, aber keine Beschriftung.
Mache ich was falsch?? Kann schon sein, ich habe dieses metafont Konzept null begriffen...
Danke für den Hinweis mit der feynmf-Doku "automagically". Ich werde mal nach dieser im web suchen. Auf anhieb habe ich sie leider nicht gefunden. Du kannst mir ja den Link schicken, wenn Du zufälligerweise einen haben solltest. Ansonsten hoffe ich natürlich, daß Du Dich gerne noch mal mit meinem Problem beschäftigen willst.

Viele Grüße
Daniel

rais
04-02-2007, 15:03
Hallo,


Danke für den Hinweis mit der feynmf-Doku "automagically". Ich werde mal nach dieser im web suchen. Auf anhieb habe ich sie leider nicht gefunden.
feynmf-Doku:
ftp://dante.ctan.org/tex-archive/macros/latex/contrib/feynmf/manual.ps
obwohl, eigentlich liegt sie dem Paket auch bei...zumindest in dem zip-Archiv;-)

Du kannst ja mal versuchen, Dein Dokument direkt über die Eingabeaufforderung zu kompilieren, also Eingabeaufforderung->cd wo-Dein-Projekt-ist und alles Weitere aus Post#2 übernehmen -- und dann nochmal schauen, ob sich an der pdf-Ausgabe was geändert hat. Wenn das so funzt, dann kann min sich immer noch überlegen, wie man TC dazu überredet bekommt, mf mit aufzurufen.;)
Wenn nicht, dann poste bitte die so entstandene test.log, also die log-Datei von Metafont.

MfG,

danm357
04-02-2007, 15:46
Hallo,

danke für Deine schnelle Antwort. Das über die Eingabeaufforderung habe ich probiert, aber ich fürchte, ich mache da etwas falsch. Das einzige was ich damit erreichte ist, daß sich mein tex-file im TC öffnet.
Danke auch für den Link, ich bin noch am lesen. Vielleicht finde ich ja dabei was heraus. Für den sehr wahrscheinlichen Fall, daß ich damit nicht weiterkomme, hänge ich die beiden log files, die erzeugt werden mit an. Es sind zwei, da sich erst nach dem zweiten Kompilieren das Bild (ohne Beschriftung) zeigt. Anbei auch noch das tex-file im Word-Dokument zur Sicherheit, welches ich dafür verwendet habe.
Ich hoffe, daß Du vielleicht damit siehst, was bei mir falsch läuft.

Viele Grüße
Daniel

rais
04-02-2007, 16:44
Hallo,


Das über die Eingabeaufforderung habe ich probiert, aber ich fürchte, ich mache da etwas falsch. Das einzige was ich damit erreichte ist, daß sich mein tex-file im TC öffnet.

Bei genau welchem Aufruf?
Vllt nochmal auf Dein jetziges Beispiel angepasst:


_>cd zu\Deinem\Dokument
_>pdflatex foo.tex
_>mf '\mode:=ljfour; input testing1'
_>pdflatex foo.tex
_>pdflatex foo.tex


Danke auch für den Link, ich bin noch am lesen. Vielleicht finde ich ja dabei was heraus. Für den sehr wahrscheinlichen Fall, daß ich damit nicht weiterkomme, hänge ich die beiden log files, die erzeugt werden mit an. Es sind zwei, da sich erst nach dem zweiten Kompilieren das Bild (ohne Beschriftung) zeigt. Anbei auch noch das tex-file im Word-Dokument zur Sicherheit, welches ich dafür verwendet habe.
Ich hoffe, daß Du vielleicht damit siehst, was bei mir falsch läuft.

wie sieht denn nun die Metafont-Logdatei bei Dir aus?
Zum Vgl:


This is METAFONT, Version 2.71828 (Web2C 7.5.4) (base=mf 2006.5.2) 4 FEB 2007 12:05
**\mode:=ljfour; input test
(test.mf (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:
641 strings out of 5276
7249 string characters out of 69967
34674 words of memory out of 3500000
1377 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, 4484 bytes).

die Datei dürfte bei Dir inzwischen "testing1.log" heißen.

Eigentlich frage ich mich gerade, wie Du wohl auf den Code gekommen bist, so ganz ohne entsprechendes Manual :p

Aber Dateien hier mit einer .doc-Endung ranzuhängen, ich weiß ja nicht... wenn Du nicht gerade auf einen dieser flamewars aus bist, dann solltest Du vllt lieber die .txt-Endung bevorzugen (oder mehrere Dateien doch gleich einZIPen).:D
Und ja, ich hab' mich auch schon gefragt, warum man hier .doc überhaupt anhängen kann, .tex dagegen nicht (oder, wo wir schon dabei sind: .c, .h, .pl, .sh -- und wie sie alle heißen, nebenan wird ja auch "richtig" programmiert). Vllt lässt sich das ja mal umstellen, so in der Art "wenn Textmode, dann Endung egal"

@bischi: lässt sich da was dran drehen? Oder wär' das eher ne Frage an unseren Netzmeister?


ohh, hier steht's doch (b.doc):
feynmf: Label file testing1.t1 not found:
feynmf: Process testing1.mf with METAFONT and then reprocess this file.
-> mach das mal;-)

MfG,

danm357
04-02-2007, 22:27
Hallo nochmal

ES GEHT!!!!! Danke für deine Hilfe!!!

Ich denke, es interessiert Dich, was ich gemacht habe, damit ich endlich meine Beschriftung am Feynman-Graph habe. Daher schreibe ich Dir kurz meine Vorgehensweise an und gehe auf ein paar Fragen von Dir ein.

Zuerst verwende ich unter der Eingabeaufforderung den Befehl

pdflatex Dateiort\Dateiname.tex

dann benütze ich den Befehl

mf \mode=localfont; input Dateiort\Dateiname.mf

Dieser Befehl produziert mir drei Files, bei mir sind das:
testing1.log, testing1.600gf und testing1.tfm.
Diese legt mir das Programm leider in ein anderes Verzeichnis ab als das Verzeichnis, in dem sich die tex-Datei befindet. Erst durch Dein
wie sieht denn nun die Metafont-Logdatei bei Dir aus?
kam ich darauf, mal per Windows-Suche danach zu fahnden. Gefunden habe ich sie dann unter C:\Dokumente und Einstellungen\Computernutzer.
Diese drei Dateien füge ich nun in den Ordner ein, in dem sich das tex-file befindet. Mit TC kompiliere ich nun noch zweimal und ich habe endlich den Feynman-Graph mit Beschriftung.

Falls Du Dich dafür noch interessieren solltest, so schaut die mf-log-Datei aus:
This is METAFONT, Version 2.71828 (MiKTeX 2.5) (preloaded base=mf 2007.2.2) 4 FEB 2007 21:42
**\mode=localfont; input C:\2\testing1.mf
(C:\2\testing1.mf (C:\Programme\MiKTeX 2.5\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] )
Font metrics written on testing1.tfm.
Output written on testing1.600gf (1 character, 4488 bytes).


Eigentlich frage ich mich gerade, wie Du wohl auf den Code gekommen bist, so ganz ohne entsprechendes Manual
Ich muß gestehen, daß ich das Manual schon auf meinem Computer hatte, das habe ich aber erst später festgestellt. Auf den Code bin ich mit dem pdf-file unter Link gekommen:
http://xml.web.cern.ch/XML/textproc/fmfcnl1.pdf
Das Beispiel habe ich etwas verändert von Figure 6.11 verwendet. Sicher kommt Dir das Bild unter Figure 6.13 bekannt vor ;-)

Danke auch für Deinen Hinweis mit den Anhängen. Daß ich nur etwas in doc-format angehängt habe, liegt daran, wie Du selbst erkannt hast, daß man tex-dateien nicht anhängen kann. In Zukunft werde ich wohl solche kleinen tex-Dateien zitieren.

Natürlich ist die ganze Vorgehensweise etwas umständlich, aber momentan kann ich damit leben.

Ansonsten Danke ich nochmals ganz herzlich für Deine geduldige Hilfe
Viele Grüße
Daniel