2

The followin code gives this error :

! Argument of \pgfmathrnd@@ has an extra }.
<inserted text> 
                \par 
l.12    }

? 
! Emergency stop.
<inserted text> 
                \par 
l.12    }

!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on bob.log.

Done.

What is wrong ?

\documentclass[tikz]{standalone}
\usetikzlibrary{patterns}

\pgfdeclarepatternformonly{Rnd}
{\pgfpointorigin}{\pgfpoint{.5cm}{.5cm}}
{\pgfpoint{1cm}{1cm}}
{
    \pgfpathcircle{%
        %\pgfpoint{.25cm}{.25cm}}{.4pt}
        \pgfpoint{\pgfmathrnd*.25cm}{\pgfmathrnd*.25cm}}{.4pt}
    \pgfusepath{fill}
}

\begin{document}
\begin{tikzpicture}

\draw[pattern=Rnd] (0,0) rectangle (5,5) ;
\end{tikzpicture}

\end{document}
Tarass
  • 16,912

1 Answers1

3

In this case it is not possible to use the macros \pgfmathrnd, \pgfmathrand or \pgfmathrandom otherwise the result is not in the appropriate form to be parsed. The correct way is to use directly the functions rnd, rand or random:

\pgfpoint{rnd*.25cm}{rnd*.25cm}}{.4pt}