How does TikZ extract the pgf-keys in LaTeX
In any TikZ command, for example draw
, how does TikZ extract the keys, as they can be in any order.
For example, the following draw
statements, give the same output (in different locations in the 2D space though):
documentclass{article}
usepackage{tikz}
begin{document}
tikz draw[->,red,thick,dashed] (0,0) |- (2,2);
tikz draw[->,thick,red,dashed] (3,0) |- (0,5);
end{document}
The first draw
command has the keys, red
, thick
and dashed
.
The seconddraw
command has the keys, thick
, red
and dashed
.
How does TikZ/LaTeX know, red
means color, thick
is thickness of the line.
What is the logic behind this.
tikz-pgf pgfkeys
add a comment |
In any TikZ command, for example draw
, how does TikZ extract the keys, as they can be in any order.
For example, the following draw
statements, give the same output (in different locations in the 2D space though):
documentclass{article}
usepackage{tikz}
begin{document}
tikz draw[->,red,thick,dashed] (0,0) |- (2,2);
tikz draw[->,thick,red,dashed] (3,0) |- (0,5);
end{document}
The first draw
command has the keys, red
, thick
and dashed
.
The seconddraw
command has the keys, thick
, red
and dashed
.
How does TikZ/LaTeX know, red
means color, thick
is thickness of the line.
What is the logic behind this.
tikz-pgf pgfkeys
1
thick
is a known key, and tikz tries to map unknown keys likered
to colors.
– Ulrike Fischer
yesterday
Please have a look at p. 962 of the pgfmanual where.search also
is explained. (The colors do not work precisely that way but it explains a bit how it can happen that TikZ tries to find a reasonable interpretation of a key. The color behavior is determined bytikzoption{color}{...}
intikz.code.tex
.)
– marmot
23 hours ago
add a comment |
In any TikZ command, for example draw
, how does TikZ extract the keys, as they can be in any order.
For example, the following draw
statements, give the same output (in different locations in the 2D space though):
documentclass{article}
usepackage{tikz}
begin{document}
tikz draw[->,red,thick,dashed] (0,0) |- (2,2);
tikz draw[->,thick,red,dashed] (3,0) |- (0,5);
end{document}
The first draw
command has the keys, red
, thick
and dashed
.
The seconddraw
command has the keys, thick
, red
and dashed
.
How does TikZ/LaTeX know, red
means color, thick
is thickness of the line.
What is the logic behind this.
tikz-pgf pgfkeys
In any TikZ command, for example draw
, how does TikZ extract the keys, as they can be in any order.
For example, the following draw
statements, give the same output (in different locations in the 2D space though):
documentclass{article}
usepackage{tikz}
begin{document}
tikz draw[->,red,thick,dashed] (0,0) |- (2,2);
tikz draw[->,thick,red,dashed] (3,0) |- (0,5);
end{document}
The first draw
command has the keys, red
, thick
and dashed
.
The seconddraw
command has the keys, thick
, red
and dashed
.
How does TikZ/LaTeX know, red
means color, thick
is thickness of the line.
What is the logic behind this.
tikz-pgf pgfkeys
tikz-pgf pgfkeys
asked yesterday
subham sonisubham soni
4,51983184
4,51983184
1
thick
is a known key, and tikz tries to map unknown keys likered
to colors.
– Ulrike Fischer
yesterday
Please have a look at p. 962 of the pgfmanual where.search also
is explained. (The colors do not work precisely that way but it explains a bit how it can happen that TikZ tries to find a reasonable interpretation of a key. The color behavior is determined bytikzoption{color}{...}
intikz.code.tex
.)
– marmot
23 hours ago
add a comment |
1
thick
is a known key, and tikz tries to map unknown keys likered
to colors.
– Ulrike Fischer
yesterday
Please have a look at p. 962 of the pgfmanual where.search also
is explained. (The colors do not work precisely that way but it explains a bit how it can happen that TikZ tries to find a reasonable interpretation of a key. The color behavior is determined bytikzoption{color}{...}
intikz.code.tex
.)
– marmot
23 hours ago
1
1
thick
is a known key, and tikz tries to map unknown keys like red
to colors.– Ulrike Fischer
yesterday
thick
is a known key, and tikz tries to map unknown keys like red
to colors.– Ulrike Fischer
yesterday
Please have a look at p. 962 of the pgfmanual where
.search also
is explained. (The colors do not work precisely that way but it explains a bit how it can happen that TikZ tries to find a reasonable interpretation of a key. The color behavior is determined by tikzoption{color}{...}
in tikz.code.tex
.)– marmot
23 hours ago
Please have a look at p. 962 of the pgfmanual where
.search also
is explained. (The colors do not work precisely that way but it explains a bit how it can happen that TikZ tries to find a reasonable interpretation of a key. The color behavior is determined by tikzoption{color}{...}
in tikz.code.tex
.)– marmot
23 hours ago
add a comment |
2 Answers
2
active
oldest
votes
The pgfkeys
package allows 'styles' to be defined as shortcuts to normal keyvals. Thus thick
is a shortcut for line width = 0.8pt
and red
is (approximately) a shortcut for draw = red
. Ultimately, which are defined is down to the pgf
implementers.
As mentioned in Problem between pgfkeys, tikz and personal macro, some of these shortcuts are not actually normal keys but are rather found on a specifically-coded path of the pgfkeys
parser. In particular, many TikZ commands attempt to treat unknown keys as colours before 'giving up'.
Maybethickness = 0.8pt
->line width=0.8pt
.
– marmot
23 hours ago
add a comment |
It turns out the color, shape names and arrow names are not actual keys possible because there are too numerous of them. Here @percusse explains how it is handled in the code.
Problem between pgfkeys, tikz and personal macro
New contributor
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%2f481310%2fhow-does-tikz-extract-the-pgf-keys-in-latex%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
The pgfkeys
package allows 'styles' to be defined as shortcuts to normal keyvals. Thus thick
is a shortcut for line width = 0.8pt
and red
is (approximately) a shortcut for draw = red
. Ultimately, which are defined is down to the pgf
implementers.
As mentioned in Problem between pgfkeys, tikz and personal macro, some of these shortcuts are not actually normal keys but are rather found on a specifically-coded path of the pgfkeys
parser. In particular, many TikZ commands attempt to treat unknown keys as colours before 'giving up'.
Maybethickness = 0.8pt
->line width=0.8pt
.
– marmot
23 hours ago
add a comment |
The pgfkeys
package allows 'styles' to be defined as shortcuts to normal keyvals. Thus thick
is a shortcut for line width = 0.8pt
and red
is (approximately) a shortcut for draw = red
. Ultimately, which are defined is down to the pgf
implementers.
As mentioned in Problem between pgfkeys, tikz and personal macro, some of these shortcuts are not actually normal keys but are rather found on a specifically-coded path of the pgfkeys
parser. In particular, many TikZ commands attempt to treat unknown keys as colours before 'giving up'.
Maybethickness = 0.8pt
->line width=0.8pt
.
– marmot
23 hours ago
add a comment |
The pgfkeys
package allows 'styles' to be defined as shortcuts to normal keyvals. Thus thick
is a shortcut for line width = 0.8pt
and red
is (approximately) a shortcut for draw = red
. Ultimately, which are defined is down to the pgf
implementers.
As mentioned in Problem between pgfkeys, tikz and personal macro, some of these shortcuts are not actually normal keys but are rather found on a specifically-coded path of the pgfkeys
parser. In particular, many TikZ commands attempt to treat unknown keys as colours before 'giving up'.
The pgfkeys
package allows 'styles' to be defined as shortcuts to normal keyvals. Thus thick
is a shortcut for line width = 0.8pt
and red
is (approximately) a shortcut for draw = red
. Ultimately, which are defined is down to the pgf
implementers.
As mentioned in Problem between pgfkeys, tikz and personal macro, some of these shortcuts are not actually normal keys but are rather found on a specifically-coded path of the pgfkeys
parser. In particular, many TikZ commands attempt to treat unknown keys as colours before 'giving up'.
edited 23 hours ago
answered yesterday
Joseph Wright♦Joseph Wright
205k23562890
205k23562890
Maybethickness = 0.8pt
->line width=0.8pt
.
– marmot
23 hours ago
add a comment |
Maybethickness = 0.8pt
->line width=0.8pt
.
– marmot
23 hours ago
Maybe
thickness = 0.8pt
-> line width=0.8pt
.– marmot
23 hours ago
Maybe
thickness = 0.8pt
-> line width=0.8pt
.– marmot
23 hours ago
add a comment |
It turns out the color, shape names and arrow names are not actual keys possible because there are too numerous of them. Here @percusse explains how it is handled in the code.
Problem between pgfkeys, tikz and personal macro
New contributor
add a comment |
It turns out the color, shape names and arrow names are not actual keys possible because there are too numerous of them. Here @percusse explains how it is handled in the code.
Problem between pgfkeys, tikz and personal macro
New contributor
add a comment |
It turns out the color, shape names and arrow names are not actual keys possible because there are too numerous of them. Here @percusse explains how it is handled in the code.
Problem between pgfkeys, tikz and personal macro
New contributor
It turns out the color, shape names and arrow names are not actual keys possible because there are too numerous of them. Here @percusse explains how it is handled in the code.
Problem between pgfkeys, tikz and personal macro
New contributor
New contributor
answered yesterday
user184225user184225
111
111
New contributor
New contributor
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%2f481310%2fhow-does-tikz-extract-the-pgf-keys-in-latex%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
thick
is a known key, and tikz tries to map unknown keys likered
to colors.– Ulrike Fischer
yesterday
Please have a look at p. 962 of the pgfmanual where
.search also
is explained. (The colors do not work precisely that way but it explains a bit how it can happen that TikZ tries to find a reasonable interpretation of a key. The color behavior is determined bytikzoption{color}{...}
intikz.code.tex
.)– marmot
23 hours ago