TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

To my understanding of the documentation, the scope block should transform all coordinates. However, in the following example, only circles themselves are scaled, but not their centers: black circles are without yscale, red ones are with yscale=.5, and are centered at the same points (a), (b):

rendering of the pdf

What is the problem? Am I misunderstanding the docs?

        \coordinate (a) at (0,0);
        \coordinate (b) at (0,1);
        \draw (a) circle (.5);
        \draw (b) circle (.5);
            \draw (a) circle (.5);
            \draw (b) circle (.5);
share|improve this question
It's normal : (a) and (b) are defined before the scope – Alain Matthes Dec 16 '11 at 15:21
up vote 4 down vote accepted

As Altermundus has already commented, the nodes are defined before the scope. When you are saying (a) it references an actual node, that has a position. Therefore the transformation matrix is not applied to it, that would basically mean the node would have to be moved. The transformation matrix is applied to newly created coordinates. If you were to create the nodes inside of the scope and then refer to them outside of the scope, they would not be moved either.

share|improve this answer

You can add the transformation in the node reference to change node coordinates:

\draw ([yscale=.5] a) circle (.5);
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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