Customize circled numbers Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Good way to make textcircled numbers?Circled inline numbers and lettersHow to encircle letters (a-z) with different circle and text colours without tikz?Rotate a node but not its content: the case of the ellipse decorationIncrease the thickness of node border in TikZHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?TikZ: Drawing an arc from an intersection to an intersectionRelative transparency in TikZ?Drawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themtorn paper problem compile
The test team as an enemy of development? And how can this be avoided?
My mentor says to set image to Fine instead of RAW — how is this different from JPG?
Is CEO the "profession" with the most psychopaths?
I can't update due to The repository 'http://download.opensuse.org/repositories/home:/strycore/xUbuntu_16.04 ./ Release' is not signed
Does the Black Tentacles spell do damage twice at the start of turn to an already restrained creature?
Do I really need to have a message in a novel to appeal to readers?
How many morphisms from 1 to 1+1 can there be?
How does Belgium enforce obligatory attendance in elections?
Is multiple magic items in one inherently imbalanced?
Why not send Voyager 3 and 4 following up the paths taken by Voyager 1 and 2 to re-transmit signals of later as they fly away from Earth?
Do reserved cards get returned when gold token is spent?
Central Vacuuming: Is it worth it, and how does it compare to normal vacuuming?
Cut your dress down to your length/size
Connecting Mac Book Pro 2017 to 2 Projectors via USB C
Select every other edge (they share a common vertex)
On a mistake computing the Kullback Liebler Information Criterion
How often does castling occur in grandmaster games?
Does any scripture mention that forms of God or Goddess are symbolic?
How to ternary Plot3D a function
How were pictures turned from film to a big picture in a picture frame before digital scanning?
Manga where all the characters were human/animal hybrids
Synonym of Dream Interpreter
Flight departed from the gate 5 min before scheduled departure time. Refund options
Project Euler #1 in C++
Customize circled numbers
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Good way to make textcircled numbers?Circled inline numbers and lettersHow to encircle letters (a-z) with different circle and text colours without tikz?Rotate a node but not its content: the case of the ellipse decorationIncrease the thickness of node border in TikZHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?TikZ: Drawing an arc from an intersection to an intersectionRelative transparency in TikZ?Drawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themtorn paper problem compile
Below is one solution (by @Stefan) for circled numbers with the help of tikz
. What can I do to make it such that I can in-place customize its draw color, fill color, text color, etc.?
documentclass[tikz,border=7pt]standalone
newcommand*circled[1]tikz[baseline=(char.base)]
node[shape=circle,draw,inner sep=2pt] (char) #1;
begindocument
circled1
enddocument
tikz-pgf
add a comment |
Below is one solution (by @Stefan) for circled numbers with the help of tikz
. What can I do to make it such that I can in-place customize its draw color, fill color, text color, etc.?
documentclass[tikz,border=7pt]standalone
newcommand*circled[1]tikz[baseline=(char.base)]
node[shape=circle,draw,inner sep=2pt] (char) #1;
begindocument
circled1
enddocument
tikz-pgf
Nottikz
, but here's an answer using the picture environment for the same question: tex.stackexchange.com/a/460946/87678
– David Purton
Mar 24 at 10:10
add a comment |
Below is one solution (by @Stefan) for circled numbers with the help of tikz
. What can I do to make it such that I can in-place customize its draw color, fill color, text color, etc.?
documentclass[tikz,border=7pt]standalone
newcommand*circled[1]tikz[baseline=(char.base)]
node[shape=circle,draw,inner sep=2pt] (char) #1;
begindocument
circled1
enddocument
tikz-pgf
Below is one solution (by @Stefan) for circled numbers with the help of tikz
. What can I do to make it such that I can in-place customize its draw color, fill color, text color, etc.?
documentclass[tikz,border=7pt]standalone
newcommand*circled[1]tikz[baseline=(char.base)]
node[shape=circle,draw,inner sep=2pt] (char) #1;
begindocument
circled1
enddocument
tikz-pgf
tikz-pgf
asked Mar 24 at 8:50
blackenedblackened
1,674815
1,674815
Nottikz
, but here's an answer using the picture environment for the same question: tex.stackexchange.com/a/460946/87678
– David Purton
Mar 24 at 10:10
add a comment |
Nottikz
, but here's an answer using the picture environment for the same question: tex.stackexchange.com/a/460946/87678
– David Purton
Mar 24 at 10:10
Not
tikz
, but here's an answer using the picture environment for the same question: tex.stackexchange.com/a/460946/87678– David Purton
Mar 24 at 10:10
Not
tikz
, but here's an answer using the picture environment for the same question: tex.stackexchange.com/a/460946/87678– David Purton
Mar 24 at 10:10
add a comment |
5 Answers
5
active
oldest
votes
I would recommend using tikzmark
here because this amazing library detects which mode (text vs. math mode, if math mode, which) you are in, so you won't have to care about this. And I would like to argue that one should specify the line width in relative units such that it scales with the font size. Of course, you have all the possibilities to color stuff and so on. (The best part is that you can connect the nodes in paths and so on.)
documentclassarticle
usepackagetikz
usetikzlibrarytikzmark
tikzsetmycircled/.style=circle,draw,inner sep=0.1em,line width=0.04em
begindocument
abc tikzmarknode[mycircled,draw=red]t1d
Huge tikzmarknode[mycircled,draw=blue,text=purple]t1D
[
intlimits_tikzmarknode[mycircled,red]a1a^tikzmarknode[mycircled,blue]b1b
f(x),mathrmdx=F(tikzmarknode[mycircled,red]a2a)-
F(tikzmarknode[mycircled,blue]b2b)
]
begintikzpicture[overlay,remember picture]
draw[latex-latex,red] (a1) to[bend right] (a2);
draw[latex-latex,blue] (b1) to[bend left] (b2);
endtikzpicture
enddocument
The TikZ Wizard at work!
– user36296
Mar 24 at 13:01
@marmot Why can't I compile your code?
– blackened
Mar 24 at 13:31
2
@blackened Probably because you have not the most recent version oftikzmark
.tikzmarknode
was added last June or so. You may have to update your TeX installation.
– marmot
Mar 24 at 13:32
add a comment |
Edit after @marmot's (kind :P) comment (thanks):
This answer REALLY takes some care about a somehow constant size for all letters but not when line width
is increased/decreased, because I had to set this parameter as extra or make some hacks in the way that it will be provided to my macro and I am not really sure if the OP need to change the line width (I just gave it initally as an idea about improving the appearance.)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
newlengthmylength
xdefCircleFactor1.1
setlengthmylengthdimexprf@size pt
newsaveboxmybox
newcommand*circled[2][draw=blue]saveboxmyboxvboxvphantomWL1/#1setlengthmylengthdimexprCircleFactordimexprhtmybox+dpmyboxrelaxrelaxtikzsetmystyle/.style=circle,#1,minimum height=mylength
tikz[baseline=(char.base)]
node[mystyle] (char) #2;
makeatother
begindocument
This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the next paragpaph with a verb|tiny| (or whatever font).
noindent Demonstration:\
circledicircledicircledWcircledW\
circledWcircledWcircledicircledi
tiny This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the this with a verb|tiny| (or whatever font).
noindent Demonstration:\
noindentcircledicircledicircledWcircledW\
circledWcircledWcircledicircledi
normalsize Also you can give a parameter inside an optional argument of the command and have different appearance:
circled[text=blue,fill=red,draw=black]Wcircled[fill=yellow,draw=red,text=blue]W
enddocument
This is the old answer that DOESN'T REALY take care for the size according to my answer here.
You will select the style and could add your preferred style inside the optional argument of the definition of the command (I just placed the draw=blue
option)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
defmfontsizef@size
newcommand*circled[2][draw=blue]tikzsetmystyle/.style=circle,#1,minimum height=mfontsize*1.4tikz[baseline=(char.base)]
node[mystyle] (char) vphantomWAH1g#2;
makeatother
begindocument
This is circleda circled[text=blue,fill=orange,draw=red, line width=0.3mm]1 balloon.
enddocument
Takes care of the size. Really? Trybegindocument noindentcircledi noindentcircledw enddocument
– marmot
Mar 24 at 12:51
@marmot: Possibly it was a lie... :P. If it was for "real" your example would not fail. (Thanks... kidding because this "Really?" heard funny to me. Edited).
– koleygr
Mar 24 at 13:39
add a comment |
You can add more parameters to the command.
MWE:
documentclass[tikz,border=7pt]standalone
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
enddocument
Result:
You can also specify default values for the colors using NewDocumentCommand
from the xparse
package:
documentclass[tikz,border=7pt]standalone
usepackagexparse
NewDocumentCommandcircleddefaults
Oblack
Oyellow
Oorange
m
tikz[baseline=(char.base)]
node[shape=circle, fill=#1, draw=#2, text=#3, inner sep=2pt] (char) #4;
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
circleddefaults[blue,brown]2 % two colors specified, third default
circleddefaults3 % all defaults
enddocument
add a comment |
Here is a "double" customization that defines :
- an optional parameter of
circled
that can be any style applied to the node, - an optional
every number
style that, if defined, is applied to all circled numbers.
documentclass[border=7pt]standalone
usepackagetikz
newcommand*circled[2][]tikz[baseline=(char.base)]
node[shape=circle,draw,inner sep=2pt,#1,every number/.try] (char) #2;
tikzstyleevery number=[draw=red] % I like to use tikzstyle ;)
begindocument
circled1circled[fill=yellow]2
enddocument
add a comment |
Here there is a minimal proposal hoping to have understood your request.
documentclass[tikz,border=7pt]standalone
newcommand*circled[1]tikz[baseline=(char.base)]
node[shape=circle, fill= red, draw=yellow, inner sep=2pt] (char) #1;
begindocument
circled1
enddocument
1
I need to be able to change the style when I use it.
– blackened
Mar 24 at 9:15
In my humble opinion, it is necessary to change the excellent macro according to your needs with a new command. It depends on what you need. Have you looked at TikZ's manual?
– Sebastiano
Mar 24 at 9:17
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%2f481168%2fcustomize-circled-numbers%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
5 Answers
5
active
oldest
votes
5 Answers
5
active
oldest
votes
active
oldest
votes
active
oldest
votes
I would recommend using tikzmark
here because this amazing library detects which mode (text vs. math mode, if math mode, which) you are in, so you won't have to care about this. And I would like to argue that one should specify the line width in relative units such that it scales with the font size. Of course, you have all the possibilities to color stuff and so on. (The best part is that you can connect the nodes in paths and so on.)
documentclassarticle
usepackagetikz
usetikzlibrarytikzmark
tikzsetmycircled/.style=circle,draw,inner sep=0.1em,line width=0.04em
begindocument
abc tikzmarknode[mycircled,draw=red]t1d
Huge tikzmarknode[mycircled,draw=blue,text=purple]t1D
[
intlimits_tikzmarknode[mycircled,red]a1a^tikzmarknode[mycircled,blue]b1b
f(x),mathrmdx=F(tikzmarknode[mycircled,red]a2a)-
F(tikzmarknode[mycircled,blue]b2b)
]
begintikzpicture[overlay,remember picture]
draw[latex-latex,red] (a1) to[bend right] (a2);
draw[latex-latex,blue] (b1) to[bend left] (b2);
endtikzpicture
enddocument
The TikZ Wizard at work!
– user36296
Mar 24 at 13:01
@marmot Why can't I compile your code?
– blackened
Mar 24 at 13:31
2
@blackened Probably because you have not the most recent version oftikzmark
.tikzmarknode
was added last June or so. You may have to update your TeX installation.
– marmot
Mar 24 at 13:32
add a comment |
I would recommend using tikzmark
here because this amazing library detects which mode (text vs. math mode, if math mode, which) you are in, so you won't have to care about this. And I would like to argue that one should specify the line width in relative units such that it scales with the font size. Of course, you have all the possibilities to color stuff and so on. (The best part is that you can connect the nodes in paths and so on.)
documentclassarticle
usepackagetikz
usetikzlibrarytikzmark
tikzsetmycircled/.style=circle,draw,inner sep=0.1em,line width=0.04em
begindocument
abc tikzmarknode[mycircled,draw=red]t1d
Huge tikzmarknode[mycircled,draw=blue,text=purple]t1D
[
intlimits_tikzmarknode[mycircled,red]a1a^tikzmarknode[mycircled,blue]b1b
f(x),mathrmdx=F(tikzmarknode[mycircled,red]a2a)-
F(tikzmarknode[mycircled,blue]b2b)
]
begintikzpicture[overlay,remember picture]
draw[latex-latex,red] (a1) to[bend right] (a2);
draw[latex-latex,blue] (b1) to[bend left] (b2);
endtikzpicture
enddocument
The TikZ Wizard at work!
– user36296
Mar 24 at 13:01
@marmot Why can't I compile your code?
– blackened
Mar 24 at 13:31
2
@blackened Probably because you have not the most recent version oftikzmark
.tikzmarknode
was added last June or so. You may have to update your TeX installation.
– marmot
Mar 24 at 13:32
add a comment |
I would recommend using tikzmark
here because this amazing library detects which mode (text vs. math mode, if math mode, which) you are in, so you won't have to care about this. And I would like to argue that one should specify the line width in relative units such that it scales with the font size. Of course, you have all the possibilities to color stuff and so on. (The best part is that you can connect the nodes in paths and so on.)
documentclassarticle
usepackagetikz
usetikzlibrarytikzmark
tikzsetmycircled/.style=circle,draw,inner sep=0.1em,line width=0.04em
begindocument
abc tikzmarknode[mycircled,draw=red]t1d
Huge tikzmarknode[mycircled,draw=blue,text=purple]t1D
[
intlimits_tikzmarknode[mycircled,red]a1a^tikzmarknode[mycircled,blue]b1b
f(x),mathrmdx=F(tikzmarknode[mycircled,red]a2a)-
F(tikzmarknode[mycircled,blue]b2b)
]
begintikzpicture[overlay,remember picture]
draw[latex-latex,red] (a1) to[bend right] (a2);
draw[latex-latex,blue] (b1) to[bend left] (b2);
endtikzpicture
enddocument
I would recommend using tikzmark
here because this amazing library detects which mode (text vs. math mode, if math mode, which) you are in, so you won't have to care about this. And I would like to argue that one should specify the line width in relative units such that it scales with the font size. Of course, you have all the possibilities to color stuff and so on. (The best part is that you can connect the nodes in paths and so on.)
documentclassarticle
usepackagetikz
usetikzlibrarytikzmark
tikzsetmycircled/.style=circle,draw,inner sep=0.1em,line width=0.04em
begindocument
abc tikzmarknode[mycircled,draw=red]t1d
Huge tikzmarknode[mycircled,draw=blue,text=purple]t1D
[
intlimits_tikzmarknode[mycircled,red]a1a^tikzmarknode[mycircled,blue]b1b
f(x),mathrmdx=F(tikzmarknode[mycircled,red]a2a)-
F(tikzmarknode[mycircled,blue]b2b)
]
begintikzpicture[overlay,remember picture]
draw[latex-latex,red] (a1) to[bend right] (a2);
draw[latex-latex,blue] (b1) to[bend left] (b2);
endtikzpicture
enddocument
edited Mar 24 at 13:05
answered Mar 24 at 13:00
marmotmarmot
120k6154290
120k6154290
The TikZ Wizard at work!
– user36296
Mar 24 at 13:01
@marmot Why can't I compile your code?
– blackened
Mar 24 at 13:31
2
@blackened Probably because you have not the most recent version oftikzmark
.tikzmarknode
was added last June or so. You may have to update your TeX installation.
– marmot
Mar 24 at 13:32
add a comment |
The TikZ Wizard at work!
– user36296
Mar 24 at 13:01
@marmot Why can't I compile your code?
– blackened
Mar 24 at 13:31
2
@blackened Probably because you have not the most recent version oftikzmark
.tikzmarknode
was added last June or so. You may have to update your TeX installation.
– marmot
Mar 24 at 13:32
The TikZ Wizard at work!
– user36296
Mar 24 at 13:01
The TikZ Wizard at work!
– user36296
Mar 24 at 13:01
@marmot Why can't I compile your code?
– blackened
Mar 24 at 13:31
@marmot Why can't I compile your code?
– blackened
Mar 24 at 13:31
2
2
@blackened Probably because you have not the most recent version of
tikzmark
. tikzmarknode
was added last June or so. You may have to update your TeX installation.– marmot
Mar 24 at 13:32
@blackened Probably because you have not the most recent version of
tikzmark
. tikzmarknode
was added last June or so. You may have to update your TeX installation.– marmot
Mar 24 at 13:32
add a comment |
Edit after @marmot's (kind :P) comment (thanks):
This answer REALLY takes some care about a somehow constant size for all letters but not when line width
is increased/decreased, because I had to set this parameter as extra or make some hacks in the way that it will be provided to my macro and I am not really sure if the OP need to change the line width (I just gave it initally as an idea about improving the appearance.)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
newlengthmylength
xdefCircleFactor1.1
setlengthmylengthdimexprf@size pt
newsaveboxmybox
newcommand*circled[2][draw=blue]saveboxmyboxvboxvphantomWL1/#1setlengthmylengthdimexprCircleFactordimexprhtmybox+dpmyboxrelaxrelaxtikzsetmystyle/.style=circle,#1,minimum height=mylength
tikz[baseline=(char.base)]
node[mystyle] (char) #2;
makeatother
begindocument
This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the next paragpaph with a verb|tiny| (or whatever font).
noindent Demonstration:\
circledicircledicircledWcircledW\
circledWcircledWcircledicircledi
tiny This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the this with a verb|tiny| (or whatever font).
noindent Demonstration:\
noindentcircledicircledicircledWcircledW\
circledWcircledWcircledicircledi
normalsize Also you can give a parameter inside an optional argument of the command and have different appearance:
circled[text=blue,fill=red,draw=black]Wcircled[fill=yellow,draw=red,text=blue]W
enddocument
This is the old answer that DOESN'T REALY take care for the size according to my answer here.
You will select the style and could add your preferred style inside the optional argument of the definition of the command (I just placed the draw=blue
option)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
defmfontsizef@size
newcommand*circled[2][draw=blue]tikzsetmystyle/.style=circle,#1,minimum height=mfontsize*1.4tikz[baseline=(char.base)]
node[mystyle] (char) vphantomWAH1g#2;
makeatother
begindocument
This is circleda circled[text=blue,fill=orange,draw=red, line width=0.3mm]1 balloon.
enddocument
Takes care of the size. Really? Trybegindocument noindentcircledi noindentcircledw enddocument
– marmot
Mar 24 at 12:51
@marmot: Possibly it was a lie... :P. If it was for "real" your example would not fail. (Thanks... kidding because this "Really?" heard funny to me. Edited).
– koleygr
Mar 24 at 13:39
add a comment |
Edit after @marmot's (kind :P) comment (thanks):
This answer REALLY takes some care about a somehow constant size for all letters but not when line width
is increased/decreased, because I had to set this parameter as extra or make some hacks in the way that it will be provided to my macro and I am not really sure if the OP need to change the line width (I just gave it initally as an idea about improving the appearance.)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
newlengthmylength
xdefCircleFactor1.1
setlengthmylengthdimexprf@size pt
newsaveboxmybox
newcommand*circled[2][draw=blue]saveboxmyboxvboxvphantomWL1/#1setlengthmylengthdimexprCircleFactordimexprhtmybox+dpmyboxrelaxrelaxtikzsetmystyle/.style=circle,#1,minimum height=mylength
tikz[baseline=(char.base)]
node[mystyle] (char) #2;
makeatother
begindocument
This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the next paragpaph with a verb|tiny| (or whatever font).
noindent Demonstration:\
circledicircledicircledWcircledW\
circledWcircledWcircledicircledi
tiny This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the this with a verb|tiny| (or whatever font).
noindent Demonstration:\
noindentcircledicircledicircledWcircledW\
circledWcircledWcircledicircledi
normalsize Also you can give a parameter inside an optional argument of the command and have different appearance:
circled[text=blue,fill=red,draw=black]Wcircled[fill=yellow,draw=red,text=blue]W
enddocument
This is the old answer that DOESN'T REALY take care for the size according to my answer here.
You will select the style and could add your preferred style inside the optional argument of the definition of the command (I just placed the draw=blue
option)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
defmfontsizef@size
newcommand*circled[2][draw=blue]tikzsetmystyle/.style=circle,#1,minimum height=mfontsize*1.4tikz[baseline=(char.base)]
node[mystyle] (char) vphantomWAH1g#2;
makeatother
begindocument
This is circleda circled[text=blue,fill=orange,draw=red, line width=0.3mm]1 balloon.
enddocument
Takes care of the size. Really? Trybegindocument noindentcircledi noindentcircledw enddocument
– marmot
Mar 24 at 12:51
@marmot: Possibly it was a lie... :P. If it was for "real" your example would not fail. (Thanks... kidding because this "Really?" heard funny to me. Edited).
– koleygr
Mar 24 at 13:39
add a comment |
Edit after @marmot's (kind :P) comment (thanks):
This answer REALLY takes some care about a somehow constant size for all letters but not when line width
is increased/decreased, because I had to set this parameter as extra or make some hacks in the way that it will be provided to my macro and I am not really sure if the OP need to change the line width (I just gave it initally as an idea about improving the appearance.)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
newlengthmylength
xdefCircleFactor1.1
setlengthmylengthdimexprf@size pt
newsaveboxmybox
newcommand*circled[2][draw=blue]saveboxmyboxvboxvphantomWL1/#1setlengthmylengthdimexprCircleFactordimexprhtmybox+dpmyboxrelaxrelaxtikzsetmystyle/.style=circle,#1,minimum height=mylength
tikz[baseline=(char.base)]
node[mystyle] (char) #2;
makeatother
begindocument
This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the next paragpaph with a verb|tiny| (or whatever font).
noindent Demonstration:\
circledicircledicircledWcircledW\
circledWcircledWcircledicircledi
tiny This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the this with a verb|tiny| (or whatever font).
noindent Demonstration:\
noindentcircledicircledicircledWcircledW\
circledWcircledWcircledicircledi
normalsize Also you can give a parameter inside an optional argument of the command and have different appearance:
circled[text=blue,fill=red,draw=black]Wcircled[fill=yellow,draw=red,text=blue]W
enddocument
This is the old answer that DOESN'T REALY take care for the size according to my answer here.
You will select the style and could add your preferred style inside the optional argument of the definition of the command (I just placed the draw=blue
option)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
defmfontsizef@size
newcommand*circled[2][draw=blue]tikzsetmystyle/.style=circle,#1,minimum height=mfontsize*1.4tikz[baseline=(char.base)]
node[mystyle] (char) vphantomWAH1g#2;
makeatother
begindocument
This is circleda circled[text=blue,fill=orange,draw=red, line width=0.3mm]1 balloon.
enddocument
Edit after @marmot's (kind :P) comment (thanks):
This answer REALLY takes some care about a somehow constant size for all letters but not when line width
is increased/decreased, because I had to set this parameter as extra or make some hacks in the way that it will be provided to my macro and I am not really sure if the OP need to change the line width (I just gave it initally as an idea about improving the appearance.)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
newlengthmylength
xdefCircleFactor1.1
setlengthmylengthdimexprf@size pt
newsaveboxmybox
newcommand*circled[2][draw=blue]saveboxmyboxvboxvphantomWL1/#1setlengthmylengthdimexprCircleFactordimexprhtmybox+dpmyboxrelaxrelaxtikzsetmystyle/.style=circle,#1,minimum height=mylength
tikz[baseline=(char.base)]
node[mystyle] (char) #2;
makeatother
begindocument
This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the next paragpaph with a verb|tiny| (or whatever font).
noindent Demonstration:\
circledicircledicircledWcircledW\
circledWcircledWcircledicircledi
tiny This answer takes care of the current font size in a way that circledi and circledW will appear the same size here and in the this with a verb|tiny| (or whatever font).
noindent Demonstration:\
noindentcircledicircledicircledWcircledW\
circledWcircledWcircledicircledi
normalsize Also you can give a parameter inside an optional argument of the command and have different appearance:
circled[text=blue,fill=red,draw=black]Wcircled[fill=yellow,draw=red,text=blue]W
enddocument
This is the old answer that DOESN'T REALY take care for the size according to my answer here.
You will select the style and could add your preferred style inside the optional argument of the definition of the command (I just placed the draw=blue
option)
documentclassarticle
usepackagetikz
usetikzlibrarycalc
makeatletter
defmfontsizef@size
newcommand*circled[2][draw=blue]tikzsetmystyle/.style=circle,#1,minimum height=mfontsize*1.4tikz[baseline=(char.base)]
node[mystyle] (char) vphantomWAH1g#2;
makeatother
begindocument
This is circleda circled[text=blue,fill=orange,draw=red, line width=0.3mm]1 balloon.
enddocument
edited Mar 24 at 14:21
answered Mar 24 at 9:32
koleygrkoleygr
13.4k11039
13.4k11039
Takes care of the size. Really? Trybegindocument noindentcircledi noindentcircledw enddocument
– marmot
Mar 24 at 12:51
@marmot: Possibly it was a lie... :P. If it was for "real" your example would not fail. (Thanks... kidding because this "Really?" heard funny to me. Edited).
– koleygr
Mar 24 at 13:39
add a comment |
Takes care of the size. Really? Trybegindocument noindentcircledi noindentcircledw enddocument
– marmot
Mar 24 at 12:51
@marmot: Possibly it was a lie... :P. If it was for "real" your example would not fail. (Thanks... kidding because this "Really?" heard funny to me. Edited).
– koleygr
Mar 24 at 13:39
Takes care of the size. Really? Try
begindocument noindentcircledi noindentcircledw enddocument
– marmot
Mar 24 at 12:51
Takes care of the size. Really? Try
begindocument noindentcircledi noindentcircledw enddocument
– marmot
Mar 24 at 12:51
@marmot: Possibly it was a lie... :P. If it was for "real" your example would not fail. (Thanks... kidding because this "Really?" heard funny to me. Edited).
– koleygr
Mar 24 at 13:39
@marmot: Possibly it was a lie... :P. If it was for "real" your example would not fail. (Thanks... kidding because this "Really?" heard funny to me. Edited).
– koleygr
Mar 24 at 13:39
add a comment |
You can add more parameters to the command.
MWE:
documentclass[tikz,border=7pt]standalone
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
enddocument
Result:
You can also specify default values for the colors using NewDocumentCommand
from the xparse
package:
documentclass[tikz,border=7pt]standalone
usepackagexparse
NewDocumentCommandcircleddefaults
Oblack
Oyellow
Oorange
m
tikz[baseline=(char.base)]
node[shape=circle, fill=#1, draw=#2, text=#3, inner sep=2pt] (char) #4;
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
circleddefaults[blue,brown]2 % two colors specified, third default
circleddefaults3 % all defaults
enddocument
add a comment |
You can add more parameters to the command.
MWE:
documentclass[tikz,border=7pt]standalone
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
enddocument
Result:
You can also specify default values for the colors using NewDocumentCommand
from the xparse
package:
documentclass[tikz,border=7pt]standalone
usepackagexparse
NewDocumentCommandcircleddefaults
Oblack
Oyellow
Oorange
m
tikz[baseline=(char.base)]
node[shape=circle, fill=#1, draw=#2, text=#3, inner sep=2pt] (char) #4;
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
circleddefaults[blue,brown]2 % two colors specified, third default
circleddefaults3 % all defaults
enddocument
add a comment |
You can add more parameters to the command.
MWE:
documentclass[tikz,border=7pt]standalone
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
enddocument
Result:
You can also specify default values for the colors using NewDocumentCommand
from the xparse
package:
documentclass[tikz,border=7pt]standalone
usepackagexparse
NewDocumentCommandcircleddefaults
Oblack
Oyellow
Oorange
m
tikz[baseline=(char.base)]
node[shape=circle, fill=#1, draw=#2, text=#3, inner sep=2pt] (char) #4;
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
circleddefaults[blue,brown]2 % two colors specified, third default
circleddefaults3 % all defaults
enddocument
You can add more parameters to the command.
MWE:
documentclass[tikz,border=7pt]standalone
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
enddocument
Result:
You can also specify default values for the colors using NewDocumentCommand
from the xparse
package:
documentclass[tikz,border=7pt]standalone
usepackagexparse
NewDocumentCommandcircleddefaults
Oblack
Oyellow
Oorange
m
tikz[baseline=(char.base)]
node[shape=circle, fill=#1, draw=#2, text=#3, inner sep=2pt] (char) #4;
newcommand*circled[4]tikz[baseline=(char.base)]
node[shape=circle, fill=#2, draw=#3, text=#4, inner sep=2pt] (char) #1;
begindocument
circled1redgreenblue
circleddefaults[blue,brown]2 % two colors specified, third default
circleddefaults3 % all defaults
enddocument
edited Mar 24 at 9:33
answered Mar 24 at 9:25
MarijnMarijn
8,634639
8,634639
add a comment |
add a comment |
Here is a "double" customization that defines :
- an optional parameter of
circled
that can be any style applied to the node, - an optional
every number
style that, if defined, is applied to all circled numbers.
documentclass[border=7pt]standalone
usepackagetikz
newcommand*circled[2][]tikz[baseline=(char.base)]
node[shape=circle,draw,inner sep=2pt,#1,every number/.try] (char) #2;
tikzstyleevery number=[draw=red] % I like to use tikzstyle ;)
begindocument
circled1circled[fill=yellow]2
enddocument
add a comment |
Here is a "double" customization that defines :
- an optional parameter of
circled
that can be any style applied to the node, - an optional
every number
style that, if defined, is applied to all circled numbers.
documentclass[border=7pt]standalone
usepackagetikz
newcommand*circled[2][]tikz[baseline=(char.base)]
node[shape=circle,draw,inner sep=2pt,#1,every number/.try] (char) #2;
tikzstyleevery number=[draw=red] % I like to use tikzstyle ;)
begindocument
circled1circled[fill=yellow]2
enddocument
add a comment |
Here is a "double" customization that defines :
- an optional parameter of
circled
that can be any style applied to the node, - an optional
every number
style that, if defined, is applied to all circled numbers.
documentclass[border=7pt]standalone
usepackagetikz
newcommand*circled[2][]tikz[baseline=(char.base)]
node[shape=circle,draw,inner sep=2pt,#1,every number/.try] (char) #2;
tikzstyleevery number=[draw=red] % I like to use tikzstyle ;)
begindocument
circled1circled[fill=yellow]2
enddocument
Here is a "double" customization that defines :
- an optional parameter of
circled
that can be any style applied to the node, - an optional
every number
style that, if defined, is applied to all circled numbers.
documentclass[border=7pt]standalone
usepackagetikz
newcommand*circled[2][]tikz[baseline=(char.base)]
node[shape=circle,draw,inner sep=2pt,#1,every number/.try] (char) #2;
tikzstyleevery number=[draw=red] % I like to use tikzstyle ;)
begindocument
circled1circled[fill=yellow]2
enddocument
answered Mar 24 at 10:22
KpymKpym
17.9k24192
17.9k24192
add a comment |
add a comment |
Here there is a minimal proposal hoping to have understood your request.
documentclass[tikz,border=7pt]standalone
newcommand*circled[1]tikz[baseline=(char.base)]
node[shape=circle, fill= red, draw=yellow, inner sep=2pt] (char) #1;
begindocument
circled1
enddocument
1
I need to be able to change the style when I use it.
– blackened
Mar 24 at 9:15
In my humble opinion, it is necessary to change the excellent macro according to your needs with a new command. It depends on what you need. Have you looked at TikZ's manual?
– Sebastiano
Mar 24 at 9:17
add a comment |
Here there is a minimal proposal hoping to have understood your request.
documentclass[tikz,border=7pt]standalone
newcommand*circled[1]tikz[baseline=(char.base)]
node[shape=circle, fill= red, draw=yellow, inner sep=2pt] (char) #1;
begindocument
circled1
enddocument
1
I need to be able to change the style when I use it.
– blackened
Mar 24 at 9:15
In my humble opinion, it is necessary to change the excellent macro according to your needs with a new command. It depends on what you need. Have you looked at TikZ's manual?
– Sebastiano
Mar 24 at 9:17
add a comment |
Here there is a minimal proposal hoping to have understood your request.
documentclass[tikz,border=7pt]standalone
newcommand*circled[1]tikz[baseline=(char.base)]
node[shape=circle, fill= red, draw=yellow, inner sep=2pt] (char) #1;
begindocument
circled1
enddocument
Here there is a minimal proposal hoping to have understood your request.
documentclass[tikz,border=7pt]standalone
newcommand*circled[1]tikz[baseline=(char.base)]
node[shape=circle, fill= red, draw=yellow, inner sep=2pt] (char) #1;
begindocument
circled1
enddocument
edited Mar 24 at 12:32
answered Mar 24 at 9:11
SebastianoSebastiano
11.3k42266
11.3k42266
1
I need to be able to change the style when I use it.
– blackened
Mar 24 at 9:15
In my humble opinion, it is necessary to change the excellent macro according to your needs with a new command. It depends on what you need. Have you looked at TikZ's manual?
– Sebastiano
Mar 24 at 9:17
add a comment |
1
I need to be able to change the style when I use it.
– blackened
Mar 24 at 9:15
In my humble opinion, it is necessary to change the excellent macro according to your needs with a new command. It depends on what you need. Have you looked at TikZ's manual?
– Sebastiano
Mar 24 at 9:17
1
1
I need to be able to change the style when I use it.
– blackened
Mar 24 at 9:15
I need to be able to change the style when I use it.
– blackened
Mar 24 at 9:15
In my humble opinion, it is necessary to change the excellent macro according to your needs with a new command. It depends on what you need. Have you looked at TikZ's manual?
– Sebastiano
Mar 24 at 9:17
In my humble opinion, it is necessary to change the excellent macro according to your needs with a new command. It depends on what you need. Have you looked at TikZ's manual?
– Sebastiano
Mar 24 at 9:17
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%2f481168%2fcustomize-circled-numbers%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
Not
tikz
, but here's an answer using the picture environment for the same question: tex.stackexchange.com/a/460946/87678– David Purton
Mar 24 at 10:10