How can I draw a rectangle around venn Diagrams?How can I invert a 'clip' selection within TikZ?Shade part of a Venn diagramHow can I draw the outline of a path in tikz?venn diagrams using tikzNumerical conditional within tikz keys?How do I draw a box around a venn diagramTikZ: Drawing an arc from an intersection to an intersectionLine up nested tikz enviroments or how to get rid of themProblems with nested TikZpicturesDraw a rectangle to given Venn DiagramSet of Venn DiagramsDrawing Venn Diagrams
Would a legitimized Baratheon have the best claim for the Iron Throne?
Why did Gendry call himself Gendry Rivers?
Extracting the parent, leaf, and extension from a valid path
What detail can Hubble see on Mars?
Why is the blank symbol not considered part of the input alphabet of a Turing machine?
Does this website provide consistent translation into Wookiee?
Are modes in jazz primarily a melody thing?
When does WordPress.org notify sites of new version?
Why were the rules for Proliferate changed?
How does jetBlue determine its boarding order?
Saying the right thing then saying the wrong thing toch kedai dibur
How to make a kid's bike easier to pedal
Did any early RISC OS precursor run on the BBC Micro?
How can I draw a rectangle around venn Diagrams?
How do I give a darkroom course without negs from the attendees?
What does the copyright in a dissertation protect exactly?
Gift for mentor after his thesis defense?
My C Drive is full without reason
How is it believable that Euron could so easily pull off this ambush?
How to get the decimal part of a number in apex
Searching for a sentence that I only know part of it using Google's operators
Convert a huge txt-file into a dataset
What calendar would the Saturn nation use?
Where do 5 or more U.S. counties meet in a single point?
How can I draw a rectangle around venn Diagrams?
How can I invert a 'clip' selection within TikZ?Shade part of a Venn diagramHow can I draw the outline of a path in tikz?venn diagrams using tikzNumerical conditional within tikz keys?How do I draw a box around a venn diagramTikZ: Drawing an arc from an intersection to an intersectionLine up nested tikz enviroments or how to get rid of themProblems with nested TikZpicturesDraw a rectangle to given Venn DiagramSet of Venn DiagramsDrawing Venn Diagrams
I have tried some of the solutions to similar questions, but none of them included minipages, which seems to be the problem (I`m fairly new to LaTeX)
So, here's the coding:
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
colorletcircle edgeblack!50
colorletcircle areagrey!20
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
% Set A or B
begintikzpicture
beginminipage[t][2cm][t].48textwidth
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
endminipage
endtikzpicture
% Set A and B
begintikzpicture
beginminipage[t][2cm][t].48textwidth
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
node[anchor=west] at (current bounding box.east) $A cap B$
endminipage
endtikzpicture
Also, if you know how to put the "B" in the center of the circle on the right I`d appreciate your help! Thank you.
tikz-pgf bounding-box venn-diagrams
New contributor
add a comment |
I have tried some of the solutions to similar questions, but none of them included minipages, which seems to be the problem (I`m fairly new to LaTeX)
So, here's the coding:
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
colorletcircle edgeblack!50
colorletcircle areagrey!20
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
% Set A or B
begintikzpicture
beginminipage[t][2cm][t].48textwidth
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
endminipage
endtikzpicture
% Set A and B
begintikzpicture
beginminipage[t][2cm][t].48textwidth
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
node[anchor=west] at (current bounding box.east) $A cap B$
endminipage
endtikzpicture
Also, if you know how to put the "B" in the center of the circle on the right I`d appreciate your help! Thank you.
tikz-pgf bounding-box venn-diagrams
New contributor
Welcome to TeX.SE!
– Kurt
1 hour ago
You should not useminipage
inside TikZ pictures
– JouleV
59 mins ago
add a comment |
I have tried some of the solutions to similar questions, but none of them included minipages, which seems to be the problem (I`m fairly new to LaTeX)
So, here's the coding:
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
colorletcircle edgeblack!50
colorletcircle areagrey!20
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
% Set A or B
begintikzpicture
beginminipage[t][2cm][t].48textwidth
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
endminipage
endtikzpicture
% Set A and B
begintikzpicture
beginminipage[t][2cm][t].48textwidth
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
node[anchor=west] at (current bounding box.east) $A cap B$
endminipage
endtikzpicture
Also, if you know how to put the "B" in the center of the circle on the right I`d appreciate your help! Thank you.
tikz-pgf bounding-box venn-diagrams
New contributor
I have tried some of the solutions to similar questions, but none of them included minipages, which seems to be the problem (I`m fairly new to LaTeX)
So, here's the coding:
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
colorletcircle edgeblack!50
colorletcircle areagrey!20
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
% Set A or B
begintikzpicture
beginminipage[t][2cm][t].48textwidth
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
endminipage
endtikzpicture
% Set A and B
begintikzpicture
beginminipage[t][2cm][t].48textwidth
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
node[anchor=west] at (current bounding box.east) $A cap B$
endminipage
endtikzpicture
Also, if you know how to put the "B" in the center of the circle on the right I`d appreciate your help! Thank you.
tikz-pgf bounding-box venn-diagrams
tikz-pgf bounding-box venn-diagrams
New contributor
New contributor
New contributor
asked 1 hour ago
Matheus ChebliMatheus Chebli
161
161
New contributor
New contributor
Welcome to TeX.SE!
– Kurt
1 hour ago
You should not useminipage
inside TikZ pictures
– JouleV
59 mins ago
add a comment |
Welcome to TeX.SE!
– Kurt
1 hour ago
You should not useminipage
inside TikZ pictures
– JouleV
59 mins ago
Welcome to TeX.SE!
– Kurt
1 hour ago
Welcome to TeX.SE!
– Kurt
1 hour ago
You should not use
minipage
inside TikZ pictures– JouleV
59 mins ago
You should not use
minipage
inside TikZ pictures– JouleV
59 mins ago
add a comment |
3 Answers
3
active
oldest
votes
Welcome to TeX.SE! It is good that you included your code. In terms of drawing a rectangle around the venn diagram, you could import the fit
library from Tikz using usetikzlibraryfit
. I have completed an example to illustrate. Also, I have changed the code a little bit. You now have one tikzpicture
(with no minipage). The first venn diagram has its own scope and the second has its own as well. I have changed the placement of M
so that it would be easier to read. There are two types overall in terms of appearance, you choose the one you like.
documentclass[margin=1cm, tikz]standalone
usepackagetikz,xcolor,color
usetikzlibraryfit
begindocument
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begintikzpicture
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
%
colorletcircle edgeblack!50
colorletcircle areagray!20
%
beginscope[local bounding box = orScope]
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (orScope.north)$M$;
node[anchor=north] at (orScope.south) $A cup B$;
endscope
node[fit=(orScope), draw] ;% The frame around the scope
%
beginscope[xshift = 7cm,local bounding box = andScope]
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (andScope.north) $M$;
node[anchor=west] at (andScope.south east) $A cap B$;
endscope
node[fit=(andScope), draw] ;
endtikzpicture
enddocument
add a comment |
Another solution:
If you really wants to use minipage
, you have to put the environment outside tikzpicture
. Literally minipage
does nothing for you here, but it does many things against you.
However, for figures side-by-side, a subfigure
environment (from subcaption
) is better in this case.
And, to draw a rectangle, you can use the special node current bounding box
, with some shifts if needed.
Btw your diagrams are too wide for the normal margin.
documentclassarticle
usepackage[margin=1in]geometry
usepackagetikz
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
colorletcircle edgeblack!50
colorletcircle areagray!20
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begindocument
noindentbeginminipage[t].5textwidth
centering%
begintikzpicture
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
endtikzpicture
endminipage%
beginminipage[t].5textwidth
centering%
begintikzpicture
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
node[anchor=west] at (current bounding box.east) $A cap B$;
draw ([shift=(-1ex,1ex)]current bounding box.north west) rectangle
([shift=(1ex,-1ex)]current bounding box.south east);
endtikzpicture
endminipage
enddocument
add a comment |
There are dedicated packages for that. Assuming you do not want to use any of those, I'd like to advertize some styles that help you drawing these diagrams. These are not inside
, inside
to specify the sets and frame
for drawing a frame around these pictures. Your first picture is easy, you only need to fill the circles. The second one can be achieved with
pgfkeysinside/.list=pathA,pathB,shade=gray
and the frames can be done with
draw[frame=5pt];
where 5pt
indicates the margin.
Here are code and result.
documentclassarticle
usepackagetikz
usetikzlibrarybackgrounds
% based on https://tex.stackexchange.com/a/12033/121799
tikzsetreverseclip/.style=insert path=(current bounding box.south west)rectangle
(current bounding box.north east) ,
use path/.code=pgfsetpath#1,%learned from Kpym
frame/.style=insert path=
([xshift=-#1,yshift=-#1]current bounding box.south west) rectangle
([xshift=#1,yshift=#1]current bounding box.north east)
begindocument
pgfkeysnot inside/.code=clip[use path=#1,reverseclip];,
inside/.code=clip[use path=#1];,
shade/.code=fill[#1] (current bounding box.south west)rectangle
(current bounding box.north east);
begintikzpicture
draw[thick,fill=gray] (-1,0) node$A$ circle [radius=1.5cm]
(1,0) node$B$ circle[radius=1.5cm] (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acup B$;
draw[frame=5pt];
endtikzpicture~%
begintikzpicture
draw[thick,save path=pathA] (-1,0) node$A$ circle [radius=1.5cm];
draw[thick,save path=pathB] (1,0) node$B$ circle[radius=1.5cm];
path (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acap B$;
beginscope[on background layer]
pgfkeysinside/.list=pathA,pathB,shade=gray
endscope
draw[frame=5pt];
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
);
);
Matheus Chebli is a new contributor. Be nice, and check out our Code of Conduct.
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%2f489535%2fhow-can-i-draw-a-rectangle-around-venn-diagrams%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
Welcome to TeX.SE! It is good that you included your code. In terms of drawing a rectangle around the venn diagram, you could import the fit
library from Tikz using usetikzlibraryfit
. I have completed an example to illustrate. Also, I have changed the code a little bit. You now have one tikzpicture
(with no minipage). The first venn diagram has its own scope and the second has its own as well. I have changed the placement of M
so that it would be easier to read. There are two types overall in terms of appearance, you choose the one you like.
documentclass[margin=1cm, tikz]standalone
usepackagetikz,xcolor,color
usetikzlibraryfit
begindocument
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begintikzpicture
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
%
colorletcircle edgeblack!50
colorletcircle areagray!20
%
beginscope[local bounding box = orScope]
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (orScope.north)$M$;
node[anchor=north] at (orScope.south) $A cup B$;
endscope
node[fit=(orScope), draw] ;% The frame around the scope
%
beginscope[xshift = 7cm,local bounding box = andScope]
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (andScope.north) $M$;
node[anchor=west] at (andScope.south east) $A cap B$;
endscope
node[fit=(andScope), draw] ;
endtikzpicture
enddocument
add a comment |
Welcome to TeX.SE! It is good that you included your code. In terms of drawing a rectangle around the venn diagram, you could import the fit
library from Tikz using usetikzlibraryfit
. I have completed an example to illustrate. Also, I have changed the code a little bit. You now have one tikzpicture
(with no minipage). The first venn diagram has its own scope and the second has its own as well. I have changed the placement of M
so that it would be easier to read. There are two types overall in terms of appearance, you choose the one you like.
documentclass[margin=1cm, tikz]standalone
usepackagetikz,xcolor,color
usetikzlibraryfit
begindocument
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begintikzpicture
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
%
colorletcircle edgeblack!50
colorletcircle areagray!20
%
beginscope[local bounding box = orScope]
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (orScope.north)$M$;
node[anchor=north] at (orScope.south) $A cup B$;
endscope
node[fit=(orScope), draw] ;% The frame around the scope
%
beginscope[xshift = 7cm,local bounding box = andScope]
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (andScope.north) $M$;
node[anchor=west] at (andScope.south east) $A cap B$;
endscope
node[fit=(andScope), draw] ;
endtikzpicture
enddocument
add a comment |
Welcome to TeX.SE! It is good that you included your code. In terms of drawing a rectangle around the venn diagram, you could import the fit
library from Tikz using usetikzlibraryfit
. I have completed an example to illustrate. Also, I have changed the code a little bit. You now have one tikzpicture
(with no minipage). The first venn diagram has its own scope and the second has its own as well. I have changed the placement of M
so that it would be easier to read. There are two types overall in terms of appearance, you choose the one you like.
documentclass[margin=1cm, tikz]standalone
usepackagetikz,xcolor,color
usetikzlibraryfit
begindocument
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begintikzpicture
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
%
colorletcircle edgeblack!50
colorletcircle areagray!20
%
beginscope[local bounding box = orScope]
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (orScope.north)$M$;
node[anchor=north] at (orScope.south) $A cup B$;
endscope
node[fit=(orScope), draw] ;% The frame around the scope
%
beginscope[xshift = 7cm,local bounding box = andScope]
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (andScope.north) $M$;
node[anchor=west] at (andScope.south east) $A cap B$;
endscope
node[fit=(andScope), draw] ;
endtikzpicture
enddocument
Welcome to TeX.SE! It is good that you included your code. In terms of drawing a rectangle around the venn diagram, you could import the fit
library from Tikz using usetikzlibraryfit
. I have completed an example to illustrate. Also, I have changed the code a little bit. You now have one tikzpicture
(with no minipage). The first venn diagram has its own scope and the second has its own as well. I have changed the placement of M
so that it would be easier to read. There are two types overall in terms of appearance, you choose the one you like.
documentclass[margin=1cm, tikz]standalone
usepackagetikz,xcolor,color
usetikzlibraryfit
begindocument
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begintikzpicture
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
%
colorletcircle edgeblack!50
colorletcircle areagray!20
%
beginscope[local bounding box = orScope]
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (orScope.north)$M$;
node[anchor=north] at (orScope.south) $A cup B$;
endscope
node[fit=(orScope), draw] ;% The frame around the scope
%
beginscope[xshift = 7cm,local bounding box = andScope]
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (andScope.north) $M$;
node[anchor=west] at (andScope.south east) $A cap B$;
endscope
node[fit=(andScope), draw] ;
endtikzpicture
enddocument
answered 50 mins ago
M. Al JumailyM. Al Jumaily
516128
516128
add a comment |
add a comment |
Another solution:
If you really wants to use minipage
, you have to put the environment outside tikzpicture
. Literally minipage
does nothing for you here, but it does many things against you.
However, for figures side-by-side, a subfigure
environment (from subcaption
) is better in this case.
And, to draw a rectangle, you can use the special node current bounding box
, with some shifts if needed.
Btw your diagrams are too wide for the normal margin.
documentclassarticle
usepackage[margin=1in]geometry
usepackagetikz
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
colorletcircle edgeblack!50
colorletcircle areagray!20
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begindocument
noindentbeginminipage[t].5textwidth
centering%
begintikzpicture
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
endtikzpicture
endminipage%
beginminipage[t].5textwidth
centering%
begintikzpicture
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
node[anchor=west] at (current bounding box.east) $A cap B$;
draw ([shift=(-1ex,1ex)]current bounding box.north west) rectangle
([shift=(1ex,-1ex)]current bounding box.south east);
endtikzpicture
endminipage
enddocument
add a comment |
Another solution:
If you really wants to use minipage
, you have to put the environment outside tikzpicture
. Literally minipage
does nothing for you here, but it does many things against you.
However, for figures side-by-side, a subfigure
environment (from subcaption
) is better in this case.
And, to draw a rectangle, you can use the special node current bounding box
, with some shifts if needed.
Btw your diagrams are too wide for the normal margin.
documentclassarticle
usepackage[margin=1in]geometry
usepackagetikz
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
colorletcircle edgeblack!50
colorletcircle areagray!20
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begindocument
noindentbeginminipage[t].5textwidth
centering%
begintikzpicture
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
endtikzpicture
endminipage%
beginminipage[t].5textwidth
centering%
begintikzpicture
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
node[anchor=west] at (current bounding box.east) $A cap B$;
draw ([shift=(-1ex,1ex)]current bounding box.north west) rectangle
([shift=(1ex,-1ex)]current bounding box.south east);
endtikzpicture
endminipage
enddocument
add a comment |
Another solution:
If you really wants to use minipage
, you have to put the environment outside tikzpicture
. Literally minipage
does nothing for you here, but it does many things against you.
However, for figures side-by-side, a subfigure
environment (from subcaption
) is better in this case.
And, to draw a rectangle, you can use the special node current bounding box
, with some shifts if needed.
Btw your diagrams are too wide for the normal margin.
documentclassarticle
usepackage[margin=1in]geometry
usepackagetikz
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
colorletcircle edgeblack!50
colorletcircle areagray!20
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begindocument
noindentbeginminipage[t].5textwidth
centering%
begintikzpicture
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
endtikzpicture
endminipage%
beginminipage[t].5textwidth
centering%
begintikzpicture
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
node[anchor=west] at (current bounding box.east) $A cap B$;
draw ([shift=(-1ex,1ex)]current bounding box.north west) rectangle
([shift=(1ex,-1ex)]current bounding box.south east);
endtikzpicture
endminipage
enddocument
Another solution:
If you really wants to use minipage
, you have to put the environment outside tikzpicture
. Literally minipage
does nothing for you here, but it does many things against you.
However, for figures side-by-side, a subfigure
environment (from subcaption
) is better in this case.
And, to draw a rectangle, you can use the special node current bounding box
, with some shifts if needed.
Btw your diagrams are too wide for the normal margin.
documentclassarticle
usepackage[margin=1in]geometry
usepackagetikz
% Definition of circles
deffirstcircle(0,0) circle (1.5cm)
defsecondcircle(0:2cm) circle (1.5cm)
colorletcircle edgeblack!50
colorletcircle areagray!20
tikzsetfilled/.style=fill=circle area, draw=circle edge, thick,
outline/.style=draw=circle edge, thick
setlengthparskip5mm
begindocument
noindentbeginminipage[t].5textwidth
centering%
begintikzpicture
draw[filled] firstcircle node $A$
secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
endtikzpicture
endminipage%
beginminipage[t].5textwidth
centering%
begintikzpicture
beginscope
clip firstcircle;
fill[filled] secondcircle;
endscope
draw[outline] firstcircle node $A$;
draw[outline] secondcircle node $B$;
node[anchor=south] at (current bounding box.north) $M$;
node[anchor=west] at (current bounding box.east) $A cap B$;
draw ([shift=(-1ex,1ex)]current bounding box.north west) rectangle
([shift=(1ex,-1ex)]current bounding box.south east);
endtikzpicture
endminipage
enddocument
answered 42 mins ago
JouleVJouleV
16.4k22668
16.4k22668
add a comment |
add a comment |
There are dedicated packages for that. Assuming you do not want to use any of those, I'd like to advertize some styles that help you drawing these diagrams. These are not inside
, inside
to specify the sets and frame
for drawing a frame around these pictures. Your first picture is easy, you only need to fill the circles. The second one can be achieved with
pgfkeysinside/.list=pathA,pathB,shade=gray
and the frames can be done with
draw[frame=5pt];
where 5pt
indicates the margin.
Here are code and result.
documentclassarticle
usepackagetikz
usetikzlibrarybackgrounds
% based on https://tex.stackexchange.com/a/12033/121799
tikzsetreverseclip/.style=insert path=(current bounding box.south west)rectangle
(current bounding box.north east) ,
use path/.code=pgfsetpath#1,%learned from Kpym
frame/.style=insert path=
([xshift=-#1,yshift=-#1]current bounding box.south west) rectangle
([xshift=#1,yshift=#1]current bounding box.north east)
begindocument
pgfkeysnot inside/.code=clip[use path=#1,reverseclip];,
inside/.code=clip[use path=#1];,
shade/.code=fill[#1] (current bounding box.south west)rectangle
(current bounding box.north east);
begintikzpicture
draw[thick,fill=gray] (-1,0) node$A$ circle [radius=1.5cm]
(1,0) node$B$ circle[radius=1.5cm] (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acup B$;
draw[frame=5pt];
endtikzpicture~%
begintikzpicture
draw[thick,save path=pathA] (-1,0) node$A$ circle [radius=1.5cm];
draw[thick,save path=pathB] (1,0) node$B$ circle[radius=1.5cm];
path (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acap B$;
beginscope[on background layer]
pgfkeysinside/.list=pathA,pathB,shade=gray
endscope
draw[frame=5pt];
endtikzpicture
enddocument
add a comment |
There are dedicated packages for that. Assuming you do not want to use any of those, I'd like to advertize some styles that help you drawing these diagrams. These are not inside
, inside
to specify the sets and frame
for drawing a frame around these pictures. Your first picture is easy, you only need to fill the circles. The second one can be achieved with
pgfkeysinside/.list=pathA,pathB,shade=gray
and the frames can be done with
draw[frame=5pt];
where 5pt
indicates the margin.
Here are code and result.
documentclassarticle
usepackagetikz
usetikzlibrarybackgrounds
% based on https://tex.stackexchange.com/a/12033/121799
tikzsetreverseclip/.style=insert path=(current bounding box.south west)rectangle
(current bounding box.north east) ,
use path/.code=pgfsetpath#1,%learned from Kpym
frame/.style=insert path=
([xshift=-#1,yshift=-#1]current bounding box.south west) rectangle
([xshift=#1,yshift=#1]current bounding box.north east)
begindocument
pgfkeysnot inside/.code=clip[use path=#1,reverseclip];,
inside/.code=clip[use path=#1];,
shade/.code=fill[#1] (current bounding box.south west)rectangle
(current bounding box.north east);
begintikzpicture
draw[thick,fill=gray] (-1,0) node$A$ circle [radius=1.5cm]
(1,0) node$B$ circle[radius=1.5cm] (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acup B$;
draw[frame=5pt];
endtikzpicture~%
begintikzpicture
draw[thick,save path=pathA] (-1,0) node$A$ circle [radius=1.5cm];
draw[thick,save path=pathB] (1,0) node$B$ circle[radius=1.5cm];
path (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acap B$;
beginscope[on background layer]
pgfkeysinside/.list=pathA,pathB,shade=gray
endscope
draw[frame=5pt];
endtikzpicture
enddocument
add a comment |
There are dedicated packages for that. Assuming you do not want to use any of those, I'd like to advertize some styles that help you drawing these diagrams. These are not inside
, inside
to specify the sets and frame
for drawing a frame around these pictures. Your first picture is easy, you only need to fill the circles. The second one can be achieved with
pgfkeysinside/.list=pathA,pathB,shade=gray
and the frames can be done with
draw[frame=5pt];
where 5pt
indicates the margin.
Here are code and result.
documentclassarticle
usepackagetikz
usetikzlibrarybackgrounds
% based on https://tex.stackexchange.com/a/12033/121799
tikzsetreverseclip/.style=insert path=(current bounding box.south west)rectangle
(current bounding box.north east) ,
use path/.code=pgfsetpath#1,%learned from Kpym
frame/.style=insert path=
([xshift=-#1,yshift=-#1]current bounding box.south west) rectangle
([xshift=#1,yshift=#1]current bounding box.north east)
begindocument
pgfkeysnot inside/.code=clip[use path=#1,reverseclip];,
inside/.code=clip[use path=#1];,
shade/.code=fill[#1] (current bounding box.south west)rectangle
(current bounding box.north east);
begintikzpicture
draw[thick,fill=gray] (-1,0) node$A$ circle [radius=1.5cm]
(1,0) node$B$ circle[radius=1.5cm] (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acup B$;
draw[frame=5pt];
endtikzpicture~%
begintikzpicture
draw[thick,save path=pathA] (-1,0) node$A$ circle [radius=1.5cm];
draw[thick,save path=pathB] (1,0) node$B$ circle[radius=1.5cm];
path (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acap B$;
beginscope[on background layer]
pgfkeysinside/.list=pathA,pathB,shade=gray
endscope
draw[frame=5pt];
endtikzpicture
enddocument
There are dedicated packages for that. Assuming you do not want to use any of those, I'd like to advertize some styles that help you drawing these diagrams. These are not inside
, inside
to specify the sets and frame
for drawing a frame around these pictures. Your first picture is easy, you only need to fill the circles. The second one can be achieved with
pgfkeysinside/.list=pathA,pathB,shade=gray
and the frames can be done with
draw[frame=5pt];
where 5pt
indicates the margin.
Here are code and result.
documentclassarticle
usepackagetikz
usetikzlibrarybackgrounds
% based on https://tex.stackexchange.com/a/12033/121799
tikzsetreverseclip/.style=insert path=(current bounding box.south west)rectangle
(current bounding box.north east) ,
use path/.code=pgfsetpath#1,%learned from Kpym
frame/.style=insert path=
([xshift=-#1,yshift=-#1]current bounding box.south west) rectangle
([xshift=#1,yshift=#1]current bounding box.north east)
begindocument
pgfkeysnot inside/.code=clip[use path=#1,reverseclip];,
inside/.code=clip[use path=#1];,
shade/.code=fill[#1] (current bounding box.south west)rectangle
(current bounding box.north east);
begintikzpicture
draw[thick,fill=gray] (-1,0) node$A$ circle [radius=1.5cm]
(1,0) node$B$ circle[radius=1.5cm] (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acup B$;
draw[frame=5pt];
endtikzpicture~%
begintikzpicture
draw[thick,save path=pathA] (-1,0) node$A$ circle [radius=1.5cm];
draw[thick,save path=pathB] (1,0) node$B$ circle[radius=1.5cm];
path (0,1.5) node[above]$M$
(0,-1.5) node[below]$Acap B$;
beginscope[on background layer]
pgfkeysinside/.list=pathA,pathB,shade=gray
endscope
draw[frame=5pt];
endtikzpicture
enddocument
answered 17 mins ago
marmotmarmot
124k6161305
124k6161305
add a comment |
add a comment |
Matheus Chebli is a new contributor. Be nice, and check out our Code of Conduct.
Matheus Chebli is a new contributor. Be nice, and check out our Code of Conduct.
Matheus Chebli is a new contributor. Be nice, and check out our Code of Conduct.
Matheus Chebli is a new contributor. Be nice, and check out our Code of Conduct.
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%2f489535%2fhow-can-i-draw-a-rectangle-around-venn-diagrams%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
Welcome to TeX.SE!
– Kurt
1 hour ago
You should not use
minipage
inside TikZ pictures– JouleV
59 mins ago