Drawing enzyme with TikZ
Clash Royale CLAN TAG#URR8PPP
up vote
12
down vote
favorite
It is possible to draw something like the figure below using TikZ
or any other Latex package?
tikz-pgf
add a comment |Â
up vote
12
down vote
favorite
It is possible to draw something like the figure below using TikZ
or any other Latex package?
tikz-pgf
2
You can certainly create an image with TikZ or PSTricks. But in my opinion it is too complicated as image. I am often very brief, especially in my questions/answers. I believe that with InkScape you could convert your image to a TikZ or PSTricks code if I remember correctly and save a lot of time.
– Sebastiano
Aug 12 at 20:12
@Sebastiano It is a good point, but I don't think this is too much for TikZ really. When I read the title I was worried the OP wanted to draw something more like en.wikipedia.org/wiki/Alpha-amylase#/media/… and came here with the intention of saying the same thing as you! :P But this cartoon is well within TikZ's capabilities I think, if one can be bothered
– Au101
Aug 12 at 21:54
add a comment |Â
up vote
12
down vote
favorite
up vote
12
down vote
favorite
It is possible to draw something like the figure below using TikZ
or any other Latex package?
tikz-pgf
It is possible to draw something like the figure below using TikZ
or any other Latex package?
tikz-pgf
edited Aug 12 at 19:54
Bernard
155k762189
155k762189
asked Aug 12 at 19:51
Thales Souza Freire
1009
1009
2
You can certainly create an image with TikZ or PSTricks. But in my opinion it is too complicated as image. I am often very brief, especially in my questions/answers. I believe that with InkScape you could convert your image to a TikZ or PSTricks code if I remember correctly and save a lot of time.
– Sebastiano
Aug 12 at 20:12
@Sebastiano It is a good point, but I don't think this is too much for TikZ really. When I read the title I was worried the OP wanted to draw something more like en.wikipedia.org/wiki/Alpha-amylase#/media/… and came here with the intention of saying the same thing as you! :P But this cartoon is well within TikZ's capabilities I think, if one can be bothered
– Au101
Aug 12 at 21:54
add a comment |Â
2
You can certainly create an image with TikZ or PSTricks. But in my opinion it is too complicated as image. I am often very brief, especially in my questions/answers. I believe that with InkScape you could convert your image to a TikZ or PSTricks code if I remember correctly and save a lot of time.
– Sebastiano
Aug 12 at 20:12
@Sebastiano It is a good point, but I don't think this is too much for TikZ really. When I read the title I was worried the OP wanted to draw something more like en.wikipedia.org/wiki/Alpha-amylase#/media/… and came here with the intention of saying the same thing as you! :P But this cartoon is well within TikZ's capabilities I think, if one can be bothered
– Au101
Aug 12 at 21:54
2
2
You can certainly create an image with TikZ or PSTricks. But in my opinion it is too complicated as image. I am often very brief, especially in my questions/answers. I believe that with InkScape you could convert your image to a TikZ or PSTricks code if I remember correctly and save a lot of time.
– Sebastiano
Aug 12 at 20:12
You can certainly create an image with TikZ or PSTricks. But in my opinion it is too complicated as image. I am often very brief, especially in my questions/answers. I believe that with InkScape you could convert your image to a TikZ or PSTricks code if I remember correctly and save a lot of time.
– Sebastiano
Aug 12 at 20:12
@Sebastiano It is a good point, but I don't think this is too much for TikZ really. When I read the title I was worried the OP wanted to draw something more like en.wikipedia.org/wiki/Alpha-amylase#/media/… and came here with the intention of saying the same thing as you! :P But this cartoon is well within TikZ's capabilities I think, if one can be bothered
– Au101
Aug 12 at 21:54
@Sebastiano It is a good point, but I don't think this is too much for TikZ really. When I read the title I was worried the OP wanted to draw something more like en.wikipedia.org/wiki/Alpha-amylase#/media/… and came here with the intention of saying the same thing as you! :P But this cartoon is well within TikZ's capabilities I think, if one can be bothered
– Au101
Aug 12 at 21:54
add a comment |Â
3 Answers
3
active
oldest
votes
up vote
31
down vote
accepted
I'd use pics
for that. This allows you to draw the same thing, possibly with some variation, over and over. In this example, I use
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
Here, Enzyme B
is the second of your enzymes, and 3
means both receptors (?) are filled. If I would had chosen 0
, 1
or 2
instead, none, the lower one or the upper one would have been filled. (1.2,2.9)
is the coordinate, and as you see, you can rotate the pic
(or subject it to other transformations like scale
for instance). I have left a few enzymes to be placed for you as an exercise. ;-) (EDIT: Made the radii of the bummies a bit smaller and adjustable.)
documentclass[tikz, margin=3.14mm]standalone
pgfkeystikz/.cd,
bummy radius/.store in=BummyRadius,
bummy radius=1.6mm
tikzsetpics/.cd,
Enzyme A/.style=
code=
draw[thin,fill=green!30] (0.3,0) arc(90:270:0.15) -- (0.3,-0.3) to[out=-90,in=0] (0,-0.5)
to[out=180,in=-90] (-0.3,-0.3) to (-0.3,0.3) to[out=90,in=180] (0,0.5)
to[out=0,in=90] (0.3,0.3) arc(90:270:0.15) --cycle;
ifnum#1=1
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fi
ifnum#1=2
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
ifnum#1=3
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
,
Enzyme B/.style=
code=- (0.1,0.4)
,
begindocument
begintikzpicture
draw[blue!40,ultra thick] plot[domain=-7.5:7.5,variable=x,smooth,samples=50]
(x,tanh(x/1.5)+3*exp(-0.5*x*x));
foreach X in -2.5,2.5
draw[thick,dashed] (X,-1) -- (X,8);
% left panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X-7+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=0;
draw (-3.3,6.8) pic[rotate=rand*20] Enzyme B=0;
draw (-3.4,5.3) pic[rotate=rand*20] Enzyme B=0;
% middle
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X-2+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=Z;
draw (-1.2,2.8) pic Enzyme A=3;
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X+0.75+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme B=Z;
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
% right panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X+5.5+0.1*rand,1.25*Y+1+0.1*rand) pic[rotate=rand*20] Enzyme B=3;
draw (3.3,6.8) pic[rotate=rand*20] Enzyme A=3;
draw (3.4,5.3) pic[rotate=rand*20] Enzyme A=3;
endtikzpicture
enddocument
13
Wow! You are truly a TikZ wizard-marmot.
– Alan Munn
Aug 13 at 2:39
5
My eyes find it hard to believe that you have created a code exactly identical to the figure. You are extraordinary.
– Sebastiano
Aug 13 at 7:41
1
Impressive! Now I'll try do adjust to my problem. Thank you very much!
– Thales Souza Freire
Aug 13 at 19:09
add a comment |Â
up vote
12
down vote
just for fun and recognizing that marmot's code is really practical, a version with other options that require manual positioning, to get the result as close to the example; the enzymes have conditional parts derived from marmot's answer, but these are activated or deactivated with 0 or 1 to avoid defining 4 states.
RESULT:
MWE:
documentclass[border=0pt]standalone
usepackagetikz
definecolormygreenHTMLBED395
definecolormyblueHTML87ABEC
definecolorlinegreenHTML989F7F
definecolorcolor1HTMLDFD8C8
begindocument
pagecolorcolor1
begintikzpicture
defactivator(#1)
beginscope[shift=(#1)]
draw[line width=1pt,linegreen,fill=red](0,0)
arc (180:40:0.15) arc (140:0:0.15) arc (0:-140:0.15) arc (-40:-180:0.15);
endscope
defenzymeA(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.3,0.26) fi
ifnum#4=1 activator(0.3,-0.26) fi
endscope
defenzymeB(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.4,0.24) fi
ifnum#4=1 activator(0.4,-0.25) fi
endscope
%Start drawing the thing
draw[myblue,line width=3pt]
(1.5,0)
to [out=0, in=180,out looseness=1.8,in looseness=0.4] ++(9,6)
to [out=0, in=180,out looseness=0.4,in looseness=2] ++(9,-4);
draw[dash pattern = on 10pt off 10pt, very thick](0,0)++(6,0) -- ++(0,14);
draw[dash pattern = on 10pt off 10pt, very thick](6,0)++(9,0) -- ++(0,14);
%Draw void enzymes B
foreach x/y/rotation in
0/4/-5,
1.5/5/10,
3/4/10,
0.2/6/-15,
2/7/10,
3.5/6/-15,
0.2/8/5,
1.5/9/5,
0.1/10/-10,
1.5/11/26,
0.2/12/-10,
1.7/13/10,
7/12/26,
9/13/-10
enzymeB(x,y)[rotation]00
%Draw activated enzymes B
foreach x/y/rotation in
8/6/-20,
16/10/15,
16/12/-15
enzymeB(x,y)[rotation]11
%Draw void enzymes A
foreach x/y/rotation in
5/9/10,
4.5/11/-5,
13/13/-15
enzymeA(x,y)[rotation]00
%Draw activated enzymes A
foreach x/y/rotation in
20/3.5/-15,
18.2/3.5/26,
20/5.4/15,
18.5/5.4/10,
19.2/7.3/-5,
17.7/7.1/-5,
19.7/9.1/-15,
18/9/10,
20./11/15,
18.2/11/-5,
20/13/15,
18.2/13/-15,
14/5.4/-10,
12.5/6.2/26
enzymeA(x,y)[rotation]11
%Incomplete activation enzymes
enzymeB(7,8)[26]01
enzymeB(7,10)[-15]01
enzymeB(9,8.5)[15]10
enzymeB(9,10.5)[-15]01
enzymeA(12,11)[15]10
enzymeA(14,11)[-15]01
enzymeA(12,8.5)[15]10
enzymeA(14,8.5)[-26]01
endtikzpicture
enddocument
Great! Thanks for the solution!
– Thales Souza Freire
Aug 13 at 19:12
add a comment |Â
up vote
10
down vote
Since that is just a very quick answer, here are just the “styles“ that are necessary:
documentclass[border=5pt,tikz]standalone
begindocument
begintikzpicture[green!70!black]
beginscope[rotate=75]
draw (0,0) arc(0:180:.5);
draw (1,0) arc(0:180:.5);
draw (-1.5,.5) arc(180:270:.5);
draw (-1.5,.5) --+ (0,.5) arc(-180:-270:.5) --+ (2,0);
draw (1.5,1) arc(0:90:.5);
draw (1.5,1) --+ (0,-.5) arc(0:-90:.5);
endscope
fill[yshift=-4cm,xshift=-1.7cm,green!70!black!50] (0,2) -- (0,0) --+ (1.5,0) --+ (1.5,.3) --+ (1.1,.3) --+ (1.1,.9) --+ (1.5,.9) --+ (1.5,1) -- (1.1,1) --+ (0,.7) --+ (.4,.7) --+ (.4,1) -- cycle;
beginscope[xshift=-1.2cm,yshift=-5cm]
draw[very thick,red!70!black,fill=red!70!black!80] (0,0) circle(.5);
draw[very thick,red!70!black,fill=red!70!black!80] (.5,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (0,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (.5,0) circle(.5);
endscope
endtikzpicture
enddocument
Here is the output:
add a comment |Â
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
31
down vote
accepted
I'd use pics
for that. This allows you to draw the same thing, possibly with some variation, over and over. In this example, I use
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
Here, Enzyme B
is the second of your enzymes, and 3
means both receptors (?) are filled. If I would had chosen 0
, 1
or 2
instead, none, the lower one or the upper one would have been filled. (1.2,2.9)
is the coordinate, and as you see, you can rotate the pic
(or subject it to other transformations like scale
for instance). I have left a few enzymes to be placed for you as an exercise. ;-) (EDIT: Made the radii of the bummies a bit smaller and adjustable.)
documentclass[tikz, margin=3.14mm]standalone
pgfkeystikz/.cd,
bummy radius/.store in=BummyRadius,
bummy radius=1.6mm
tikzsetpics/.cd,
Enzyme A/.style=
code=
draw[thin,fill=green!30] (0.3,0) arc(90:270:0.15) -- (0.3,-0.3) to[out=-90,in=0] (0,-0.5)
to[out=180,in=-90] (-0.3,-0.3) to (-0.3,0.3) to[out=90,in=180] (0,0.5)
to[out=0,in=90] (0.3,0.3) arc(90:270:0.15) --cycle;
ifnum#1=1
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fi
ifnum#1=2
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
ifnum#1=3
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
,
Enzyme B/.style=
code=- (0.1,0.4)
,
begindocument
begintikzpicture
draw[blue!40,ultra thick] plot[domain=-7.5:7.5,variable=x,smooth,samples=50]
(x,tanh(x/1.5)+3*exp(-0.5*x*x));
foreach X in -2.5,2.5
draw[thick,dashed] (X,-1) -- (X,8);
% left panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X-7+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=0;
draw (-3.3,6.8) pic[rotate=rand*20] Enzyme B=0;
draw (-3.4,5.3) pic[rotate=rand*20] Enzyme B=0;
% middle
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X-2+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=Z;
draw (-1.2,2.8) pic Enzyme A=3;
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X+0.75+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme B=Z;
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
% right panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X+5.5+0.1*rand,1.25*Y+1+0.1*rand) pic[rotate=rand*20] Enzyme B=3;
draw (3.3,6.8) pic[rotate=rand*20] Enzyme A=3;
draw (3.4,5.3) pic[rotate=rand*20] Enzyme A=3;
endtikzpicture
enddocument
13
Wow! You are truly a TikZ wizard-marmot.
– Alan Munn
Aug 13 at 2:39
5
My eyes find it hard to believe that you have created a code exactly identical to the figure. You are extraordinary.
– Sebastiano
Aug 13 at 7:41
1
Impressive! Now I'll try do adjust to my problem. Thank you very much!
– Thales Souza Freire
Aug 13 at 19:09
add a comment |Â
up vote
31
down vote
accepted
I'd use pics
for that. This allows you to draw the same thing, possibly with some variation, over and over. In this example, I use
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
Here, Enzyme B
is the second of your enzymes, and 3
means both receptors (?) are filled. If I would had chosen 0
, 1
or 2
instead, none, the lower one or the upper one would have been filled. (1.2,2.9)
is the coordinate, and as you see, you can rotate the pic
(or subject it to other transformations like scale
for instance). I have left a few enzymes to be placed for you as an exercise. ;-) (EDIT: Made the radii of the bummies a bit smaller and adjustable.)
documentclass[tikz, margin=3.14mm]standalone
pgfkeystikz/.cd,
bummy radius/.store in=BummyRadius,
bummy radius=1.6mm
tikzsetpics/.cd,
Enzyme A/.style=
code=
draw[thin,fill=green!30] (0.3,0) arc(90:270:0.15) -- (0.3,-0.3) to[out=-90,in=0] (0,-0.5)
to[out=180,in=-90] (-0.3,-0.3) to (-0.3,0.3) to[out=90,in=180] (0,0.5)
to[out=0,in=90] (0.3,0.3) arc(90:270:0.15) --cycle;
ifnum#1=1
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fi
ifnum#1=2
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
ifnum#1=3
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
,
Enzyme B/.style=
code=- (0.1,0.4)
,
begindocument
begintikzpicture
draw[blue!40,ultra thick] plot[domain=-7.5:7.5,variable=x,smooth,samples=50]
(x,tanh(x/1.5)+3*exp(-0.5*x*x));
foreach X in -2.5,2.5
draw[thick,dashed] (X,-1) -- (X,8);
% left panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X-7+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=0;
draw (-3.3,6.8) pic[rotate=rand*20] Enzyme B=0;
draw (-3.4,5.3) pic[rotate=rand*20] Enzyme B=0;
% middle
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X-2+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=Z;
draw (-1.2,2.8) pic Enzyme A=3;
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X+0.75+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme B=Z;
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
% right panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X+5.5+0.1*rand,1.25*Y+1+0.1*rand) pic[rotate=rand*20] Enzyme B=3;
draw (3.3,6.8) pic[rotate=rand*20] Enzyme A=3;
draw (3.4,5.3) pic[rotate=rand*20] Enzyme A=3;
endtikzpicture
enddocument
13
Wow! You are truly a TikZ wizard-marmot.
– Alan Munn
Aug 13 at 2:39
5
My eyes find it hard to believe that you have created a code exactly identical to the figure. You are extraordinary.
– Sebastiano
Aug 13 at 7:41
1
Impressive! Now I'll try do adjust to my problem. Thank you very much!
– Thales Souza Freire
Aug 13 at 19:09
add a comment |Â
up vote
31
down vote
accepted
up vote
31
down vote
accepted
I'd use pics
for that. This allows you to draw the same thing, possibly with some variation, over and over. In this example, I use
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
Here, Enzyme B
is the second of your enzymes, and 3
means both receptors (?) are filled. If I would had chosen 0
, 1
or 2
instead, none, the lower one or the upper one would have been filled. (1.2,2.9)
is the coordinate, and as you see, you can rotate the pic
(or subject it to other transformations like scale
for instance). I have left a few enzymes to be placed for you as an exercise. ;-) (EDIT: Made the radii of the bummies a bit smaller and adjustable.)
documentclass[tikz, margin=3.14mm]standalone
pgfkeystikz/.cd,
bummy radius/.store in=BummyRadius,
bummy radius=1.6mm
tikzsetpics/.cd,
Enzyme A/.style=
code=
draw[thin,fill=green!30] (0.3,0) arc(90:270:0.15) -- (0.3,-0.3) to[out=-90,in=0] (0,-0.5)
to[out=180,in=-90] (-0.3,-0.3) to (-0.3,0.3) to[out=90,in=180] (0,0.5)
to[out=0,in=90] (0.3,0.3) arc(90:270:0.15) --cycle;
ifnum#1=1
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fi
ifnum#1=2
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
ifnum#1=3
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
,
Enzyme B/.style=
code=- (0.1,0.4)
,
begindocument
begintikzpicture
draw[blue!40,ultra thick] plot[domain=-7.5:7.5,variable=x,smooth,samples=50]
(x,tanh(x/1.5)+3*exp(-0.5*x*x));
foreach X in -2.5,2.5
draw[thick,dashed] (X,-1) -- (X,8);
% left panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X-7+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=0;
draw (-3.3,6.8) pic[rotate=rand*20] Enzyme B=0;
draw (-3.4,5.3) pic[rotate=rand*20] Enzyme B=0;
% middle
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X-2+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=Z;
draw (-1.2,2.8) pic Enzyme A=3;
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X+0.75+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme B=Z;
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
% right panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X+5.5+0.1*rand,1.25*Y+1+0.1*rand) pic[rotate=rand*20] Enzyme B=3;
draw (3.3,6.8) pic[rotate=rand*20] Enzyme A=3;
draw (3.4,5.3) pic[rotate=rand*20] Enzyme A=3;
endtikzpicture
enddocument
I'd use pics
for that. This allows you to draw the same thing, possibly with some variation, over and over. In this example, I use
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
Here, Enzyme B
is the second of your enzymes, and 3
means both receptors (?) are filled. If I would had chosen 0
, 1
or 2
instead, none, the lower one or the upper one would have been filled. (1.2,2.9)
is the coordinate, and as you see, you can rotate the pic
(or subject it to other transformations like scale
for instance). I have left a few enzymes to be placed for you as an exercise. ;-) (EDIT: Made the radii of the bummies a bit smaller and adjustable.)
documentclass[tikz, margin=3.14mm]standalone
pgfkeystikz/.cd,
bummy radius/.store in=BummyRadius,
bummy radius=1.6mm
tikzsetpics/.cd,
Enzyme A/.style=
code=
draw[thin,fill=green!30] (0.3,0) arc(90:270:0.15) -- (0.3,-0.3) to[out=-90,in=0] (0,-0.5)
to[out=180,in=-90] (-0.3,-0.3) to (-0.3,0.3) to[out=90,in=180] (0,0.5)
to[out=0,in=90] (0.3,0.3) arc(90:270:0.15) --cycle;
ifnum#1=1
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fi
ifnum#1=2
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
ifnum#1=3
fill[red!80] (1.1mm+BummyRadius,-0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,-0.21) circle (BummyRadius);
fill[red!80] (1.1mm+BummyRadius,0.21) circle (BummyRadius) (1.1mm+2.8*BummyRadius,0.21) circle (BummyRadius);
fi
,
Enzyme B/.style=
code=- (0.1,0.4)
,
begindocument
begintikzpicture
draw[blue!40,ultra thick] plot[domain=-7.5:7.5,variable=x,smooth,samples=50]
(x,tanh(x/1.5)+3*exp(-0.5*x*x));
foreach X in -2.5,2.5
draw[thick,dashed] (X,-1) -- (X,8);
% left panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X-7+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=0;
draw (-3.3,6.8) pic[rotate=rand*20] Enzyme B=0;
draw (-3.4,5.3) pic[rotate=rand*20] Enzyme B=0;
% middle
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X-2+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme A=Z;
draw (-1.2,2.8) pic Enzyme A=3;
foreach X in 0,1.25
foreach Y [evaluate=Y as Z using int(5-Y)]in 3,4,5
draw (X+0.75+0.1*rand,1.5*Y+0.1*rand) pic[rotate=rand*20] Enzyme B=Z;
draw (1.2,2.9) pic[rotate=25] Enzyme B=3;
% right panel
foreach X in 0,1.5
foreach Y in 1,...,5
draw (X+5.5+0.1*rand,1.25*Y+1+0.1*rand) pic[rotate=rand*20] Enzyme B=3;
draw (3.3,6.8) pic[rotate=rand*20] Enzyme A=3;
draw (3.4,5.3) pic[rotate=rand*20] Enzyme A=3;
endtikzpicture
enddocument
edited Aug 13 at 2:34
answered Aug 12 at 22:37


marmot
54.9k459119
54.9k459119
13
Wow! You are truly a TikZ wizard-marmot.
– Alan Munn
Aug 13 at 2:39
5
My eyes find it hard to believe that you have created a code exactly identical to the figure. You are extraordinary.
– Sebastiano
Aug 13 at 7:41
1
Impressive! Now I'll try do adjust to my problem. Thank you very much!
– Thales Souza Freire
Aug 13 at 19:09
add a comment |Â
13
Wow! You are truly a TikZ wizard-marmot.
– Alan Munn
Aug 13 at 2:39
5
My eyes find it hard to believe that you have created a code exactly identical to the figure. You are extraordinary.
– Sebastiano
Aug 13 at 7:41
1
Impressive! Now I'll try do adjust to my problem. Thank you very much!
– Thales Souza Freire
Aug 13 at 19:09
13
13
Wow! You are truly a TikZ wizard-marmot.
– Alan Munn
Aug 13 at 2:39
Wow! You are truly a TikZ wizard-marmot.
– Alan Munn
Aug 13 at 2:39
5
5
My eyes find it hard to believe that you have created a code exactly identical to the figure. You are extraordinary.
– Sebastiano
Aug 13 at 7:41
My eyes find it hard to believe that you have created a code exactly identical to the figure. You are extraordinary.
– Sebastiano
Aug 13 at 7:41
1
1
Impressive! Now I'll try do adjust to my problem. Thank you very much!
– Thales Souza Freire
Aug 13 at 19:09
Impressive! Now I'll try do adjust to my problem. Thank you very much!
– Thales Souza Freire
Aug 13 at 19:09
add a comment |Â
up vote
12
down vote
just for fun and recognizing that marmot's code is really practical, a version with other options that require manual positioning, to get the result as close to the example; the enzymes have conditional parts derived from marmot's answer, but these are activated or deactivated with 0 or 1 to avoid defining 4 states.
RESULT:
MWE:
documentclass[border=0pt]standalone
usepackagetikz
definecolormygreenHTMLBED395
definecolormyblueHTML87ABEC
definecolorlinegreenHTML989F7F
definecolorcolor1HTMLDFD8C8
begindocument
pagecolorcolor1
begintikzpicture
defactivator(#1)
beginscope[shift=(#1)]
draw[line width=1pt,linegreen,fill=red](0,0)
arc (180:40:0.15) arc (140:0:0.15) arc (0:-140:0.15) arc (-40:-180:0.15);
endscope
defenzymeA(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.3,0.26) fi
ifnum#4=1 activator(0.3,-0.26) fi
endscope
defenzymeB(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.4,0.24) fi
ifnum#4=1 activator(0.4,-0.25) fi
endscope
%Start drawing the thing
draw[myblue,line width=3pt]
(1.5,0)
to [out=0, in=180,out looseness=1.8,in looseness=0.4] ++(9,6)
to [out=0, in=180,out looseness=0.4,in looseness=2] ++(9,-4);
draw[dash pattern = on 10pt off 10pt, very thick](0,0)++(6,0) -- ++(0,14);
draw[dash pattern = on 10pt off 10pt, very thick](6,0)++(9,0) -- ++(0,14);
%Draw void enzymes B
foreach x/y/rotation in
0/4/-5,
1.5/5/10,
3/4/10,
0.2/6/-15,
2/7/10,
3.5/6/-15,
0.2/8/5,
1.5/9/5,
0.1/10/-10,
1.5/11/26,
0.2/12/-10,
1.7/13/10,
7/12/26,
9/13/-10
enzymeB(x,y)[rotation]00
%Draw activated enzymes B
foreach x/y/rotation in
8/6/-20,
16/10/15,
16/12/-15
enzymeB(x,y)[rotation]11
%Draw void enzymes A
foreach x/y/rotation in
5/9/10,
4.5/11/-5,
13/13/-15
enzymeA(x,y)[rotation]00
%Draw activated enzymes A
foreach x/y/rotation in
20/3.5/-15,
18.2/3.5/26,
20/5.4/15,
18.5/5.4/10,
19.2/7.3/-5,
17.7/7.1/-5,
19.7/9.1/-15,
18/9/10,
20./11/15,
18.2/11/-5,
20/13/15,
18.2/13/-15,
14/5.4/-10,
12.5/6.2/26
enzymeA(x,y)[rotation]11
%Incomplete activation enzymes
enzymeB(7,8)[26]01
enzymeB(7,10)[-15]01
enzymeB(9,8.5)[15]10
enzymeB(9,10.5)[-15]01
enzymeA(12,11)[15]10
enzymeA(14,11)[-15]01
enzymeA(12,8.5)[15]10
enzymeA(14,8.5)[-26]01
endtikzpicture
enddocument
Great! Thanks for the solution!
– Thales Souza Freire
Aug 13 at 19:12
add a comment |Â
up vote
12
down vote
just for fun and recognizing that marmot's code is really practical, a version with other options that require manual positioning, to get the result as close to the example; the enzymes have conditional parts derived from marmot's answer, but these are activated or deactivated with 0 or 1 to avoid defining 4 states.
RESULT:
MWE:
documentclass[border=0pt]standalone
usepackagetikz
definecolormygreenHTMLBED395
definecolormyblueHTML87ABEC
definecolorlinegreenHTML989F7F
definecolorcolor1HTMLDFD8C8
begindocument
pagecolorcolor1
begintikzpicture
defactivator(#1)
beginscope[shift=(#1)]
draw[line width=1pt,linegreen,fill=red](0,0)
arc (180:40:0.15) arc (140:0:0.15) arc (0:-140:0.15) arc (-40:-180:0.15);
endscope
defenzymeA(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.3,0.26) fi
ifnum#4=1 activator(0.3,-0.26) fi
endscope
defenzymeB(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.4,0.24) fi
ifnum#4=1 activator(0.4,-0.25) fi
endscope
%Start drawing the thing
draw[myblue,line width=3pt]
(1.5,0)
to [out=0, in=180,out looseness=1.8,in looseness=0.4] ++(9,6)
to [out=0, in=180,out looseness=0.4,in looseness=2] ++(9,-4);
draw[dash pattern = on 10pt off 10pt, very thick](0,0)++(6,0) -- ++(0,14);
draw[dash pattern = on 10pt off 10pt, very thick](6,0)++(9,0) -- ++(0,14);
%Draw void enzymes B
foreach x/y/rotation in
0/4/-5,
1.5/5/10,
3/4/10,
0.2/6/-15,
2/7/10,
3.5/6/-15,
0.2/8/5,
1.5/9/5,
0.1/10/-10,
1.5/11/26,
0.2/12/-10,
1.7/13/10,
7/12/26,
9/13/-10
enzymeB(x,y)[rotation]00
%Draw activated enzymes B
foreach x/y/rotation in
8/6/-20,
16/10/15,
16/12/-15
enzymeB(x,y)[rotation]11
%Draw void enzymes A
foreach x/y/rotation in
5/9/10,
4.5/11/-5,
13/13/-15
enzymeA(x,y)[rotation]00
%Draw activated enzymes A
foreach x/y/rotation in
20/3.5/-15,
18.2/3.5/26,
20/5.4/15,
18.5/5.4/10,
19.2/7.3/-5,
17.7/7.1/-5,
19.7/9.1/-15,
18/9/10,
20./11/15,
18.2/11/-5,
20/13/15,
18.2/13/-15,
14/5.4/-10,
12.5/6.2/26
enzymeA(x,y)[rotation]11
%Incomplete activation enzymes
enzymeB(7,8)[26]01
enzymeB(7,10)[-15]01
enzymeB(9,8.5)[15]10
enzymeB(9,10.5)[-15]01
enzymeA(12,11)[15]10
enzymeA(14,11)[-15]01
enzymeA(12,8.5)[15]10
enzymeA(14,8.5)[-26]01
endtikzpicture
enddocument
Great! Thanks for the solution!
– Thales Souza Freire
Aug 13 at 19:12
add a comment |Â
up vote
12
down vote
up vote
12
down vote
just for fun and recognizing that marmot's code is really practical, a version with other options that require manual positioning, to get the result as close to the example; the enzymes have conditional parts derived from marmot's answer, but these are activated or deactivated with 0 or 1 to avoid defining 4 states.
RESULT:
MWE:
documentclass[border=0pt]standalone
usepackagetikz
definecolormygreenHTMLBED395
definecolormyblueHTML87ABEC
definecolorlinegreenHTML989F7F
definecolorcolor1HTMLDFD8C8
begindocument
pagecolorcolor1
begintikzpicture
defactivator(#1)
beginscope[shift=(#1)]
draw[line width=1pt,linegreen,fill=red](0,0)
arc (180:40:0.15) arc (140:0:0.15) arc (0:-140:0.15) arc (-40:-180:0.15);
endscope
defenzymeA(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.3,0.26) fi
ifnum#4=1 activator(0.3,-0.26) fi
endscope
defenzymeB(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.4,0.24) fi
ifnum#4=1 activator(0.4,-0.25) fi
endscope
%Start drawing the thing
draw[myblue,line width=3pt]
(1.5,0)
to [out=0, in=180,out looseness=1.8,in looseness=0.4] ++(9,6)
to [out=0, in=180,out looseness=0.4,in looseness=2] ++(9,-4);
draw[dash pattern = on 10pt off 10pt, very thick](0,0)++(6,0) -- ++(0,14);
draw[dash pattern = on 10pt off 10pt, very thick](6,0)++(9,0) -- ++(0,14);
%Draw void enzymes B
foreach x/y/rotation in
0/4/-5,
1.5/5/10,
3/4/10,
0.2/6/-15,
2/7/10,
3.5/6/-15,
0.2/8/5,
1.5/9/5,
0.1/10/-10,
1.5/11/26,
0.2/12/-10,
1.7/13/10,
7/12/26,
9/13/-10
enzymeB(x,y)[rotation]00
%Draw activated enzymes B
foreach x/y/rotation in
8/6/-20,
16/10/15,
16/12/-15
enzymeB(x,y)[rotation]11
%Draw void enzymes A
foreach x/y/rotation in
5/9/10,
4.5/11/-5,
13/13/-15
enzymeA(x,y)[rotation]00
%Draw activated enzymes A
foreach x/y/rotation in
20/3.5/-15,
18.2/3.5/26,
20/5.4/15,
18.5/5.4/10,
19.2/7.3/-5,
17.7/7.1/-5,
19.7/9.1/-15,
18/9/10,
20./11/15,
18.2/11/-5,
20/13/15,
18.2/13/-15,
14/5.4/-10,
12.5/6.2/26
enzymeA(x,y)[rotation]11
%Incomplete activation enzymes
enzymeB(7,8)[26]01
enzymeB(7,10)[-15]01
enzymeB(9,8.5)[15]10
enzymeB(9,10.5)[-15]01
enzymeA(12,11)[15]10
enzymeA(14,11)[-15]01
enzymeA(12,8.5)[15]10
enzymeA(14,8.5)[-26]01
endtikzpicture
enddocument
just for fun and recognizing that marmot's code is really practical, a version with other options that require manual positioning, to get the result as close to the example; the enzymes have conditional parts derived from marmot's answer, but these are activated or deactivated with 0 or 1 to avoid defining 4 states.
RESULT:
MWE:
documentclass[border=0pt]standalone
usepackagetikz
definecolormygreenHTMLBED395
definecolormyblueHTML87ABEC
definecolorlinegreenHTML989F7F
definecolorcolor1HTMLDFD8C8
begindocument
pagecolorcolor1
begintikzpicture
defactivator(#1)
beginscope[shift=(#1)]
draw[line width=1pt,linegreen,fill=red](0,0)
arc (180:40:0.15) arc (140:0:0.15) arc (0:-140:0.15) arc (-40:-180:0.15);
endscope
defenzymeA(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.3,0.26) fi
ifnum#4=1 activator(0.3,-0.26) fi
endscope
defenzymeB(#1)[#2]#3#4 cycle;
ifnum#3=1 activator(0.4,0.24) fi
ifnum#4=1 activator(0.4,-0.25) fi
endscope
%Start drawing the thing
draw[myblue,line width=3pt]
(1.5,0)
to [out=0, in=180,out looseness=1.8,in looseness=0.4] ++(9,6)
to [out=0, in=180,out looseness=0.4,in looseness=2] ++(9,-4);
draw[dash pattern = on 10pt off 10pt, very thick](0,0)++(6,0) -- ++(0,14);
draw[dash pattern = on 10pt off 10pt, very thick](6,0)++(9,0) -- ++(0,14);
%Draw void enzymes B
foreach x/y/rotation in
0/4/-5,
1.5/5/10,
3/4/10,
0.2/6/-15,
2/7/10,
3.5/6/-15,
0.2/8/5,
1.5/9/5,
0.1/10/-10,
1.5/11/26,
0.2/12/-10,
1.7/13/10,
7/12/26,
9/13/-10
enzymeB(x,y)[rotation]00
%Draw activated enzymes B
foreach x/y/rotation in
8/6/-20,
16/10/15,
16/12/-15
enzymeB(x,y)[rotation]11
%Draw void enzymes A
foreach x/y/rotation in
5/9/10,
4.5/11/-5,
13/13/-15
enzymeA(x,y)[rotation]00
%Draw activated enzymes A
foreach x/y/rotation in
20/3.5/-15,
18.2/3.5/26,
20/5.4/15,
18.5/5.4/10,
19.2/7.3/-5,
17.7/7.1/-5,
19.7/9.1/-15,
18/9/10,
20./11/15,
18.2/11/-5,
20/13/15,
18.2/13/-15,
14/5.4/-10,
12.5/6.2/26
enzymeA(x,y)[rotation]11
%Incomplete activation enzymes
enzymeB(7,8)[26]01
enzymeB(7,10)[-15]01
enzymeB(9,8.5)[15]10
enzymeB(9,10.5)[-15]01
enzymeA(12,11)[15]10
enzymeA(14,11)[-15]01
enzymeA(12,8.5)[15]10
enzymeA(14,8.5)[-26]01
endtikzpicture
enddocument
edited Aug 13 at 5:24
answered Aug 13 at 5:18
J Leon V.
5,946527
5,946527
Great! Thanks for the solution!
– Thales Souza Freire
Aug 13 at 19:12
add a comment |Â
Great! Thanks for the solution!
– Thales Souza Freire
Aug 13 at 19:12
Great! Thanks for the solution!
– Thales Souza Freire
Aug 13 at 19:12
Great! Thanks for the solution!
– Thales Souza Freire
Aug 13 at 19:12
add a comment |Â
up vote
10
down vote
Since that is just a very quick answer, here are just the “styles“ that are necessary:
documentclass[border=5pt,tikz]standalone
begindocument
begintikzpicture[green!70!black]
beginscope[rotate=75]
draw (0,0) arc(0:180:.5);
draw (1,0) arc(0:180:.5);
draw (-1.5,.5) arc(180:270:.5);
draw (-1.5,.5) --+ (0,.5) arc(-180:-270:.5) --+ (2,0);
draw (1.5,1) arc(0:90:.5);
draw (1.5,1) --+ (0,-.5) arc(0:-90:.5);
endscope
fill[yshift=-4cm,xshift=-1.7cm,green!70!black!50] (0,2) -- (0,0) --+ (1.5,0) --+ (1.5,.3) --+ (1.1,.3) --+ (1.1,.9) --+ (1.5,.9) --+ (1.5,1) -- (1.1,1) --+ (0,.7) --+ (.4,.7) --+ (.4,1) -- cycle;
beginscope[xshift=-1.2cm,yshift=-5cm]
draw[very thick,red!70!black,fill=red!70!black!80] (0,0) circle(.5);
draw[very thick,red!70!black,fill=red!70!black!80] (.5,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (0,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (.5,0) circle(.5);
endscope
endtikzpicture
enddocument
Here is the output:
add a comment |Â
up vote
10
down vote
Since that is just a very quick answer, here are just the “styles“ that are necessary:
documentclass[border=5pt,tikz]standalone
begindocument
begintikzpicture[green!70!black]
beginscope[rotate=75]
draw (0,0) arc(0:180:.5);
draw (1,0) arc(0:180:.5);
draw (-1.5,.5) arc(180:270:.5);
draw (-1.5,.5) --+ (0,.5) arc(-180:-270:.5) --+ (2,0);
draw (1.5,1) arc(0:90:.5);
draw (1.5,1) --+ (0,-.5) arc(0:-90:.5);
endscope
fill[yshift=-4cm,xshift=-1.7cm,green!70!black!50] (0,2) -- (0,0) --+ (1.5,0) --+ (1.5,.3) --+ (1.1,.3) --+ (1.1,.9) --+ (1.5,.9) --+ (1.5,1) -- (1.1,1) --+ (0,.7) --+ (.4,.7) --+ (.4,1) -- cycle;
beginscope[xshift=-1.2cm,yshift=-5cm]
draw[very thick,red!70!black,fill=red!70!black!80] (0,0) circle(.5);
draw[very thick,red!70!black,fill=red!70!black!80] (.5,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (0,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (.5,0) circle(.5);
endscope
endtikzpicture
enddocument
Here is the output:
add a comment |Â
up vote
10
down vote
up vote
10
down vote
Since that is just a very quick answer, here are just the “styles“ that are necessary:
documentclass[border=5pt,tikz]standalone
begindocument
begintikzpicture[green!70!black]
beginscope[rotate=75]
draw (0,0) arc(0:180:.5);
draw (1,0) arc(0:180:.5);
draw (-1.5,.5) arc(180:270:.5);
draw (-1.5,.5) --+ (0,.5) arc(-180:-270:.5) --+ (2,0);
draw (1.5,1) arc(0:90:.5);
draw (1.5,1) --+ (0,-.5) arc(0:-90:.5);
endscope
fill[yshift=-4cm,xshift=-1.7cm,green!70!black!50] (0,2) -- (0,0) --+ (1.5,0) --+ (1.5,.3) --+ (1.1,.3) --+ (1.1,.9) --+ (1.5,.9) --+ (1.5,1) -- (1.1,1) --+ (0,.7) --+ (.4,.7) --+ (.4,1) -- cycle;
beginscope[xshift=-1.2cm,yshift=-5cm]
draw[very thick,red!70!black,fill=red!70!black!80] (0,0) circle(.5);
draw[very thick,red!70!black,fill=red!70!black!80] (.5,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (0,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (.5,0) circle(.5);
endscope
endtikzpicture
enddocument
Here is the output:
Since that is just a very quick answer, here are just the “styles“ that are necessary:
documentclass[border=5pt,tikz]standalone
begindocument
begintikzpicture[green!70!black]
beginscope[rotate=75]
draw (0,0) arc(0:180:.5);
draw (1,0) arc(0:180:.5);
draw (-1.5,.5) arc(180:270:.5);
draw (-1.5,.5) --+ (0,.5) arc(-180:-270:.5) --+ (2,0);
draw (1.5,1) arc(0:90:.5);
draw (1.5,1) --+ (0,-.5) arc(0:-90:.5);
endscope
fill[yshift=-4cm,xshift=-1.7cm,green!70!black!50] (0,2) -- (0,0) --+ (1.5,0) --+ (1.5,.3) --+ (1.1,.3) --+ (1.1,.9) --+ (1.5,.9) --+ (1.5,1) -- (1.1,1) --+ (0,.7) --+ (.4,.7) --+ (.4,1) -- cycle;
beginscope[xshift=-1.2cm,yshift=-5cm]
draw[very thick,red!70!black,fill=red!70!black!80] (0,0) circle(.5);
draw[very thick,red!70!black,fill=red!70!black!80] (.5,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (0,0) circle(.5);
draw[red!70!black!80,fill=red!70!black!80] (.5,0) circle(.5);
endscope
endtikzpicture
enddocument
Here is the output:
answered Aug 12 at 21:40


current_user
2,412428
2,412428
add a comment |Â
add a comment |Â
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
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f445801%2fdrawing-enzyme-with-tikz%23new-answer', 'question_page');
);
Post as a guest
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
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
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
2
You can certainly create an image with TikZ or PSTricks. But in my opinion it is too complicated as image. I am often very brief, especially in my questions/answers. I believe that with InkScape you could convert your image to a TikZ or PSTricks code if I remember correctly and save a lot of time.
– Sebastiano
Aug 12 at 20:12
@Sebastiano It is a good point, but I don't think this is too much for TikZ really. When I read the title I was worried the OP wanted to draw something more like en.wikipedia.org/wiki/Alpha-amylase#/media/… and came here with the intention of saying the same thing as you! :P But this cartoon is well within TikZ's capabilities I think, if one can be bothered
– Au101
Aug 12 at 21:54