How can I draw a rectangle around venn Diagrams?How can I invert a 'clip' selection within TikZ?Adding a text node to tikz drawingShade 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
Vehemently against code formatting
How do I unravel apparent recursion in an edef statement?
Gambler's Fallacy Dice
FIFO data structure in pure C
How does the "reverse syntax" in Middle English work?
How to safely discharge oneself
Warped chessboard
Windows reverting changes made by Linux to FAT32 partition
Should I twist DC power and ground wires from a power supply?
How could the B-29 bomber back up under its own power?
"File type Zip archive (application/zip) is not supported" when opening a .pdf file
Is the free group on two generators generated by two elements?
Why did Nick Fury not hesitate in blowing up the plane he thought was carrying a nuke?
Who is frowning in the sentence "Daisy looked at Tom frowning"?
Can 2 light bulbs of 120V in series be used on 230V AC?
Bash Array of Word-Splitting Headaches
Latin words remembered from high school 50 years ago
Was murdering a slave illegal in American slavery, and if so, what punishments were given for it?
Expand a hexagon
Greek theta instead of lower case þ (Icelandic) in TexStudio
Why does snapping your fingers activate the Infinity Gauntlet?
How was the blinking terminal cursor invented?
Chain rule instead of product rule
Have the writers and actors of Game Of Thrones responded to its poor reception?
How can I draw a rectangle around venn Diagrams?
How can I invert a 'clip' selection within TikZ?Adding a text node to tikz drawingShade 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
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
You should not useminipage
inside TikZ pictures
– JouleV
May 7 at 2:17
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
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
asked May 7 at 1:33
Matheus ChebliMatheus Chebli
313
313
You should not useminipage
inside TikZ pictures
– JouleV
May 7 at 2:17
add a comment |
You should not useminipage
inside TikZ pictures
– JouleV
May 7 at 2:17
You should not use
minipage
inside TikZ pictures– JouleV
May 7 at 2:17
You should not use
minipage
inside TikZ pictures– JouleV
May 7 at 2:17
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
Thank you very much! I have managed to complete this part of my project thanks to your help!
– Matheus Chebli
May 7 at 21:56
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
Thank you so much! I now have a bigger understanding of those commands and maybe will be able to draw some myself :D
– Matheus Chebli
May 7 at 21:56
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 |
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%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
Thank you very much! I have managed to complete this part of my project thanks to your help!
– Matheus Chebli
May 7 at 21:56
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
Thank you very much! I have managed to complete this part of my project thanks to your help!
– Matheus Chebli
May 7 at 21:56
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 May 7 at 2:26
M. Al JumailyM. Al Jumaily
1,1061210
1,1061210
Thank you very much! I have managed to complete this part of my project thanks to your help!
– Matheus Chebli
May 7 at 21:56
add a comment |
Thank you very much! I have managed to complete this part of my project thanks to your help!
– Matheus Chebli
May 7 at 21:56
Thank you very much! I have managed to complete this part of my project thanks to your help!
– Matheus Chebli
May 7 at 21:56
Thank you very much! I have managed to complete this part of my project thanks to your help!
– Matheus Chebli
May 7 at 21:56
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
Thank you so much! I now have a bigger understanding of those commands and maybe will be able to draw some myself :D
– Matheus Chebli
May 7 at 21:56
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
Thank you so much! I now have a bigger understanding of those commands and maybe will be able to draw some myself :D
– Matheus Chebli
May 7 at 21:56
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 May 7 at 2:59
marmotmarmot
128k6162308
128k6162308
Thank you so much! I now have a bigger understanding of those commands and maybe will be able to draw some myself :D
– Matheus Chebli
May 7 at 21:56
add a comment |
Thank you so much! I now have a bigger understanding of those commands and maybe will be able to draw some myself :D
– Matheus Chebli
May 7 at 21:56
Thank you so much! I now have a bigger understanding of those commands and maybe will be able to draw some myself :D
– Matheus Chebli
May 7 at 21:56
Thank you so much! I now have a bigger understanding of those commands and maybe will be able to draw some myself :D
– Matheus Chebli
May 7 at 21:56
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 May 7 at 2:34
JouleVJouleV
18k22971
18k22971
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%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
You should not use
minipage
inside TikZ pictures– JouleV
May 7 at 2:17