How to use Tikz to calculate and use successive color values with text?
I'd like to use Tikz to algorithmically generate some text that has a color value based on calculations. Take the following, for example:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i in {0, 1, ..., 10} {
draw (i, 0) node {textcolor[gray]{0.5}A};
}
end{tikzpicture}
end{document}
This displays a row of "A"s in a gray:
How do I go about calculating the 0.5
value to, for example, display this set of "A"s in varying levels of gray, such as a black to white gradient? Could I use this same method to calculate arbitrary RGB values?
tikz-pgf color
add a comment |
I'd like to use Tikz to algorithmically generate some text that has a color value based on calculations. Take the following, for example:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i in {0, 1, ..., 10} {
draw (i, 0) node {textcolor[gray]{0.5}A};
}
end{tikzpicture}
end{document}
This displays a row of "A"s in a gray:
How do I go about calculating the 0.5
value to, for example, display this set of "A"s in varying levels of gray, such as a black to white gradient? Could I use this same method to calculate arbitrary RGB values?
tikz-pgf color
add a comment |
I'd like to use Tikz to algorithmically generate some text that has a color value based on calculations. Take the following, for example:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i in {0, 1, ..., 10} {
draw (i, 0) node {textcolor[gray]{0.5}A};
}
end{tikzpicture}
end{document}
This displays a row of "A"s in a gray:
How do I go about calculating the 0.5
value to, for example, display this set of "A"s in varying levels of gray, such as a black to white gradient? Could I use this same method to calculate arbitrary RGB values?
tikz-pgf color
I'd like to use Tikz to algorithmically generate some text that has a color value based on calculations. Take the following, for example:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i in {0, 1, ..., 10} {
draw (i, 0) node {textcolor[gray]{0.5}A};
}
end{tikzpicture}
end{document}
This displays a row of "A"s in a gray:
How do I go about calculating the 0.5
value to, for example, display this set of "A"s in varying levels of gray, such as a black to white gradient? Could I use this same method to calculate arbitrary RGB values?
tikz-pgf color
tikz-pgf color
asked Nov 21 '18 at 15:28
RoxyRoxy
3565
3565
add a comment |
add a comment |
4 Answers
4
active
oldest
votes
Yes, you can vary the gray levels, and the following can be used also to general non-gray colors.
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
draw (i, 0) node[text=gray!j!white] {A};
}
end{tikzpicture}
end{document}
add a comment |
Just for fun, another foreach
solution:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [count=j] in {0, 10, ..., 100} {
draw (j, 0) node[text=blue!i!red] {A};
}
end{tikzpicture}
end{document}
add a comment |
You can evaluate a variable within the foreach loop itself (see page 904 of 3.0.1a manual).
Here since you want to go from black to white, you can do:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as gradient using 100-i*10] in {0, 1, ..., 10} {
draw (i, 0) node[text=black!gradient] {A};
}
end{tikzpicture}
end{document}
add a comment |
A slightly different syntax than what marmot proposed, but with the same effects
documentclass[tikz,border=3.14pt]{standalone}
begin{document}
begin{tikzpicture}
draw foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
(i, 0) node[text=gray!j!white] {A}
};
end{tikzpicture}
end{document}
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%2f461139%2fhow-to-use-tikz-to-calculate-and-use-successive-color-values-with-text%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
Yes, you can vary the gray levels, and the following can be used also to general non-gray colors.
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
draw (i, 0) node[text=gray!j!white] {A};
}
end{tikzpicture}
end{document}
add a comment |
Yes, you can vary the gray levels, and the following can be used also to general non-gray colors.
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
draw (i, 0) node[text=gray!j!white] {A};
}
end{tikzpicture}
end{document}
add a comment |
Yes, you can vary the gray levels, and the following can be used also to general non-gray colors.
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
draw (i, 0) node[text=gray!j!white] {A};
}
end{tikzpicture}
end{document}
Yes, you can vary the gray levels, and the following can be used also to general non-gray colors.
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
draw (i, 0) node[text=gray!j!white] {A};
}
end{tikzpicture}
end{document}
answered Nov 21 '18 at 15:33
marmotmarmot
113k5144273
113k5144273
add a comment |
add a comment |
Just for fun, another foreach
solution:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [count=j] in {0, 10, ..., 100} {
draw (j, 0) node[text=blue!i!red] {A};
}
end{tikzpicture}
end{document}
add a comment |
Just for fun, another foreach
solution:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [count=j] in {0, 10, ..., 100} {
draw (j, 0) node[text=blue!i!red] {A};
}
end{tikzpicture}
end{document}
add a comment |
Just for fun, another foreach
solution:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [count=j] in {0, 10, ..., 100} {
draw (j, 0) node[text=blue!i!red] {A};
}
end{tikzpicture}
end{document}
Just for fun, another foreach
solution:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [count=j] in {0, 10, ..., 100} {
draw (j, 0) node[text=blue!i!red] {A};
}
end{tikzpicture}
end{document}
answered Nov 21 '18 at 19:48
IgnasiIgnasi
95.5k4175319
95.5k4175319
add a comment |
add a comment |
You can evaluate a variable within the foreach loop itself (see page 904 of 3.0.1a manual).
Here since you want to go from black to white, you can do:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as gradient using 100-i*10] in {0, 1, ..., 10} {
draw (i, 0) node[text=black!gradient] {A};
}
end{tikzpicture}
end{document}
add a comment |
You can evaluate a variable within the foreach loop itself (see page 904 of 3.0.1a manual).
Here since you want to go from black to white, you can do:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as gradient using 100-i*10] in {0, 1, ..., 10} {
draw (i, 0) node[text=black!gradient] {A};
}
end{tikzpicture}
end{document}
add a comment |
You can evaluate a variable within the foreach loop itself (see page 904 of 3.0.1a manual).
Here since you want to go from black to white, you can do:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as gradient using 100-i*10] in {0, 1, ..., 10} {
draw (i, 0) node[text=black!gradient] {A};
}
end{tikzpicture}
end{document}
You can evaluate a variable within the foreach loop itself (see page 904 of 3.0.1a manual).
Here since you want to go from black to white, you can do:
documentclass{standalone}
usepackage{tikz}
begin{document}
begin{tikzpicture}
foreach i [evaluate=i as gradient using 100-i*10] in {0, 1, ..., 10} {
draw (i, 0) node[text=black!gradient] {A};
}
end{tikzpicture}
end{document}
answered Nov 21 '18 at 15:42
AndréCAndréC
10.5k11548
10.5k11548
add a comment |
add a comment |
A slightly different syntax than what marmot proposed, but with the same effects
documentclass[tikz,border=3.14pt]{standalone}
begin{document}
begin{tikzpicture}
draw foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
(i, 0) node[text=gray!j!white] {A}
};
end{tikzpicture}
end{document}
add a comment |
A slightly different syntax than what marmot proposed, but with the same effects
documentclass[tikz,border=3.14pt]{standalone}
begin{document}
begin{tikzpicture}
draw foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
(i, 0) node[text=gray!j!white] {A}
};
end{tikzpicture}
end{document}
add a comment |
A slightly different syntax than what marmot proposed, but with the same effects
documentclass[tikz,border=3.14pt]{standalone}
begin{document}
begin{tikzpicture}
draw foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
(i, 0) node[text=gray!j!white] {A}
};
end{tikzpicture}
end{document}
A slightly different syntax than what marmot proposed, but with the same effects
documentclass[tikz,border=3.14pt]{standalone}
begin{document}
begin{tikzpicture}
draw foreach i [evaluate=i as j using {int(i*10)}] in {0, 1, ..., 10} {
(i, 0) node[text=gray!j!white] {A}
};
end{tikzpicture}
end{document}
answered Nov 21 '18 at 15:45
BambOoBambOo
3,0811527
3,0811527
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%2f461139%2fhow-to-use-tikz-to-calculate-and-use-successive-color-values-with-text%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