答案1
从此代码开始这里我得出了这个结果。我认为这是一个开始:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations,decorations.pathreplacing}
\usepackage{chemfig}
\usepgflibrary{arrows}
\begin{document}
%%%%%%Source of lipid layer: https://texample.net/tikz/examples/lipid-vesicle Published 2009-03-05 | Author: Henrik Skov Midtiby. Modified by Roland Tresky 2020-12-16
\pgfdeclaredecoration{lipidleaflet}{initial}
{
% Place as many segments as possible along the path to decorate
% the minimum distance between two segments is set to 7 pt.
\state{initial}[width=\pgfdecoratedpathlength/floor(\pgfdecoratedpathlength/7pt)]
{
% Draw the two acyl chains
\pgfpathmoveto{\pgfpoint{-1pt}{0pt}}
\pgfpathlineto{\pgfpoint{-1pt}{-10pt}}
\pgfpathmoveto{\pgfpoint{1pt}{0pt}}
\pgfpathlineto{\pgfpoint{1pt}{-10pt}}
% Draw the head group
\pgfpathmoveto{\pgfpoint{1pt}{0pt}}
\pgfpathcircle{\pgfpoint{0pt}{2pt}}{2.5pt}\pgfusepath{fill,stroke}
}
\state{final}
{
\pgfpathmoveto{\pgfpointdecoratedpathlast}
}
}
\begin{tikzpicture}[node distance=2cm]
%%%%%%%%% Lipid bilayer right
\draw[decorate, decoration={lipidleaflet, mirror}]
(-1, -2.8) -- (2, -2.8);
\draw[decorate, decoration={lipidleaflet}]
(-1, -2) -- (2, -2);
\draw[decorate, decoration={lipidleaflet, mirror}]
(3, -2.8) -- (6, -2.8);
\draw[decorate, decoration={lipidleaflet}]
(3, -2) -- (6, -2);
%\draw (0, -3.5) node {Lipid bilayer};
%membraneprotein
\draw[rounded corners,red!60,fill=red!60] (2,-1.5) rectangle (2.8,-3);
\draw[cyan,fill=cyan] (2.2,-1.4) circle (4pt);
%constants
\node (A) at (0, 0) {K\textsubscript{mb}};
\node (B) at (2, 0) {K\textsubscript{bm}};
\draw[>=triangle 45, <->] (0.5,0) -- (1.5,0);
%double arrow
\draw[-{Stealth[right][length=2mm, width=1mm]},red,thick, shorten >=3pt] (2.1,-1.1) -- (1.1,-0.4);
\draw[-{Stealth[right][length=2mm, width=1mm]},red,thick, shorten >=3pt] (1.1,-0.5) -- (2.1,-1.2);
%arrow
\draw[{Triangle[length=2mm, width=1mm]}-{Triangle[length=2mm, width=1mm]},shorten >=5pt] (-1.4,-2.4) -- (-3,-2.4);
%%%%%%%%% Lipid bilayer left
\draw[decorate, decoration={lipidleaflet, mirror}]
(-6,-2.8) -- (-3, -2.8);
\draw[decorate, decoration={lipidleaflet}]
(-6, -2) -- (-3, -2);
\draw[decorate, decoration={lipidleaflet, mirror}]
(-10, -2.8) -- (-7, -2.8);
\draw[decorate, decoration={lipidleaflet}]
(-10, -2) -- (-7, -2);
%membraneprotein
\draw[rounded corners,red!60,fill=red!60] (-7,-1.5) rectangle (-6.2,-3);
\draw[cyan,fill=cyan] (-8,-0.4) circle (4pt);
%double arrow
\draw[-{Stealth[right][length=2mm, width=1mm]},red,thick, shorten >=3pt] (-8,-1.6) -- (-8,-0.6);
\draw[-{Stealth[right][length=2mm, width=1mm]},red,thick, shorten >=3pt] (-8.1,-0.7) -- (-8.1,-1.7);
%constants
\node (A) at (-9, 0) {K\textsubscript{am}};
\node (B) at (-7, 0) {K\textsubscript{ma}};
\draw[>=triangle 45, <->] (-8.5,0) -- (-7.5,0);
%%%%%%%%% Lipid bilayer below
\draw[decorate, decoration={lipidleaflet, mirror}]
(-1.4,-6.8) -- (2, -6.8);
\draw[decorate, decoration={lipidleaflet}]
(-1.4, -6) -- (2, -6);
\draw[decorate, decoration={lipidleaflet, mirror}]
(-5.8, -6.8) -- (-2.4, -6.8);
\draw[decorate, decoration={lipidleaflet}]
(-5.8,-6) -- (-2.4,-6);
%membraneprotein
\draw[rounded corners,red!60,fill=red!60] (-2.4,-7) rectangle (-1.6,-5.6);
\draw[cyan,fill=cyan] (-2.3,-5.5) circle (4pt);
%double arrow
\draw[-{Stealth[right][length=2mm, width=1mm]},red,thick,shorten >=3pt] (-3.45,-6.2) -- (-2.45,-5.6);
\draw[-{Stealth[right][length=2mm, width=1mm]},red,thick,shorten >=3pt] (-2.6,-5.6) -- (-3.6,-6.2);
%constants
\node (A) at (-3, -8) {K\textsubscript{ab}};
\node (B) at (-1, -8) {K\textsubscript{ba}};
\draw[>=triangle 45, <->] (-2.5,-8) -- (-1.5,-8);
%arrow
\draw[{Triangle[length=2mm, width=1mm]}-{Triangle[length=2mm, width=1mm]},shorten >=5pt] (-6,-3.5) -- (-4,-5);
%arrow
\draw[{Triangle[length=2mm, width=1mm]}-{Triangle[length=2mm, width=1mm]},shorten >=5pt] (2,-3.5) -- (0,-5);
\end{tikzpicture}
\end{document}