diff options
author | Karl Berry <karl@freefriends.org> | 2013-08-12 22:17:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-08-12 22:17:14 +0000 |
commit | 8dda786294d3a2eb9a110ff813d0a6d3d4870c51 (patch) | |
tree | ce9dbab8c81a39f816188f5679c4590b0d36e562 | |
parent | 368c76584a33996d358ac5341b92dc7135cad490 (diff) |
pst-plot (12aug13)
git-svn-id: svn://tug.org/texlive/trunk@31420 c570f23f-e606-0410-a88d-b1316a301751
14 files changed, 699 insertions, 119 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-plot/Changes b/Master/texmf-dist/doc/generic/pst-plot/Changes index c33bc30f666..245c85c7d4f 100644 --- a/Master/texmf-dist/doc/generic/pst-plot/Changes +++ b/Master/texmf-dist/doc/generic/pst-plot/Changes @@ -1,4 +1,5 @@ ----- pst-plot.tex +1.48 2013-08-10 - allow x|ylabelOffset also for special Labels 1.47 2013-07-08 - added \psreadColumnData 1.46 2013-06-10 - fix bug with missing \relax in \get@label 1.45 2013-04-29 - fix for loglines with subticks>10 (pm) diff --git a/Master/texmf-dist/doc/generic/pst-plot/doc/Contents b/Master/texmf-dist/doc/generic/pst-plot/doc/Contents new file mode 100644 index 00000000000..fd84649dc46 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-plot/doc/Contents @@ -0,0 +1,4 @@ +pst-plot-doc.pdf: the main documentation +dtk02-1.pdf : Die mathematischen Funktionen von PostScript +dtk02-2.pdf : Die Plotfunktionen von pst-plot +tugboat01-4.pdf : The plot functions of pst-plot diff --git a/Master/texmf-dist/doc/generic/pst-plot/doc/dtk02-1.pdf b/Master/texmf-dist/doc/generic/pst-plot/doc/dtk02-1.pdf Binary files differnew file mode 100644 index 00000000000..0fc4ce30313 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-plot/doc/dtk02-1.pdf diff --git a/Master/texmf-dist/doc/generic/pst-plot/doc/dtk02-2.pdf b/Master/texmf-dist/doc/generic/pst-plot/doc/dtk02-2.pdf Binary files differnew file mode 100644 index 00000000000..014508059ef --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-plot/doc/dtk02-2.pdf diff --git a/Master/texmf-dist/doc/generic/pst-plot/pst-plot-doc.bib b/Master/texmf-dist/doc/generic/pst-plot/doc/pst-plot-doc.bib index 95b2a67e6af..95b2a67e6af 100644 --- a/Master/texmf-dist/doc/generic/pst-plot/pst-plot-doc.bib +++ b/Master/texmf-dist/doc/generic/pst-plot/doc/pst-plot-doc.bib diff --git a/Master/texmf-dist/doc/generic/pst-plot/pst-plot-doc.dat b/Master/texmf-dist/doc/generic/pst-plot/doc/pst-plot-doc.dat index 0a7bbbe462e..0a7bbbe462e 100644 --- a/Master/texmf-dist/doc/generic/pst-plot/pst-plot-doc.dat +++ b/Master/texmf-dist/doc/generic/pst-plot/doc/pst-plot-doc.dat diff --git a/Master/texmf-dist/doc/generic/pst-plot/doc/pst-plot-doc.pdf b/Master/texmf-dist/doc/generic/pst-plot/doc/pst-plot-doc.pdf Binary files differnew file mode 100644 index 00000000000..fbcac7deaec --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-plot/doc/pst-plot-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pst-plot/pst-plot-doc.tex b/Master/texmf-dist/doc/generic/pst-plot/doc/pst-plot-doc.tex index 07a6e04cb21..fd36215a17d 100644 --- a/Master/texmf-dist/doc/generic/pst-plot/pst-plot-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-plot/doc/pst-plot-doc.tex @@ -804,18 +804,6 @@ can be outside of the visible \Lenv{pspicture} environment. } \end{lstlisting} - -\begin{LTXexample}[width=7cm] -\psset{xAxisLabel=,yAxisLabel=, - llx=-5mm,urx=1cm,lly=-5mm, - mathLabel=false, - xLabels={A,b,C,d,E,f,}, - xlabelsep=-5pt} -\begin{psgraph}{->}(5,5){6cm}{6cm} -\end{psgraph} -\end{LTXexample} - - \subsection{The new macro \Lcs{pslegend} for \nxLenv{psgraph}}\label{pslegend} \begin{BDef} @@ -1068,6 +1056,7 @@ redefinition, then do it for \Lcs{pst@@@hlabel} and \Lkeyword{xEnd} & integer or empty & \{\} & \pageref{nxend}\\ \Lkeyword{xLabels} & list & \{\Lcs{empty}\} & \pageref{xLabels}\\ \Lkeyword{xlabelFactor} & anything & \{\Lcs{@empty}\} & \pageref{labelfactor}\\ +\Lkeyword{xlabelOffset} & length & 0 & \pageref{labelOffset}\\ \Lkeyword{xlabelPos} & \Lkeyval{bottom},\Lkeyval{axis},\Lkeyval{top} & \Lkeyval{bottom} & \pageref{labelpos}\\ \Lkeyword{xlogBase} & integer or empty & \{\} & \pageref{xlogbase}\\ @@ -1093,6 +1082,7 @@ redefinition, then do it for \Lcs{pst@@@hlabel} and \Lkeyword{yEnd} & integer or empty & \{\} & \pageref{ystartend}\\ \Lkeyword{yLabels} & list & \{\Lcs{empty}\} & \pageref{xLabels}\\ \Lkeyword{ylabelFactor} & literal & \{\Lcs{empty}\} & \pageref{labelfactor}\\ +\Lkeyword{ylabelOffset} & length & 0 & \pageref{labelOffset}\\ \Lkeyword{ylabelPos} & \Lkeyval{left}|\Lkeyval{axis}|\Lkeyval{right} & \Lkeyval{left} & \pageref{labelpos}\\ \Lkeyword{ylogBase} & integer or empty & \{\} & \pageref{ylogbase}\\ @@ -1129,6 +1119,35 @@ redefinition, then do it for \Lcs{pst@@@hlabel} and \end{LTXexample} The values for \Lkeyword{xlabelsep} and \Lkeyword{ylabelsep} are taken into account. + +\subsection{Option \nxLkeyword{xLabelOffset} and \nxLkeyword{ylabelOffset}}\label{labelOffset} + + +\begin{LTXexample}[width=7cm] +\psset{xAxisLabel=,yAxisLabel=, + llx=-5mm,urx=1cm,lly=-5mm, + mathLabel=false,xlabelsep=-5pt, + xLabels={A,b,C,d,E,f}} +\begin{psgraph}{->}(5,2){6cm}{2cm} +\end{psgraph} +\end{LTXexample} + +\xLkeyword{xlabelOffset}\xLkeyword{xLabels}\xLkeyword{xlabelsep}\xLkeyword{mathLabel} +\begin{LTXexample}[width=7cm] +\psset{xAxisLabel=,yAxisLabel=, + llx=-5mm,urx=1cm,lly=-5mm, + mathLabel=false,xlabelsep=-5pt, + xLabels={,A,b,C,d,E}, + xlabelOffset=-0.5, + ylabelOffset=0.5} +\begin{psgraph}{->}(5,2){6cm}{2cm} +\end{psgraph} +\end{LTXexample} + + + + + %------------------------------------------------------------------------------------ \subsection{Option \nxLkeyword{yMaxValue} and \nxLkeyword{yMinValue}}\label{yMaxValue} %------------------------------------------------------------------------------------ @@ -1142,8 +1161,7 @@ two arguments \Lkeyword{yMaxValue} and \Lkeyword{yMinValue} can be set. - -\begingroup +\begin{lstlisting} \begin{pspicture}(-6.5,-6)(6.5,7.5) \multido{\rA=-4.71239+\psPiH}{7}{% \psline[linecolor=black!20,linestyle=dashed](\rA,-5.5)(\rA,6.5)} @@ -1151,15 +1169,16 @@ be set. \psaxes[trigLabelBase=2,dx=\psPiH,xunit=\psPi,trigLabels] {->}(0,0)(-1.7,-5.5)(1.77,6.5)[$x$,0][$y$,-90] \psclip{\psframe[linestyle=none](-4.55,-5.5)(5.55,6.5)} - \psplot[yMaxValue=6,yMinValue=-5,linewidth=2pt,linecolor=red]{-4.55}{4.55}{(x)/(sin(2*x))} + \psplot[?\ON?yMaxValue=6,yMinValue=-5?\OFF?,linewidth=2pt,linecolor=red]{-4.55}{4.55}{(x)/(sin(2*x))} \endpsclip \psplot[linestyle=dashed,linecolor=blue!30]{-4.8}{4.8}{x} \psplot[linestyle=dashed,linecolor=blue!30]{-4.8}{4.8}{-x} \rput(0,0.5){$\times$} \end{pspicture} -\endgroup +\end{lstlisting} -\begin{lstlisting} + +\begingroup \begin{pspicture}(-6.5,-6)(6.5,7.5) \multido{\rA=-4.71239+\psPiH}{7}{% \psline[linecolor=black!20,linestyle=dashed](\rA,-5.5)(\rA,6.5)} @@ -1167,13 +1186,13 @@ be set. \psaxes[trigLabelBase=2,dx=\psPiH,xunit=\psPi,trigLabels] {->}(0,0)(-1.7,-5.5)(1.77,6.5)[$x$,0][$y$,-90] \psclip{\psframe[linestyle=none](-4.55,-5.5)(5.55,6.5)} - \psplot[?\ON?yMaxValue=6,yMinValue=-5?\OFF?,linewidth=2pt,linecolor=red]{-4.55}{4.55}{(x)/(sin(2*x))} + \psplot[yMaxValue=6,yMinValue=-5,linewidth=2pt,linecolor=red]{-4.55}{4.55}{(x)/(sin(2*x))} \endpsclip \psplot[linestyle=dashed,linecolor=blue!30]{-4.8}{4.8}{x} \psplot[linestyle=dashed,linecolor=blue!30]{-4.8}{4.8}{-x} \rput(0,0.5){$\times$} \end{pspicture} -\end{lstlisting} +\endgroup \begingroup diff --git a/Master/texmf-dist/doc/generic/pst-plot/doc/tugboat01-4.pdf b/Master/texmf-dist/doc/generic/pst-plot/doc/tugboat01-4.pdf Binary files differnew file mode 100644 index 00000000000..eae65d2599b --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-plot/doc/tugboat01-4.pdf diff --git a/Master/texmf-dist/tex/latex/pst-plot/pst-plot.sty b/Master/texmf-dist/doc/generic/pst-plot/latex/pst-plot.sty index e515363d30d..e515363d30d 100644 --- a/Master/texmf-dist/tex/latex/pst-plot/pst-plot.sty +++ b/Master/texmf-dist/doc/generic/pst-plot/latex/pst-plot.sty diff --git a/Master/texmf-dist/doc/generic/pst-plot/pst-plot-doc.pdf b/Master/texmf-dist/doc/generic/pst-plot/pst-plot-doc.pdf Binary files differdeleted file mode 100644 index 49008f441e8..00000000000 --- a/Master/texmf-dist/doc/generic/pst-plot/pst-plot-doc.pdf +++ /dev/null diff --git a/Master/texmf-dist/tex/generic/pst-plot/pst-plot.tex b/Master/texmf-dist/doc/generic/pst-plot/tex/pst-plot.tex index 5389d51c181..111a92abcaa 100644 --- a/Master/texmf-dist/tex/generic/pst-plot/pst-plot.tex +++ b/Master/texmf-dist/doc/generic/pst-plot/tex/pst-plot.tex @@ -1,4 +1,4 @@ -% $Id: pst-plot.tex 802 2013-07-09 20:24:11Z herbert $ +% $Id: pst-plot.tex 817 2013-08-10 14:18:43Z herbert $ %% BEGIN pst-plot.tex %% %% plotting functions and data with PSTricks. @@ -20,8 +20,8 @@ \ifx\PSTFPloaded\endinput\else \input pst-fp.tex \fi \ifx\MultidoLoaded\endinput\else \input multido.tex \fi % -\def\fileversion{1.47} -\def\filedate{2013/07/08} +\def\fileversion{1.48} +\def\filedate{2013/08/10} \message{ v\fileversion, \filedate\space (tvz,hv)} % \edef\TheAtCode{\the\catcode`\@} @@ -2092,8 +2092,8 @@ D\space##1% % % #1:Max/Min in pt from origin; #2:arrow; #3:min; #4:max \def\pst@hlabels#1#2#3#4{% + \kern\psk@xlabelOffset pt% % set the x offset? \ifx\empty\psk@xLabels - \kern\psk@xlabelOffset pt % set the x offset? \ifdim#1=\z@\else% % start from 0 ? \ifx#2\empty\else\advance#1\ifdim#1>\z@-\fi7\pslinewidth\fi% \pst@cnta=#1\relax% % Distance (in sp) to end. @@ -2111,8 +2111,9 @@ D\space##1% \pstFPadd\pst@tempA{1.55}{\pst@tempA} % to prevent rounding errors \edef\pst@tempB{\pst@int{\pst@tempA}} % \divide\pst@cnta\psk@dx\relax% % Number of ticks/labels - \multido{\nA=#3+1}{\pst@tempB}{\uput{\psxlabelsep}[-90]{\pst@xLabelsRot}(\nA,0)%\psxlabelsep) - {\strut\pshlabel{\psPutXLabel{\nA}}}}% + \multido{\iB=#3+1}{\pst@tempB}% + {\uput{\psxlabelsep}[-90]{\pst@xLabelsRot}(\iB,0)%\psxlabelsep) + {\strut\pshlabel{\psPutXLabel{\iB}}}}% \fi% } % Knows \pst@dimb and \pst@cnta @@ -2377,19 +2378,18 @@ D\space##1% \def\psPutXLabel#1{% \global\pst@cnto=0\relax \global\pst@cntp=#1\relax - \expandafter\get@Label\psk@xLabels,\@nil + \expandafter\get@Label\psk@xLabels,,\@nil% } \def\psPutYLabel#1{% \global\pst@cnto=0\relax \global\pst@cntp=#1\relax - \expandafter\get@Label\psk@yLabels,\@nil + \expandafter\get@Label\psk@yLabels,,\@nil% } -\def\get@Label#1,#2\@nil{% - \ifnum\the\pst@cnto=\the\pst@cntp\relax - #1 - \else\global\advance\pst@cnto by \@ne - \expandafter\get@Label#2,\@nil - \fi% +\def\get@Label#1,#2,#3\@nil{% + \ifnum\the\pst@cnto<\the\pst@cntp + \global\advance\pst@cnto by \@ne + \ifx\relax#2\relax\else\expandafter\get@Label#2,#3\@nil\fi% + \else #1\fi% } % \def\psFixpoint{\pst@object{psFixpoint}} diff --git a/Master/texmf-dist/doc/generic/pst-plot/tex/pst-plot97.tex b/Master/texmf-dist/doc/generic/pst-plot/tex/pst-plot97.tex new file mode 100644 index 00000000000..c72ea79624a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-plot/tex/pst-plot97.tex @@ -0,0 +1,642 @@ +%% BEGIN pst-plot.tex +\def\fileversion{0.93a-patch2} +\def\filedate{94/09/19} +%% +%% This is for use with PSTricks v0.93a, but contains several +%% patches for bugs in the pst-plot.tex that was distributed +%% with v0.93a until March 30, 1994. +%% +%% For plots and axes with PSTricks. +%% +%% COPYRIGHT 1993, by Timothy Van Zandt, tvz@Princeton.EDU +%% See pstricks.doc or pstricks.tex for copying restrictions. +%% +%% See the PSTricks read-me file and the User's Guide for documentation. + + +\message{ v\fileversion, \filedate} + +\csname PSTplotLoaded\endcsname +\let\PSTplotLoaded\endinput + +\ifx\PSTricksLoaded\endinput\else + \def\next{\input pstricks97.tex } + \expandafter\next +\fi + +\ifx\MultidoLoaded\endinput\else + \def\next{\input multido.tex } + \expandafter\next +\fi + +\edef\TheAtCode{\the\catcode`\@} +\catcode`\@=11 + +% Using lists of data is optimized for \dataplot and \fileplot +% Here is the tricky part. As each line is read from file, +% we want to ignore trailing delimiters, and convert arbitrary +% strings of non-trailing delimiters to _D_. +% We end up with +% D x1 D y1 D x2 D y2 ... D xn D yn +% +\begingroup +\catcode`\{=13 +\catcode`\}=13 +\catcode`\(=13 +\catcode`\)=13 +\catcode`\,=13 +\catcode`\!=1 +\catcode`\*=2 +\catcode`\ =13 +\catcode`\_=13 +\catcode`\^^M=13 +\gdef\pst@datadelimiters!% Begin def +\catcode`\{=13% +\catcode`\}=13% +\catcode`\(=13% +\catcode`\)=13% +\catcode`\,=13% +\catcode`\ =13% +\catcode`\^^M=13% +\def,##1!% +\ifcat\noexpand,\noexpand##1% +\expandafter##1% +\else\space% +D\space##1% +\fi*% +\let(,\let),\let{,\let},\let ,\let^^M,\let_\@empty*% End def +\endgroup +\begingroup +\catcode`\,=13 +\catcode`\_=13 +\gdef\savedata@#1[#2]{% + \xdef\pst@tempg{#2_}% + \endgroup + \let#1\pst@tempg + \global\let\pst@tempg\relax + \ignorespaces} +\gdef\readdata@{% + \read1 to \pst@tempa + \expandafter\readdata@@\pst@tempa_\@nil + \ifeof1\else\expandafter\readdata@\fi} +\gdef\pst@@readfile#1#2\@nil{\addto@pscode{,#1#2}}% +\gdef\readdata@@#1#2\@nil{\xdef\pst@tempg{\pst@tempg,#1#2}}% +\endgroup + +\def\readdata#1#2{% + \openin1=#2 + \begingroup + \def\pst@tempg{}% + \ifeof1 + \@pstrickserr{Data file `#2' not found.}\@ehpa + \else + \pst@datadelimiters + \catcode`\[=1 + \catcode`\]=2 + \readdata@% + \fi + \endgroup + \let#1\pst@tempg + \global\let\pst@tempg\relax + \ignorespaces} + +\def\pst@readfile#1{{\let\readdata@@\pst@@readfile\readdata\pst@tempg{#1}}} +\def\pst@altreadfile#1{% + \openin1=#1 + \ifeof1 + \@pstrickserr{Data file `#1' not found.}\@ehpa + \else + \catcode`\{=10 + \catcode`\}=10 + \catcode`\(=10 + \catcode`\)=10 + \catcode`\,=10 + \catcode`\^^M=10 + \catcode`\[=1 + \catcode`\]=2 + \pst@@altreadfile + \fi} +\def\pst@@altreadfile{% + \read1 to \pst@tempg + \expandafter\pst@@@altreadfile\pst@tempg\@empty\@nil + \ifeof1\else\expandafter\pst@@@altreadfile\fi} +\def\pst@@@altreadfile#1#2\@nil{\addto@pscode{#1#2}}% + +\def\savedata#1{\begingroup\pst@datadelimiters\savedata@{#1}} + +\def\beginplot@line{\begin@OpenObj} +\def\endplot@line{\psline@ii} +\def\beginplot@polygon{\begin@ClosedObj} +\def\endplot@polygon{\pspolygon@ii} +\def\beginplot@curve{\begin@OpenObj} +\def\endplot@curve{\pscurve@ii} +\def\beginplot@ecurve{\begin@OpenObj} +\def\endplot@ecurve{\psecurve@ii} +\def\beginplot@ccurve{\begin@ClosedObj} +\def\endplot@ccurve{\psccurve@ii} +\def\beginplot@dots{\begin@SpecialObj} +\def\endplot@dots{\psdots@ii} +\def\beginplot@bezier{\begin@OpenObj} +\def\endplot@line{\psbezier@ii} +\def\beginplot@cbezier{\begin@ClosedObj} +\def\endplot@cbezier{\pscbezier@ii} + +\def\psset@plotstyle#1{% + \@ifundefined{beginplot@#1}% + {\@pstrickserr{Plot style `#1' not defined}\@eha}% + {\edef\psplotstyle{#1}}} +\psset@plotstyle{line} + +\def\psset@plotpoints#1{% + \pst@cntg=#1\relax + \ifnum\pst@cntg<2 + \@pstrickserr{plotpoints parameter must be at least 2}\@ehpa + \else + \advance\pst@cntg-1 + \edef\psk@plotpoints{\the\pst@cntg\space}% + \fi} +\psset@plotpoints{50} + +% For quick plots, define: +% \beginqp@<foo> : What to do to first point (PS code only). +% \doqp@<foo> : What to do to subsequent points (PS code only). +% \endqp@<foo> : How to end plot. +% \testqp@<foo> : Set \@psttrue if OK to use quick plot. + +\def\beginqp@line{\pst@oplineto} +\def\doqp@line{L } +\def\endqp@line{\end@OpenObj}% +\def\testqp@line{% + \ifdim\pslinearc>\z@\else + \ifshowpoints\else + \ifx\psk@arrowA\@empty + \ifx\psk@arrowB\@empty + \@psttrue + \fi + \fi + \fi + \fi} + +\def\beginqp@polygon{moveto } +\def\doqp@polygon{L } +\def\endqp@polygon{% + \addto@pscode{closepath}% + \end@ClosedObj} +\def\testqp@polygon{% + \ifdim\pslinearc>\z@\else + \ifshowpoints\else + \@psttrue + \fi + \fi} + +\def\beginqp@dots{% + \psk@dotsize + \@nameuse{psds@\psk@dotstyle} + Dot } +\def\doqp@dots{Dot } +\def\endqp@dots{\end@SpecialObj} +\def\testqp@dots{\@psttrue} + +\def\beginqp@bezier{/n 0 def \pst@oplineto} +\def\doqp@bezier{/n n 1 add def n 3 mod 0 eq { curveto } if } +\def\endqp@bezier{% + \addto@pscode{n 3 mod { pop pop } repeat} + \end@OpenObj}% +\def\testqp@bezier{% + \ifshowpoints\else + \ifx\psk@arrowA\@empty + \ifx\psk@arrowB\@empty + \@psttrue + \fi + \fi + \fi} + +\def\beginqp@cbezier{/n 0 def moveto } +\def\doqp@cbezier{\doqp@bezier} +\def\endqp@cbezier{% + \addto@pscode{n 3 mod { pop pop } repeat closepath} + \end@ClosedObj}% +\def\testqp@cbezier{\ifshowpoints\else\@psttrue\fi} + +\def\dataplot{\def\pst@par{}\pst@object{dataplot}} +\def\dataplot@i#1{% + \pst@killglue + \begingroup + \use@par + \@pstfalse + \@nameuse{testqp@\psplotstyle}% + \if@pst + \dataplot@ii{\addto@pscode{#1}}% + \else + \listplot@ii{\addto@pscode{#1}}% + \fi + \endgroup + \ignorespaces} +\def\dataplot@ii#1{% + \@nameuse{beginplot@\psplotstyle}% + \addto@pscode{% + /Dx { \pst@number\psxunit mul /D { Dy } def } def + /Dy { \pst@number\psyunit mul Do /D { Dx } def } def + /D { /D { Dx } def } def + /Do { + \@nameuse{beginqp@\psplotstyle}% + /Do { \@nameuse{doqp@\psplotstyle}} def + } def}% + #1% + \addto@pscode{D}% + \@nameuse{endqp@\psplotstyle}} + +\def\fileplot{\def\pst@par{}\pst@object{fileplot}} +\def\fileplot@i#1{% + \pst@killglue + \begingroup + \use@par + \@pstfalse + \@nameuse{testqp@\psplotstyle}% + \if@pst + \dataplot@ii{\pst@readfile{#1}}% + \else + \listplot@ii{\pst@altreadfile{#1}}% + \fi + \endgroup + \ignorespaces} + +\pst@def{ScalePoints}<% + /y ED /x ED + counttomark dup dup cvi eq not { exch pop } if + /m exch def /n m 2 div cvi def + n { y mul m 1 roll x mul m 1 roll /m m 2 sub def } repeat> + +\def\listplot{\def\pst@par{}\pst@object{listplot}} +\def\listplot@i#1{\listplot@ii{\addto@pscode{#1}}} +\def\listplot@ii#1{% + \@nameuse{beginplot@\psplotstyle}% + \addto@pscode{/D {} def mark}% + #1% + \addto@pscode{\pst@number\psxunit \pst@number\psyunit \tx@ScalePoints}% + \@nameuse{endplot@\psplotstyle}} + +% \psplot + +\def\psplotinit#1{\xdef\psplot@init{#1 }} +\def\psplot@init{} + +\def\psplot{\def\pst@par{}\pst@object{psplot}} +\def\psplot@i#1#2#3{% + \pst@killglue + \begingroup + \use@par + \@nameuse{beginplot@\psplotstyle}% + \addto@pscode{% + \psplot@init + /x #1 def + /x1 #2 def + /dx x1 x sub \psk@plotpoints div def + /xy { + x \pst@number\psxunit mul + #3 \pst@number\psyunit mul + } def}% + \gdef\psplot@init{}% + \@pstfalse + \@nameuse{testqp@\psplotstyle}% + \if@pst + \psplot@ii + \else + \psplot@iii + \fi + \endgroup + \ignorespaces} +\def\psplot@ii{% + \addto@pscode{% + xy \@nameuse{beginqp@\psplotstyle} + \psk@plotpoints 1 sub { + /x x dx add def + xy \@nameuse{doqp@\psplotstyle} + } repeat + /x x1 def + xy \@nameuse{doqp@\psplotstyle}}% + \@nameuse{endqp@\psplotstyle}} +\def\psplot@iii{% + \addto@pscode{% + mark + /n 2 def + \psk@plotpoints { + xy + n 2 roll + /n n 2 add def + /x x dx add def + } repeat + /x x1 def + xy + n 2 roll}% + \@nameuse{endplot@\psplotstyle}} + +\def\parametricplot{\def\pst@par{}\pst@object{parametricplot}} +\def\parametricplot@i#1#2#3{% + \pst@killglue + \begingroup + \use@par + \@nameuse{beginplot@\psplotstyle}% + \addto@pscode{% + \psplot@init + /t #1 def + /t1 #2 def + /dt t1 t sub \psk@plotpoints div def + /xy { + #3 + \pst@number\psyunit mul exch + \pst@number\psxunit mul exch + } def}% + \gdef\psplot@init{}% + \@pstfalse + \@nameuse{testqp@\psplotstyle}% + \if@pst + \parametricplot@ii + \else + \parametricplot@iii + \fi + \endgroup + \ignorespaces} +\def\parametricplot@ii{% + \addto@pscode{% + xy \@nameuse{beginqp@\psplotstyle} + \psk@plotpoints 1 sub { + /t t dt add def + xy \@nameuse{doqp@\psplotstyle} + } repeat + /t t1 def + xy \@nameuse{doqp@\psplotstyle}}% + \@nameuse{endqp@\psplotstyle}} +\def\parametricplot@iii{% + \addto@pscode{% + mark + /n 2 def + \psk@plotpoints { + xy + n 2 roll + /n n 2 add def + /t t dt add def + } repeat + /t t1 def + xy + n 2 roll}% + \@nameuse{endplot@\psplotstyle}} + +% These axes macros are complicated. Be careful. + +% \pst@ticks{angle}{dx}{n}{int} +% int=1 if ticks appear on top of axes, 0 otherwise. +\def\pst@ticks#1#2#3#4{% + \begin@SpecialObj + \addto@pscode{% + #1 rotate + /n #3 def + /dx #2 def + n 0 lt { /dx dx neg def /n n neg def } if + /y2 \psk@ticksize CLW 2 div add def + /y1 y2 neg def + \ifnum\psk@tickstyle=1 + \ifdim#4<\z@ /y2 \else /y1 \fi 0 def + \else + \ifnum\psk@tickstyle=-1 + \ifdim#4<\z@ /y1 \else /y2 \fi 0 def + \fi + \fi + /x dx def + n { x y1 moveto x y2 lineto stroke /x x dx add def } repeat}% + \end@SpecialObj} + + +\def\psset@ticksize#1{\pst@getlength{#1}\psk@ticksize} +\psset@ticksize{3pt} + +\def\psset@tickstyle#1{\pst@expandafter\psset@@tickstyle{#1}\@nil} +\def\psset@@tickstyle#1#2\@nil{% + \ifx#1f\let\psk@tickstyle\z@\else + \ifx#1t\let\psk@tickstyle\@ne\else + \ifx#1b\let\psk@tickstyle\m@ne\else + \@pstrickserr{Bad tick style: `#1#2'}\@ehpa + \fi\fi\fi} +\psset@tickstyle{full} + +\def\psset@ticks#1{\pst@expandafter\psset@@ticks{#1}\@nil\psk@ticks} +\def\psset@@ticks#1#2\@nil#3{% + \ifx#1a\let#3\z@\else + \ifx#1x\let#3\@ne\else + \ifx#1y\let#3\tw@\else + \ifx#1n\let#3\thr@@\else + \@pstrickserr{Bad argument: `#1#2'}\@ehpa + \fi\fi\fi\fi} +\psset@ticks{all} + +\def\psset@labels#1{\pst@expandafter\psset@@ticks{#1}\@nil\psk@labels} +\psset@labels{all} + +\def\psset@Ox#1{\edef\psk@Ox{#1}} +\psset@Ox{0} +\def\psset@Dx#1{\edef\psk@Dx{#1}} +\psset@Dx{1} +\def\psset@dx#1{% + \pssetxlength\pst@dimg{#1}% + \edef\psk@dx{\number\pst@dimg}} +\psset@dx{0} + +\def\psset@Oy#1{\edef\psk@Oy{#1}} +\psset@Oy{0} +\def\psset@Dy#1{\edef\psk@Dy{#1}} +\psset@Dy{1} +\def\psset@dy#1{% + \pssetylength\pst@dimg{#1}% + \edef\psk@dy{\number\pst@dimg}} +\psset@dy{0} + +\newif\ifshoworigin +\def\psset@showorigin#1{\@nameuse{showorigin#1}} +\psset@showorigin{true} + + +\def\psaxes{\def\pst@par{}\pst@object{psaxes}} +\def\psaxes@i{\pst@getarrows\psaxes@ii} +\def\psaxes@ii(#1){\@ifnextchar({\psaxes@iii(#1)}{\psaxes@iv(0,0)(0,0)(#1)}} +\def\psaxes@iii(#1)(#2){% + \@ifnextchar(% + {\psaxes@iv(#1)(#2)}% + {\psaxes@iv(#1)(#1)(#2)}} +\def\psaxes@iv(#1,#2)(#3,#4)(#5,#6){% + \setbox\pst@hbox=\hbox\bgroup + \use@par + \pssetxlength\pst@dimg{#1}% o-x + \pssetylength\pst@dimh{#2}% o-y + \pssetxlength\pst@dima{#3}% bl-x + \pssetylength\pst@dimb{#4}% bl-y + \pssetxlength\pst@dimc{#5}% ur-x + \pssetylength\pst@dimd{#6}% ur-y +% Whole thing will be translated to origin: + \advance\pst@dima-\pst@dimg % Dist. from bl-x to o-x + \advance\pst@dimb-\pst@dimh % Dist. from bl-y to o-y + \advance\pst@dimc-\pst@dimg % Dist. from ur-x to o-x + \advance\pst@dimd-\pst@dimh % Dist. from ur-y to o-y +% Make lines/arrows or frame: + \@nameuse{psxs@\psk@axesstyle}% +% "\pslabelsep" should be from the edge of the axis. + \advance\pslabelsep.5\pslinewidth +% Now the ticks and labels. Start by checking for "\multido". +% !!Need to fix this so that does nothing when there are 0 ticks.!! + \begingroup + \ifdim\pst@dimb=\z@\else\showoriginfalse\fi + \ifnum\psk@dx=\z@ + \pst@dimg=\psk@Dx\psxunit + \edef\psk@dx{\number\pst@dimg}% + \fi + \ifnum\psk@ticks<\tw@ + \ifnum\psk@tickstyle>\z@\else + \advance\pslabelsep\psk@ticksize\p@ + \fi + \fi + \pst@hlabels\pst@dimc\psk@arrowB + \pst@hlabels\pst@dima\psk@arrowA + \endgroup + \begingroup + \ifdim\pst@dima=\z@\else\showoriginfalse\fi + \ifnum\psk@dy=\z@ + \pst@dimg=\psk@Dy\psyunit + \edef\psk@dy{\number\pst@dimg}% + \fi + \ifodd\psk@ticks\else + \ifnum\psk@tickstyle>\z@\else + \advance\pslabelsep\psk@ticksize\p@ + \fi + \fi + \pst@vlabels\pst@dimd\psk@arrowB + \pst@vlabels\pst@dimb\psk@arrowA + \endgroup +% Now close "\pst@hbox" (which is 0-dimensional), and put it at the origin. + \egroup + \pssetxlength\pst@dimg{#1}% + \pssetylength\pst@dimh{#2}% + \leavevmode\psput@cartesian\pst@hbox + \ignorespaces} + +\def\psxs@axes{% + \psxs@@axes\pst@dima\pst@dimc{}% + \psxs@@axes\pst@dimb\pst@dimd{exch}} +\def\psxs@@axes#1#2#3{% + \begin@SpecialObj + \ifdim#1=\z@ + \def\psk@arrowA{C}% + \else + \ifdim#2=\z@ + \def\psk@arrowB{C}% + \fi + \fi + \let\pst@linetype\pst@arrowtype + \pst@addarrowdef + \addto@pscode{% + \pst@number#2 0 #3 + \pst@number#1 0 #3 + ArrowA + CP 4 2 roll + ArrowB + L + pop pop}% + \pst@stroke + \end@SpecialObj} + +\def\psxs@frame{% + \begin@SpecialObj + \addto@pscode{% + 0 0 moveto \pst@number\pst@dimc 0 L + 0 \pst@number\pst@dimd 2 copy rlineto L closepath}% + \pst@stroke + \pst@fill + \end@SpecialObj + \let\psk@arrowA\@empty + \let\psk@arrowB\@empty} + +\def\psset@axesstyle#1{% + \@ifundefined{psxs@#1}% + {\@pstrickserr{Axes style `#1' not defined}\@eha}% + {\edef\psk@axesstyle{#1}}} +\psset@axesstyle{axes} +\def\psxs@none{\let\psk@arrowA\@empty\let\psk@arrowB\@empty} + +% The origin is never the only label. +\def\pst@hlabels#1#2{% + \ifdim#1=\z@\else + \ifx#2\empty\else + \advance#1\ifdim#1>\z@-\fi7\pslinewidth + \fi + \pst@cnta=#1\relax % Distance (in sp) to end. + \divide\pst@cnta\psk@dx\relax % Number of ticks/labels + \ifnum\pst@cnta=\z@\else + \pst@dimb=\psk@dx sp % Space between ticks. + \ifnum\psk@ticks<\tw@ + \pst@ticks{0}{\pst@number\pst@dimb}{\the\pst@cnta}{\pst@dimd}% + \fi + \ifnum\psk@labels<\tw@ \pst@@hlabels\fi + \showoriginfalse + \fi + \fi} + +% Knows \pst@dimb and \pst@cnta +\def\pst@@hlabels{% + \vbox to\z@{% + \ifdim\pst@dimd>\z@\vskip\pslabelsep\else\vss\fi + \ifnum\pst@cnta<\z@ + \pst@dimb=-\pst@dimb + \fi + \hbox to\z@{% + \ifshoworigin\hbox to \z@{\hss\pshlabel{\psk@Ox}\hss}\fi + \mmultido + {\n=\psk@Ox+\psk@Dx}% + {\pst@cnta}% + {\hskip\pst@dimb\hbox to \z@{\hss\pshlabel{\n}\hss}}% + \hss}% + \ifdim\pst@dimd>\z@\vss\else\vskip\pslabelsep\fi}}% + +\def\pshlabel#1{$#1$} + +\def\pst@vlabels#1#2{% + \ifdim#1=\z@\else + \ifx#2\empty\else + \advance#1\ifdim#1>\z@-\fi7\pslinewidth + \fi + \pst@cnta=#1\relax % Distance (in sp) to end. + \divide\pst@cnta\psk@dy\relax % Number of ticks/labels + \ifnum\pst@cnta=\z@\else + \pst@dima=\psk@dy sp % Space between ticks. + \ifodd\psk@ticks\else + \pst@ticks{90}{\pst@number\pst@dima}{\the\pst@cnta}{-\pst@dimc}% + \fi + \ifodd\psk@labels\else\pst@@vlabels\fi + \showoriginfalse + \fi + \fi} + +% Knows \pst@dima and \pst@cnta +\def\pst@@vlabels{% + \vbox to\z@{% + \ifnum\pst@cnta>\z@ + \pst@dima=-\pst@dima + \fi + \offinterlineskip + \ifshoworigin + \vbox to \z@{\vss\hbox to\z@{% + \ifdim\pst@dimc>\z@\hss\else\hskip\pslabelsep\fi + \psvlabel{\psk@Oy}% + \ifdim\pst@dimc>\z@\hskip\pslabelsep\else\hss\fi}\vss}% + \fi + \mmultido + {\n=\psk@Oy+\psk@Dy}% + {\pst@cnta}% + {\vbox to\pst@dima{\vss}\vbox to \z@{\vss\hbox to\z@{% + \ifdim\pst@dimc>\z@\hss\else\hskip\pslabelsep\fi + \psvlabel{\n}% + \ifdim\pst@dimc>\z@\hskip\pslabelsep\else\hss\fi}\vss}}% + \vss}} + +\def\psvlabel#1{$#1$} + +\catcode`\@=\TheAtCode\relax +\endinput +%% pst-plot.tex diff --git a/Master/texmf-dist/source/generic/pst-plot/Makefile b/Master/texmf-dist/source/generic/pst-plot/Makefile deleted file mode 100644 index 3fcfc3fedf8..00000000000 --- a/Master/texmf-dist/source/generic/pst-plot/Makefile +++ /dev/null @@ -1,86 +0,0 @@ - -# `Makefile' for `pst-plot-doc.pdf', hv, 2010/01/22 - -.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps - -PACKAGE = pst-plot - -MAIN = $(PACKAGE)-doc - -LATEX = latex - -ARCHNAME = $(MAIN)-$(shell date +%y%m%d) - -ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile - -TDS = ~/PSTricks/PSTricks-TDS - -all : doc clean -#tds - -doc: $(MAIN).pdf - -$(MAIN).pdf : $(MAIN).ps - GS_OPTIONS="-dAutoRotatePages=/None -dNoSafer" ps2pdf $< -# echo "\documentclass[a4paper]{article}" > temp.tex -# echo "\usepackage{pdfpages}" >> temp.tex -# echo "\begin{document}" >> temp.tex -# echo "\includepdf[pages=1-5]{pst-plot-doc}" >> temp.tex -# echo "\includepdf[pages=25-29]{../pstricks/doc/pstricks-doc}" >> temp.tex -# echo "\includepdf[pages=6-]{pst-plot-doc}" >> temp.tex -# echo "\end{document}" >> temp.tex -# pdflatex temp -# mv temp.pdf pst-plot-doc.pdf - -$(MAIN).ps : $(MAIN).dvi - dvips $< - -$(MAIN).dvi : $(MAIN).tex - $(LATEX) $< - $(LATEX) $< - if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi - if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi - makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \ - $(basename $<).glo - makeindex -s pst-doc.ist -t $(basename $<).ilg -o $(basename $<).ind \ - $(basename $<).idx - bibtex $(basename $<) - $(LATEX) $< - $(LATEX) $< - -clean : - $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out ) - $(RM) $(addprefix $(MAIN), .dvi .ps .blg .bbl ) - rm *.data -# rm temp* - -veryclean : clean - $(RM) $(addprefix $(MAIN), .pdf .bbl .blg) - -arch : - zip $(ARCHNAME).zip $(ARCHFILES) - -tds: - cp -u *.sty ~/Links/texmf-local-latex/$(PACKAGE)/ -# - cp -u Changes $(TDS)/doc/generic/$(PACKAGE)/ - cp -u README $(TDS)/doc/generic/$(PACKAGE)/ - cp -u $(MAIN).pdf $(TDS)/doc/generic/$(PACKAGE)/ -# - cp -u Changes $(TDS)/tex/latex/$(PACKAGE)/ - cp -u $(PACKAGE).sty $(TDS)/tex/latex/$(PACKAGE)/ -# - cp -u Changes $(TDS)/tex/generic/$(PACKAGE)/ - cp -u $(PACKAGE).tex $(TDS)/tex/generic/$(PACKAGE)/ - cp -u $(PACKAGE)97.tex $(TDS)/tex/generic/$(PACKAGE)/ -# -# cp -u Changes $(TDS)/dvips/$(PACKAGE)/ -# cp -u $(PACKAGE).pro $(TDS)/dvips/$(PACKAGE)/ -# - cp -u Changes $(TDS)/source/$(PACKAGE)/ - cp -u $(MAIN).tex $(TDS)/source/$(PACKAGE)/ - cp -u $(MAIN).bib $(TDS)/source/$(PACKAGE)/ - cp -u Makefile $(TDS)/source/$(PACKAGE)/ - - -# EOF |