Nested ellipses in tikzpicture: Chomsky hierarchy Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)Painting an ellipse that fits a row of node but is not narrow and longRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?Help understanding the coordinate system used in tikzInput/Output Nodes - Specification and Description LanguageTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themProblems with nested TikZpicturesHow to draw a square and its diagonals with arrows?
Is it fair for a professor to grade us on the possession of past papers?
Why is Nikon 1.4g better when Nikon 1.8g is sharper?
Why is my ESD wriststrap failing with nitrile gloves on?
Do any jurisdictions seriously consider reclassifying social media websites as publishers?
Does the Weapon Master feat grant you a fighting style?
Trademark violation for app?
Drawing without replacement: why is the order of draw irrelevant?
Why is it faster to reheat something than it is to cook it?
How come Sam didn't become Lord of Horn Hill?
How would a mousetrap for use in space work?
Project Euler #1 in C++
AppleTVs create a chatty alternate WiFi network
ArcGIS Pro Python arcpy.CreatePersonalGDB_management
Why does it sometimes sound good to play a grace note as a lead in to a note in a melody?
Dating a Former Employee
How could we fake a moon landing now?
Why does the remaining Rebel fleet at the end of Rogue One seem dramatically larger than the one in A New Hope?
What is the appropriate index architecture when forced to implement IsDeleted (soft deletes)?
A term for a woman complaining about things/begging in a cute/childish way
Do wooden building fires get hotter than 600°C?
Chinese Seal on silk painting - what does it mean?
How does light 'choose' between wave and particle behaviour?
Most bit efficient text communication method?
The code below, is it ill-formed NDR or is it well formed?
Nested ellipses in tikzpicture: Chomsky hierarchy
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)Painting an ellipse that fits a row of node but is not narrow and longRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?Help understanding the coordinate system used in tikzInput/Output Nodes - Specification and Description LanguageTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themProblems with nested TikZpicturesHow to draw a square and its diagonals with arrows?
I'd like to draw the Chomsky hierarchy using tikz, similar to:
![]()
I have the following so far, for a subset of the hierarchy:
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes,arrows,calc
% ----------
begindocument
begintikzpicture
tikzstylevenn = [ellipse, minimum height=3em, minimum width=12em, draw]
node [venn] (cs) at (0, $re.south$) Context Sensitive;
node [venn, minimum height=10em] (re) at (0,0) Recursively Enumerable;
endtikzpicture
enddocument
How can I:
Anchor all of the shapes to the same point in the centre at the bottom of the diagram?
Align the text to the top of each ellipse - is
shiftappropriate here?
tikz-pgf shapes
add a comment |
I'd like to draw the Chomsky hierarchy using tikz, similar to:
![]()
I have the following so far, for a subset of the hierarchy:
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes,arrows,calc
% ----------
begindocument
begintikzpicture
tikzstylevenn = [ellipse, minimum height=3em, minimum width=12em, draw]
node [venn] (cs) at (0, $re.south$) Context Sensitive;
node [venn, minimum height=10em] (re) at (0,0) Recursively Enumerable;
endtikzpicture
enddocument
How can I:
Anchor all of the shapes to the same point in the centre at the bottom of the diagram?
Align the text to the top of each ellipse - is
shiftappropriate here?
tikz-pgf shapes
add a comment |
I'd like to draw the Chomsky hierarchy using tikz, similar to:
![]()
I have the following so far, for a subset of the hierarchy:
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes,arrows,calc
% ----------
begindocument
begintikzpicture
tikzstylevenn = [ellipse, minimum height=3em, minimum width=12em, draw]
node [venn] (cs) at (0, $re.south$) Context Sensitive;
node [venn, minimum height=10em] (re) at (0,0) Recursively Enumerable;
endtikzpicture
enddocument
How can I:
Anchor all of the shapes to the same point in the centre at the bottom of the diagram?
Align the text to the top of each ellipse - is
shiftappropriate here?
tikz-pgf shapes
I'd like to draw the Chomsky hierarchy using tikz, similar to:
![]()
I have the following so far, for a subset of the hierarchy:
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes,arrows,calc
% ----------
begindocument
begintikzpicture
tikzstylevenn = [ellipse, minimum height=3em, minimum width=12em, draw]
node [venn] (cs) at (0, $re.south$) Context Sensitive;
node [venn, minimum height=10em] (re) at (0,0) Recursively Enumerable;
endtikzpicture
enddocument
How can I:
Anchor all of the shapes to the same point in the centre at the bottom of the diagram?
Align the text to the top of each ellipse - is
shiftappropriate here?
tikz-pgf shapes
tikz-pgf shapes
asked Apr 12 at 16:36
Adam WilliamsAdam Williams
23818
23818
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Naively one may think this should be simple with fit but unfortunately ellipse fits are not tight by default. (See here for a tighter fit, but my naive attempt to use it did not yield the desired results.) So one may do it differently. Note that this is not absolutely fool-proof but can be made so with more efforts. However, for the case at hand it works.
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=2ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
node[anchor=south] (T-Y) at (F-LastY.north) X;
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

And a version for Minhthien_2016:
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc,decorations.text
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=4ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
path[decoration=text along path,
text=X,text align=center,raise=0.3ex,decorate]
let p1=($(F-LastY.north)-(F-LastY.west)$)
in (F-LastY.west) arc(180:0:x1 and y1);
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)
-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

Can I format texs are also ellipses?
– minhthien_2016
Apr 13 at 7:26
@minhthien_2016 Sorry, I do not understand this question.
– marmot
Apr 13 at 13:34
It looks like word art in Word.
– minhthien_2016
Apr 13 at 14:08
I like the flexibility of this solution, and there's a bit more room for the text to breathe - thanks!
– Adam Williams
Apr 13 at 16:53
@AdamWilliams Sure. I added a key,breathe dist, which is initially set to2ex. You can control the "breathing distance" by adjusting that key. (I also added another version for fun, where the key of the same name has a related meaning.)
– marmot
Apr 13 at 17:13
add a comment |
This is not a perfect solution, but it fits this particular case: write words above another node.
documentclass[tikz]standalone
usetikzlibraryshapes
begindocument
begintikzpicture
node[above,ellipse,minimum height=2em,minimum width=4em,draw] (a) regular;
node[above,ellipse,minimum height=4em,minimum width=8em,draw] (b) ;
node[above,ellipse,minimum height=6em,minimum width=12em,draw] (c) ;
node[above,ellipse,minimum height=8em,minimum width=16em,draw] (d) ;
path (a.north) node[above] context-free
(b.north) node[above] context-sensitive
(c.north) node[above] recursively enumerable;
endtikzpicture
enddocument

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%2f484541%2fnested-ellipses-in-tikzpicture-chomsky-hierarchy%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
Naively one may think this should be simple with fit but unfortunately ellipse fits are not tight by default. (See here for a tighter fit, but my naive attempt to use it did not yield the desired results.) So one may do it differently. Note that this is not absolutely fool-proof but can be made so with more efforts. However, for the case at hand it works.
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=2ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
node[anchor=south] (T-Y) at (F-LastY.north) X;
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

And a version for Minhthien_2016:
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc,decorations.text
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=4ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
path[decoration=text along path,
text=X,text align=center,raise=0.3ex,decorate]
let p1=($(F-LastY.north)-(F-LastY.west)$)
in (F-LastY.west) arc(180:0:x1 and y1);
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)
-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

Can I format texs are also ellipses?
– minhthien_2016
Apr 13 at 7:26
@minhthien_2016 Sorry, I do not understand this question.
– marmot
Apr 13 at 13:34
It looks like word art in Word.
– minhthien_2016
Apr 13 at 14:08
I like the flexibility of this solution, and there's a bit more room for the text to breathe - thanks!
– Adam Williams
Apr 13 at 16:53
@AdamWilliams Sure. I added a key,breathe dist, which is initially set to2ex. You can control the "breathing distance" by adjusting that key. (I also added another version for fun, where the key of the same name has a related meaning.)
– marmot
Apr 13 at 17:13
add a comment |
Naively one may think this should be simple with fit but unfortunately ellipse fits are not tight by default. (See here for a tighter fit, but my naive attempt to use it did not yield the desired results.) So one may do it differently. Note that this is not absolutely fool-proof but can be made so with more efforts. However, for the case at hand it works.
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=2ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
node[anchor=south] (T-Y) at (F-LastY.north) X;
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

And a version for Minhthien_2016:
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc,decorations.text
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=4ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
path[decoration=text along path,
text=X,text align=center,raise=0.3ex,decorate]
let p1=($(F-LastY.north)-(F-LastY.west)$)
in (F-LastY.west) arc(180:0:x1 and y1);
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)
-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

Can I format texs are also ellipses?
– minhthien_2016
Apr 13 at 7:26
@minhthien_2016 Sorry, I do not understand this question.
– marmot
Apr 13 at 13:34
It looks like word art in Word.
– minhthien_2016
Apr 13 at 14:08
I like the flexibility of this solution, and there's a bit more room for the text to breathe - thanks!
– Adam Williams
Apr 13 at 16:53
@AdamWilliams Sure. I added a key,breathe dist, which is initially set to2ex. You can control the "breathing distance" by adjusting that key. (I also added another version for fun, where the key of the same name has a related meaning.)
– marmot
Apr 13 at 17:13
add a comment |
Naively one may think this should be simple with fit but unfortunately ellipse fits are not tight by default. (See here for a tighter fit, but my naive attempt to use it did not yield the desired results.) So one may do it differently. Note that this is not absolutely fool-proof but can be made so with more efforts. However, for the case at hand it works.
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=2ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
node[anchor=south] (T-Y) at (F-LastY.north) X;
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

And a version for Minhthien_2016:
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc,decorations.text
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=4ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
path[decoration=text along path,
text=X,text align=center,raise=0.3ex,decorate]
let p1=($(F-LastY.north)-(F-LastY.west)$)
in (F-LastY.west) arc(180:0:x1 and y1);
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)
-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

Naively one may think this should be simple with fit but unfortunately ellipse fits are not tight by default. (See here for a tighter fit, but my naive attempt to use it did not yield the desired results.) So one may do it differently. Note that this is not absolutely fool-proof but can be made so with more efforts. However, for the case at hand it works.
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=2ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
node[anchor=south] (T-Y) at (F-LastY.north) X;
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]T-Y.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

And a version for Minhthien_2016:
documentclass[11pt]article
usepackagetikz
usetikzlibraryshapes.geometric,calc,decorations.text
begindocument
begintikzpicture[font=sffamily,breathe dist/.initial=4ex]
foreach X [count=Y,remember=Y as LastY] in
regular,context free,context sensitive,recursively enumerable
ifnumY=1
node[ellipse,draw,outer sep=0pt] (F-Y) X;
else
path[decoration=text along path,
text=X,text align=center,raise=0.3ex,decorate]
let p1=($(F-LastY.north)-(F-LastY.west)$)
in (F-LastY.west) arc(180:0:x1 and y1);
path let p1=($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)
-(F-LastY.south)$),
p2=($(F-1.east)-(F-1.west)$),p3=($(F-1.north)-(F-1.south)$)
in ($([yshift=pgfkeysvalueof/tikz/breathe dist]F-LastY.north)!0.5!(F-LastY.south)$)
node[minimum height=y1,minimum width=y1*x2/y3,
draw,ellipse,inner sep=0pt] (F-Y);
fi
endtikzpicture
enddocument

edited Apr 13 at 17:11
answered Apr 12 at 17:33
marmotmarmot
119k6154289
119k6154289
Can I format texs are also ellipses?
– minhthien_2016
Apr 13 at 7:26
@minhthien_2016 Sorry, I do not understand this question.
– marmot
Apr 13 at 13:34
It looks like word art in Word.
– minhthien_2016
Apr 13 at 14:08
I like the flexibility of this solution, and there's a bit more room for the text to breathe - thanks!
– Adam Williams
Apr 13 at 16:53
@AdamWilliams Sure. I added a key,breathe dist, which is initially set to2ex. You can control the "breathing distance" by adjusting that key. (I also added another version for fun, where the key of the same name has a related meaning.)
– marmot
Apr 13 at 17:13
add a comment |
Can I format texs are also ellipses?
– minhthien_2016
Apr 13 at 7:26
@minhthien_2016 Sorry, I do not understand this question.
– marmot
Apr 13 at 13:34
It looks like word art in Word.
– minhthien_2016
Apr 13 at 14:08
I like the flexibility of this solution, and there's a bit more room for the text to breathe - thanks!
– Adam Williams
Apr 13 at 16:53
@AdamWilliams Sure. I added a key,breathe dist, which is initially set to2ex. You can control the "breathing distance" by adjusting that key. (I also added another version for fun, where the key of the same name has a related meaning.)
– marmot
Apr 13 at 17:13
Can I format texs are also ellipses?
– minhthien_2016
Apr 13 at 7:26
Can I format texs are also ellipses?
– minhthien_2016
Apr 13 at 7:26
@minhthien_2016 Sorry, I do not understand this question.
– marmot
Apr 13 at 13:34
@minhthien_2016 Sorry, I do not understand this question.
– marmot
Apr 13 at 13:34
It looks like word art in Word.
– minhthien_2016
Apr 13 at 14:08
It looks like word art in Word.
– minhthien_2016
Apr 13 at 14:08
I like the flexibility of this solution, and there's a bit more room for the text to breathe - thanks!
– Adam Williams
Apr 13 at 16:53
I like the flexibility of this solution, and there's a bit more room for the text to breathe - thanks!
– Adam Williams
Apr 13 at 16:53
@AdamWilliams Sure. I added a key
,breathe dist, which is initially set to 2ex. You can control the "breathing distance" by adjusting that key. (I also added another version for fun, where the key of the same name has a related meaning.)– marmot
Apr 13 at 17:13
@AdamWilliams Sure. I added a key
,breathe dist, which is initially set to 2ex. You can control the "breathing distance" by adjusting that key. (I also added another version for fun, where the key of the same name has a related meaning.)– marmot
Apr 13 at 17:13
add a comment |
This is not a perfect solution, but it fits this particular case: write words above another node.
documentclass[tikz]standalone
usetikzlibraryshapes
begindocument
begintikzpicture
node[above,ellipse,minimum height=2em,minimum width=4em,draw] (a) regular;
node[above,ellipse,minimum height=4em,minimum width=8em,draw] (b) ;
node[above,ellipse,minimum height=6em,minimum width=12em,draw] (c) ;
node[above,ellipse,minimum height=8em,minimum width=16em,draw] (d) ;
path (a.north) node[above] context-free
(b.north) node[above] context-sensitive
(c.north) node[above] recursively enumerable;
endtikzpicture
enddocument

add a comment |
This is not a perfect solution, but it fits this particular case: write words above another node.
documentclass[tikz]standalone
usetikzlibraryshapes
begindocument
begintikzpicture
node[above,ellipse,minimum height=2em,minimum width=4em,draw] (a) regular;
node[above,ellipse,minimum height=4em,minimum width=8em,draw] (b) ;
node[above,ellipse,minimum height=6em,minimum width=12em,draw] (c) ;
node[above,ellipse,minimum height=8em,minimum width=16em,draw] (d) ;
path (a.north) node[above] context-free
(b.north) node[above] context-sensitive
(c.north) node[above] recursively enumerable;
endtikzpicture
enddocument

add a comment |
This is not a perfect solution, but it fits this particular case: write words above another node.
documentclass[tikz]standalone
usetikzlibraryshapes
begindocument
begintikzpicture
node[above,ellipse,minimum height=2em,minimum width=4em,draw] (a) regular;
node[above,ellipse,minimum height=4em,minimum width=8em,draw] (b) ;
node[above,ellipse,minimum height=6em,minimum width=12em,draw] (c) ;
node[above,ellipse,minimum height=8em,minimum width=16em,draw] (d) ;
path (a.north) node[above] context-free
(b.north) node[above] context-sensitive
(c.north) node[above] recursively enumerable;
endtikzpicture
enddocument

This is not a perfect solution, but it fits this particular case: write words above another node.
documentclass[tikz]standalone
usetikzlibraryshapes
begindocument
begintikzpicture
node[above,ellipse,minimum height=2em,minimum width=4em,draw] (a) regular;
node[above,ellipse,minimum height=4em,minimum width=8em,draw] (b) ;
node[above,ellipse,minimum height=6em,minimum width=12em,draw] (c) ;
node[above,ellipse,minimum height=8em,minimum width=16em,draw] (d) ;
path (a.north) node[above] context-free
(b.north) node[above] context-sensitive
(c.north) node[above] recursively enumerable;
endtikzpicture
enddocument

answered Apr 12 at 16:56
JouleVJouleV
14k22664
14k22664
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%2f484541%2fnested-ellipses-in-tikzpicture-chomsky-hierarchy%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