Wie schneide ich aus diesem Beipiel ein Teilbild aus, so dass der Ausschnitt endlich die Gesamtgröße des Bildes hat. So sollte im folgenden Beipiel eigentlich Open in Online-Editor
\documentclass[border=5mm]{standalone} %\documentclass{scrreprt} \usepackage{selinput} \SelectInputMappings{adieresis={ä}, germandbls={ß}} \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \usepackage{microtype} \usepackage{tikz} \usetikzlibrary{intersections} \begin{document} \newcommand{\UntenLinks}{% \begin{scope}[] \clip(KL-2)rectangle(KL-3); \fill[red] [reverseclip] [KreisLinks] ; \end{scope} }% \newcommand{\Mitte}{% \begin{scope} \clip(KL-3)rectangle(KR-2-|KR-3); \fill[brown] [reverseclip] [KreisLinks] [KreisRechts] ; \end{scope} }% \newcommand{\UntenRechts}{% \begin{scope} \clip(KR-3)rectangle(KR-2); \fill[green] [reverseclip] [KreisRechts] ; \end{scope} }% \newcommand{\ObenRechts}{% \begin{scope} \clip(KR-1)rectangle(KR-2); \fill[yellow] [reverseclip] [KreisRechts] ; \end{scope} }% \newcommand{\Bild}[1]{%==================== \begin{tikzpicture}[ scale=0.5, very thick, fill opacity=.5 ] \pgfdeclarelayer{pre main} \pgfsetlayers{pre main,main} % Größen \newcommand\D{10cm} \tikzset{ KreisLinks/.style={insert path={(.5*\D,.5*\D)circle[radius=.5*\D]}}, KreisRechts/.style={insert path={(1.5*\D,.5*\D)circle[radius=.5*\D]}}, Diagonalendreieck/.style={insert path={(0,0)--+(2*\D,\D)--+(2*\D,0)--cycle}}, reverseclip/.style={insert path={(current bounding box.south west)rectangle(current bounding box.north east)}}, % Zeichnen/.style={% %draw }% } % Gesamtes Rechteck \path[Zeichnen, name path=Rechteck](0,0) rectangle +(2*\D,\D); % Kreis links \path[Zeichnen, % path picture={\fill[orange][Diagonalendreieck];}, name path=KreisLinks ] [KreisLinks]; % Kreis rechts \path[Zeichnen, % path picture={\fill[blue][Diagonalendreieck];}, name path=KreisRechts ] [KreisRechts]; %Diagonale \path[Zeichnen] (0,0) -- +(2*\D,\D); % Schnittpunkte Kreise mit Rechtecken \path [name intersections={of=KreisLinks and Rechteck,name=KL}]; \path [name intersections={of=KreisRechts and Rechteck,name=KR}]; % Füllen der Teilflächen \pgfonlayer{pre main} \begin{scope} \clip[Diagonalendreieck]; {#1} % Argumente \end{scope} \endpgfonlayer \end{tikzpicture} }%==================== a+\Bild{\UntenLinks}+ b%\UntenLinks \Mitte \UntenRechts \ObenRechts \end{document} |
Du kannst für das gesamte Bild die Beim "umgekehrten" Clippen kann man dann aber nicht mehr die Bounding Box verwenden. Deshalb würde ich Open in Online-Editor
Rechteck/.style={insert path={(0,0)rectangle(2*\D,\D)}}, ersetzen. Damit das Teilbild Und zum Schluß muss noch das Zeilenende nach Open in Online-Editor
\documentclass{standalone} \usepackage{tikz} \usetikzlibrary{intersections} \newcommand{\UntenLinks}{% \begin{scope}[overlay=false] \clip(KL-2|-KLD-2)rectangle(KL-3); \fill[red] [Rechteck] [KreisLinks] ; \end{scope} } \newcommand{\Mitte}{% \begin{scope}[overlay=false] \clip(KL-3)rectangle(KR-2-|KR-3); \fill[brown] [Rechteck] [KreisLinks] [KreisRechts] ; \end{scope} } \newcommand{\UntenRechts}{% \begin{scope}[overlay=false] \clip(KR-3)rectangle(KR-2); \fill[green] [Rechteck] [KreisRechts] ; \end{scope} } \newcommand{\ObenRechts}{% \begin{scope}[overlay=false] \clip(KR-1-|KRD-1)rectangle(KR-2); \fill[yellow] [Rechteck] [KreisRechts] ; \end{scope} } \newcommand{\Bild}[1]{% \begin{tikzpicture}[ scale=0.5, very thick, fill opacity=.5, % Zeichnen/.style={% %draw }, overlay ] \pgfdeclarelayer{pre main} \pgfsetlayers{pre main,main} % Größen \newcommand\D{10cm} \tikzset{ KreisLinks/.style={insert path={(.5*\D,.5*\D)circle[radius=.5*\D]}}, KreisRechts/.style={insert path={(1.5*\D,.5*\D)circle[radius=.5*\D]}}, Diagonalendreieck/.style={insert path={(0,0)--+(2*\D,\D)--+(2*\D,0)--cycle}}, Rechteck/.style={insert path={(0,0)rectangle(2*\D,\D)}}, } % Gesamtes Rechteck \path[Zeichnen, name path=Rechteck][Rechteck]; % Kreis links \path[Zeichnen, name path=KreisLinks ] [KreisLinks]; % Kreis rechts \path[Zeichnen, name path=KreisRechts ] [KreisRechts]; %Diagonale \path[Zeichnen,name path=Diagonale] (0,0) -- (2*\D,\D); % Schnittpunkte Kreise mit Rechteck und Diagonale \path [name intersections={of=KreisLinks and Rechteck,name=KL}]; \path [name intersections={of=KreisLinks and Diagonale,name=KLD}]; \path [name intersections={of=KreisRechts and Rechteck,name=KR}]; \path [name intersections={of=KreisRechts and Diagonale,name=KRD}]; % Füllen der Teilflächen \pgfonlayer{pre main} \begin{scope} \clip[Diagonalendreieck]; {#1} % Argumente \end{scope} \endpgfonlayer \end{tikzpicture}% <- sonst Leerzeichen } \begin{document} a+% %\Bild{\UntenLinks}% %\Bild{\Mitte}% %\Bild{\UntenRechts}% \Bild{\ObenRechts}% + b \end{document} beantwortet 15 Aug '16, 17:52 esdd |