Cerebellum
21-04-2013, 08:26
Hallo,
ich möchte in Latex eine Biomembran mit eingelagertem Protein zeichnen (bitte weiterlesen, auch wenn ihr als nicht-Biologen gerade keinen Plan habt!!) Dafür verwende ich eine Vorlage von texample. Nun möchte ich aber, dass an der Stelle, wo das Protein sitzt (sprich: die dicken Balken), keine Membran gezeichnet wird. Also eine Art Überschreiben oder das darunter liegende wegradieren.
Hier mal das Mini:
\documentclass{article}
\usepackage[latin9]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{tikz}
\usetikzlibrary{decorations,decorations.pathreplac ing}
\begin{document}
\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}
}
\state{final}
{
\pgfpathmoveto{\pgfpointdecoratedpathlast}
}
}
% Draw a vesicle composed of two lipid layers
\begin{tikzpicture}
\draw[decorate, decoration={lipidleaflet}] (5, 5) circle (2cm);
\draw[decorate, decoration={lipidleaflet, mirror}] (5, 5) circle (2.8cm);
\draw (5,5) node {ER lumen};
\draw[line width=4pt] (3.7,6.3)--(2.9,7.1);
\draw[line width=4pt, red] (2.9,7.1) arc (225:30:0.2);
\draw[line width=4pt, blue] (3.2,7.3) parabola bend (3.7,7) (3.7,7.6);
\draw[line width=4pt] (3.7,7.6) parabola bend (4,8.4) (5,8.5);
\end{tikzpicture}
\end{document}
der aktuelle pdf-Ausdruck befindet sich im Anhang. Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt? Wenn nicht, bitte nachfragen, ich bin wirklich für jede Hilfe dankbar!
ich möchte in Latex eine Biomembran mit eingelagertem Protein zeichnen (bitte weiterlesen, auch wenn ihr als nicht-Biologen gerade keinen Plan habt!!) Dafür verwende ich eine Vorlage von texample. Nun möchte ich aber, dass an der Stelle, wo das Protein sitzt (sprich: die dicken Balken), keine Membran gezeichnet wird. Also eine Art Überschreiben oder das darunter liegende wegradieren.
Hier mal das Mini:
\documentclass{article}
\usepackage[latin9]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{tikz}
\usetikzlibrary{decorations,decorations.pathreplac ing}
\begin{document}
\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}
}
\state{final}
{
\pgfpathmoveto{\pgfpointdecoratedpathlast}
}
}
% Draw a vesicle composed of two lipid layers
\begin{tikzpicture}
\draw[decorate, decoration={lipidleaflet}] (5, 5) circle (2cm);
\draw[decorate, decoration={lipidleaflet, mirror}] (5, 5) circle (2.8cm);
\draw (5,5) node {ER lumen};
\draw[line width=4pt] (3.7,6.3)--(2.9,7.1);
\draw[line width=4pt, red] (2.9,7.1) arc (225:30:0.2);
\draw[line width=4pt, blue] (3.2,7.3) parabola bend (3.7,7) (3.7,7.6);
\draw[line width=4pt] (3.7,7.6) parabola bend (4,8.4) (5,8.5);
\end{tikzpicture}
\end{document}
der aktuelle pdf-Ausdruck befindet sich im Anhang. Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt? Wenn nicht, bitte nachfragen, ich bin wirklich für jede Hilfe dankbar!