TikZ how to make supply and demand arrows for nodes?How to define the default vertical distance between...
Phrase for the opposite of "foolproof"
What's the polite way to say "I need to urinate"?
Smart diagram in Mathematica
How can I place the product on a social media post better?
Is there a way to get a compiler for the original B programming language?
Rivers without rain
How to make a pipeline wait for end-of-file or stop after an error?
Sci-fi novel series with instant travel between planets through gates. A river runs through the gates
Will tsunami waves travel forever if there was no land?
What is the point of Germany's 299 "party seats" in the Bundestag?
What is the incentive for curl to release the library for free?
Can not tell colimits from limits
Do vanished people know what happened after the snap?
Do I have an "anti-research" personality?
What is the most expensive material in the world that could be used to create Pun-Pun's lute?
Why is current rating for multicore cable lower than single core with the same cross section?
Was there a Viking Exchange as well as a Columbian one?
How to pronounce 'C++' in Spanish
How to stop co-workers from teasing me because I know Russian?
Trainer for recumbent bikes
Electric guitar: why such heavy pots?
When India mathematicians did know Euclid's Elements?
Is creating your own "experiment" considered cheating during a physics exam?
You look catfish vs You look like a catfish
TikZ how to make supply and demand arrows for nodes?
How to define the default vertical distance between nodes?Changing Size of Arrows, Labels, Loops in Diagrams and Directed GraphsTikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?Half arrows in graph using TikZTikZ: Drawing an arc from an intersection to an intersectionWhy does my arrow head size decrease?Parallel arrows between nodes of varying sizeTransform a shape based on existing coordinatesAdding nodes through a TikZ style, using double dash lines ``--``
I have the nodes and arcs modeled in TikZ, but I'm scratching my head about how to draw the 'supply' and 'demand' double arrows (e.g. demand of 2 on node 1, supply of 2 on node 3). Can anybody help? Thanks
current code, which produces the nodes and arcs (ignoring dashed lines), the demand nodes, but not the double-tailed supply and demand arrows:
documentclass[]{article}
usepackage{pgf, tikz}
usetikzlibrary{arrows, automata, positioning}
begin{document}
begin{tikzpicture}
[roundnode/.style={circle,draw=black!50,thick},
supplynode/.style={circle},
> = stealth, % arrow head style
shorten > = 1pt, % don't touch arrow head to node
auto,
node distance = 3cm, % distance between nodes
semithick % line style
]
node at (0,0) [roundnode] (n1) {1};
node at (2.5,2.5) [roundnode] (n2) {2};
node at (0.0,5.0) [roundnode] (n3) {3};
node at (5.0,0.0) [roundnode] (n4) {4};
node at (5.0,4.0) [roundnode] (n5) {5};
node at (10.0,5.0) [roundnode] (n6) {6};
node at (10.0,0.0) [roundnode] (n7) {7};
node at (7.5,2.5) [roundnode] (n8) {8};
node at (-1.0, -1.0) [supplynode] (s1) {2};
node at (2.5, 3.5) [supplynode] (s2) {1};
node at (-1.0, 6.0) [supplynode] (s3) {2};
node at (5.0,-1.0) [supplynode] (s4) {6};
node at (6.0,4.0) [supplynode] (s5) {2};
node at (11.0,0.0) [supplynode] (s7) {5};
path[->] (n1) edge node {0} (n3);
path[->] (n2) edge node {3} (n1);
path[->] (n2) edge node {2} (n5);
path[->] (n3) edge node {0} (n2);
path[->] (n3) edge node {1} (n6);
path[->] (n4) edge node {1} (n1);
path[->] (n5) edge node {2} (n4);
path[->] (n6) edge node {1} (n8);
path[->] (n7) edge node {1} (n6);
path[->] (n7) edge node {4} (n4);
path[->] (n8) edge node {3} (n5);
path[->] (n8) edge node {0} (n7);
end{tikzpicture}
end{document}
what the above code produces:
tikz-pgf
New contributor
|
show 1 more comment
I have the nodes and arcs modeled in TikZ, but I'm scratching my head about how to draw the 'supply' and 'demand' double arrows (e.g. demand of 2 on node 1, supply of 2 on node 3). Can anybody help? Thanks
current code, which produces the nodes and arcs (ignoring dashed lines), the demand nodes, but not the double-tailed supply and demand arrows:
documentclass[]{article}
usepackage{pgf, tikz}
usetikzlibrary{arrows, automata, positioning}
begin{document}
begin{tikzpicture}
[roundnode/.style={circle,draw=black!50,thick},
supplynode/.style={circle},
> = stealth, % arrow head style
shorten > = 1pt, % don't touch arrow head to node
auto,
node distance = 3cm, % distance between nodes
semithick % line style
]
node at (0,0) [roundnode] (n1) {1};
node at (2.5,2.5) [roundnode] (n2) {2};
node at (0.0,5.0) [roundnode] (n3) {3};
node at (5.0,0.0) [roundnode] (n4) {4};
node at (5.0,4.0) [roundnode] (n5) {5};
node at (10.0,5.0) [roundnode] (n6) {6};
node at (10.0,0.0) [roundnode] (n7) {7};
node at (7.5,2.5) [roundnode] (n8) {8};
node at (-1.0, -1.0) [supplynode] (s1) {2};
node at (2.5, 3.5) [supplynode] (s2) {1};
node at (-1.0, 6.0) [supplynode] (s3) {2};
node at (5.0,-1.0) [supplynode] (s4) {6};
node at (6.0,4.0) [supplynode] (s5) {2};
node at (11.0,0.0) [supplynode] (s7) {5};
path[->] (n1) edge node {0} (n3);
path[->] (n2) edge node {3} (n1);
path[->] (n2) edge node {2} (n5);
path[->] (n3) edge node {0} (n2);
path[->] (n3) edge node {1} (n6);
path[->] (n4) edge node {1} (n1);
path[->] (n5) edge node {2} (n4);
path[->] (n6) edge node {1} (n8);
path[->] (n7) edge node {1} (n6);
path[->] (n7) edge node {4} (n4);
path[->] (n8) edge node {3} (n5);
path[->] (n8) edge node {0} (n7);
end{tikzpicture}
end{document}
what the above code produces:
tikz-pgf
New contributor
2
Welcome to Stackexchange! According to our guidelines, it would be appreciated to see some MWE to help you based on your current code. Thanks a lot!
– Dave
4 hours ago
withImplies[]
fromarrows.meta
library?
– Zarko
4 hours ago
Thanks @Dave, what is MWE?
– user1757226
4 hours ago
@user1757226 see tex.meta.stackexchange.com/q/228/63847.
– LarrySnyder610
4 hours ago
well, this is only code snippet :-). *mwe*(minimal working example) is complete document beginning withdocumentclass
with needed packages and your definitions in preamble following with document body with your code snippet and withend{document}
on the end.
– Zarko
4 hours ago
|
show 1 more comment
I have the nodes and arcs modeled in TikZ, but I'm scratching my head about how to draw the 'supply' and 'demand' double arrows (e.g. demand of 2 on node 1, supply of 2 on node 3). Can anybody help? Thanks
current code, which produces the nodes and arcs (ignoring dashed lines), the demand nodes, but not the double-tailed supply and demand arrows:
documentclass[]{article}
usepackage{pgf, tikz}
usetikzlibrary{arrows, automata, positioning}
begin{document}
begin{tikzpicture}
[roundnode/.style={circle,draw=black!50,thick},
supplynode/.style={circle},
> = stealth, % arrow head style
shorten > = 1pt, % don't touch arrow head to node
auto,
node distance = 3cm, % distance between nodes
semithick % line style
]
node at (0,0) [roundnode] (n1) {1};
node at (2.5,2.5) [roundnode] (n2) {2};
node at (0.0,5.0) [roundnode] (n3) {3};
node at (5.0,0.0) [roundnode] (n4) {4};
node at (5.0,4.0) [roundnode] (n5) {5};
node at (10.0,5.0) [roundnode] (n6) {6};
node at (10.0,0.0) [roundnode] (n7) {7};
node at (7.5,2.5) [roundnode] (n8) {8};
node at (-1.0, -1.0) [supplynode] (s1) {2};
node at (2.5, 3.5) [supplynode] (s2) {1};
node at (-1.0, 6.0) [supplynode] (s3) {2};
node at (5.0,-1.0) [supplynode] (s4) {6};
node at (6.0,4.0) [supplynode] (s5) {2};
node at (11.0,0.0) [supplynode] (s7) {5};
path[->] (n1) edge node {0} (n3);
path[->] (n2) edge node {3} (n1);
path[->] (n2) edge node {2} (n5);
path[->] (n3) edge node {0} (n2);
path[->] (n3) edge node {1} (n6);
path[->] (n4) edge node {1} (n1);
path[->] (n5) edge node {2} (n4);
path[->] (n6) edge node {1} (n8);
path[->] (n7) edge node {1} (n6);
path[->] (n7) edge node {4} (n4);
path[->] (n8) edge node {3} (n5);
path[->] (n8) edge node {0} (n7);
end{tikzpicture}
end{document}
what the above code produces:
tikz-pgf
New contributor
I have the nodes and arcs modeled in TikZ, but I'm scratching my head about how to draw the 'supply' and 'demand' double arrows (e.g. demand of 2 on node 1, supply of 2 on node 3). Can anybody help? Thanks
current code, which produces the nodes and arcs (ignoring dashed lines), the demand nodes, but not the double-tailed supply and demand arrows:
documentclass[]{article}
usepackage{pgf, tikz}
usetikzlibrary{arrows, automata, positioning}
begin{document}
begin{tikzpicture}
[roundnode/.style={circle,draw=black!50,thick},
supplynode/.style={circle},
> = stealth, % arrow head style
shorten > = 1pt, % don't touch arrow head to node
auto,
node distance = 3cm, % distance between nodes
semithick % line style
]
node at (0,0) [roundnode] (n1) {1};
node at (2.5,2.5) [roundnode] (n2) {2};
node at (0.0,5.0) [roundnode] (n3) {3};
node at (5.0,0.0) [roundnode] (n4) {4};
node at (5.0,4.0) [roundnode] (n5) {5};
node at (10.0,5.0) [roundnode] (n6) {6};
node at (10.0,0.0) [roundnode] (n7) {7};
node at (7.5,2.5) [roundnode] (n8) {8};
node at (-1.0, -1.0) [supplynode] (s1) {2};
node at (2.5, 3.5) [supplynode] (s2) {1};
node at (-1.0, 6.0) [supplynode] (s3) {2};
node at (5.0,-1.0) [supplynode] (s4) {6};
node at (6.0,4.0) [supplynode] (s5) {2};
node at (11.0,0.0) [supplynode] (s7) {5};
path[->] (n1) edge node {0} (n3);
path[->] (n2) edge node {3} (n1);
path[->] (n2) edge node {2} (n5);
path[->] (n3) edge node {0} (n2);
path[->] (n3) edge node {1} (n6);
path[->] (n4) edge node {1} (n1);
path[->] (n5) edge node {2} (n4);
path[->] (n6) edge node {1} (n8);
path[->] (n7) edge node {1} (n6);
path[->] (n7) edge node {4} (n4);
path[->] (n8) edge node {3} (n5);
path[->] (n8) edge node {0} (n7);
end{tikzpicture}
end{document}
what the above code produces:
tikz-pgf
tikz-pgf
New contributor
New contributor
edited 3 hours ago
user1757226
New contributor
asked 4 hours ago
user1757226user1757226
514
514
New contributor
New contributor
2
Welcome to Stackexchange! According to our guidelines, it would be appreciated to see some MWE to help you based on your current code. Thanks a lot!
– Dave
4 hours ago
withImplies[]
fromarrows.meta
library?
– Zarko
4 hours ago
Thanks @Dave, what is MWE?
– user1757226
4 hours ago
@user1757226 see tex.meta.stackexchange.com/q/228/63847.
– LarrySnyder610
4 hours ago
well, this is only code snippet :-). *mwe*(minimal working example) is complete document beginning withdocumentclass
with needed packages and your definitions in preamble following with document body with your code snippet and withend{document}
on the end.
– Zarko
4 hours ago
|
show 1 more comment
2
Welcome to Stackexchange! According to our guidelines, it would be appreciated to see some MWE to help you based on your current code. Thanks a lot!
– Dave
4 hours ago
withImplies[]
fromarrows.meta
library?
– Zarko
4 hours ago
Thanks @Dave, what is MWE?
– user1757226
4 hours ago
@user1757226 see tex.meta.stackexchange.com/q/228/63847.
– LarrySnyder610
4 hours ago
well, this is only code snippet :-). *mwe*(minimal working example) is complete document beginning withdocumentclass
with needed packages and your definitions in preamble following with document body with your code snippet and withend{document}
on the end.
– Zarko
4 hours ago
2
2
Welcome to Stackexchange! According to our guidelines, it would be appreciated to see some MWE to help you based on your current code. Thanks a lot!
– Dave
4 hours ago
Welcome to Stackexchange! According to our guidelines, it would be appreciated to see some MWE to help you based on your current code. Thanks a lot!
– Dave
4 hours ago
with
Implies[]
from arrows.meta
library?– Zarko
4 hours ago
with
Implies[]
from arrows.meta
library?– Zarko
4 hours ago
Thanks @Dave, what is MWE?
– user1757226
4 hours ago
Thanks @Dave, what is MWE?
– user1757226
4 hours ago
@user1757226 see tex.meta.stackexchange.com/q/228/63847.
– LarrySnyder610
4 hours ago
@user1757226 see tex.meta.stackexchange.com/q/228/63847.
– LarrySnyder610
4 hours ago
well, this is only code snippet :-). *mwe*(minimal working example) is complete document beginning with
documentclass
with needed packages and your definitions in preamble following with document body with your code snippet and with end{document}
on the end.– Zarko
4 hours ago
well, this is only code snippet :-). *mwe*(minimal working example) is complete document beginning with
documentclass
with needed packages and your definitions in preamble following with document body with your code snippet and with end{document}
on the end.– Zarko
4 hours ago
|
show 1 more comment
2 Answers
2
active
oldest
votes
OK, I'm sure there's a better way to organize things inside the Tikz, but I have found a sufficient answer to my question myself. Posting here for posterity.
documentclass[]{article}
usepackage{pgf, tikz}
usetikzlibrary{arrows, automata, positioning, arrows.meta}
begin{document}
begin{tikzpicture}
[roundnode/.style={circle,draw=black!50,thick},
supplynode/.style={circle} ,
> = stealth, % arrow head style
shorten > = 1pt, % don't touch arrow head to node
auto,
node distance = 3cm, % distance between nodes
semithick % line style
]
node at (0,0) [roundnode] (n1) {1};
node at (2.5,2.5) [roundnode] (n2) {2};
node at (0.0,5.0) [roundnode] (n3) {3};
node at (5.0,0.0) [roundnode] (n4) {4};
node at (5.0,4.0) [roundnode] (n5) {5};
node at (10.0,5.0) [roundnode] (n6) {6};
node at (10.0,0.0) [roundnode] (n7) {7};
node at (7.5,2.5) [roundnode] (n8) {8};
node at (-1.0, -1.0) [supplynode] (s1) {2};
node at (2.5, 4.0) [supplynode] (s2) {1};
node at (-1.0, 6.0) [supplynode] (d3) {2};
node at (5.0,-1.5) [supplynode] (s4) {6};
node at (6.5,4.0) [supplynode] (d5) {2};
node at (11.5,0.0) [supplynode] (d7) {5};
path[->] (n1) edge node {0} (n3);
path[->] (n2) edge node {3} (n1);
path[->] (n2) edge node {2} (n5);
path[->] (n3) edge node {0} (n2);
path[->] (n3) edge node {1} (n6);
path[->] (n4) edge node {1} (n1);
path[->] (n5) edge node {2} (n4);
path[->] (n6) edge node {1} (n8);
path[->] (n7) edge node {1} (n6);
path[->] (n7) edge node {4} (n4);
path[->] (n8) edge node {3} (n5);
path[->] (n8) edge node {0} (n7);
draw[-Implies,line width=1pt,double distance=2pt] (n1) -- (s1);
draw[-Implies,line width=1pt,double distance=2pt] (n2) -- (s2);
draw[-Implies,line width=1pt,double distance=2pt] (d3) -- (n3);
draw[-Implies,line width=1pt,double distance=2pt] (n4) -- (s4);
draw[-Implies,line width=1pt,double distance=2pt] (d5) -- (n5);
draw[-Implies,line width=1pt,double distance=2pt] (d7) -- (n7);
end{tikzpicture}
end{document}
produces this, which is sufficient for my needs. Thanks @Zarko for the tip.
New contributor
add a comment |
let me convert my comments to the answer ... with some off-topic sugestion :-) :
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta,
quotes}
begin{document}
begin{tikzpicture}[auto=left,
every edge/.style = {draw, semithick, -Stealth, shorten > = 1pt},
]
begin{scope}[every node/.style={circle, draw=black!50, thick}]
node at ( 0.0,0) (n1) {1};
node at ( 2.5,2.5) (n2) {2};
node at ( 0.0,5.0) (n3) {3};
node at ( 5.0,0.0) (n4) {4};
node at ( 5.0,4.0) (n5) {5};
node at (10.0,5.0) (n6) {6};
node at (10.0,0.0) (n7) {7};
node at ( 7.5,2.5) (n8) {8};
end{scope}
begin{scope}[every node/.style={circle}]
node at (-1.0,-1.0) (s1) {2};
node at ( 2.5, 4.0) (s2) {1};
node at (-1.0, 6.0) (d3) {2};
node at ( 5.0,-1.5) (s4) {6};
node at ( 6.5, 4.0) (d5) {2};
node at (11.5, 0.0) (d7) {5};
end{scope}
path (n1) edge ["0"] (n3)
(n2) edge ["3"] (n1)
(n2) edge ["2"] (n5)
(n3) edge ["0"] (n2)
(n3) edge ["1"] (n6)
(n4) edge ["1"] (n1)
(n5) edge ["2"] (n4)
(n6) edge ["1"] (n8)
(n7) edge ["1"] (n6)
(n7) edge ["4"] (n4)
(n8) edge ["3"] (n5)
(n8) edge ["0"] (n7);
begin{scope}[every edge/.style = {draw, -Implies, semithick, double distance=1pt}]
path (n1) edge (s1)
(n2) edge (s2)
(d3) edge (n3)
(n4) edge (s4)
(d5) edge (n5)
(d7) edge (n7);
end{scope}
end{tikzpicture}
end{document}
above mwe gives:
Thanks, Zarko. Your solution is a much more elegant use of Tikz. My solution is definitely brute-force copy/paste to get the job done.
– user1757226
2 hours ago
@user1757226, to be precise: your answer with my suggestion :-), and my answer with my suggestion + off-topic improvements ;-)
– Zarko
1 hour ago
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
});
}
});
user1757226 is a new contributor. Be nice, and check out our Code of Conduct.
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%2f488072%2ftikz-how-to-make-supply-and-demand-arrows-for-nodes%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
OK, I'm sure there's a better way to organize things inside the Tikz, but I have found a sufficient answer to my question myself. Posting here for posterity.
documentclass[]{article}
usepackage{pgf, tikz}
usetikzlibrary{arrows, automata, positioning, arrows.meta}
begin{document}
begin{tikzpicture}
[roundnode/.style={circle,draw=black!50,thick},
supplynode/.style={circle} ,
> = stealth, % arrow head style
shorten > = 1pt, % don't touch arrow head to node
auto,
node distance = 3cm, % distance between nodes
semithick % line style
]
node at (0,0) [roundnode] (n1) {1};
node at (2.5,2.5) [roundnode] (n2) {2};
node at (0.0,5.0) [roundnode] (n3) {3};
node at (5.0,0.0) [roundnode] (n4) {4};
node at (5.0,4.0) [roundnode] (n5) {5};
node at (10.0,5.0) [roundnode] (n6) {6};
node at (10.0,0.0) [roundnode] (n7) {7};
node at (7.5,2.5) [roundnode] (n8) {8};
node at (-1.0, -1.0) [supplynode] (s1) {2};
node at (2.5, 4.0) [supplynode] (s2) {1};
node at (-1.0, 6.0) [supplynode] (d3) {2};
node at (5.0,-1.5) [supplynode] (s4) {6};
node at (6.5,4.0) [supplynode] (d5) {2};
node at (11.5,0.0) [supplynode] (d7) {5};
path[->] (n1) edge node {0} (n3);
path[->] (n2) edge node {3} (n1);
path[->] (n2) edge node {2} (n5);
path[->] (n3) edge node {0} (n2);
path[->] (n3) edge node {1} (n6);
path[->] (n4) edge node {1} (n1);
path[->] (n5) edge node {2} (n4);
path[->] (n6) edge node {1} (n8);
path[->] (n7) edge node {1} (n6);
path[->] (n7) edge node {4} (n4);
path[->] (n8) edge node {3} (n5);
path[->] (n8) edge node {0} (n7);
draw[-Implies,line width=1pt,double distance=2pt] (n1) -- (s1);
draw[-Implies,line width=1pt,double distance=2pt] (n2) -- (s2);
draw[-Implies,line width=1pt,double distance=2pt] (d3) -- (n3);
draw[-Implies,line width=1pt,double distance=2pt] (n4) -- (s4);
draw[-Implies,line width=1pt,double distance=2pt] (d5) -- (n5);
draw[-Implies,line width=1pt,double distance=2pt] (d7) -- (n7);
end{tikzpicture}
end{document}
produces this, which is sufficient for my needs. Thanks @Zarko for the tip.
New contributor
add a comment |
OK, I'm sure there's a better way to organize things inside the Tikz, but I have found a sufficient answer to my question myself. Posting here for posterity.
documentclass[]{article}
usepackage{pgf, tikz}
usetikzlibrary{arrows, automata, positioning, arrows.meta}
begin{document}
begin{tikzpicture}
[roundnode/.style={circle,draw=black!50,thick},
supplynode/.style={circle} ,
> = stealth, % arrow head style
shorten > = 1pt, % don't touch arrow head to node
auto,
node distance = 3cm, % distance between nodes
semithick % line style
]
node at (0,0) [roundnode] (n1) {1};
node at (2.5,2.5) [roundnode] (n2) {2};
node at (0.0,5.0) [roundnode] (n3) {3};
node at (5.0,0.0) [roundnode] (n4) {4};
node at (5.0,4.0) [roundnode] (n5) {5};
node at (10.0,5.0) [roundnode] (n6) {6};
node at (10.0,0.0) [roundnode] (n7) {7};
node at (7.5,2.5) [roundnode] (n8) {8};
node at (-1.0, -1.0) [supplynode] (s1) {2};
node at (2.5, 4.0) [supplynode] (s2) {1};
node at (-1.0, 6.0) [supplynode] (d3) {2};
node at (5.0,-1.5) [supplynode] (s4) {6};
node at (6.5,4.0) [supplynode] (d5) {2};
node at (11.5,0.0) [supplynode] (d7) {5};
path[->] (n1) edge node {0} (n3);
path[->] (n2) edge node {3} (n1);
path[->] (n2) edge node {2} (n5);
path[->] (n3) edge node {0} (n2);
path[->] (n3) edge node {1} (n6);
path[->] (n4) edge node {1} (n1);
path[->] (n5) edge node {2} (n4);
path[->] (n6) edge node {1} (n8);
path[->] (n7) edge node {1} (n6);
path[->] (n7) edge node {4} (n4);
path[->] (n8) edge node {3} (n5);
path[->] (n8) edge node {0} (n7);
draw[-Implies,line width=1pt,double distance=2pt] (n1) -- (s1);
draw[-Implies,line width=1pt,double distance=2pt] (n2) -- (s2);
draw[-Implies,line width=1pt,double distance=2pt] (d3) -- (n3);
draw[-Implies,line width=1pt,double distance=2pt] (n4) -- (s4);
draw[-Implies,line width=1pt,double distance=2pt] (d5) -- (n5);
draw[-Implies,line width=1pt,double distance=2pt] (d7) -- (n7);
end{tikzpicture}
end{document}
produces this, which is sufficient for my needs. Thanks @Zarko for the tip.
New contributor
add a comment |
OK, I'm sure there's a better way to organize things inside the Tikz, but I have found a sufficient answer to my question myself. Posting here for posterity.
documentclass[]{article}
usepackage{pgf, tikz}
usetikzlibrary{arrows, automata, positioning, arrows.meta}
begin{document}
begin{tikzpicture}
[roundnode/.style={circle,draw=black!50,thick},
supplynode/.style={circle} ,
> = stealth, % arrow head style
shorten > = 1pt, % don't touch arrow head to node
auto,
node distance = 3cm, % distance between nodes
semithick % line style
]
node at (0,0) [roundnode] (n1) {1};
node at (2.5,2.5) [roundnode] (n2) {2};
node at (0.0,5.0) [roundnode] (n3) {3};
node at (5.0,0.0) [roundnode] (n4) {4};
node at (5.0,4.0) [roundnode] (n5) {5};
node at (10.0,5.0) [roundnode] (n6) {6};
node at (10.0,0.0) [roundnode] (n7) {7};
node at (7.5,2.5) [roundnode] (n8) {8};
node at (-1.0, -1.0) [supplynode] (s1) {2};
node at (2.5, 4.0) [supplynode] (s2) {1};
node at (-1.0, 6.0) [supplynode] (d3) {2};
node at (5.0,-1.5) [supplynode] (s4) {6};
node at (6.5,4.0) [supplynode] (d5) {2};
node at (11.5,0.0) [supplynode] (d7) {5};
path[->] (n1) edge node {0} (n3);
path[->] (n2) edge node {3} (n1);
path[->] (n2) edge node {2} (n5);
path[->] (n3) edge node {0} (n2);
path[->] (n3) edge node {1} (n6);
path[->] (n4) edge node {1} (n1);
path[->] (n5) edge node {2} (n4);
path[->] (n6) edge node {1} (n8);
path[->] (n7) edge node {1} (n6);
path[->] (n7) edge node {4} (n4);
path[->] (n8) edge node {3} (n5);
path[->] (n8) edge node {0} (n7);
draw[-Implies,line width=1pt,double distance=2pt] (n1) -- (s1);
draw[-Implies,line width=1pt,double distance=2pt] (n2) -- (s2);
draw[-Implies,line width=1pt,double distance=2pt] (d3) -- (n3);
draw[-Implies,line width=1pt,double distance=2pt] (n4) -- (s4);
draw[-Implies,line width=1pt,double distance=2pt] (d5) -- (n5);
draw[-Implies,line width=1pt,double distance=2pt] (d7) -- (n7);
end{tikzpicture}
end{document}
produces this, which is sufficient for my needs. Thanks @Zarko for the tip.
New contributor
OK, I'm sure there's a better way to organize things inside the Tikz, but I have found a sufficient answer to my question myself. Posting here for posterity.
documentclass[]{article}
usepackage{pgf, tikz}
usetikzlibrary{arrows, automata, positioning, arrows.meta}
begin{document}
begin{tikzpicture}
[roundnode/.style={circle,draw=black!50,thick},
supplynode/.style={circle} ,
> = stealth, % arrow head style
shorten > = 1pt, % don't touch arrow head to node
auto,
node distance = 3cm, % distance between nodes
semithick % line style
]
node at (0,0) [roundnode] (n1) {1};
node at (2.5,2.5) [roundnode] (n2) {2};
node at (0.0,5.0) [roundnode] (n3) {3};
node at (5.0,0.0) [roundnode] (n4) {4};
node at (5.0,4.0) [roundnode] (n5) {5};
node at (10.0,5.0) [roundnode] (n6) {6};
node at (10.0,0.0) [roundnode] (n7) {7};
node at (7.5,2.5) [roundnode] (n8) {8};
node at (-1.0, -1.0) [supplynode] (s1) {2};
node at (2.5, 4.0) [supplynode] (s2) {1};
node at (-1.0, 6.0) [supplynode] (d3) {2};
node at (5.0,-1.5) [supplynode] (s4) {6};
node at (6.5,4.0) [supplynode] (d5) {2};
node at (11.5,0.0) [supplynode] (d7) {5};
path[->] (n1) edge node {0} (n3);
path[->] (n2) edge node {3} (n1);
path[->] (n2) edge node {2} (n5);
path[->] (n3) edge node {0} (n2);
path[->] (n3) edge node {1} (n6);
path[->] (n4) edge node {1} (n1);
path[->] (n5) edge node {2} (n4);
path[->] (n6) edge node {1} (n8);
path[->] (n7) edge node {1} (n6);
path[->] (n7) edge node {4} (n4);
path[->] (n8) edge node {3} (n5);
path[->] (n8) edge node {0} (n7);
draw[-Implies,line width=1pt,double distance=2pt] (n1) -- (s1);
draw[-Implies,line width=1pt,double distance=2pt] (n2) -- (s2);
draw[-Implies,line width=1pt,double distance=2pt] (d3) -- (n3);
draw[-Implies,line width=1pt,double distance=2pt] (n4) -- (s4);
draw[-Implies,line width=1pt,double distance=2pt] (d5) -- (n5);
draw[-Implies,line width=1pt,double distance=2pt] (d7) -- (n7);
end{tikzpicture}
end{document}
produces this, which is sufficient for my needs. Thanks @Zarko for the tip.
New contributor
New contributor
answered 3 hours ago
user1757226user1757226
514
514
New contributor
New contributor
add a comment |
add a comment |
let me convert my comments to the answer ... with some off-topic sugestion :-) :
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta,
quotes}
begin{document}
begin{tikzpicture}[auto=left,
every edge/.style = {draw, semithick, -Stealth, shorten > = 1pt},
]
begin{scope}[every node/.style={circle, draw=black!50, thick}]
node at ( 0.0,0) (n1) {1};
node at ( 2.5,2.5) (n2) {2};
node at ( 0.0,5.0) (n3) {3};
node at ( 5.0,0.0) (n4) {4};
node at ( 5.0,4.0) (n5) {5};
node at (10.0,5.0) (n6) {6};
node at (10.0,0.0) (n7) {7};
node at ( 7.5,2.5) (n8) {8};
end{scope}
begin{scope}[every node/.style={circle}]
node at (-1.0,-1.0) (s1) {2};
node at ( 2.5, 4.0) (s2) {1};
node at (-1.0, 6.0) (d3) {2};
node at ( 5.0,-1.5) (s4) {6};
node at ( 6.5, 4.0) (d5) {2};
node at (11.5, 0.0) (d7) {5};
end{scope}
path (n1) edge ["0"] (n3)
(n2) edge ["3"] (n1)
(n2) edge ["2"] (n5)
(n3) edge ["0"] (n2)
(n3) edge ["1"] (n6)
(n4) edge ["1"] (n1)
(n5) edge ["2"] (n4)
(n6) edge ["1"] (n8)
(n7) edge ["1"] (n6)
(n7) edge ["4"] (n4)
(n8) edge ["3"] (n5)
(n8) edge ["0"] (n7);
begin{scope}[every edge/.style = {draw, -Implies, semithick, double distance=1pt}]
path (n1) edge (s1)
(n2) edge (s2)
(d3) edge (n3)
(n4) edge (s4)
(d5) edge (n5)
(d7) edge (n7);
end{scope}
end{tikzpicture}
end{document}
above mwe gives:
Thanks, Zarko. Your solution is a much more elegant use of Tikz. My solution is definitely brute-force copy/paste to get the job done.
– user1757226
2 hours ago
@user1757226, to be precise: your answer with my suggestion :-), and my answer with my suggestion + off-topic improvements ;-)
– Zarko
1 hour ago
add a comment |
let me convert my comments to the answer ... with some off-topic sugestion :-) :
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta,
quotes}
begin{document}
begin{tikzpicture}[auto=left,
every edge/.style = {draw, semithick, -Stealth, shorten > = 1pt},
]
begin{scope}[every node/.style={circle, draw=black!50, thick}]
node at ( 0.0,0) (n1) {1};
node at ( 2.5,2.5) (n2) {2};
node at ( 0.0,5.0) (n3) {3};
node at ( 5.0,0.0) (n4) {4};
node at ( 5.0,4.0) (n5) {5};
node at (10.0,5.0) (n6) {6};
node at (10.0,0.0) (n7) {7};
node at ( 7.5,2.5) (n8) {8};
end{scope}
begin{scope}[every node/.style={circle}]
node at (-1.0,-1.0) (s1) {2};
node at ( 2.5, 4.0) (s2) {1};
node at (-1.0, 6.0) (d3) {2};
node at ( 5.0,-1.5) (s4) {6};
node at ( 6.5, 4.0) (d5) {2};
node at (11.5, 0.0) (d7) {5};
end{scope}
path (n1) edge ["0"] (n3)
(n2) edge ["3"] (n1)
(n2) edge ["2"] (n5)
(n3) edge ["0"] (n2)
(n3) edge ["1"] (n6)
(n4) edge ["1"] (n1)
(n5) edge ["2"] (n4)
(n6) edge ["1"] (n8)
(n7) edge ["1"] (n6)
(n7) edge ["4"] (n4)
(n8) edge ["3"] (n5)
(n8) edge ["0"] (n7);
begin{scope}[every edge/.style = {draw, -Implies, semithick, double distance=1pt}]
path (n1) edge (s1)
(n2) edge (s2)
(d3) edge (n3)
(n4) edge (s4)
(d5) edge (n5)
(d7) edge (n7);
end{scope}
end{tikzpicture}
end{document}
above mwe gives:
Thanks, Zarko. Your solution is a much more elegant use of Tikz. My solution is definitely brute-force copy/paste to get the job done.
– user1757226
2 hours ago
@user1757226, to be precise: your answer with my suggestion :-), and my answer with my suggestion + off-topic improvements ;-)
– Zarko
1 hour ago
add a comment |
let me convert my comments to the answer ... with some off-topic sugestion :-) :
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta,
quotes}
begin{document}
begin{tikzpicture}[auto=left,
every edge/.style = {draw, semithick, -Stealth, shorten > = 1pt},
]
begin{scope}[every node/.style={circle, draw=black!50, thick}]
node at ( 0.0,0) (n1) {1};
node at ( 2.5,2.5) (n2) {2};
node at ( 0.0,5.0) (n3) {3};
node at ( 5.0,0.0) (n4) {4};
node at ( 5.0,4.0) (n5) {5};
node at (10.0,5.0) (n6) {6};
node at (10.0,0.0) (n7) {7};
node at ( 7.5,2.5) (n8) {8};
end{scope}
begin{scope}[every node/.style={circle}]
node at (-1.0,-1.0) (s1) {2};
node at ( 2.5, 4.0) (s2) {1};
node at (-1.0, 6.0) (d3) {2};
node at ( 5.0,-1.5) (s4) {6};
node at ( 6.5, 4.0) (d5) {2};
node at (11.5, 0.0) (d7) {5};
end{scope}
path (n1) edge ["0"] (n3)
(n2) edge ["3"] (n1)
(n2) edge ["2"] (n5)
(n3) edge ["0"] (n2)
(n3) edge ["1"] (n6)
(n4) edge ["1"] (n1)
(n5) edge ["2"] (n4)
(n6) edge ["1"] (n8)
(n7) edge ["1"] (n6)
(n7) edge ["4"] (n4)
(n8) edge ["3"] (n5)
(n8) edge ["0"] (n7);
begin{scope}[every edge/.style = {draw, -Implies, semithick, double distance=1pt}]
path (n1) edge (s1)
(n2) edge (s2)
(d3) edge (n3)
(n4) edge (s4)
(d5) edge (n5)
(d7) edge (n7);
end{scope}
end{tikzpicture}
end{document}
above mwe gives:
let me convert my comments to the answer ... with some off-topic sugestion :-) :
documentclass[tikz, margin=3mm]{standalone}
usetikzlibrary{arrows.meta,
quotes}
begin{document}
begin{tikzpicture}[auto=left,
every edge/.style = {draw, semithick, -Stealth, shorten > = 1pt},
]
begin{scope}[every node/.style={circle, draw=black!50, thick}]
node at ( 0.0,0) (n1) {1};
node at ( 2.5,2.5) (n2) {2};
node at ( 0.0,5.0) (n3) {3};
node at ( 5.0,0.0) (n4) {4};
node at ( 5.0,4.0) (n5) {5};
node at (10.0,5.0) (n6) {6};
node at (10.0,0.0) (n7) {7};
node at ( 7.5,2.5) (n8) {8};
end{scope}
begin{scope}[every node/.style={circle}]
node at (-1.0,-1.0) (s1) {2};
node at ( 2.5, 4.0) (s2) {1};
node at (-1.0, 6.0) (d3) {2};
node at ( 5.0,-1.5) (s4) {6};
node at ( 6.5, 4.0) (d5) {2};
node at (11.5, 0.0) (d7) {5};
end{scope}
path (n1) edge ["0"] (n3)
(n2) edge ["3"] (n1)
(n2) edge ["2"] (n5)
(n3) edge ["0"] (n2)
(n3) edge ["1"] (n6)
(n4) edge ["1"] (n1)
(n5) edge ["2"] (n4)
(n6) edge ["1"] (n8)
(n7) edge ["1"] (n6)
(n7) edge ["4"] (n4)
(n8) edge ["3"] (n5)
(n8) edge ["0"] (n7);
begin{scope}[every edge/.style = {draw, -Implies, semithick, double distance=1pt}]
path (n1) edge (s1)
(n2) edge (s2)
(d3) edge (n3)
(n4) edge (s4)
(d5) edge (n5)
(d7) edge (n7);
end{scope}
end{tikzpicture}
end{document}
above mwe gives:
edited 6 mins ago
answered 2 hours ago
ZarkoZarko
131k870170
131k870170
Thanks, Zarko. Your solution is a much more elegant use of Tikz. My solution is definitely brute-force copy/paste to get the job done.
– user1757226
2 hours ago
@user1757226, to be precise: your answer with my suggestion :-), and my answer with my suggestion + off-topic improvements ;-)
– Zarko
1 hour ago
add a comment |
Thanks, Zarko. Your solution is a much more elegant use of Tikz. My solution is definitely brute-force copy/paste to get the job done.
– user1757226
2 hours ago
@user1757226, to be precise: your answer with my suggestion :-), and my answer with my suggestion + off-topic improvements ;-)
– Zarko
1 hour ago
Thanks, Zarko. Your solution is a much more elegant use of Tikz. My solution is definitely brute-force copy/paste to get the job done.
– user1757226
2 hours ago
Thanks, Zarko. Your solution is a much more elegant use of Tikz. My solution is definitely brute-force copy/paste to get the job done.
– user1757226
2 hours ago
@user1757226, to be precise: your answer with my suggestion :-), and my answer with my suggestion + off-topic improvements ;-)
– Zarko
1 hour ago
@user1757226, to be precise: your answer with my suggestion :-), and my answer with my suggestion + off-topic improvements ;-)
– Zarko
1 hour ago
add a comment |
user1757226 is a new contributor. Be nice, and check out our Code of Conduct.
user1757226 is a new contributor. Be nice, and check out our Code of Conduct.
user1757226 is a new contributor. Be nice, and check out our Code of Conduct.
user1757226 is a new contributor. Be nice, and check out our Code of Conduct.
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%2f488072%2ftikz-how-to-make-supply-and-demand-arrows-for-nodes%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
2
Welcome to Stackexchange! According to our guidelines, it would be appreciated to see some MWE to help you based on your current code. Thanks a lot!
– Dave
4 hours ago
with
Implies[]
fromarrows.meta
library?– Zarko
4 hours ago
Thanks @Dave, what is MWE?
– user1757226
4 hours ago
@user1757226 see tex.meta.stackexchange.com/q/228/63847.
– LarrySnyder610
4 hours ago
well, this is only code snippet :-). *mwe*(minimal working example) is complete document beginning with
documentclass
with needed packages and your definitions in preamble following with document body with your code snippet and withend{document}
on the end.– Zarko
4 hours ago