A macro that draws a half-disk for use in mathmode
I'd like to define macros to be able to use each of the following six shapes as subscripts in math mode.
I'd try to draw them using tikz, but I don't know if I could use those as subscripts.
math-mode subscripts
add a comment |
I'd like to define macros to be able to use each of the following six shapes as subscripts in math mode.
I'd try to draw them using tikz, but I don't know if I could use those as subscripts.
math-mode subscripts
1
Maybe you find some here: ctan.org/pkg/wasysym or www.ctan.org/pkg/stix
– Sigur
Nov 20 at 14:44
Thanks! That package has the commands Leftcircle and Rightcircle, I'll try to figure out how to rotate those. Still missing the ones with just the arc, though.
– Peter
Nov 20 at 14:46
1
Check here also: mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
– Sigur
Nov 20 at 14:50
Also, if usingunicode-math
: mirrors.ctan.org/macros/latex/contrib/unicode-math/…
– Davislor
Nov 21 at 3:34
1
A few of those symbols are in Unicode, ◯ is U+25EF, ◠ is U+25E0 and ◡ is U+25E1.unicode-math
and some other packages give these the aliaseslgwhtcircle
,topsemicircle
andbotsemicircle
, respectively. There are several horizontal dashes. The other two symbols do not seem to be.
– Davislor
Nov 21 at 3:43
add a comment |
I'd like to define macros to be able to use each of the following six shapes as subscripts in math mode.
I'd try to draw them using tikz, but I don't know if I could use those as subscripts.
math-mode subscripts
I'd like to define macros to be able to use each of the following six shapes as subscripts in math mode.
I'd try to draw them using tikz, but I don't know if I could use those as subscripts.
math-mode subscripts
math-mode subscripts
asked Nov 20 at 14:39
Peter
1535
1535
1
Maybe you find some here: ctan.org/pkg/wasysym or www.ctan.org/pkg/stix
– Sigur
Nov 20 at 14:44
Thanks! That package has the commands Leftcircle and Rightcircle, I'll try to figure out how to rotate those. Still missing the ones with just the arc, though.
– Peter
Nov 20 at 14:46
1
Check here also: mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
– Sigur
Nov 20 at 14:50
Also, if usingunicode-math
: mirrors.ctan.org/macros/latex/contrib/unicode-math/…
– Davislor
Nov 21 at 3:34
1
A few of those symbols are in Unicode, ◯ is U+25EF, ◠ is U+25E0 and ◡ is U+25E1.unicode-math
and some other packages give these the aliaseslgwhtcircle
,topsemicircle
andbotsemicircle
, respectively. There are several horizontal dashes. The other two symbols do not seem to be.
– Davislor
Nov 21 at 3:43
add a comment |
1
Maybe you find some here: ctan.org/pkg/wasysym or www.ctan.org/pkg/stix
– Sigur
Nov 20 at 14:44
Thanks! That package has the commands Leftcircle and Rightcircle, I'll try to figure out how to rotate those. Still missing the ones with just the arc, though.
– Peter
Nov 20 at 14:46
1
Check here also: mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
– Sigur
Nov 20 at 14:50
Also, if usingunicode-math
: mirrors.ctan.org/macros/latex/contrib/unicode-math/…
– Davislor
Nov 21 at 3:34
1
A few of those symbols are in Unicode, ◯ is U+25EF, ◠ is U+25E0 and ◡ is U+25E1.unicode-math
and some other packages give these the aliaseslgwhtcircle
,topsemicircle
andbotsemicircle
, respectively. There are several horizontal dashes. The other two symbols do not seem to be.
– Davislor
Nov 21 at 3:43
1
1
Maybe you find some here: ctan.org/pkg/wasysym or www.ctan.org/pkg/stix
– Sigur
Nov 20 at 14:44
Maybe you find some here: ctan.org/pkg/wasysym or www.ctan.org/pkg/stix
– Sigur
Nov 20 at 14:44
Thanks! That package has the commands Leftcircle and Rightcircle, I'll try to figure out how to rotate those. Still missing the ones with just the arc, though.
– Peter
Nov 20 at 14:46
Thanks! That package has the commands Leftcircle and Rightcircle, I'll try to figure out how to rotate those. Still missing the ones with just the arc, though.
– Peter
Nov 20 at 14:46
1
1
Check here also: mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
– Sigur
Nov 20 at 14:50
Check here also: mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
– Sigur
Nov 20 at 14:50
Also, if using
unicode-math
: mirrors.ctan.org/macros/latex/contrib/unicode-math/…– Davislor
Nov 21 at 3:34
Also, if using
unicode-math
: mirrors.ctan.org/macros/latex/contrib/unicode-math/…– Davislor
Nov 21 at 3:34
1
1
A few of those symbols are in Unicode, ◯ is U+25EF, ◠ is U+25E0 and ◡ is U+25E1.
unicode-math
and some other packages give these the aliases lgwhtcircle
, topsemicircle
and botsemicircle
, respectively. There are several horizontal dashes. The other two symbols do not seem to be.– Davislor
Nov 21 at 3:43
A few of those symbols are in Unicode, ◯ is U+25EF, ◠ is U+25E0 and ◡ is U+25E1.
unicode-math
and some other packages give these the aliases lgwhtcircle
, topsemicircle
and botsemicircle
, respectively. There are several horizontal dashes. The other two symbols do not seem to be.– Davislor
Nov 21 at 3:43
add a comment |
3 Answers
3
active
oldest
votes
Picture mode!
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
DeclareRobustCommand{fullcircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[0,180]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[180,360]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{diam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}
}mspace{2mu}
}
begin{document}
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
end{document}
An enhanced version that can cope with the symbols at every level.
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
makeatletter
DeclareRobustCommand{fullcircle}{peter@symbolpeter@fullcircle}
DeclareRobustCommand{upsemicircle}{peter@symbolpeter@upsemicircle}
DeclareRobustCommand{downsemicircle}{peter@symbolpeter@downsemicircle}
DeclareRobustCommand{upsemicirclediam}{peter@symbolpeter@upsemicirclediam}
DeclareRobustCommand{downsemicirclediam}{peter@symbolpeter@downsemicirclediam}
DeclareRobustCommand{diam}{peter@symbolpeter@diam}
newcommand{peter@symbol}[1]{mathord{mspace{2mu}mathpalette#1relaxmspace{2mu}}}
newcommand{peter@unitlength}[1]{%
settoheight{unitlength}{$m@th#1O$}%
linethickness{fontdimen 8
ifx#1displaystyletextfontelse
ifx#1textstyletextfontelse
ifx#1scriptstylescriptfontelse
scriptscriptfontfififi 3
}%
}
newcommand{peter@fullcircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{180}
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{180}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@diam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}%
endgroup
}
begin{document}
$Xfullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam$
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
$X_{X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}}$
end{document}
add a comment |
TikZ in boxes! (Far inferior to picture mode unfortunately)
documentclass{article}
usepackage{tikz}
makeatletter
newcommandsetup@crazysubscripts[2]
{%
expandafternewsaveboxcsname crazysubscripts@#1endcsname
expandaftersboxcsname crazysubscripts@#1endcsname
{%
kern.1ex
begin{tikzpicture}
path[use as bounding box] circle[radius=.5ex];
#2%
end{tikzpicture}%
kern.1ex
}%
}
setup@crazysubscripts{fc}% fullcircle
{%
draw circle[radius=.5ex];%
}
setup@crazysubscripts{lo}% lower open
{%
draw (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex];%
}
setup@crazysubscripts{uo}% upper open
{%
draw (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex];%
}
setup@crazysubscripts{lc}% lower closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{uc}% upper closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{b}% boring line
{%
draw (-.5ex,0) -- (.5ex,0);%
}
newcommandcsubs[1]
{%
@ifundefined{crazysubscripts@#1}
{GenericError{}{Undefined crazysubscript `#1`}{}{}}%
{%
resizebox{.75ex}{!}
{expandafteruseboxcsname crazysubscripts@#1endcsname}%
}%
}
makeatother
begin{document}
$A_{csubs{fc}_{csubs{lo}_{csubs{lc}}}}$
csubs{fc}csubs{lo}csubs{uo}csubs{lc}csubs{uc}csubs{b}
end{document}
Could you elaborate how this is inferior to picture mode?
– Peter
Nov 20 at 15:34
@Peter because the other one is picture mode!
– Skillmon
Nov 20 at 15:43
2
@Peter no honestly, it's just a joke.
– Skillmon
Nov 20 at 15:44
add a comment |
Just a template.
documentclass[preview,border=12pt,varwidth,12pt]{standalone}
usepackage{tikz}
defalex{tikz draw (0,0) circle (2pt);}
defbobby{tikz draw (0,0) -- (3pt,0) -- (3pt,2pt) -- cycle;}
begin{document}
This is an equation $F_{alex}^{bobby}+1$.
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%2f460959%2fa-macro-that-draws-a-half-disk-for-use-in-mathmode%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Picture mode!
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
DeclareRobustCommand{fullcircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[0,180]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[180,360]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{diam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}
}mspace{2mu}
}
begin{document}
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
end{document}
An enhanced version that can cope with the symbols at every level.
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
makeatletter
DeclareRobustCommand{fullcircle}{peter@symbolpeter@fullcircle}
DeclareRobustCommand{upsemicircle}{peter@symbolpeter@upsemicircle}
DeclareRobustCommand{downsemicircle}{peter@symbolpeter@downsemicircle}
DeclareRobustCommand{upsemicirclediam}{peter@symbolpeter@upsemicirclediam}
DeclareRobustCommand{downsemicirclediam}{peter@symbolpeter@downsemicirclediam}
DeclareRobustCommand{diam}{peter@symbolpeter@diam}
newcommand{peter@symbol}[1]{mathord{mspace{2mu}mathpalette#1relaxmspace{2mu}}}
newcommand{peter@unitlength}[1]{%
settoheight{unitlength}{$m@th#1O$}%
linethickness{fontdimen 8
ifx#1displaystyletextfontelse
ifx#1textstyletextfontelse
ifx#1scriptstylescriptfontelse
scriptscriptfontfififi 3
}%
}
newcommand{peter@fullcircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{180}
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{180}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@diam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}%
endgroup
}
begin{document}
$Xfullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam$
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
$X_{X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}}$
end{document}
add a comment |
Picture mode!
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
DeclareRobustCommand{fullcircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[0,180]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[180,360]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{diam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}
}mspace{2mu}
}
begin{document}
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
end{document}
An enhanced version that can cope with the symbols at every level.
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
makeatletter
DeclareRobustCommand{fullcircle}{peter@symbolpeter@fullcircle}
DeclareRobustCommand{upsemicircle}{peter@symbolpeter@upsemicircle}
DeclareRobustCommand{downsemicircle}{peter@symbolpeter@downsemicircle}
DeclareRobustCommand{upsemicirclediam}{peter@symbolpeter@upsemicirclediam}
DeclareRobustCommand{downsemicirclediam}{peter@symbolpeter@downsemicirclediam}
DeclareRobustCommand{diam}{peter@symbolpeter@diam}
newcommand{peter@symbol}[1]{mathord{mspace{2mu}mathpalette#1relaxmspace{2mu}}}
newcommand{peter@unitlength}[1]{%
settoheight{unitlength}{$m@th#1O$}%
linethickness{fontdimen 8
ifx#1displaystyletextfontelse
ifx#1textstyletextfontelse
ifx#1scriptstylescriptfontelse
scriptscriptfontfififi 3
}%
}
newcommand{peter@fullcircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{180}
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{180}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@diam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}%
endgroup
}
begin{document}
$Xfullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam$
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
$X_{X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}}$
end{document}
add a comment |
Picture mode!
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
DeclareRobustCommand{fullcircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[0,180]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[180,360]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{diam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}
}mspace{2mu}
}
begin{document}
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
end{document}
An enhanced version that can cope with the symbols at every level.
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
makeatletter
DeclareRobustCommand{fullcircle}{peter@symbolpeter@fullcircle}
DeclareRobustCommand{upsemicircle}{peter@symbolpeter@upsemicircle}
DeclareRobustCommand{downsemicircle}{peter@symbolpeter@downsemicircle}
DeclareRobustCommand{upsemicirclediam}{peter@symbolpeter@upsemicirclediam}
DeclareRobustCommand{downsemicirclediam}{peter@symbolpeter@downsemicirclediam}
DeclareRobustCommand{diam}{peter@symbolpeter@diam}
newcommand{peter@symbol}[1]{mathord{mspace{2mu}mathpalette#1relaxmspace{2mu}}}
newcommand{peter@unitlength}[1]{%
settoheight{unitlength}{$m@th#1O$}%
linethickness{fontdimen 8
ifx#1displaystyletextfontelse
ifx#1textstyletextfontelse
ifx#1scriptstylescriptfontelse
scriptscriptfontfififi 3
}%
}
newcommand{peter@fullcircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{180}
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{180}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@diam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}%
endgroup
}
begin{document}
$Xfullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam$
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
$X_{X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}}$
end{document}
Picture mode!
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
DeclareRobustCommand{fullcircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[0,180]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicircle}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
put(0.5,0.5){arc[180,360]{0.5}}
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{upsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{downsemicirclediam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}
}mspace{2mu}
}
DeclareRobustCommand{diam}{%
mspace{2mu}mathord{
sbox{0}{$scriptstyle O$}%
setlength{unitlength}{ht0}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}
}mspace{2mu}
}
begin{document}
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
end{document}
An enhanced version that can cope with the symbols at every level.
documentclass{article}
usepackage{amsmath}
usepackage{pict2e}
makeatletter
DeclareRobustCommand{fullcircle}{peter@symbolpeter@fullcircle}
DeclareRobustCommand{upsemicircle}{peter@symbolpeter@upsemicircle}
DeclareRobustCommand{downsemicircle}{peter@symbolpeter@downsemicircle}
DeclareRobustCommand{upsemicirclediam}{peter@symbolpeter@upsemicirclediam}
DeclareRobustCommand{downsemicirclediam}{peter@symbolpeter@downsemicirclediam}
DeclareRobustCommand{diam}{peter@symbolpeter@diam}
newcommand{peter@symbol}[1]{mathord{mspace{2mu}mathpalette#1relaxmspace{2mu}}}
newcommand{peter@unitlength}[1]{%
settoheight{unitlength}{$m@th#1O$}%
linethickness{fontdimen 8
ifx#1displaystyletextfontelse
ifx#1textstyletextfontelse
ifx#1scriptstylescriptfontelse
scriptscriptfontfififi 3
}%
}
newcommand{peter@fullcircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{0}{180}
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicircle}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
circlearc[1]{0.5}{0.5}{0.5}{180}{360}
strokepath
end{picture}%
endgroup
}
newcommand{peter@upsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{0}{180}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@downsemicirclediam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
moveto(0.5,0.5)
circlearc{0.5}{0.5}{0.5}{180}{360}
lineto(0.5,0.5)
strokepath
end{picture}%
endgroup
}
newcommand{peter@diam}[2]{%
begingroup
peter@unitlength{#1}%
begin{picture}(1,1)
Line(0,0.5)(1,0.5)
end{picture}%
endgroup
}
begin{document}
$Xfullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam$
$X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}$
$X_{X_{fullcircleupsemicircledownsemicircleupsemicirclediamdownsemicirclediamdiam}}$
end{document}
edited Nov 21 at 10:20
answered Nov 20 at 15:06
egreg
706k8618773159
706k8618773159
add a comment |
add a comment |
TikZ in boxes! (Far inferior to picture mode unfortunately)
documentclass{article}
usepackage{tikz}
makeatletter
newcommandsetup@crazysubscripts[2]
{%
expandafternewsaveboxcsname crazysubscripts@#1endcsname
expandaftersboxcsname crazysubscripts@#1endcsname
{%
kern.1ex
begin{tikzpicture}
path[use as bounding box] circle[radius=.5ex];
#2%
end{tikzpicture}%
kern.1ex
}%
}
setup@crazysubscripts{fc}% fullcircle
{%
draw circle[radius=.5ex];%
}
setup@crazysubscripts{lo}% lower open
{%
draw (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex];%
}
setup@crazysubscripts{uo}% upper open
{%
draw (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex];%
}
setup@crazysubscripts{lc}% lower closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{uc}% upper closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{b}% boring line
{%
draw (-.5ex,0) -- (.5ex,0);%
}
newcommandcsubs[1]
{%
@ifundefined{crazysubscripts@#1}
{GenericError{}{Undefined crazysubscript `#1`}{}{}}%
{%
resizebox{.75ex}{!}
{expandafteruseboxcsname crazysubscripts@#1endcsname}%
}%
}
makeatother
begin{document}
$A_{csubs{fc}_{csubs{lo}_{csubs{lc}}}}$
csubs{fc}csubs{lo}csubs{uo}csubs{lc}csubs{uc}csubs{b}
end{document}
Could you elaborate how this is inferior to picture mode?
– Peter
Nov 20 at 15:34
@Peter because the other one is picture mode!
– Skillmon
Nov 20 at 15:43
2
@Peter no honestly, it's just a joke.
– Skillmon
Nov 20 at 15:44
add a comment |
TikZ in boxes! (Far inferior to picture mode unfortunately)
documentclass{article}
usepackage{tikz}
makeatletter
newcommandsetup@crazysubscripts[2]
{%
expandafternewsaveboxcsname crazysubscripts@#1endcsname
expandaftersboxcsname crazysubscripts@#1endcsname
{%
kern.1ex
begin{tikzpicture}
path[use as bounding box] circle[radius=.5ex];
#2%
end{tikzpicture}%
kern.1ex
}%
}
setup@crazysubscripts{fc}% fullcircle
{%
draw circle[radius=.5ex];%
}
setup@crazysubscripts{lo}% lower open
{%
draw (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex];%
}
setup@crazysubscripts{uo}% upper open
{%
draw (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex];%
}
setup@crazysubscripts{lc}% lower closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{uc}% upper closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{b}% boring line
{%
draw (-.5ex,0) -- (.5ex,0);%
}
newcommandcsubs[1]
{%
@ifundefined{crazysubscripts@#1}
{GenericError{}{Undefined crazysubscript `#1`}{}{}}%
{%
resizebox{.75ex}{!}
{expandafteruseboxcsname crazysubscripts@#1endcsname}%
}%
}
makeatother
begin{document}
$A_{csubs{fc}_{csubs{lo}_{csubs{lc}}}}$
csubs{fc}csubs{lo}csubs{uo}csubs{lc}csubs{uc}csubs{b}
end{document}
Could you elaborate how this is inferior to picture mode?
– Peter
Nov 20 at 15:34
@Peter because the other one is picture mode!
– Skillmon
Nov 20 at 15:43
2
@Peter no honestly, it's just a joke.
– Skillmon
Nov 20 at 15:44
add a comment |
TikZ in boxes! (Far inferior to picture mode unfortunately)
documentclass{article}
usepackage{tikz}
makeatletter
newcommandsetup@crazysubscripts[2]
{%
expandafternewsaveboxcsname crazysubscripts@#1endcsname
expandaftersboxcsname crazysubscripts@#1endcsname
{%
kern.1ex
begin{tikzpicture}
path[use as bounding box] circle[radius=.5ex];
#2%
end{tikzpicture}%
kern.1ex
}%
}
setup@crazysubscripts{fc}% fullcircle
{%
draw circle[radius=.5ex];%
}
setup@crazysubscripts{lo}% lower open
{%
draw (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex];%
}
setup@crazysubscripts{uo}% upper open
{%
draw (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex];%
}
setup@crazysubscripts{lc}% lower closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{uc}% upper closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{b}% boring line
{%
draw (-.5ex,0) -- (.5ex,0);%
}
newcommandcsubs[1]
{%
@ifundefined{crazysubscripts@#1}
{GenericError{}{Undefined crazysubscript `#1`}{}{}}%
{%
resizebox{.75ex}{!}
{expandafteruseboxcsname crazysubscripts@#1endcsname}%
}%
}
makeatother
begin{document}
$A_{csubs{fc}_{csubs{lo}_{csubs{lc}}}}$
csubs{fc}csubs{lo}csubs{uo}csubs{lc}csubs{uc}csubs{b}
end{document}
TikZ in boxes! (Far inferior to picture mode unfortunately)
documentclass{article}
usepackage{tikz}
makeatletter
newcommandsetup@crazysubscripts[2]
{%
expandafternewsaveboxcsname crazysubscripts@#1endcsname
expandaftersboxcsname crazysubscripts@#1endcsname
{%
kern.1ex
begin{tikzpicture}
path[use as bounding box] circle[radius=.5ex];
#2%
end{tikzpicture}%
kern.1ex
}%
}
setup@crazysubscripts{fc}% fullcircle
{%
draw circle[radius=.5ex];%
}
setup@crazysubscripts{lo}% lower open
{%
draw (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex];%
}
setup@crazysubscripts{uo}% upper open
{%
draw (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex];%
}
setup@crazysubscripts{lc}% lower closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=-180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{uc}% upper closed
{%
draw (-.5ex,0) -- (.5ex,0) arc[start angle=0, end angle=180, radius=.5ex]
--cycle;%
}
setup@crazysubscripts{b}% boring line
{%
draw (-.5ex,0) -- (.5ex,0);%
}
newcommandcsubs[1]
{%
@ifundefined{crazysubscripts@#1}
{GenericError{}{Undefined crazysubscript `#1`}{}{}}%
{%
resizebox{.75ex}{!}
{expandafteruseboxcsname crazysubscripts@#1endcsname}%
}%
}
makeatother
begin{document}
$A_{csubs{fc}_{csubs{lo}_{csubs{lc}}}}$
csubs{fc}csubs{lo}csubs{uo}csubs{lc}csubs{uc}csubs{b}
end{document}
edited Nov 20 at 15:16
answered Nov 20 at 15:10
Skillmon
21k11941
21k11941
Could you elaborate how this is inferior to picture mode?
– Peter
Nov 20 at 15:34
@Peter because the other one is picture mode!
– Skillmon
Nov 20 at 15:43
2
@Peter no honestly, it's just a joke.
– Skillmon
Nov 20 at 15:44
add a comment |
Could you elaborate how this is inferior to picture mode?
– Peter
Nov 20 at 15:34
@Peter because the other one is picture mode!
– Skillmon
Nov 20 at 15:43
2
@Peter no honestly, it's just a joke.
– Skillmon
Nov 20 at 15:44
Could you elaborate how this is inferior to picture mode?
– Peter
Nov 20 at 15:34
Could you elaborate how this is inferior to picture mode?
– Peter
Nov 20 at 15:34
@Peter because the other one is picture mode!
– Skillmon
Nov 20 at 15:43
@Peter because the other one is picture mode!
– Skillmon
Nov 20 at 15:43
2
2
@Peter no honestly, it's just a joke.
– Skillmon
Nov 20 at 15:44
@Peter no honestly, it's just a joke.
– Skillmon
Nov 20 at 15:44
add a comment |
Just a template.
documentclass[preview,border=12pt,varwidth,12pt]{standalone}
usepackage{tikz}
defalex{tikz draw (0,0) circle (2pt);}
defbobby{tikz draw (0,0) -- (3pt,0) -- (3pt,2pt) -- cycle;}
begin{document}
This is an equation $F_{alex}^{bobby}+1$.
end{document}
add a comment |
Just a template.
documentclass[preview,border=12pt,varwidth,12pt]{standalone}
usepackage{tikz}
defalex{tikz draw (0,0) circle (2pt);}
defbobby{tikz draw (0,0) -- (3pt,0) -- (3pt,2pt) -- cycle;}
begin{document}
This is an equation $F_{alex}^{bobby}+1$.
end{document}
add a comment |
Just a template.
documentclass[preview,border=12pt,varwidth,12pt]{standalone}
usepackage{tikz}
defalex{tikz draw (0,0) circle (2pt);}
defbobby{tikz draw (0,0) -- (3pt,0) -- (3pt,2pt) -- cycle;}
begin{document}
This is an equation $F_{alex}^{bobby}+1$.
end{document}
Just a template.
documentclass[preview,border=12pt,varwidth,12pt]{standalone}
usepackage{tikz}
defalex{tikz draw (0,0) circle (2pt);}
defbobby{tikz draw (0,0) -- (3pt,0) -- (3pt,2pt) -- cycle;}
begin{document}
This is an equation $F_{alex}^{bobby}+1$.
end{document}
answered Nov 20 at 14:48
Artificial Stupidity
5,29011039
5,29011039
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f460959%2fa-macro-that-draws-a-half-disk-for-use-in-mathmode%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
Maybe you find some here: ctan.org/pkg/wasysym or www.ctan.org/pkg/stix
– Sigur
Nov 20 at 14:44
Thanks! That package has the commands Leftcircle and Rightcircle, I'll try to figure out how to rotate those. Still missing the ones with just the arc, though.
– Peter
Nov 20 at 14:46
1
Check here also: mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
– Sigur
Nov 20 at 14:50
Also, if using
unicode-math
: mirrors.ctan.org/macros/latex/contrib/unicode-math/…– Davislor
Nov 21 at 3:34
1
A few of those symbols are in Unicode, ◯ is U+25EF, ◠ is U+25E0 and ◡ is U+25E1.
unicode-math
and some other packages give these the aliaseslgwhtcircle
,topsemicircle
andbotsemicircle
, respectively. There are several horizontal dashes. The other two symbols do not seem to be.– Davislor
Nov 21 at 3:43