Leser
03-04-2008, 17:04
Hallo zusammen,
Ich möchte mir in einer pstricks Umgebung zwei Funktionen plotten lasse und dann an bestimmten Punkten Pfeile zwischen den beiden Kurven anzeigen. Dafür verwende ich folgendes:
\newcommand\setValue[2]{%
\pstVerb{/#1 #2 def }
}
\begin{document}
\begin{figure}
\centering
\begin{pspicture}(0,-0.5)(15,7)
\pstVerb{/Func1{x 0.03 mul 20 add 57.29577951308232311 mul sin x 0.1 mul 40 add 57.29577951308232311 mul sin add -1 mul -2 sub} def }
\pstVerb{/Func2{x 5 sub 0.03 mul 20 add 57.29577951308232311 mul sin x 5 sub 0.1 mul 40 add 57.29577951308232311 mul sin add -1 mul -2 sub} def }
%\psgrid
\psset{yunit=1.2,xunit=0.12}
\psaxes[Dx=20,Dy=1]{->}(0,0)(0,0)(100,4.2)
\psplot[plotstyle=curve,linestyle=dotted,linecolor=blue]{0}{100}{Func2}
\psplot[plotstyle=curve,linestyle=dotted,linecolor=magenta]{0}{100}{Func1}
\setValue{x}{20}
\pcline[arrowscale=0.8,linewidth=0.6pt]{<->}(! 20 Func1)(! 20 Func2)\nbput[labelsep=0.1]{\color{black} 20}
\setValue{x}{40}
\pcline[arrowscale=0.8,linewidth=0.6pt]{<->}(! 40 Func1)(! 40 Func2)\nbput[labelsep=0.1]{\color{black} 40}
\setValue{x}{80}
\pcline[arrowscale=0.8,linewidth=0.6pt]{<->}(! 80 Func1)(! 80 Func2)\nbput[labelsep=0.1]{\color{black} 80}
\end{pspicture}
\end{figure}
\end{document}
Soweit funktioniert das auch alles. Das Problem ist nun, dass wenn ich danach
\subsection{Neuer Titel $\varepsilon^2_S(t)$}
verwende, alles nach dem \varepsilon auf einmal viel zu tief (1-2 Zeilen) unter der Überschrift erscheinen (siehe angehängtes Bild). Nehme ich hingegen die Zeilen mit setValue und pcline raus, geht alles. Nur halt die Pfeile nicht :(
Kann mir das einer erklären?
Muss ich das x irgendwie wieder vom Stack löschen?
Gibt es einen Befehl der den Stack sichert und danach wieder herstellt?
Ich möchte mir in einer pstricks Umgebung zwei Funktionen plotten lasse und dann an bestimmten Punkten Pfeile zwischen den beiden Kurven anzeigen. Dafür verwende ich folgendes:
\newcommand\setValue[2]{%
\pstVerb{/#1 #2 def }
}
\begin{document}
\begin{figure}
\centering
\begin{pspicture}(0,-0.5)(15,7)
\pstVerb{/Func1{x 0.03 mul 20 add 57.29577951308232311 mul sin x 0.1 mul 40 add 57.29577951308232311 mul sin add -1 mul -2 sub} def }
\pstVerb{/Func2{x 5 sub 0.03 mul 20 add 57.29577951308232311 mul sin x 5 sub 0.1 mul 40 add 57.29577951308232311 mul sin add -1 mul -2 sub} def }
%\psgrid
\psset{yunit=1.2,xunit=0.12}
\psaxes[Dx=20,Dy=1]{->}(0,0)(0,0)(100,4.2)
\psplot[plotstyle=curve,linestyle=dotted,linecolor=blue]{0}{100}{Func2}
\psplot[plotstyle=curve,linestyle=dotted,linecolor=magenta]{0}{100}{Func1}
\setValue{x}{20}
\pcline[arrowscale=0.8,linewidth=0.6pt]{<->}(! 20 Func1)(! 20 Func2)\nbput[labelsep=0.1]{\color{black} 20}
\setValue{x}{40}
\pcline[arrowscale=0.8,linewidth=0.6pt]{<->}(! 40 Func1)(! 40 Func2)\nbput[labelsep=0.1]{\color{black} 40}
\setValue{x}{80}
\pcline[arrowscale=0.8,linewidth=0.6pt]{<->}(! 80 Func1)(! 80 Func2)\nbput[labelsep=0.1]{\color{black} 80}
\end{pspicture}
\end{figure}
\end{document}
Soweit funktioniert das auch alles. Das Problem ist nun, dass wenn ich danach
\subsection{Neuer Titel $\varepsilon^2_S(t)$}
verwende, alles nach dem \varepsilon auf einmal viel zu tief (1-2 Zeilen) unter der Überschrift erscheinen (siehe angehängtes Bild). Nehme ich hingegen die Zeilen mit setValue und pcline raus, geht alles. Nur halt die Pfeile nicht :(
Kann mir das einer erklären?
Muss ich das x irgendwie wieder vom Stack löschen?
Gibt es einen Befehl der den Stack sichert und danach wieder herstellt?