[pstricks] Thomae's Function

Juergen Rose rose at rz.uni-potsdam.de
Sun Jun 8 16:25:33 CEST 2008


On So, 2008-06-08 at 11:19 +0200, Jean-Côme Charpentier wrote:
> Herbert Voss a écrit :
> > sebastian perez schrieb:
> > 
> >> I'd like to know if it is possible to use pstricks to make the graph of Thomae's function
> >>
> >>
> >> http://en.wikipedia.org/wiki/Thomae's_function
> > 
> > 
> > not yet possible
> 
> ... with a direct way. Otherwise, we can cheat :-)
> 
> \documentclass{article}
> \usepackage{pstricks-add}
> \usepackage{multido}
> 
> \makeatletter
> \newcommand\IfRelPrime[4]{%
>   \def\reserved at a{#1}%
>   \def\reserved at b{#2}%
>   \loop\ifnum\reserved at b>0
>     \pst at mod\reserved at a\reserved at b\reserved at c
>     \let\reserved at a\reserved at b
>     \let\reserved at b\reserved at c
>   \repeat
>   \ifnum\reserved at a=1
>     \def\reserved at c{#3}%
>   \else
>     \def\reserved at c{#4}%
>   \fi
>   \reserved at c\ignorespaces
> }
> \makeatother
> 
> \begin{document}
> \begin{center}
>   \psset{unit=4cm,dotsize=1pt 0}
>   \begin{pspicture}(2.5,1.5)
>     \psaxes{->}(0,0)(2.5,1.5)
>     \multido{\ip=1+1}{50}{%
>       \multido{\iq=1+1}{100}{%
>         \unless\ifnum\ip>\numexpr2*\iq % for x \in [0,2]
>           \IfRelPrime{\ip}{\iq}{%
>             \psdots(!\ip\space \iq\space div 1 \iq\space div)
>           }{\relax}
>        \fi
>       }%
>     }%
>   \end{pspicture}
> \end{center}
> \end{document}
> 
> Attention! The two loops can't be extended. For instance, with
> 
>   \multido{\ip=1+1}{80}{%
>     \multido{\iq=1+1}{160}{%
> 
> I obtain a beautiful
> 
> Runaway text?
> " tx at Dict begin STP newpath 0.8 SLW 0  setgray  [ 41 147 div 1 147 di\ETC.
> ! TeX capacity exceeded, sorry [main memory size=1500000].
> \pst at code ...r .5 add exch itransform Dot } repeat
> 
> l.36     }
>           %
> No pages of output.
> 
> I suppose (I'm not sure) that it's working with recursive macro rather
> multido but I'm too lasy to test it :-)
> 
>   Jean-Côme Charpentier
> 
> _______________________________________________
> PSTricks mailing list
> PSTricks at tug.org
> http://tug.org/mailman/listinfo/pstricks


It seems that it works for me with tetex-3.0_p1-r6:

rose at condor:/home/rose/Txt_grizzly/Test/TeX(42)$ latex
thomae_function.tex
This is pdfeTeX, Version 3.141592-1.30.5-2.2 (Web2C 7.5.5)
entering extended mode
(./thomae_function.tex
LaTeX2e <2003/12/01>
Babel <v3.8d> and hyphenation patterns for american, french, german,
ngerman, b
ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch,
esperanto, e
stonian, finnish, greek, icelandic, irish, italian, latin, magyar,
norsk, polis
h, portuges, romanian, russian, serbian, slovak, slovene, spanish,
swedish, tur
kish, ukrainian, nohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2004/02/16 v1.4f Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size10.clo))
(/usr/share/texmf/tex/latex/pstricks/pstricks-add.sty
(/usr/share/texmf/tex/latex/pstricks/pstricks.sty
(/usr/share/texmf/tex/generic/pstricks/pstricks.tex
`PSTricks' v1.04  <2004/06/22> (tvz)
(/usr/share/texmf/tex/generic/pstricks/pstricks.con))
(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
(/usr/share/texmf/tex/latex/graphics/color.cfg)
(/usr/share/texmf/tex/latex/graphics/dvips.def)))
(/usr/share/texmf/tex/generic/pstricks/pstricks-add.tex
(/usr/share/texmf/tex/generic/pstricks/pst-plot.tex  v97 patch 2,
1999/12/12
(/usr/share/texmf/tex/generic/multido/multido.tex  v1.41, 2004/05/18
<tvz>))
(/usr/share/texmf/tex/generic/pstricks/pst-node.tex  v97 patch 11,
2000/11/09)
(/usr/share/texmf/tex/generic/xkeyval/pst-xkey.tex
(/usr/share/texmf/tex/latex/xkeyval/xkeyval.sty
(/usr/share/texmf/tex/generic/xkeyval/xkeyval.tex
(/usr/share/texmf/tex/generic/xkeyval/keyval.tex))))
`pstricks-add' v2.32, 2005/01/16 (hv)))
(/usr/share/texmf/tex/generic/multido/multido.sty)
(./thomae_function.aux)
[1] (./thomae_function.aux) )
Output written on thomae_function.dvi (1 page, 976712 bytes).
Transcript written on thomae_function.log.

and with app-text/texlive-2007-r3 respectively
app-text/texlive-core-2007-r13

rose at grizzly:/home/rose/Txt/Test/TeX(15)$ latex  thomae_function.tex 
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
(./thomae_function.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax,
dumylang, noh
yphenation, basque, german, ngerman, french, loaded.
(/usr/share/texmf-dist/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texmf-dist/tex/latex/pstricks-add/pstricks-add.sty
(/usr/share/texmf-dist/tex/latex/pstricks/pstricks.sty
(/usr/share/texmf-dist/tex/generic/pstricks/pstricks.tex
`PSTricks' v1.15  <2006/12/22> (tvz)
(/usr/share/texmf-dist/tex/generic/pstricks/pstricks.con))
(/usr/share/texmf-site/tex/latex/xcolor/xcolor.sty
(/usr/share/texmf/tex/latex/config/color.cfg)
(/usr/share/texmf-dist/tex/latex/graphics/dvips.def)))
(/usr/share/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex
(/usr/share/texmf-dist/tex/generic/pstricks/pst-plot.tex
 v97 patch 2, 1999/12/12
(/usr/share/texmf-dist/tex/generic/multido/multido.tex
 v1.41, 2004/05/18 <tvz>))
(/usr/share/texmf-dist/tex/generic/pstricks/pst-node.tex
 v97 patch 11, 2000/11/09)
(/usr/share/texmf-dist/tex/latex/xkeyval/pst-xkey.tex
(/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.tex
(/usr/share/texmf-dist/tex/latex/xkeyval/keyval.tex))))
`pstricks-add' v2.82, 2006/11/22 (dr,hv)))
(/usr/share/texmf-dist/tex/generic/multido/multido.sty)
(./thomae_function.aux)
[1] (./thomae_function.aux) )
Output written on thomae_function.dvi (1 page, 979096 bytes).
Transcript written on thomae_function.log.

as well.

Juergen





More information about the PSTricks mailing list