From 7be84a697eb5391a0974c23fc8dc82413a8c7631 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 6 Feb 2014 23:26:05 +0000 Subject: pst-func (4feb14) git-svn-id: svn://tug.org/texlive/trunk@32892 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/pst-func/Changes | 1 + Master/texmf-dist/doc/generic/pst-func/README | 2 +- .../doc/generic/pst-func/pst-func-doc.pdf | Bin 3369725 -> 3381609 bytes .../doc/generic/pst-func/pst-func-doc.tex | 31 ++++++-- Master/texmf-dist/source/generic/pst-func/Makefile | 87 +++++++++++++++++++++ .../texmf-dist/tex/generic/pst-func/pst-func.tex | 32 ++++++-- Master/tlpkg/libexec/ctan2tds | 86 ++++++++++---------- 7 files changed, 182 insertions(+), 57 deletions(-) create mode 100644 Master/texmf-dist/source/generic/pst-func/Makefile diff --git a/Master/texmf-dist/doc/generic/pst-func/Changes b/Master/texmf-dist/doc/generic/pst-func/Changes index 14637921791..f3204955d54 100644 --- a/Master/texmf-dist/doc/generic/pst-func/Changes +++ b/Master/texmf-dist/doc/generic/pst-func/Changes @@ -1,4 +1,5 @@ ..... pst-func.tex +0.78 2014-02-03 - added \psWeierstrass as original defined 0.77 2014-02-01 - added \psWeierstrass 0.76 2012-01-13 - modifications to \psImpPlot 0.75 2012-01-01 - moved \psPrintValue into pst-tools diff --git a/Master/texmf-dist/doc/generic/pst-func/README b/Master/texmf-dist/doc/generic/pst-func/README index 11083f2897c..71046634ac5 100644 --- a/Master/texmf-dist/doc/generic/pst-func/README +++ b/Master/texmf-dist/doc/generic/pst-func/README @@ -22,7 +22,7 @@ pst-func: plotting special mathematical functions: -- psWeibull for Weibull distribution -- psLame (Lam\`e\ Curve -- a superellipse) -- psThomae (popcorn function) --- psWeierstrass +-- psWeierstrass (original and modified) -- psplotImp (plotting implicit defined functions) -- psVolume (rotating f(x) around the x-axis) -- psPrintValue diff --git a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf index 11513d64057..f64f846dca8 100644 Binary files a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf and b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex index 2aec2a646d3..e582a82e4ea 100644 --- a/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-func/pst-func-doc.tex @@ -1,4 +1,4 @@ -%% $Id: pst-func-doc.tex 884 2014-02-01 17:09:26Z herbert $ +%% $Id: pst-func-doc.tex 890 2014-02-02 15:47:16Z herbert $ \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false, smallheadings, headexclude,footexclude,oneside]{pst-doc} \usepackage[utf8]{inputenc} @@ -1627,17 +1627,38 @@ everywhere but differentiable nowhere. % \begin{BDef} -\Lcs{psWeierstrass}\OptArgs\Largr{$x_0,x_1$}\Largb{a} +\Lcs{psWeierstrass}\OptArgs\Largr{$x_0,x_1$}\OptArg*{\Largs{a}}\Largb{a/b} \end{BDef} +Without the optional argument the mandatory one is $a$, otherwise it is $b$ and +the optional one $a$. Without setting the optional argument \Lkeyword{epsilon} the value +of 1.e-8 will be used. + + \begin{LTXexample}[width=6.5cm,wide=false] \psset{yunit=10,xunit=5} \begin{pspicture}(-0.1,-0.5)(2.1,0.5) -\psaxes[Dx=0.2,Dy=0.1,ticksize=-4pt 0, +\psaxes[Dx=0.2,Dy=0.1,ticksize=-2pt 0, labelFontSize=\scriptstyle]{->}(0,0)(0,-0.5)(2.1,0.5) \psWeierstrass[linecolor=red](0,2){2} -\psWeierstrass[linecolor=green](0,2){3} -\psWeierstrass[linecolor=blue](0,2){4} +\psWeierstrass[linecolor=green,epsilon=1.e-15](0,2){3} +\psWeierstrass[linecolor=blue,epsilon=1.e-5](0,2){4} +\end{pspicture} +\end{LTXexample} + + +The original Weierstraß function can be used with the optional argument: +\[ f(x)= \sum_{n=0}^\infty a^n \cos(b^n \pi x) \] + + + +\begin{LTXexample}[width=6.5cm,wide=false] +\psset{unit=2cm,linewidth=0.5pt,plotpoints=5000} +\begin{pspicture}(-2.1,-2.1)(2.1,2.1) +\psaxes[Dx=0.5,Dy=0.5,ticksize=-2pt 0, + labelFontSize=\scriptstyle]{->}(0,0)(-2,-2)(2,2) +\psWeierstrass[linecolor=red](-2,2)[0.5]{3} +\psWeierstrass[linecolor=blue!70](-2,2)[0.5]{10} \end{pspicture} \end{LTXexample} diff --git a/Master/texmf-dist/source/generic/pst-func/Makefile b/Master/texmf-dist/source/generic/pst-func/Makefile new file mode 100644 index 00000000000..ef1ca6da6f8 --- /dev/null +++ b/Master/texmf-dist/source/generic/pst-func/Makefile @@ -0,0 +1,87 @@ +# `Makefile' for `pst-func.pdf', hv, 2006/08/11 + +.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps + +PACKAGE = pst-func + +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 ctan +doc: $(MAIN).pdf + +$(MAIN).pdf : $(MAIN).ps + GS_OPTIONS="-dAutoRotatePages=/None -dNOSAFER" ps2pdf $< + +$(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 .bbl .blg .glg .glo .gls .ilg .idx .ind .tmp .toc .out ) + $(RM) $(addprefix $(MAIN), .dvi .ps .xcp) + +veryclean : clean + $(RM) $(addprefix $(MAIN), .pdf .bbl .blg) + +arch : + zip $(ARCHNAME).zip $(ARCHFILES) + +tds: + 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 Changes $(TDS)/dvips/$(PACKAGE)/ + cp -u $(PACKAGE).pro $(TDS)/dvips/$(PACKAGE)/ + cp -u $(PACKAGE).pro ~/Links/dvips-local/ +# + 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)/ + +ctan: + rm -f .ctan/$(PACKAGE)/latex/* + cp -u *.sty .ctan/$(PACKAGE)/latex/ +# cp -u *.cfg .ctan/$(PACKAGE)/latex/ + rm -f .ctan/$(PACKAGE)/tex/* + cp -u $(PACKAGE).tex .ctan/$(PACKAGE)/tex/ +# cp -u $(PACKAGE)97.tex .ctan/$(PACKAGE)/tex/ + cp -u *.pro .ctan/$(PACKAGE)/dvips/ +# cp -u more_docs/psmatrix* .ctan/$(PACKAGE)/doc/ + rm -f .ctan/$(PACKAGE)/doc/* + cp -u $(PACKAGE)-doc.* .ctan/$(PACKAGE)/doc/ +# cp -u more_docs/* .ctan/$(PACKAGE)/doc/ +# rm -fr .ctan/$(PACKAGE)/.svn + cp -u Changes .ctan/$(PACKAGE)/ + cp -u README .ctan/$(PACKAGE)/ + chmod -R a+r .ctan/$(PACKAGE) + + +# EOF diff --git a/Master/texmf-dist/tex/generic/pst-func/pst-func.tex b/Master/texmf-dist/tex/generic/pst-func/pst-func.tex index 3ced97eacaf..743e17c87ea 100644 --- a/Master/texmf-dist/tex/generic/pst-func/pst-func.tex +++ b/Master/texmf-dist/tex/generic/pst-func/pst-func.tex @@ -1,4 +1,4 @@ -%% $Id: pst-func.tex 883 2014-02-01 16:47:25Z herbert $ +%% $Id: pst-func.tex 892 2014-02-03 21:33:38Z herbert $ %% %% This is file `pst-func.tex', %% @@ -30,8 +30,8 @@ % interface to the `xkeyval' package \pst@addfams{pst-func} % -\def\fileversion{0.77} -\def\filedate{2014/02/01} +\def\fileversion{0.78} +\def\filedate{2014/02/03} \message{`PST-func' v\fileversion, \filedate\space (hv)} % \pstheader{pst-func.pro} @@ -43,6 +43,8 @@ \def\ChebyshevU{ tx@FuncDict begin ChebyshevU end } % +\define@key[psset]{pst-func}{epsilon}[1.e-08]{\def\psk@epsilon{#1 }} +\psset[pst-func]{epsilon=1.e-08} \define@key[psset]{pst-func}{xShift}[0]{\def\psk@xShift{#1}} \psset[pst-func]{xShift=0} % @@ -945,19 +947,33 @@ \endgroup\ignorespaces} % \def\psWeierstrass{\pst@object{psWeierstrass}} -\def\psWeierstrass@i(#1,#2)#3{% +\def\psWeierstrass@i(#1,#2){\@ifnextchar[{\psWeierstrass@ii(#1,#2)}{\psWeierstrass@iii(#1,#2)}} +\def\psWeierstrass@ii(#1,#2)[#3]#4{% #1 xStart; #2 xEnd; #3 a; #4 b %% the original definition \addbefore@par{plotpoints=500}% \begin@SpecialObj - \psplot{#1}{#2}{ - /ps@a #3 def + \psplot{#1}{#2}[/ps@a #3 def /ps@b #4 def]{ + /ps@n 0 def + /ps@WS 0 def + { + ps@a ps@n exp ps@b ps@n exp Pi mul x mul RadtoDeg cos mul + dup abs \psk@epsilon gt { ps@WS add /ps@WS ED }{ ps@WS add exit } ifelse + ps@n 1 add /ps@n ED + } loop + }% + \end@SpecialObj +} +\def\psWeierstrass@iii(#1,#2)#3{% #1 xStart; #2 xEnd; #3 a + \addbefore@par{plotpoints=500}% + \begin@SpecialObj + \psplot{#1}{#2}[/ps@a #3 def]{ /ps@k 1 def /ps@WS 0 def { ps@k ps@a exp Pi mul dup x mul RadtoDeg sin exch div - dup abs 1e-8 gt { ps@WS add /ps@WS ED }{ ps@WS add exit } ifelse + dup abs \psk@epsilon gt { ps@WS add /ps@WS ED }{ ps@WS add exit } ifelse ps@k 1 add /ps@k ED } loop - } + }% \end@SpecialObj } % diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index aa889b51ab6..e497f211ea7 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -4134,6 +4134,49 @@ sub MAKEltt { &runjob("$CP * $DEST/doc/ltt"); } +# pstricks packages usually support both plain and latex. +# +sub MAKEpst { + print "\t SPECIAL pst $package starts\n"; + # pst-laboObj.tex and pst-fp.sty need special cases: + $standardtex = qq!^(($package(Obj)?)|pst-fp)\.(tex|sty)!; + $whichformat='generic'; + $whichdocformat='generic'; + $specialsourcefmt{$package}='generic'; + $specialsource{$package} = "Makefile|$standardsource"; + &setup; + &xchdir("$DEST/doc/$whichdocformat/$package"); + &buildfilelist; + + $inspatt=$standardins if ! $inspatt; + &runins($inspatt); + &buildfilelist; + &dosource; + &dotex; + &dotype1; + &killfiles ($standardclean); + &killfiles ($moreclean{$package}, "more") if $moreclean{$package}; + + my @cfg = glob ("$DEST/doc/generic/$package/*cfg"); + @cfg = () if $package eq "pst-pad"; # its showexpl.cfg is for the doc + &mv_with_mkdir (@cfg, "$DEST/tex/latex/$package") if @cfg; + + my @dvips = glob ("dvips/*"); + &mv_with_mkdir (@dvips, "$DEST/dvips/$package") if @dvips; + + my @plain = glob ("tex/*"); + &mv_with_mkdir (@plain, "$DEST/tex/generic/$package") if @plain; + + my @sty = glob ("$DEST/tex/generic/$package/*sty"); + push (@sty, "latex/*") if -d "latex"; # in case the source has a subdir + &mv_with_mkdir (@sty, "$DEST/tex/latex/$package") if @sty; + + &SYSTEM("$MV doc/* .") if -d "doc"; + + my $postaction = $posthook{$package}; + eval ($postaction) if $postaction; +} + sub MAKEpstricks { # move the directories. &xchdir ($packagedir); @@ -4560,49 +4603,6 @@ sub MAKEbeebe { } -# pstricks packages usually support both plain and latex. -# -sub MAKEpst { - print "\t SPECIAL pst $package starts\n"; - # pst-laboObj.tex and pst-fp.sty need special cases: - $standardtex = qq!^(($package(Obj)?)|pst-fp)\.(tex|sty)!; - $whichformat='generic'; - $whichdocformat='generic'; - $specialsourcefmt{$package}='generic'; - $specialsource{$package} = "Makefile|$standardsource"; - &setup; - &xchdir("$DEST/doc/$whichdocformat/$package"); - &buildfilelist; - - $inspatt=$standardins if ! $inspatt; - &runins($inspatt); - &buildfilelist; - &dosource; - &dotex; - &dotype1; - &killfiles ($standardclean); - &killfiles ($moreclean{$package}, "more") if $moreclean{$package}; - - my @cfg = glob ("$DEST/doc/generic/$package/*cfg"); - @cfg = () if $package eq "pst-pad"; # its showexpl.cfg is for the doc - &mv_with_mkdir (@cfg, "$DEST/tex/latex/$package") if @cfg; - - my @dvips = glob ("dvips/*"); - &mv_with_mkdir (@dvips, "$DEST/dvips/$package") if @dvips; - - my @plain = glob ("tex/*"); - &mv_with_mkdir (@plain, "$DEST/tex/generic/$package") if @plain; - - my @sty = glob ("$DEST/tex/generic/$package/*sty"); - push (@sty, "latex/*"); # in case the source has a subdir - &mv_with_mkdir (@sty, "$DEST/tex/latex/$package") if @sty; - - &SYSTEM("$MV doc/* .") if -d "doc"; - - my $postaction = $posthook{$package}; - eval ($postaction) if $postaction; -} - sub MAKEfontinst { &xchdir ($packagedir); &runjob("mkdir -p $DEST/tex/latex/fontinst"); -- cgit v1.2.3