node command while defining a coordinate in TikZ Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Strange behavior in TikZ draw commandWeird diagonal under legends with TikzpictureHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?Help understanding the coordinate system used in tikzWhy do I get an extra white page before my TikZ picture?figure 2 for Crossed Ladders ProblemTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themHow to draw a square and its diagonals with arrows?Include node at end point tikz decorations
How to say that you spent the night with someone, you were only sleeping and nothing else?
Was credit for the black hole image misattributed?
Can a zero nonce be safely used with AES-GCM if the key is random and never used again?
How many things? AとBがふたつ
Determine whether f is a function, an injection, a surjection
What to do with post with dry rot?
Is it possible to ask for a hotel room without minibar/extra services?
Autumning in love
How can players take actions together that are impossible otherwise?
Jazz greats knew nothing of modes. Why are they used to improvise on standards?
Two different pronunciation of "понял"
Can a non-EU citizen traveling with me come with me through the EU passport line?
The following signatures were invalid: EXPKEYSIG 1397BC53640DB551
How should I respond to a player wanting to catch a sword between their hands?
How to rotate it perfectly?
How to politely respond to generic emails requesting a PhD/job in my lab? Without wasting too much time
Is above average number of years spent on PhD considered a red flag in future academia or industry positions?
Is there a service that would inform me whenever a new direct route is scheduled from a given airport?
Geometric mean and geometric standard deviation
What are the performance impacts of 'functional' Rust?
Single author papers against my advisor's will?
Antler Helmet: Can it work?
Area of a 2D convex hull
Can I throw a longsword at someone?
node command while defining a coordinate in TikZ
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Strange behavior in TikZ draw commandWeird diagonal under legends with TikzpictureHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?Help understanding the coordinate system used in tikzWhy do I get an extra white page before my TikZ picture?figure 2 for Crossed Ladders ProblemTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themHow to draw a square and its diagonals with arrows?Include node at end point tikz decorations
This question is related to Strange behavior in TikZ draw command but is not the same.
While working with coordinates
and nodes
in TikZ, I was expecting that:
coordinate (x) at (4,0) node[right] $x$;
coordinate (y) at (0,3) node[above] $y$;
and
node[right] at (x) $x$;
node[above] at (y) $y$;
would yield the same result. But they don't. I get the following output:
With coordinate (x) at (4,0) node[right] $x$;
, I meant, the system will create a node at (4,0)
and will place the text $x$
to its right.
Based on the output, I see the text $x$
is placed at (0,0)
, with the above command.
Why does this happen.
MWE:
documentclassarticle
usepackagetikz
usetikzlibraryintersections
begindocument
begintikzpicture
coordinate (x) at (4,0) node[right] $x$;
coordinate (y) at (0,3) node[above] $y$;
node[right] at (x) $x$;
node[above] at (y) $y$;
draw[<->,thick] (0,3) |- (4,0);
endtikzpicture
enddocument
tikz-pgf
add a comment |
This question is related to Strange behavior in TikZ draw command but is not the same.
While working with coordinates
and nodes
in TikZ, I was expecting that:
coordinate (x) at (4,0) node[right] $x$;
coordinate (y) at (0,3) node[above] $y$;
and
node[right] at (x) $x$;
node[above] at (y) $y$;
would yield the same result. But they don't. I get the following output:
With coordinate (x) at (4,0) node[right] $x$;
, I meant, the system will create a node at (4,0)
and will place the text $x$
to its right.
Based on the output, I see the text $x$
is placed at (0,0)
, with the above command.
Why does this happen.
MWE:
documentclassarticle
usepackagetikz
usetikzlibraryintersections
begindocument
begintikzpicture
coordinate (x) at (4,0) node[right] $x$;
coordinate (y) at (0,3) node[above] $y$;
node[right] at (x) $x$;
node[above] at (y) $y$;
draw[<->,thick] (0,3) |- (4,0);
endtikzpicture
enddocument
tikz-pgf
1
Why would they? Trypath (x) node[right] $x$;path (y) node[above] $y$;
. If you give TikZ contradicting instructions, or place the instructions in the wrong order, you will get an unexpected result. BTW, you expect answerers to provide you with a full MWE, i.e. a document that starts withdocumentclass
etc. Could you please consider also using such an MWE in your question?
– marmot
Mar 25 at 16:53
@marmot - I have added the MWE.
– subham soni
Mar 25 at 16:59
A trick to solve all these mysteries: just adddraw
option to the nodes, and you will probably see the difference.
– JouleV
Mar 25 at 17:02
@JouleV - That would still not explain why it happens. I am more interested in the why part.
– subham soni
Mar 25 at 17:07
1
The "why part" is simply that incoordinate (x) at (4,0) node[right] $x$;
theat (4,0)
gets eaten up bycoordinate (x) at
and then TikZ "sees"node[right] $x$
and inserts the default coordinate(0,0)
to parse it.
– marmot
Mar 25 at 18:51
add a comment |
This question is related to Strange behavior in TikZ draw command but is not the same.
While working with coordinates
and nodes
in TikZ, I was expecting that:
coordinate (x) at (4,0) node[right] $x$;
coordinate (y) at (0,3) node[above] $y$;
and
node[right] at (x) $x$;
node[above] at (y) $y$;
would yield the same result. But they don't. I get the following output:
With coordinate (x) at (4,0) node[right] $x$;
, I meant, the system will create a node at (4,0)
and will place the text $x$
to its right.
Based on the output, I see the text $x$
is placed at (0,0)
, with the above command.
Why does this happen.
MWE:
documentclassarticle
usepackagetikz
usetikzlibraryintersections
begindocument
begintikzpicture
coordinate (x) at (4,0) node[right] $x$;
coordinate (y) at (0,3) node[above] $y$;
node[right] at (x) $x$;
node[above] at (y) $y$;
draw[<->,thick] (0,3) |- (4,0);
endtikzpicture
enddocument
tikz-pgf
This question is related to Strange behavior in TikZ draw command but is not the same.
While working with coordinates
and nodes
in TikZ, I was expecting that:
coordinate (x) at (4,0) node[right] $x$;
coordinate (y) at (0,3) node[above] $y$;
and
node[right] at (x) $x$;
node[above] at (y) $y$;
would yield the same result. But they don't. I get the following output:
With coordinate (x) at (4,0) node[right] $x$;
, I meant, the system will create a node at (4,0)
and will place the text $x$
to its right.
Based on the output, I see the text $x$
is placed at (0,0)
, with the above command.
Why does this happen.
MWE:
documentclassarticle
usepackagetikz
usetikzlibraryintersections
begindocument
begintikzpicture
coordinate (x) at (4,0) node[right] $x$;
coordinate (y) at (0,3) node[above] $y$;
node[right] at (x) $x$;
node[above] at (y) $y$;
draw[<->,thick] (0,3) |- (4,0);
endtikzpicture
enddocument
tikz-pgf
tikz-pgf
edited Mar 25 at 16:59
subham soni
asked Mar 25 at 16:49
subham sonisubham soni
4,99183188
4,99183188
1
Why would they? Trypath (x) node[right] $x$;path (y) node[above] $y$;
. If you give TikZ contradicting instructions, or place the instructions in the wrong order, you will get an unexpected result. BTW, you expect answerers to provide you with a full MWE, i.e. a document that starts withdocumentclass
etc. Could you please consider also using such an MWE in your question?
– marmot
Mar 25 at 16:53
@marmot - I have added the MWE.
– subham soni
Mar 25 at 16:59
A trick to solve all these mysteries: just adddraw
option to the nodes, and you will probably see the difference.
– JouleV
Mar 25 at 17:02
@JouleV - That would still not explain why it happens. I am more interested in the why part.
– subham soni
Mar 25 at 17:07
1
The "why part" is simply that incoordinate (x) at (4,0) node[right] $x$;
theat (4,0)
gets eaten up bycoordinate (x) at
and then TikZ "sees"node[right] $x$
and inserts the default coordinate(0,0)
to parse it.
– marmot
Mar 25 at 18:51
add a comment |
1
Why would they? Trypath (x) node[right] $x$;path (y) node[above] $y$;
. If you give TikZ contradicting instructions, or place the instructions in the wrong order, you will get an unexpected result. BTW, you expect answerers to provide you with a full MWE, i.e. a document that starts withdocumentclass
etc. Could you please consider also using such an MWE in your question?
– marmot
Mar 25 at 16:53
@marmot - I have added the MWE.
– subham soni
Mar 25 at 16:59
A trick to solve all these mysteries: just adddraw
option to the nodes, and you will probably see the difference.
– JouleV
Mar 25 at 17:02
@JouleV - That would still not explain why it happens. I am more interested in the why part.
– subham soni
Mar 25 at 17:07
1
The "why part" is simply that incoordinate (x) at (4,0) node[right] $x$;
theat (4,0)
gets eaten up bycoordinate (x) at
and then TikZ "sees"node[right] $x$
and inserts the default coordinate(0,0)
to parse it.
– marmot
Mar 25 at 18:51
1
1
Why would they? Try
path (x) node[right] $x$;path (y) node[above] $y$;
. If you give TikZ contradicting instructions, or place the instructions in the wrong order, you will get an unexpected result. BTW, you expect answerers to provide you with a full MWE, i.e. a document that starts with documentclass
etc. Could you please consider also using such an MWE in your question?– marmot
Mar 25 at 16:53
Why would they? Try
path (x) node[right] $x$;path (y) node[above] $y$;
. If you give TikZ contradicting instructions, or place the instructions in the wrong order, you will get an unexpected result. BTW, you expect answerers to provide you with a full MWE, i.e. a document that starts with documentclass
etc. Could you please consider also using such an MWE in your question?– marmot
Mar 25 at 16:53
@marmot - I have added the MWE.
– subham soni
Mar 25 at 16:59
@marmot - I have added the MWE.
– subham soni
Mar 25 at 16:59
A trick to solve all these mysteries: just add
draw
option to the nodes, and you will probably see the difference.– JouleV
Mar 25 at 17:02
A trick to solve all these mysteries: just add
draw
option to the nodes, and you will probably see the difference.– JouleV
Mar 25 at 17:02
@JouleV - That would still not explain why it happens. I am more interested in the why part.
– subham soni
Mar 25 at 17:07
@JouleV - That would still not explain why it happens. I am more interested in the why part.
– subham soni
Mar 25 at 17:07
1
1
The "why part" is simply that in
coordinate (x) at (4,0) node[right] $x$;
the at (4,0)
gets eaten up by coordinate (x) at
and then TikZ "sees" node[right] $x$
and inserts the default coordinate (0,0)
to parse it.– marmot
Mar 25 at 18:51
The "why part" is simply that in
coordinate (x) at (4,0) node[right] $x$;
the at (4,0)
gets eaten up by coordinate (x) at
and then TikZ "sees" node[right] $x$
and inserts the default coordinate (0,0)
to parse it.– marmot
Mar 25 at 18:51
add a comment |
3 Answers
3
active
oldest
votes
It doesn't give you the expected result because the syntax is not appropriate. (At which level do you expect an explanation? Does it help that in coordinate (x) at (4,0) node[right] $x$;
at (4,0)
got "absorbed" by coordinate (x)
so that TikZ adds the default coordinate (0,0)
to interpret node[right] $x$
?) You can condense all statements to one line.
documentclass[tikz,border=3.14mm]standalone
begindocument
begintikzpicture
draw[<->,thick] (0,3) coordinate (y) node[above] $y$ |- (4,0) coordinate (x) node[right] $x$;
endtikzpicture
enddocument
Nice explanation. I want to notice that your "one line" can further be simplified todraw[<->,thick] (0,3) |- (4,0) node[right] $x$ node[at start,above] $y$;
since the coordinates (x) and (y) seems to be redundant for further purposes (IMHO). But I know you know that fact (you know everything about TikZ).
– Marian G.
Mar 27 at 19:10
@MarianG. Thanks, I fully agree with that. I was not sure if the OP wants to do something with the coordinates later on, at least their names suggest something likebeginscope[x=(x),y=(y)]
, so I kept them.
– marmot
Mar 27 at 20:06
add a comment |
In section 17.2.1 of the TikZ manual, the commands for such works are shown:
path ... node ...
(1.1)
ornode ...
(1.2)path ... coordinate ...
(2.1)
orcoordinate ...
(2.2)
coordinate ... node ...
are not present for the same job! In fact, sincecoordinate
is the same aspath coordinate
socoordinate (x) at (4,0) node[right] $x$;
is understood aspath coordinate (x) at (4,0); % or `coordinate (x) at (4,0);
path node[right] $x$; % (0,0) in case no coordinates are specified
This makes the outputs of coordinate (x) at (4,0) node[right] $x$;
and node[right] at (x) $x$;
not the same at all.
That is why we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
coordinate (x) at (2,0) node[draw,right] world;
fill (x) circle (1pt)
(0,0) circle (1pt);
endtikzpicture
enddocument
and we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
node[draw] (x) at (2,0) Hello node[draw,right] world;
fill (0,0) circle (1pt);
endtikzpicture
enddocument
So how to solve it? We can't combine (2.2) or (1.2) with ... node ...
, but we can do it with (1.1) or (2.1):
path (4,0) coordinate (x) node[right] $x$;
Remember that draw
, fill
, filldraw
... are all daughters of path
, so they are all valid. But node
and coordinate
are not – they are less general versions of path
..
I found this using the draw
powerful trick :)
@Kpym Thanks! Edited.
– JouleV
Mar 26 at 11:54
add a comment |
try the following:
documentclassarticle
usepackagetikz
%usetikzlibraryintersections not used in this mwe
begindocument
begintikzpicture
coordinate[label=right:$x$] (x) at (4,0);
coordinate[label=above:$y$] (y) at (0,3);
draw[<->,thick] (y) |- (x);
endtikzpicture
enddocument
addendum:
as response to Martin Argerami coments below my answer, who is convinced that my answer not address op problem (and consequently he apparently down vote it, for what i'm very grateful. his message is very clear: don't show people some possible solution for which they not explicit ask). however let me note some my view on the problem:
- in answer i only suggest to see if my suggestion can help to op
- it solve the problem of placement of coordinate labels (in this is all about it, isn't it?)
- if the answer is not helpful, op can select one from other two answers as the best one and accept it.
- to be strict to Martins' consideration, that he should down vote many other answers, which try show another possibility to achieve op goal (nice picture, table, etc) or is written as exercise (personal or for op) ...
- on the end, i'm still convinced, that my answer not harm anyone, it only show another way how to draw coordinates shown in op mwe. is this worth for down voting it?
1
I don't see how this answers the question.
– Martin Argerami
Mar 27 at 15:15
is image not enough illustrative? the problem in question is avoided with use ofcoordinate
instead of nodes which also make code shorter.
– Zarko
Mar 27 at 15:25
The OP knows how to draw the image. The question was why his second set of commands didn't put the x and y where he expected them. That's an issue with tikz syntax, and it is addressed by the other answers.
– Martin Argerami
Mar 27 at 16:49
well, why than complain on my answer? if op doesn't like mine solution, (in which i show an alternative, to my opinion better solution for his/her problem) (s)he can accept one of other two answers.
– Zarko
Mar 27 at 17:26
I didn't complain; I stated that it doesn't address OP's question. If OP doesn't like your solution he can choose another answer. If I don't like you solution, I can downvote it. And I can certainly comment that your answer doesn't address OP's question.
– Martin Argerami
Mar 27 at 17:57
|
show 2 more comments
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',
autoActivateHeartbeat: false,
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f481386%2fnode-command-while-defining-a-coordinate-in-tikz%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
It doesn't give you the expected result because the syntax is not appropriate. (At which level do you expect an explanation? Does it help that in coordinate (x) at (4,0) node[right] $x$;
at (4,0)
got "absorbed" by coordinate (x)
so that TikZ adds the default coordinate (0,0)
to interpret node[right] $x$
?) You can condense all statements to one line.
documentclass[tikz,border=3.14mm]standalone
begindocument
begintikzpicture
draw[<->,thick] (0,3) coordinate (y) node[above] $y$ |- (4,0) coordinate (x) node[right] $x$;
endtikzpicture
enddocument
Nice explanation. I want to notice that your "one line" can further be simplified todraw[<->,thick] (0,3) |- (4,0) node[right] $x$ node[at start,above] $y$;
since the coordinates (x) and (y) seems to be redundant for further purposes (IMHO). But I know you know that fact (you know everything about TikZ).
– Marian G.
Mar 27 at 19:10
@MarianG. Thanks, I fully agree with that. I was not sure if the OP wants to do something with the coordinates later on, at least their names suggest something likebeginscope[x=(x),y=(y)]
, so I kept them.
– marmot
Mar 27 at 20:06
add a comment |
It doesn't give you the expected result because the syntax is not appropriate. (At which level do you expect an explanation? Does it help that in coordinate (x) at (4,0) node[right] $x$;
at (4,0)
got "absorbed" by coordinate (x)
so that TikZ adds the default coordinate (0,0)
to interpret node[right] $x$
?) You can condense all statements to one line.
documentclass[tikz,border=3.14mm]standalone
begindocument
begintikzpicture
draw[<->,thick] (0,3) coordinate (y) node[above] $y$ |- (4,0) coordinate (x) node[right] $x$;
endtikzpicture
enddocument
Nice explanation. I want to notice that your "one line" can further be simplified todraw[<->,thick] (0,3) |- (4,0) node[right] $x$ node[at start,above] $y$;
since the coordinates (x) and (y) seems to be redundant for further purposes (IMHO). But I know you know that fact (you know everything about TikZ).
– Marian G.
Mar 27 at 19:10
@MarianG. Thanks, I fully agree with that. I was not sure if the OP wants to do something with the coordinates later on, at least their names suggest something likebeginscope[x=(x),y=(y)]
, so I kept them.
– marmot
Mar 27 at 20:06
add a comment |
It doesn't give you the expected result because the syntax is not appropriate. (At which level do you expect an explanation? Does it help that in coordinate (x) at (4,0) node[right] $x$;
at (4,0)
got "absorbed" by coordinate (x)
so that TikZ adds the default coordinate (0,0)
to interpret node[right] $x$
?) You can condense all statements to one line.
documentclass[tikz,border=3.14mm]standalone
begindocument
begintikzpicture
draw[<->,thick] (0,3) coordinate (y) node[above] $y$ |- (4,0) coordinate (x) node[right] $x$;
endtikzpicture
enddocument
It doesn't give you the expected result because the syntax is not appropriate. (At which level do you expect an explanation? Does it help that in coordinate (x) at (4,0) node[right] $x$;
at (4,0)
got "absorbed" by coordinate (x)
so that TikZ adds the default coordinate (0,0)
to interpret node[right] $x$
?) You can condense all statements to one line.
documentclass[tikz,border=3.14mm]standalone
begindocument
begintikzpicture
draw[<->,thick] (0,3) coordinate (y) node[above] $y$ |- (4,0) coordinate (x) node[right] $x$;
endtikzpicture
enddocument
answered Mar 25 at 17:14
marmotmarmot
118k6151284
118k6151284
Nice explanation. I want to notice that your "one line" can further be simplified todraw[<->,thick] (0,3) |- (4,0) node[right] $x$ node[at start,above] $y$;
since the coordinates (x) and (y) seems to be redundant for further purposes (IMHO). But I know you know that fact (you know everything about TikZ).
– Marian G.
Mar 27 at 19:10
@MarianG. Thanks, I fully agree with that. I was not sure if the OP wants to do something with the coordinates later on, at least their names suggest something likebeginscope[x=(x),y=(y)]
, so I kept them.
– marmot
Mar 27 at 20:06
add a comment |
Nice explanation. I want to notice that your "one line" can further be simplified todraw[<->,thick] (0,3) |- (4,0) node[right] $x$ node[at start,above] $y$;
since the coordinates (x) and (y) seems to be redundant for further purposes (IMHO). But I know you know that fact (you know everything about TikZ).
– Marian G.
Mar 27 at 19:10
@MarianG. Thanks, I fully agree with that. I was not sure if the OP wants to do something with the coordinates later on, at least their names suggest something likebeginscope[x=(x),y=(y)]
, so I kept them.
– marmot
Mar 27 at 20:06
Nice explanation. I want to notice that your "one line" can further be simplified to
draw[<->,thick] (0,3) |- (4,0) node[right] $x$ node[at start,above] $y$;
since the coordinates (x) and (y) seems to be redundant for further purposes (IMHO). But I know you know that fact (you know everything about TikZ).– Marian G.
Mar 27 at 19:10
Nice explanation. I want to notice that your "one line" can further be simplified to
draw[<->,thick] (0,3) |- (4,0) node[right] $x$ node[at start,above] $y$;
since the coordinates (x) and (y) seems to be redundant for further purposes (IMHO). But I know you know that fact (you know everything about TikZ).– Marian G.
Mar 27 at 19:10
@MarianG. Thanks, I fully agree with that. I was not sure if the OP wants to do something with the coordinates later on, at least their names suggest something like
beginscope[x=(x),y=(y)]
, so I kept them.– marmot
Mar 27 at 20:06
@MarianG. Thanks, I fully agree with that. I was not sure if the OP wants to do something with the coordinates later on, at least their names suggest something like
beginscope[x=(x),y=(y)]
, so I kept them.– marmot
Mar 27 at 20:06
add a comment |
In section 17.2.1 of the TikZ manual, the commands for such works are shown:
path ... node ...
(1.1)
ornode ...
(1.2)path ... coordinate ...
(2.1)
orcoordinate ...
(2.2)
coordinate ... node ...
are not present for the same job! In fact, sincecoordinate
is the same aspath coordinate
socoordinate (x) at (4,0) node[right] $x$;
is understood aspath coordinate (x) at (4,0); % or `coordinate (x) at (4,0);
path node[right] $x$; % (0,0) in case no coordinates are specified
This makes the outputs of coordinate (x) at (4,0) node[right] $x$;
and node[right] at (x) $x$;
not the same at all.
That is why we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
coordinate (x) at (2,0) node[draw,right] world;
fill (x) circle (1pt)
(0,0) circle (1pt);
endtikzpicture
enddocument
and we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
node[draw] (x) at (2,0) Hello node[draw,right] world;
fill (0,0) circle (1pt);
endtikzpicture
enddocument
So how to solve it? We can't combine (2.2) or (1.2) with ... node ...
, but we can do it with (1.1) or (2.1):
path (4,0) coordinate (x) node[right] $x$;
Remember that draw
, fill
, filldraw
... are all daughters of path
, so they are all valid. But node
and coordinate
are not – they are less general versions of path
..
I found this using the draw
powerful trick :)
@Kpym Thanks! Edited.
– JouleV
Mar 26 at 11:54
add a comment |
In section 17.2.1 of the TikZ manual, the commands for such works are shown:
path ... node ...
(1.1)
ornode ...
(1.2)path ... coordinate ...
(2.1)
orcoordinate ...
(2.2)
coordinate ... node ...
are not present for the same job! In fact, sincecoordinate
is the same aspath coordinate
socoordinate (x) at (4,0) node[right] $x$;
is understood aspath coordinate (x) at (4,0); % or `coordinate (x) at (4,0);
path node[right] $x$; % (0,0) in case no coordinates are specified
This makes the outputs of coordinate (x) at (4,0) node[right] $x$;
and node[right] at (x) $x$;
not the same at all.
That is why we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
coordinate (x) at (2,0) node[draw,right] world;
fill (x) circle (1pt)
(0,0) circle (1pt);
endtikzpicture
enddocument
and we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
node[draw] (x) at (2,0) Hello node[draw,right] world;
fill (0,0) circle (1pt);
endtikzpicture
enddocument
So how to solve it? We can't combine (2.2) or (1.2) with ... node ...
, but we can do it with (1.1) or (2.1):
path (4,0) coordinate (x) node[right] $x$;
Remember that draw
, fill
, filldraw
... are all daughters of path
, so they are all valid. But node
and coordinate
are not – they are less general versions of path
..
I found this using the draw
powerful trick :)
@Kpym Thanks! Edited.
– JouleV
Mar 26 at 11:54
add a comment |
In section 17.2.1 of the TikZ manual, the commands for such works are shown:
path ... node ...
(1.1)
ornode ...
(1.2)path ... coordinate ...
(2.1)
orcoordinate ...
(2.2)
coordinate ... node ...
are not present for the same job! In fact, sincecoordinate
is the same aspath coordinate
socoordinate (x) at (4,0) node[right] $x$;
is understood aspath coordinate (x) at (4,0); % or `coordinate (x) at (4,0);
path node[right] $x$; % (0,0) in case no coordinates are specified
This makes the outputs of coordinate (x) at (4,0) node[right] $x$;
and node[right] at (x) $x$;
not the same at all.
That is why we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
coordinate (x) at (2,0) node[draw,right] world;
fill (x) circle (1pt)
(0,0) circle (1pt);
endtikzpicture
enddocument
and we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
node[draw] (x) at (2,0) Hello node[draw,right] world;
fill (0,0) circle (1pt);
endtikzpicture
enddocument
So how to solve it? We can't combine (2.2) or (1.2) with ... node ...
, but we can do it with (1.1) or (2.1):
path (4,0) coordinate (x) node[right] $x$;
Remember that draw
, fill
, filldraw
... are all daughters of path
, so they are all valid. But node
and coordinate
are not – they are less general versions of path
..
I found this using the draw
powerful trick :)
In section 17.2.1 of the TikZ manual, the commands for such works are shown:
path ... node ...
(1.1)
ornode ...
(1.2)path ... coordinate ...
(2.1)
orcoordinate ...
(2.2)
coordinate ... node ...
are not present for the same job! In fact, sincecoordinate
is the same aspath coordinate
socoordinate (x) at (4,0) node[right] $x$;
is understood aspath coordinate (x) at (4,0); % or `coordinate (x) at (4,0);
path node[right] $x$; % (0,0) in case no coordinates are specified
This makes the outputs of coordinate (x) at (4,0) node[right] $x$;
and node[right] at (x) $x$;
not the same at all.
That is why we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
coordinate (x) at (2,0) node[draw,right] world;
fill (x) circle (1pt)
(0,0) circle (1pt);
endtikzpicture
enddocument
and we get
with this code
documentclass[tikz]standalone
begindocument
begintikzpicture
node[draw] (x) at (2,0) Hello node[draw,right] world;
fill (0,0) circle (1pt);
endtikzpicture
enddocument
So how to solve it? We can't combine (2.2) or (1.2) with ... node ...
, but we can do it with (1.1) or (2.1):
path (4,0) coordinate (x) node[right] $x$;
Remember that draw
, fill
, filldraw
... are all daughters of path
, so they are all valid. But node
and coordinate
are not – they are less general versions of path
..
I found this using the draw
powerful trick :)
edited Mar 28 at 14:55
answered Mar 25 at 17:15
JouleVJouleV
13.4k22663
13.4k22663
@Kpym Thanks! Edited.
– JouleV
Mar 26 at 11:54
add a comment |
@Kpym Thanks! Edited.
– JouleV
Mar 26 at 11:54
@Kpym Thanks! Edited.
– JouleV
Mar 26 at 11:54
@Kpym Thanks! Edited.
– JouleV
Mar 26 at 11:54
add a comment |
try the following:
documentclassarticle
usepackagetikz
%usetikzlibraryintersections not used in this mwe
begindocument
begintikzpicture
coordinate[label=right:$x$] (x) at (4,0);
coordinate[label=above:$y$] (y) at (0,3);
draw[<->,thick] (y) |- (x);
endtikzpicture
enddocument
addendum:
as response to Martin Argerami coments below my answer, who is convinced that my answer not address op problem (and consequently he apparently down vote it, for what i'm very grateful. his message is very clear: don't show people some possible solution for which they not explicit ask). however let me note some my view on the problem:
- in answer i only suggest to see if my suggestion can help to op
- it solve the problem of placement of coordinate labels (in this is all about it, isn't it?)
- if the answer is not helpful, op can select one from other two answers as the best one and accept it.
- to be strict to Martins' consideration, that he should down vote many other answers, which try show another possibility to achieve op goal (nice picture, table, etc) or is written as exercise (personal or for op) ...
- on the end, i'm still convinced, that my answer not harm anyone, it only show another way how to draw coordinates shown in op mwe. is this worth for down voting it?
1
I don't see how this answers the question.
– Martin Argerami
Mar 27 at 15:15
is image not enough illustrative? the problem in question is avoided with use ofcoordinate
instead of nodes which also make code shorter.
– Zarko
Mar 27 at 15:25
The OP knows how to draw the image. The question was why his second set of commands didn't put the x and y where he expected them. That's an issue with tikz syntax, and it is addressed by the other answers.
– Martin Argerami
Mar 27 at 16:49
well, why than complain on my answer? if op doesn't like mine solution, (in which i show an alternative, to my opinion better solution for his/her problem) (s)he can accept one of other two answers.
– Zarko
Mar 27 at 17:26
I didn't complain; I stated that it doesn't address OP's question. If OP doesn't like your solution he can choose another answer. If I don't like you solution, I can downvote it. And I can certainly comment that your answer doesn't address OP's question.
– Martin Argerami
Mar 27 at 17:57
|
show 2 more comments
try the following:
documentclassarticle
usepackagetikz
%usetikzlibraryintersections not used in this mwe
begindocument
begintikzpicture
coordinate[label=right:$x$] (x) at (4,0);
coordinate[label=above:$y$] (y) at (0,3);
draw[<->,thick] (y) |- (x);
endtikzpicture
enddocument
addendum:
as response to Martin Argerami coments below my answer, who is convinced that my answer not address op problem (and consequently he apparently down vote it, for what i'm very grateful. his message is very clear: don't show people some possible solution for which they not explicit ask). however let me note some my view on the problem:
- in answer i only suggest to see if my suggestion can help to op
- it solve the problem of placement of coordinate labels (in this is all about it, isn't it?)
- if the answer is not helpful, op can select one from other two answers as the best one and accept it.
- to be strict to Martins' consideration, that he should down vote many other answers, which try show another possibility to achieve op goal (nice picture, table, etc) or is written as exercise (personal or for op) ...
- on the end, i'm still convinced, that my answer not harm anyone, it only show another way how to draw coordinates shown in op mwe. is this worth for down voting it?
1
I don't see how this answers the question.
– Martin Argerami
Mar 27 at 15:15
is image not enough illustrative? the problem in question is avoided with use ofcoordinate
instead of nodes which also make code shorter.
– Zarko
Mar 27 at 15:25
The OP knows how to draw the image. The question was why his second set of commands didn't put the x and y where he expected them. That's an issue with tikz syntax, and it is addressed by the other answers.
– Martin Argerami
Mar 27 at 16:49
well, why than complain on my answer? if op doesn't like mine solution, (in which i show an alternative, to my opinion better solution for his/her problem) (s)he can accept one of other two answers.
– Zarko
Mar 27 at 17:26
I didn't complain; I stated that it doesn't address OP's question. If OP doesn't like your solution he can choose another answer. If I don't like you solution, I can downvote it. And I can certainly comment that your answer doesn't address OP's question.
– Martin Argerami
Mar 27 at 17:57
|
show 2 more comments
try the following:
documentclassarticle
usepackagetikz
%usetikzlibraryintersections not used in this mwe
begindocument
begintikzpicture
coordinate[label=right:$x$] (x) at (4,0);
coordinate[label=above:$y$] (y) at (0,3);
draw[<->,thick] (y) |- (x);
endtikzpicture
enddocument
addendum:
as response to Martin Argerami coments below my answer, who is convinced that my answer not address op problem (and consequently he apparently down vote it, for what i'm very grateful. his message is very clear: don't show people some possible solution for which they not explicit ask). however let me note some my view on the problem:
- in answer i only suggest to see if my suggestion can help to op
- it solve the problem of placement of coordinate labels (in this is all about it, isn't it?)
- if the answer is not helpful, op can select one from other two answers as the best one and accept it.
- to be strict to Martins' consideration, that he should down vote many other answers, which try show another possibility to achieve op goal (nice picture, table, etc) or is written as exercise (personal or for op) ...
- on the end, i'm still convinced, that my answer not harm anyone, it only show another way how to draw coordinates shown in op mwe. is this worth for down voting it?
try the following:
documentclassarticle
usepackagetikz
%usetikzlibraryintersections not used in this mwe
begindocument
begintikzpicture
coordinate[label=right:$x$] (x) at (4,0);
coordinate[label=above:$y$] (y) at (0,3);
draw[<->,thick] (y) |- (x);
endtikzpicture
enddocument
addendum:
as response to Martin Argerami coments below my answer, who is convinced that my answer not address op problem (and consequently he apparently down vote it, for what i'm very grateful. his message is very clear: don't show people some possible solution for which they not explicit ask). however let me note some my view on the problem:
- in answer i only suggest to see if my suggestion can help to op
- it solve the problem of placement of coordinate labels (in this is all about it, isn't it?)
- if the answer is not helpful, op can select one from other two answers as the best one and accept it.
- to be strict to Martins' consideration, that he should down vote many other answers, which try show another possibility to achieve op goal (nice picture, table, etc) or is written as exercise (personal or for op) ...
- on the end, i'm still convinced, that my answer not harm anyone, it only show another way how to draw coordinates shown in op mwe. is this worth for down voting it?
edited Mar 27 at 18:38
answered Mar 25 at 17:14
ZarkoZarko
130k868169
130k868169
1
I don't see how this answers the question.
– Martin Argerami
Mar 27 at 15:15
is image not enough illustrative? the problem in question is avoided with use ofcoordinate
instead of nodes which also make code shorter.
– Zarko
Mar 27 at 15:25
The OP knows how to draw the image. The question was why his second set of commands didn't put the x and y where he expected them. That's an issue with tikz syntax, and it is addressed by the other answers.
– Martin Argerami
Mar 27 at 16:49
well, why than complain on my answer? if op doesn't like mine solution, (in which i show an alternative, to my opinion better solution for his/her problem) (s)he can accept one of other two answers.
– Zarko
Mar 27 at 17:26
I didn't complain; I stated that it doesn't address OP's question. If OP doesn't like your solution he can choose another answer. If I don't like you solution, I can downvote it. And I can certainly comment that your answer doesn't address OP's question.
– Martin Argerami
Mar 27 at 17:57
|
show 2 more comments
1
I don't see how this answers the question.
– Martin Argerami
Mar 27 at 15:15
is image not enough illustrative? the problem in question is avoided with use ofcoordinate
instead of nodes which also make code shorter.
– Zarko
Mar 27 at 15:25
The OP knows how to draw the image. The question was why his second set of commands didn't put the x and y where he expected them. That's an issue with tikz syntax, and it is addressed by the other answers.
– Martin Argerami
Mar 27 at 16:49
well, why than complain on my answer? if op doesn't like mine solution, (in which i show an alternative, to my opinion better solution for his/her problem) (s)he can accept one of other two answers.
– Zarko
Mar 27 at 17:26
I didn't complain; I stated that it doesn't address OP's question. If OP doesn't like your solution he can choose another answer. If I don't like you solution, I can downvote it. And I can certainly comment that your answer doesn't address OP's question.
– Martin Argerami
Mar 27 at 17:57
1
1
I don't see how this answers the question.
– Martin Argerami
Mar 27 at 15:15
I don't see how this answers the question.
– Martin Argerami
Mar 27 at 15:15
is image not enough illustrative? the problem in question is avoided with use of
coordinate
instead of nodes which also make code shorter.– Zarko
Mar 27 at 15:25
is image not enough illustrative? the problem in question is avoided with use of
coordinate
instead of nodes which also make code shorter.– Zarko
Mar 27 at 15:25
The OP knows how to draw the image. The question was why his second set of commands didn't put the x and y where he expected them. That's an issue with tikz syntax, and it is addressed by the other answers.
– Martin Argerami
Mar 27 at 16:49
The OP knows how to draw the image. The question was why his second set of commands didn't put the x and y where he expected them. That's an issue with tikz syntax, and it is addressed by the other answers.
– Martin Argerami
Mar 27 at 16:49
well, why than complain on my answer? if op doesn't like mine solution, (in which i show an alternative, to my opinion better solution for his/her problem) (s)he can accept one of other two answers.
– Zarko
Mar 27 at 17:26
well, why than complain on my answer? if op doesn't like mine solution, (in which i show an alternative, to my opinion better solution for his/her problem) (s)he can accept one of other two answers.
– Zarko
Mar 27 at 17:26
I didn't complain; I stated that it doesn't address OP's question. If OP doesn't like your solution he can choose another answer. If I don't like you solution, I can downvote it. And I can certainly comment that your answer doesn't address OP's question.
– Martin Argerami
Mar 27 at 17:57
I didn't complain; I stated that it doesn't address OP's question. If OP doesn't like your solution he can choose another answer. If I don't like you solution, I can downvote it. And I can certainly comment that your answer doesn't address OP's question.
– Martin Argerami
Mar 27 at 17:57
|
show 2 more comments
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f481386%2fnode-command-while-defining-a-coordinate-in-tikz%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Why would they? Try
path (x) node[right] $x$;path (y) node[above] $y$;
. If you give TikZ contradicting instructions, or place the instructions in the wrong order, you will get an unexpected result. BTW, you expect answerers to provide you with a full MWE, i.e. a document that starts withdocumentclass
etc. Could you please consider also using such an MWE in your question?– marmot
Mar 25 at 16:53
@marmot - I have added the MWE.
– subham soni
Mar 25 at 16:59
A trick to solve all these mysteries: just add
draw
option to the nodes, and you will probably see the difference.– JouleV
Mar 25 at 17:02
@JouleV - That would still not explain why it happens. I am more interested in the why part.
– subham soni
Mar 25 at 17:07
1
The "why part" is simply that in
coordinate (x) at (4,0) node[right] $x$;
theat (4,0)
gets eaten up bycoordinate (x) at
and then TikZ "sees"node[right] $x$
and inserts the default coordinate(0,0)
to parse it.– marmot
Mar 25 at 18:51