```
\documentclass{article}

\usepackage{tikz}

\begin{document}

% DOES NOT WORK
%\tikz \foreach \p in {1,2,...,3} \draw (\p,0) ellipse (\p and 1);

%WORKS
\tikz \foreach \p in {1,2,...,3} \draw (\p,0) ellipse (1 and \p);

\end{document}

```

`(1 and \p)` works but `(\p and 1)` does not, why?
['https://tex.stackexchange.com/questions/13124', 'https://tex.stackexchange.com', 'https://tex.stackexchange.com/users/2099/']
Spaces after TeX commands are ignored, thus by using `\p and 1` you'll get an equivalent of, say, `1and 1`, which you can verify to give the same error. Therefore we just need to restore the space:

```
\tikz \foreach \p in {1,2,...,3} \draw (\p,0) ellipse (\p{} and 1);

```

Note that, as Jake mentions, this syntax is deprecated (refer to the [TikZ manual](http://ctan.org/pkg/pgf)).
```
\documentclass{article}    
\usepackage{tikz}    
\begin{document}    
\tikz \foreach \p in {1,2,...,3} \draw (\p,0) ellipse (\p cm and 1 cm);   
\tikz \foreach \p in {1,2,...,3} \draw (\p,0) ellipse (1 cm and \p cm);    
\end{document}

```

problem with the parser, I suppose ! and the remark of Jake is fine, better now it's to use `x radius` and `y radius`