TikZ: How to reverse arrow direction without switching start/end point?
Assumed we have this MWE from user Caramdir:
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows,calc,decorations.markings,decorations.pathmorphing,arrows.meta}
begin{document}
begin{tikzpicture}
draw [domain=0:25.1327,variable=t,smooth,samples=75, -Latex]
plot ({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
I want to reverse the arrow head position, so that the arrow tip is located at the inner end of the spiral and directs to the center.
How to do so?
tikz-pgf arrows tikz-arrows tikz-node
add a comment |
Assumed we have this MWE from user Caramdir:
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows,calc,decorations.markings,decorations.pathmorphing,arrows.meta}
begin{document}
begin{tikzpicture}
draw [domain=0:25.1327,variable=t,smooth,samples=75, -Latex]
plot ({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
I want to reverse the arrow head position, so that the arrow tip is located at the inner end of the spiral and directs to the center.
How to do so?
tikz-pgf arrows tikz-arrows tikz-node
instead-Latex
useLatex-
? however, the result be ugly ....
– Zarko
Mar 30 at 23:29
You just place the arrow in the other end in the options:Latex-
-and then you will need to have a look at: tex.stackexchange.com/questions/176779/…
– hpekristiansen
Mar 30 at 23:29
add a comment |
Assumed we have this MWE from user Caramdir:
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows,calc,decorations.markings,decorations.pathmorphing,arrows.meta}
begin{document}
begin{tikzpicture}
draw [domain=0:25.1327,variable=t,smooth,samples=75, -Latex]
plot ({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
I want to reverse the arrow head position, so that the arrow tip is located at the inner end of the spiral and directs to the center.
How to do so?
tikz-pgf arrows tikz-arrows tikz-node
Assumed we have this MWE from user Caramdir:
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows,calc,decorations.markings,decorations.pathmorphing,arrows.meta}
begin{document}
begin{tikzpicture}
draw [domain=0:25.1327,variable=t,smooth,samples=75, -Latex]
plot ({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
I want to reverse the arrow head position, so that the arrow tip is located at the inner end of the spiral and directs to the center.
How to do so?
tikz-pgf arrows tikz-arrows tikz-node
tikz-pgf arrows tikz-arrows tikz-node
edited Mar 30 at 23:10
Dave
asked Mar 30 at 23:05
DaveDave
1,143619
1,143619
instead-Latex
useLatex-
? however, the result be ugly ....
– Zarko
Mar 30 at 23:29
You just place the arrow in the other end in the options:Latex-
-and then you will need to have a look at: tex.stackexchange.com/questions/176779/…
– hpekristiansen
Mar 30 at 23:29
add a comment |
instead-Latex
useLatex-
? however, the result be ugly ....
– Zarko
Mar 30 at 23:29
You just place the arrow in the other end in the options:Latex-
-and then you will need to have a look at: tex.stackexchange.com/questions/176779/…
– hpekristiansen
Mar 30 at 23:29
instead
-Latex
use Latex-
? however, the result be ugly ....– Zarko
Mar 30 at 23:29
instead
-Latex
use Latex-
? however, the result be ugly ....– Zarko
Mar 30 at 23:29
You just place the arrow in the other end in the options:
Latex-
-and then you will need to have a look at: tex.stackexchange.com/questions/176779/…– hpekristiansen
Mar 30 at 23:29
You just place the arrow in the other end in the options:
Latex-
-and then you will need to have a look at: tex.stackexchange.com/questions/176779/…– hpekristiansen
Mar 30 at 23:29
add a comment |
2 Answers
2
active
oldest
votes
To have arrow's head on opposition side of the spiral curve, you only need to change -Latex
to Latex-
. However result is quite unexpected (read unusable) ...
It might be more acceptable solution to move the arrow head close to the end of the spiral. For this you can exploit the package decorations.markings
:
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta, bending, decorations.markings}
begin{document}
begin{tikzpicture}[
decoration = {markings,mark=at position .84 with
{arrowreversed[black]{Latex[length=1.5mm]}}}
]
draw[postaction={decorate}]
plot[domain=0:25,variable=t,smooth,samples=101,
{Latex[length=1mm]}-]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
It would be great if you could mention that you used the position0.84
because it does not work for much smaller values of the position, e.g.... at position .14 with ...
throws adimension too large
error. In fact, any position below.34
has that problem. And then you may want to add that your proposal is, let's say, strongly inspired by tex.stackexchange.com/a/39282/121799.
– marmot
2 days ago
Dear @marmot, my solution is based on example from page 639, TikZ and PGF manual, v 3.1) . I was not aware for mentioned answer, thank you for pointed me to it. Value0.84
for arrow head position I determined experimentally, according to my taste (that arrow head is approximately below origin of spiral). Your observation about positioning of harrow head is very good!
– Zarko
2 days ago
add a comment |
First of all, I would like to argue that bent arrows look better, also in the original plot. But since the curve becomes singular at 0, this does not immediately work because of dimension too large
errors. However, it does once we approximate the inner-most stretch by an arc.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}[scale=2]
pgfmathsetmacro{myt}{pi}
draw[{Latex[bend,length=2pt]}-]
(0: {0.002*myt*myt})
arc({0}:{180}:{0.002*myt*myt});
draw plot[domain=pi:25.1327,variable=t,samples=75,smooth]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
And here is the original pic with a bent arrow.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}
draw [domain=0:25.1327,variable=t,smooth,samples=75, -{Latex[bend]}]
plot ({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
Note that one should always load bending
when one attaches arrows to curved paths, regardless of whether or not one bends the arrows, since otherwise the paths get distorted. Bending cures the distortion even when not explicitly used.
add a comment |
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%2f482341%2ftikz-how-to-reverse-arrow-direction-without-switching-start-end-point%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
To have arrow's head on opposition side of the spiral curve, you only need to change -Latex
to Latex-
. However result is quite unexpected (read unusable) ...
It might be more acceptable solution to move the arrow head close to the end of the spiral. For this you can exploit the package decorations.markings
:
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta, bending, decorations.markings}
begin{document}
begin{tikzpicture}[
decoration = {markings,mark=at position .84 with
{arrowreversed[black]{Latex[length=1.5mm]}}}
]
draw[postaction={decorate}]
plot[domain=0:25,variable=t,smooth,samples=101,
{Latex[length=1mm]}-]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
It would be great if you could mention that you used the position0.84
because it does not work for much smaller values of the position, e.g.... at position .14 with ...
throws adimension too large
error. In fact, any position below.34
has that problem. And then you may want to add that your proposal is, let's say, strongly inspired by tex.stackexchange.com/a/39282/121799.
– marmot
2 days ago
Dear @marmot, my solution is based on example from page 639, TikZ and PGF manual, v 3.1) . I was not aware for mentioned answer, thank you for pointed me to it. Value0.84
for arrow head position I determined experimentally, according to my taste (that arrow head is approximately below origin of spiral). Your observation about positioning of harrow head is very good!
– Zarko
2 days ago
add a comment |
To have arrow's head on opposition side of the spiral curve, you only need to change -Latex
to Latex-
. However result is quite unexpected (read unusable) ...
It might be more acceptable solution to move the arrow head close to the end of the spiral. For this you can exploit the package decorations.markings
:
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta, bending, decorations.markings}
begin{document}
begin{tikzpicture}[
decoration = {markings,mark=at position .84 with
{arrowreversed[black]{Latex[length=1.5mm]}}}
]
draw[postaction={decorate}]
plot[domain=0:25,variable=t,smooth,samples=101,
{Latex[length=1mm]}-]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
It would be great if you could mention that you used the position0.84
because it does not work for much smaller values of the position, e.g.... at position .14 with ...
throws adimension too large
error. In fact, any position below.34
has that problem. And then you may want to add that your proposal is, let's say, strongly inspired by tex.stackexchange.com/a/39282/121799.
– marmot
2 days ago
Dear @marmot, my solution is based on example from page 639, TikZ and PGF manual, v 3.1) . I was not aware for mentioned answer, thank you for pointed me to it. Value0.84
for arrow head position I determined experimentally, according to my taste (that arrow head is approximately below origin of spiral). Your observation about positioning of harrow head is very good!
– Zarko
2 days ago
add a comment |
To have arrow's head on opposition side of the spiral curve, you only need to change -Latex
to Latex-
. However result is quite unexpected (read unusable) ...
It might be more acceptable solution to move the arrow head close to the end of the spiral. For this you can exploit the package decorations.markings
:
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta, bending, decorations.markings}
begin{document}
begin{tikzpicture}[
decoration = {markings,mark=at position .84 with
{arrowreversed[black]{Latex[length=1.5mm]}}}
]
draw[postaction={decorate}]
plot[domain=0:25,variable=t,smooth,samples=101,
{Latex[length=1mm]}-]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
To have arrow's head on opposition side of the spiral curve, you only need to change -Latex
to Latex-
. However result is quite unexpected (read unusable) ...
It might be more acceptable solution to move the arrow head close to the end of the spiral. For this you can exploit the package decorations.markings
:
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta, bending, decorations.markings}
begin{document}
begin{tikzpicture}[
decoration = {markings,mark=at position .84 with
{arrowreversed[black]{Latex[length=1.5mm]}}}
]
draw[postaction={decorate}]
plot[domain=0:25,variable=t,smooth,samples=101,
{Latex[length=1mm]}-]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
answered Mar 31 at 0:10
ZarkoZarko
129k868169
129k868169
It would be great if you could mention that you used the position0.84
because it does not work for much smaller values of the position, e.g.... at position .14 with ...
throws adimension too large
error. In fact, any position below.34
has that problem. And then you may want to add that your proposal is, let's say, strongly inspired by tex.stackexchange.com/a/39282/121799.
– marmot
2 days ago
Dear @marmot, my solution is based on example from page 639, TikZ and PGF manual, v 3.1) . I was not aware for mentioned answer, thank you for pointed me to it. Value0.84
for arrow head position I determined experimentally, according to my taste (that arrow head is approximately below origin of spiral). Your observation about positioning of harrow head is very good!
– Zarko
2 days ago
add a comment |
It would be great if you could mention that you used the position0.84
because it does not work for much smaller values of the position, e.g.... at position .14 with ...
throws adimension too large
error. In fact, any position below.34
has that problem. And then you may want to add that your proposal is, let's say, strongly inspired by tex.stackexchange.com/a/39282/121799.
– marmot
2 days ago
Dear @marmot, my solution is based on example from page 639, TikZ and PGF manual, v 3.1) . I was not aware for mentioned answer, thank you for pointed me to it. Value0.84
for arrow head position I determined experimentally, according to my taste (that arrow head is approximately below origin of spiral). Your observation about positioning of harrow head is very good!
– Zarko
2 days ago
It would be great if you could mention that you used the position
0.84
because it does not work for much smaller values of the position, e.g. ... at position .14 with ...
throws a dimension too large
error. In fact, any position below .34
has that problem. And then you may want to add that your proposal is, let's say, strongly inspired by tex.stackexchange.com/a/39282/121799.– marmot
2 days ago
It would be great if you could mention that you used the position
0.84
because it does not work for much smaller values of the position, e.g. ... at position .14 with ...
throws a dimension too large
error. In fact, any position below .34
has that problem. And then you may want to add that your proposal is, let's say, strongly inspired by tex.stackexchange.com/a/39282/121799.– marmot
2 days ago
Dear @marmot, my solution is based on example from page 639, TikZ and PGF manual, v 3.1) . I was not aware for mentioned answer, thank you for pointed me to it. Value
0.84
for arrow head position I determined experimentally, according to my taste (that arrow head is approximately below origin of spiral). Your observation about positioning of harrow head is very good!– Zarko
2 days ago
Dear @marmot, my solution is based on example from page 639, TikZ and PGF manual, v 3.1) . I was not aware for mentioned answer, thank you for pointed me to it. Value
0.84
for arrow head position I determined experimentally, according to my taste (that arrow head is approximately below origin of spiral). Your observation about positioning of harrow head is very good!– Zarko
2 days ago
add a comment |
First of all, I would like to argue that bent arrows look better, also in the original plot. But since the curve becomes singular at 0, this does not immediately work because of dimension too large
errors. However, it does once we approximate the inner-most stretch by an arc.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}[scale=2]
pgfmathsetmacro{myt}{pi}
draw[{Latex[bend,length=2pt]}-]
(0: {0.002*myt*myt})
arc({0}:{180}:{0.002*myt*myt});
draw plot[domain=pi:25.1327,variable=t,samples=75,smooth]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
And here is the original pic with a bent arrow.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}
draw [domain=0:25.1327,variable=t,smooth,samples=75, -{Latex[bend]}]
plot ({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
Note that one should always load bending
when one attaches arrows to curved paths, regardless of whether or not one bends the arrows, since otherwise the paths get distorted. Bending cures the distortion even when not explicitly used.
add a comment |
First of all, I would like to argue that bent arrows look better, also in the original plot. But since the curve becomes singular at 0, this does not immediately work because of dimension too large
errors. However, it does once we approximate the inner-most stretch by an arc.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}[scale=2]
pgfmathsetmacro{myt}{pi}
draw[{Latex[bend,length=2pt]}-]
(0: {0.002*myt*myt})
arc({0}:{180}:{0.002*myt*myt});
draw plot[domain=pi:25.1327,variable=t,samples=75,smooth]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
And here is the original pic with a bent arrow.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}
draw [domain=0:25.1327,variable=t,smooth,samples=75, -{Latex[bend]}]
plot ({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
Note that one should always load bending
when one attaches arrows to curved paths, regardless of whether or not one bends the arrows, since otherwise the paths get distorted. Bending cures the distortion even when not explicitly used.
add a comment |
First of all, I would like to argue that bent arrows look better, also in the original plot. But since the curve becomes singular at 0, this does not immediately work because of dimension too large
errors. However, it does once we approximate the inner-most stretch by an arc.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}[scale=2]
pgfmathsetmacro{myt}{pi}
draw[{Latex[bend,length=2pt]}-]
(0: {0.002*myt*myt})
arc({0}:{180}:{0.002*myt*myt});
draw plot[domain=pi:25.1327,variable=t,samples=75,smooth]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
And here is the original pic with a bent arrow.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}
draw [domain=0:25.1327,variable=t,smooth,samples=75, -{Latex[bend]}]
plot ({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
Note that one should always load bending
when one attaches arrows to curved paths, regardless of whether or not one bends the arrows, since otherwise the paths get distorted. Bending cures the distortion even when not explicitly used.
First of all, I would like to argue that bent arrows look better, also in the original plot. But since the curve becomes singular at 0, this does not immediately work because of dimension too large
errors. However, it does once we approximate the inner-most stretch by an arc.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}[scale=2]
pgfmathsetmacro{myt}{pi}
draw[{Latex[bend,length=2pt]}-]
(0: {0.002*myt*myt})
arc({0}:{180}:{0.002*myt*myt});
draw plot[domain=pi:25.1327,variable=t,samples=75,smooth]
({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
And here is the original pic with a bent arrow.
documentclass{article}
usepackage{tikz}
usetikzlibrary{arrows.meta,bending}
begin{document}
begin{tikzpicture}
draw [domain=0:25.1327,variable=t,smooth,samples=75, -{Latex[bend]}]
plot ({t r}: {0.002*t*t});
end{tikzpicture}
end{document}
Note that one should always load bending
when one attaches arrows to curved paths, regardless of whether or not one bends the arrows, since otherwise the paths get distorted. Bending cures the distortion even when not explicitly used.
answered Mar 31 at 1:41
marmotmarmot
114k5145276
114k5145276
add a comment |
add a comment |
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%2f482341%2ftikz-how-to-reverse-arrow-direction-without-switching-start-end-point%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
instead
-Latex
useLatex-
? however, the result be ugly ....– Zarko
Mar 30 at 23:29
You just place the arrow in the other end in the options:
Latex-
-and then you will need to have a look at: tex.stackexchange.com/questions/176779/…– hpekristiansen
Mar 30 at 23:29