PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : auto-pst-pdf (Minimalbeispiel funktioneirt nicht)



parf
04-03-2011, 22:19
Hallo,

ich versuche gerade pdflatex mit pstricks code in meinem LaTeX Dokument zu verwenden. Ich versuche es über auto-pst-pdf.
Folgendes Minimalbeispiel scheitert aber schon:

\documentclass{scrartcl}
\usepackage{pst-node}
\usepackage{auto-pst-pdf}

\begin{document}
Bosonen (ganzzahliger Spin):
\begin{equation}
\psi(\vec{r}_{1}\sigma_{1},...,\vec{r}_{i}\sigma_{ i},...,\vec{r}_{j}\sigma_{j},...,\vec{r}_{N}\sigma _{N},t)
=\psi(\vec{r}_{1}\sigma_{1},...,\rnode[b]{A1}{\vec{r}_{j}\sigma_{j}},...,\rnode[b]{A2}{\vec{r}_{i}\sigma_{i}},...,\vec{r}_{N}\sigma_ {N},t)\;.
\end{equation}
\ncarc[arcangleA=0,arcangleB=0,linecolor=lightgray]{<->}{A1}{A2}
\end{document}

Der Fehler (nach dem Aufruf von pdflatex -shell-escape test.tex) lautet:

Preview: Fontsize 10.95pt
Preview: PDFoutput 1
(./test.aux)
! You can't use `\end' in internal vertical mode.
\enddocument ... \endgroup \deadcycles \z@ \@@end

l.13 \end{document}

?


Ich kann mit dieser Fehlermeldung rein gar nichts anfangen. Lasse ich die Zeile
\ncarc[arcangleA=0,arcangleB=0,linecolor=lightgray]{<->}{A1}{A2} weg, funktioniert es.

rstuby
04-03-2011, 22:25
Ungetestet: mach mal eine Leerzeile von \end{document} oder schreib \leavevmode da hin.

parf
04-03-2011, 22:31
Danke für den Tipp, hat aber keinen Effekt.

tral
04-03-2011, 22:50
Hallo,

du musst eine pspicture-Umgebung drum herum machen. Außerdem denke ich, du willst den Bogen unten drunter. Ich habe deswegen die beiden Winkel geändert:



\documentclass{scrartcl}
\usepackage{pst-node}
\usepackage{auto-pst-pdf}

\begin{document}
Bosonen (ganzzahliger Spin):

\begin{pspicture}(0,0)(0,0)
\begin{equation}
\psi(\vec{r}_{1}\sigma_{1},...,\vec{r}_{i}\sigma_{ i},...,\vec{r}_{j}\sigma_{j},...,\vec{r}_{N}\sigma _{N},t)
=\psi(\vec{r}_{1}\sigma_{1},...,\rnode[b]{A1}{\vec{r}_{j}\sigma_{j}},...,\rnode[b]{A2}{\vec{r}_{i}\sigma_{i}},...,\vec{r}_{N}\sigma_ {N},t)\;.
\end{equation}
\ncarc[arcangleA=270,arcangleB=270,linecolor=lightgray]{<->}{A1}{A2}
\end{pspicture}
\end{document}


Christian.

parf
04-03-2011, 22:54
Danke. Jetzt funktioniert es zwar, aber die Formel wird nicht mittig dargestellt, wie das normalerweise sein sollte. Die Formelnummerierung ist normalerweise rechts am Rand, hier klebt sie an der Formel. Ich nehme an das liegt an der pstricks Umgebung.

Früher habe ich LyX als Editor verwendet und konnte da per Knopfdruck meinen LaTeX Code mit pstricks in ein PDF umwandeln (wie Lyx das gemacht hat, weiß ich nicht.) Ich weiß aber zu 100% (habe auch noch Code hier) dass ich für \narc nie eine pspicture Umgebung machen musste. Ich glaube das diese pspicture Umgebung die Formel darstellung "kaputt macht"...

tral
04-03-2011, 22:59
Ich hatte etwas gepostet, dann aber gemerkt, dass es nicht funktioniert...


Christian.

parf
04-03-2011, 23:42
So, folgendes funktioneirt zwar

\documentclass{scrartcl}
\usepackage{pst-node}
\usepackage{auto-pst-pdf}

\begin{document}
Bosonen (ganzzahliger Spin):
\begin{equation}
\begin{pspicture}(0,0)(0,0)
\psi(\vec{r}_{1}\sigma_{1},...,\vec{r}_{i}\sigma_{ i},...,\vec{r}_{j}\sigma_{j},...,\vec{r}_{N}\sigma _{N},t)
=\psi(\vec{r}_{1}\sigma_{1},...,\rnode[b]{A1}{\vec{r}_{j}\sigma_{j}},...,\rnode[b]{A2}{\vec{r}_{i}\sigma_{i}},...,\vec{r}_{N}\sigma_ {N},t)\;.
\ncarc[arcangleA=-50,arcangleB=-50,linecolor=lightgray]{<->}{A1}{A2}
\end{pspicture}
\end{equation}
\end{document}
setzt aber leider die Formelnummer etwas zu tief, da der Pfeil wohl bei der Formelhöhe mitberechnet wurde. Das soll aber nicht sein, die Formelnummer sollte auf die Höhe der Formel.
Gibt es da eine Möglichkeit Objekte (wie den Pfeil) zu platzieren, aber bei der Berechnung der Höhe der Formel ignorieren zu lassen, so dass die Formelnummer auf Höhe der Formel ist?

voss
07-03-2011, 07:45
setzt aber leider die Formelnummer etwas zu tief, da der Pfeil wohl bei der Formelhöhe mitberechnet wurde. Das soll aber nicht sein, die Formelnummer sollte auf die Höhe der Formel.
Gibt es da eine Möglichkeit Objekte (wie den Pfeil) zu platzieren, aber bei der Berechnung der Höhe der Formel ignorieren zu lassen, so dass die Formelnummer auf Höhe der Formel ist?

Lass \begin{pspicture}(...) und \end{pspicture} weg
und mach es so:



\documentclass{scrartcl}
\usepackage{pst-node}
\usepackage{auto-pst-pdf}

\begin{document}
Bosonen (ganzzahliger Spin):

\begin{postscript}
\begin{equation}
\psi(\vec{r}_{1}\sigma_{1},\ldots,\vec{r}_{i}\sigm a_{i},\ldots,\vec{r}_{j}\sigma_{j},
\ldots,\vec{r}_{N}\sigma_{N},t)
=\psi(\vec{r}_{1}\sigma_{1},\ldots,\rnode[b]{A1}{\vec{r}_{j}\sigma_{j}},
\ldots,\rnode[b]{A2}{\vec{r}_{i}\sigma_{i}},\ldots,\vec{r}_{N}\sig ma_{N},t).
\ncarc[arcangleA=-50,arcangleB=-50,linecolor=lightgray]{<->}{A1}{A2}
\end{equation}
\end{postscript}

\end{document}


Herbert

tral
07-03-2011, 07:55
Hallo Herbert,

woran liegt es denn, dass das Original-Beispiel mit latex super funktioniert, aber pdflatex den Fehler ausspuckt? Ist das eine Beschränkung von auto-pst-pdf?

Christian.

voss
07-03-2011, 13:26
woran liegt es denn, dass das Original-Beispiel mit latex super funktioniert, aber pdflatex den Fehler ausspuckt? Ist das eine Beschränkung von auto-pst-pdf?


auto-pst-pdf muss wissen, wo der PostScript code steht. Dazu kann es automatisch eine pspicture- und psmatrix-Umgebung oder alternativ eine postscript-Umgebung erkennen. Alles andere kann nicht von auto-pst-pdf als postscript erkannt werden, sodass es dann zu einem Fehler kommt.

Herbert