TikZ fill color: How to decrease spatial size of fill behind text?
Assumed we have some simple code to display a text node
with a colored fill
behind the text.
Minimum working example (MWE):
documentclass[tikz,border=5mm]{standalone}
begin{document}
begin{tikzpicture}
draw [fill=red] (0,0) -- (1,0) -- (1,1) -- (0,1) --cycle node [above right, xshift=0.25mm,yshift=2.5mm, fill=white] {Text};
end{tikzpicture}
end{document}
Screenshot of the result:
Description of the issue:
As you can see, there is a lot of white fill
space on each side of the text. In some situations this white space is too big in its spatial extent.
How can I decrease the extension of the white fill
without loosing text alignment centered? I've tried with text width=XXXX
and align=center
already, but this does only change the white space on the right side while the text won't be aligned as centered anymore.
How is it possible to decrease the extent of the fill
on the left and right side, and maybe even at the top and bottom side?
tikz-pgf nodes width text fill
add a comment |
Assumed we have some simple code to display a text node
with a colored fill
behind the text.
Minimum working example (MWE):
documentclass[tikz,border=5mm]{standalone}
begin{document}
begin{tikzpicture}
draw [fill=red] (0,0) -- (1,0) -- (1,1) -- (0,1) --cycle node [above right, xshift=0.25mm,yshift=2.5mm, fill=white] {Text};
end{tikzpicture}
end{document}
Screenshot of the result:
Description of the issue:
As you can see, there is a lot of white fill
space on each side of the text. In some situations this white space is too big in its spatial extent.
How can I decrease the extension of the white fill
without loosing text alignment centered? I've tried with text width=XXXX
and align=center
already, but this does only change the white space on the right side while the text won't be aligned as centered anymore.
How is it possible to decrease the extent of the fill
on the left and right side, and maybe even at the top and bottom side?
tikz-pgf nodes width text fill
4
Hey! I think the white space correspond to the nodeinner sep
! If you set it to 0pt (with the optioninner sep=0pt
) the node edge (here the white rectangle borders) will be touching the text (in every direction: left, right, top and bottom). By default, this value is not zero and correspond here to the extent of the fill you are talking about! So you might only need to change this value to change the gap between the white rectangle and your text! I hope this will help you! :)
– Vinzza
Feb 6 at 13:01
add a comment |
Assumed we have some simple code to display a text node
with a colored fill
behind the text.
Minimum working example (MWE):
documentclass[tikz,border=5mm]{standalone}
begin{document}
begin{tikzpicture}
draw [fill=red] (0,0) -- (1,0) -- (1,1) -- (0,1) --cycle node [above right, xshift=0.25mm,yshift=2.5mm, fill=white] {Text};
end{tikzpicture}
end{document}
Screenshot of the result:
Description of the issue:
As you can see, there is a lot of white fill
space on each side of the text. In some situations this white space is too big in its spatial extent.
How can I decrease the extension of the white fill
without loosing text alignment centered? I've tried with text width=XXXX
and align=center
already, but this does only change the white space on the right side while the text won't be aligned as centered anymore.
How is it possible to decrease the extent of the fill
on the left and right side, and maybe even at the top and bottom side?
tikz-pgf nodes width text fill
Assumed we have some simple code to display a text node
with a colored fill
behind the text.
Minimum working example (MWE):
documentclass[tikz,border=5mm]{standalone}
begin{document}
begin{tikzpicture}
draw [fill=red] (0,0) -- (1,0) -- (1,1) -- (0,1) --cycle node [above right, xshift=0.25mm,yshift=2.5mm, fill=white] {Text};
end{tikzpicture}
end{document}
Screenshot of the result:
Description of the issue:
As you can see, there is a lot of white fill
space on each side of the text. In some situations this white space is too big in its spatial extent.
How can I decrease the extension of the white fill
without loosing text alignment centered? I've tried with text width=XXXX
and align=center
already, but this does only change the white space on the right side while the text won't be aligned as centered anymore.
How is it possible to decrease the extent of the fill
on the left and right side, and maybe even at the top and bottom side?
tikz-pgf nodes width text fill
tikz-pgf nodes width text fill
asked Feb 6 at 12:46
DaveDave
830617
830617
4
Hey! I think the white space correspond to the nodeinner sep
! If you set it to 0pt (with the optioninner sep=0pt
) the node edge (here the white rectangle borders) will be touching the text (in every direction: left, right, top and bottom). By default, this value is not zero and correspond here to the extent of the fill you are talking about! So you might only need to change this value to change the gap between the white rectangle and your text! I hope this will help you! :)
– Vinzza
Feb 6 at 13:01
add a comment |
4
Hey! I think the white space correspond to the nodeinner sep
! If you set it to 0pt (with the optioninner sep=0pt
) the node edge (here the white rectangle borders) will be touching the text (in every direction: left, right, top and bottom). By default, this value is not zero and correspond here to the extent of the fill you are talking about! So you might only need to change this value to change the gap between the white rectangle and your text! I hope this will help you! :)
– Vinzza
Feb 6 at 13:01
4
4
Hey! I think the white space correspond to the node
inner sep
! If you set it to 0pt (with the option inner sep=0pt
) the node edge (here the white rectangle borders) will be touching the text (in every direction: left, right, top and bottom). By default, this value is not zero and correspond here to the extent of the fill you are talking about! So you might only need to change this value to change the gap between the white rectangle and your text! I hope this will help you! :)– Vinzza
Feb 6 at 13:01
Hey! I think the white space correspond to the node
inner sep
! If you set it to 0pt (with the option inner sep=0pt
) the node edge (here the white rectangle borders) will be touching the text (in every direction: left, right, top and bottom). By default, this value is not zero and correspond here to the extent of the fill you are talking about! So you might only need to change this value to change the gap between the white rectangle and your text! I hope this will help you! :)– Vinzza
Feb 6 at 13:01
add a comment |
2 Answers
2
active
oldest
votes
A more easier approach:
documentclass[tikz,border=5mm]{standalone}
begin{document}
begin{tikzpicture}
node at (0,0) (a) {};
draw [fill = red] (-0.5,-0.5) rectangle (0.5,0.5);
node[draw = none,fill=white, inner sep = 0pt] at (a.center){Text};
end{tikzpicture}
end{document}
this would give you:
As you draw more complicated diagrams, these type of predefined nodal definitions comes handy.
PS: Thank you @Vinzza
for the nice hint!
As @Vinzza
already mentioned you can play with inner sep = <size>
to adapt the spacing.
You're welcome! :D
– Vinzza
Feb 6 at 15:18
add a comment |
In case you want a filled node but with text over a white background you can use a node with a centered label instead of a filled path with an independent centered node:
documentclass[tikz,border=2mm]{standalone}
begin{document}
begin{tikzpicture}
node[minimum size=2cm, fill=red, label={[fill=white, inner sep=0pt]center:Text}] {};
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%2f473617%2ftikz-fill-color-how-to-decrease-spatial-size-of-fill-behind-text%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
A more easier approach:
documentclass[tikz,border=5mm]{standalone}
begin{document}
begin{tikzpicture}
node at (0,0) (a) {};
draw [fill = red] (-0.5,-0.5) rectangle (0.5,0.5);
node[draw = none,fill=white, inner sep = 0pt] at (a.center){Text};
end{tikzpicture}
end{document}
this would give you:
As you draw more complicated diagrams, these type of predefined nodal definitions comes handy.
PS: Thank you @Vinzza
for the nice hint!
As @Vinzza
already mentioned you can play with inner sep = <size>
to adapt the spacing.
You're welcome! :D
– Vinzza
Feb 6 at 15:18
add a comment |
A more easier approach:
documentclass[tikz,border=5mm]{standalone}
begin{document}
begin{tikzpicture}
node at (0,0) (a) {};
draw [fill = red] (-0.5,-0.5) rectangle (0.5,0.5);
node[draw = none,fill=white, inner sep = 0pt] at (a.center){Text};
end{tikzpicture}
end{document}
this would give you:
As you draw more complicated diagrams, these type of predefined nodal definitions comes handy.
PS: Thank you @Vinzza
for the nice hint!
As @Vinzza
already mentioned you can play with inner sep = <size>
to adapt the spacing.
You're welcome! :D
– Vinzza
Feb 6 at 15:18
add a comment |
A more easier approach:
documentclass[tikz,border=5mm]{standalone}
begin{document}
begin{tikzpicture}
node at (0,0) (a) {};
draw [fill = red] (-0.5,-0.5) rectangle (0.5,0.5);
node[draw = none,fill=white, inner sep = 0pt] at (a.center){Text};
end{tikzpicture}
end{document}
this would give you:
As you draw more complicated diagrams, these type of predefined nodal definitions comes handy.
PS: Thank you @Vinzza
for the nice hint!
As @Vinzza
already mentioned you can play with inner sep = <size>
to adapt the spacing.
A more easier approach:
documentclass[tikz,border=5mm]{standalone}
begin{document}
begin{tikzpicture}
node at (0,0) (a) {};
draw [fill = red] (-0.5,-0.5) rectangle (0.5,0.5);
node[draw = none,fill=white, inner sep = 0pt] at (a.center){Text};
end{tikzpicture}
end{document}
this would give you:
As you draw more complicated diagrams, these type of predefined nodal definitions comes handy.
PS: Thank you @Vinzza
for the nice hint!
As @Vinzza
already mentioned you can play with inner sep = <size>
to adapt the spacing.
answered Feb 6 at 13:22
RaajaRaaja
3,75521037
3,75521037
You're welcome! :D
– Vinzza
Feb 6 at 15:18
add a comment |
You're welcome! :D
– Vinzza
Feb 6 at 15:18
You're welcome! :D
– Vinzza
Feb 6 at 15:18
You're welcome! :D
– Vinzza
Feb 6 at 15:18
add a comment |
In case you want a filled node but with text over a white background you can use a node with a centered label instead of a filled path with an independent centered node:
documentclass[tikz,border=2mm]{standalone}
begin{document}
begin{tikzpicture}
node[minimum size=2cm, fill=red, label={[fill=white, inner sep=0pt]center:Text}] {};
end{tikzpicture}
end{document}
add a comment |
In case you want a filled node but with text over a white background you can use a node with a centered label instead of a filled path with an independent centered node:
documentclass[tikz,border=2mm]{standalone}
begin{document}
begin{tikzpicture}
node[minimum size=2cm, fill=red, label={[fill=white, inner sep=0pt]center:Text}] {};
end{tikzpicture}
end{document}
add a comment |
In case you want a filled node but with text over a white background you can use a node with a centered label instead of a filled path with an independent centered node:
documentclass[tikz,border=2mm]{standalone}
begin{document}
begin{tikzpicture}
node[minimum size=2cm, fill=red, label={[fill=white, inner sep=0pt]center:Text}] {};
end{tikzpicture}
end{document}
In case you want a filled node but with text over a white background you can use a node with a centered label instead of a filled path with an independent centered node:
documentclass[tikz,border=2mm]{standalone}
begin{document}
begin{tikzpicture}
node[minimum size=2cm, fill=red, label={[fill=white, inner sep=0pt]center:Text}] {};
end{tikzpicture}
end{document}
answered Feb 6 at 23:04
IgnasiIgnasi
93.3k4167310
93.3k4167310
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%2f473617%2ftikz-fill-color-how-to-decrease-spatial-size-of-fill-behind-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
4
Hey! I think the white space correspond to the node
inner sep
! If you set it to 0pt (with the optioninner sep=0pt
) the node edge (here the white rectangle borders) will be touching the text (in every direction: left, right, top and bottom). By default, this value is not zero and correspond here to the extent of the fill you are talking about! So you might only need to change this value to change the gap between the white rectangle and your text! I hope this will help you! :)– Vinzza
Feb 6 at 13:01