Local-scoped coordinate names in tikz?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
7
down vote

favorite












I think I just discovered (!) that coordinates names are global in tikz:



documentclassarticle
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagetikz
begindocument
begintikzpicture[black]
draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
endtikzpicture

begintikzpicture[blue]
draw (alfa) -- (beta);
endtikzpicture

begintikzpicture[red]
beginscope
draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
endscope
endtikzpicture

begintikzpicture[green]
draw (alfa) -- (beta);
endtikzpicture

enddocument


four silly lines



...and I really expected



  1. an error in the second tikzpicture (I am not using remember picture!), and

  2. a (0,0)--(3,0) green line...

So,



  1. am I correct that coordinate names are global to all tikzpictures?


  2. As a bonus question, is it possible to create local coordinate names?










share|improve this question



















  • 1




    +1 I didn't know that either. On page 983 we find this, and I quote: pgfgetlastxymacro for xmacro for y Since (x,y) coordinates are usually assigned globally, it is safe to use this command after path operations
    – AndréC
    7 hours ago














up vote
7
down vote

favorite












I think I just discovered (!) that coordinates names are global in tikz:



documentclassarticle
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagetikz
begindocument
begintikzpicture[black]
draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
endtikzpicture

begintikzpicture[blue]
draw (alfa) -- (beta);
endtikzpicture

begintikzpicture[red]
beginscope
draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
endscope
endtikzpicture

begintikzpicture[green]
draw (alfa) -- (beta);
endtikzpicture

enddocument


four silly lines



...and I really expected



  1. an error in the second tikzpicture (I am not using remember picture!), and

  2. a (0,0)--(3,0) green line...

So,



  1. am I correct that coordinate names are global to all tikzpictures?


  2. As a bonus question, is it possible to create local coordinate names?










share|improve this question



















  • 1




    +1 I didn't know that either. On page 983 we find this, and I quote: pgfgetlastxymacro for xmacro for y Since (x,y) coordinates are usually assigned globally, it is safe to use this command after path operations
    – AndréC
    7 hours ago












up vote
7
down vote

favorite









up vote
7
down vote

favorite











I think I just discovered (!) that coordinates names are global in tikz:



documentclassarticle
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagetikz
begindocument
begintikzpicture[black]
draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
endtikzpicture

begintikzpicture[blue]
draw (alfa) -- (beta);
endtikzpicture

begintikzpicture[red]
beginscope
draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
endscope
endtikzpicture

begintikzpicture[green]
draw (alfa) -- (beta);
endtikzpicture

enddocument


four silly lines



...and I really expected



  1. an error in the second tikzpicture (I am not using remember picture!), and

  2. a (0,0)--(3,0) green line...

So,



  1. am I correct that coordinate names are global to all tikzpictures?


  2. As a bonus question, is it possible to create local coordinate names?










share|improve this question















I think I just discovered (!) that coordinates names are global in tikz:



documentclassarticle
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagetikz
begindocument
begintikzpicture[black]
draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
endtikzpicture

begintikzpicture[blue]
draw (alfa) -- (beta);
endtikzpicture

begintikzpicture[red]
beginscope
draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
endscope
endtikzpicture

begintikzpicture[green]
draw (alfa) -- (beta);
endtikzpicture

enddocument


four silly lines



...and I really expected



  1. an error in the second tikzpicture (I am not using remember picture!), and

  2. a (0,0)--(3,0) green line...

So,



  1. am I correct that coordinate names are global to all tikzpictures?


  2. As a bonus question, is it possible to create local coordinate names?







tikz-pgf






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 8 hours ago

























asked 8 hours ago









Rmano

7,21221647




7,21221647







  • 1




    +1 I didn't know that either. On page 983 we find this, and I quote: pgfgetlastxymacro for xmacro for y Since (x,y) coordinates are usually assigned globally, it is safe to use this command after path operations
    – AndréC
    7 hours ago












  • 1




    +1 I didn't know that either. On page 983 we find this, and I quote: pgfgetlastxymacro for xmacro for y Since (x,y) coordinates are usually assigned globally, it is safe to use this command after path operations
    – AndréC
    7 hours ago







1




1




+1 I didn't know that either. On page 983 we find this, and I quote: pgfgetlastxymacro for xmacro for y Since (x,y) coordinates are usually assigned globally, it is safe to use this command after path operations
– AndréC
7 hours ago




+1 I didn't know that either. On page 983 we find this, and I quote: pgfgetlastxymacro for xmacro for y Since (x,y) coordinates are usually assigned globally, it is safe to use this command after path operations
– AndréC
7 hours ago










1 Answer
1






active

oldest

votes

















up vote
5
down vote



accepted










Yes, I've observed that before. And I think your interpretation is correct, and you can make coordinates "local" by using name prefix.



documentclassarticle
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagetikz
begindocument
begintikzpicture[black]
draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
endtikzpicture

begintikzpicture[blue]
draw (alfa) -- (beta);
endtikzpicture

begintikzpicture[red,name prefix=Rmano]
beginscope
draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
endscope
endtikzpicture

begintikzpicture[green]
draw (alfa) -- (beta);
endtikzpicture

enddocument


enter image description here






share|improve this answer




















  • Ah, name prefix is a nice trick. Thanks!
    – Rmano
    7 hours ago










Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "85"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f459492%2flocal-scoped-coordinate-names-in-tikz%23new-answer', 'question_page');

);

Post as a guest






























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
5
down vote



accepted










Yes, I've observed that before. And I think your interpretation is correct, and you can make coordinates "local" by using name prefix.



documentclassarticle
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagetikz
begindocument
begintikzpicture[black]
draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
endtikzpicture

begintikzpicture[blue]
draw (alfa) -- (beta);
endtikzpicture

begintikzpicture[red,name prefix=Rmano]
beginscope
draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
endscope
endtikzpicture

begintikzpicture[green]
draw (alfa) -- (beta);
endtikzpicture

enddocument


enter image description here






share|improve this answer




















  • Ah, name prefix is a nice trick. Thanks!
    – Rmano
    7 hours ago














up vote
5
down vote



accepted










Yes, I've observed that before. And I think your interpretation is correct, and you can make coordinates "local" by using name prefix.



documentclassarticle
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagetikz
begindocument
begintikzpicture[black]
draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
endtikzpicture

begintikzpicture[blue]
draw (alfa) -- (beta);
endtikzpicture

begintikzpicture[red,name prefix=Rmano]
beginscope
draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
endscope
endtikzpicture

begintikzpicture[green]
draw (alfa) -- (beta);
endtikzpicture

enddocument


enter image description here






share|improve this answer




















  • Ah, name prefix is a nice trick. Thanks!
    – Rmano
    7 hours ago












up vote
5
down vote



accepted







up vote
5
down vote



accepted






Yes, I've observed that before. And I think your interpretation is correct, and you can make coordinates "local" by using name prefix.



documentclassarticle
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagetikz
begindocument
begintikzpicture[black]
draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
endtikzpicture

begintikzpicture[blue]
draw (alfa) -- (beta);
endtikzpicture

begintikzpicture[red,name prefix=Rmano]
beginscope
draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
endscope
endtikzpicture

begintikzpicture[green]
draw (alfa) -- (beta);
endtikzpicture

enddocument


enter image description here






share|improve this answer












Yes, I've observed that before. And I think your interpretation is correct, and you can make coordinates "local" by using name prefix.



documentclassarticle
usepackage[T1]fontenc
usepackage[utf8]inputenc
usepackagetikz
begindocument
begintikzpicture[black]
draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
endtikzpicture

begintikzpicture[blue]
draw (alfa) -- (beta);
endtikzpicture

begintikzpicture[red,name prefix=Rmano]
beginscope
draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
endscope
endtikzpicture

begintikzpicture[green]
draw (alfa) -- (beta);
endtikzpicture

enddocument


enter image description here







share|improve this answer












share|improve this answer



share|improve this answer










answered 7 hours ago









marmot

73.9k480155




73.9k480155











  • Ah, name prefix is a nice trick. Thanks!
    – Rmano
    7 hours ago
















  • Ah, name prefix is a nice trick. Thanks!
    – Rmano
    7 hours ago















Ah, name prefix is a nice trick. Thanks!
– Rmano
7 hours ago




Ah, name prefix is a nice trick. Thanks!
– Rmano
7 hours ago

















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f459492%2flocal-scoped-coordinate-names-in-tikz%23new-answer', 'question_page');

);

Post as a guest













































































Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?