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}
5
  • Section 97.2: \pgfpoint{<x coord>}{<y coord} Yields a point location. The coordinates are given as TeX dimensions.
    – egreg
    Commented Jun 15, 2014 at 17:59
  • I don't understand what it means. By the way, I have no 97.2 section in my pfg 3.00 manual. Witch is the page, please ?
    – Tarass
    Commented Jun 15, 2014 at 18:07
  • You should use the function directly, see my answer in Fill style that looks like hand-drawn / hand-filled with crayon for instance. Commented Jun 15, 2014 at 18:12
  • @ClaudioFiandrino An answer?
    – egreg
    Commented Jan 24, 2015 at 23:09
  • @egreg: It deserves one, indeed. I will answer later in the day. Commented Jan 25, 2015 at 8:41

1 Answer 1

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}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .