50

As I know, I can draw a circle using:

\draw (1,0) circle (2)

I try this kind of method to draw a \draw ellipse, failed. Would you tell me how to draw a ellipse? What's wrong with the code below?

The code is:

\documentclass{minimal}

\usepackage{tikz}
\usepackage{verbatim}
\begin{document}

% Define the rings. Store them in macros to make things
% more flexible.
 \def\boundellipse {(0,0) ellipse (10,5)}

\begin{tikzpicture}
    % Then we draw the rings
\draw \boundellipse;

\end{tikzpicture}

\end{document} 
8

PSTricks' ellipse syntax might be closer to your requirement. Here it is \psellipse(<centerX, centerY>)(<semi-major-length, semi-minor-length>).

enter image description here

\documentclass[pstricks,border=12pt]{standalone}

\begin{document}
\begin{pspicture}[showgrid=true](8,6)
    \psellipse[linecolor=red](4,3)(4,3)
    \pscircle[linecolor=blue](4,3){2}
\end{pspicture}
\end{document}
122

enter image description here

\documentclass[border=3pt]{standalone}
\usepackage{tikz}

\begin{document}
\tikz \draw (0,0) ellipse (2cm and 1cm);


or

\begin{tikzpicture}
    \draw (0,0) ellipse (2cm and 1cm);
\end{tikzpicture}
\end{document}

EDIT:

\documentclass[border=3pt]{standalone}
\usepackage{tikz}
\def\myellipse{(0,0) ellipse (2cm and 1cm)}


\begin{document}
\tikz \draw \myellipse ;


or

\begin{tikzpicture}
    \draw \myellipse;
\end{tikzpicture}
\end{document}
  • Yes, it did work. Thanks, however if I draw a circle like this way: \def\boundellipse {(0,0) circle(2)} then draw , it can work, why can not ellipse? – sweetyBaby Jul 28 '12 at 12:40
25

The pgfmanual gives \draw (a,b) circle [x radius=1cm, y radius=2cm];

With a macro

\newcommand{\boundellipse}[3]% center, x rad, y rad
{(#1) ellipse [x radius=#2,y radius=#3]
}
  • 2
    +1. A pgfmanual extract: "ellipse has exactly the same effect as circle. The older syntax for this command is ellipse ( x radius and y radius ). As for the circle command, this syntax is not as good as the standard syntax." – Paul Gaborit Jul 28 '12 at 20:46
18

The notion is xdim and ydim, you are using xdim, ydim:

\documentclass{minimal}
\usepackage{tikz}

\begin{document}

\newcommand{\boundellipse}[3]% center, xdim, ydim
{(#1) ellipse (#2 and #3)
}

\begin{tikzpicture}
\draw \boundellipse{0,0}{10}{5};
\draw \boundellipse{4,1}{-2}{4};
\draw \boundellipse{-2,4}{1}{3};

\end{tikzpicture}

\end{document}

enter image description here

6
\documentclass{minimal}
    \usepackage{tikz}
        \begin{document} 
    \begin{tikzpicture}[yscale=2]
     \draw (1,0) circle (2);
     \end{tikzpicture}
    \end{document}

enter image description here

  • 1
    by far the simplest and best answer. – dbliss Aug 24 '17 at 0:37
  • 1
    Why use scale if there's an ellipse function? – Yan King Yin Nov 26 '17 at 14:14
  • why not?................ – Leox Nov 26 '17 at 18:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.