PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tikz und gesplittete Nodes



Joerka
05-07-2010, 19:24
Hallo,

ich erstelle momentan eine Grafik, bei der es sich nahezu aufzwingt, von gesplitteten Nodes Gebrauch zu machen.

Allerdings entsteht folgendes Problem:


\documentclass{scrbook}

\usepackage{tikz}
\usetikzlibrary{shapes,backgrounds}

\begin{document}

\begin{tikzpicture}

% Vordergrund
\node[draw,fill=white,fill opacity=0.5,draw opacity=1,text opacity=1,rectangle split,rectangle split parts=2]
at (4,4) {Obere Haelfte \nodepart{second} Untere Haelfte};

% Hintergrund
\begin{pgfonlayer}{background}
\fill[blue!20] (0,0) rectangle (9,9);
\end{pgfonlayer}

\end{tikzpicture}

\end{document}

Wie vermeide ich, dass die untere Hälfte transparent erscheint?

Ich denke, das Problem liegt darin, dass die text opacity für den unteren Teil auf 0.5 gesetzt wird...

Joerka
05-07-2010, 19:56
Ich denke, an folgendem Beispiel wird mein Problem klarer. Einfach den Anweisungen im Quelltext folgen: Zunächst in der einen Zeile Kommentar entfernen => Node wird transparent. Dann in der nächsten Zeile Kommentar entfernen => nur obere Schrift wird "untransparent":


\documentclass{scrbook}

\usepackage{tikz}
\usetikzlibrary{shapes,backgrounds}

\begin{document}

\begin{tikzpicture}[every text node part/.style={font=\itshape},every second node part/.style={font=\footnotesize,red}]

% Vordergrund
\node[draw,rectangle split,rectangle split parts=2,
rectangle split part fill={green!20,red!20}
%
% Zunächst hier Kommentar entfernen:
%,fill opacity=0.5
% Nun an dieser Stelle Kommentar entfernen:
%,text opacity=1
]
at (4,4) {Obere Haelfte \nodepart{second} Untere Haelfte};

% Hintergrund
\begin{pgfonlayer}{background}
\fill[blue!20] (0,0) rectangle (9,9);
\end{pgfonlayer}

\end{tikzpicture}

\end{document}

Joerka
05-07-2010, 20:54
Ich glaube, das ist wirklich ein Fehler von tikz.

Daher jetzt hier mein "workaround": Transparenz einfach "nachträglich" einfügen!


\documentclass{scrbook}

\usepackage{tikz}
\usetikzlibrary{shapes,backgrounds}

\begin{document}

\begin{tikzpicture}

% Vordergrund
\node[draw,rectangle split,rectangle split parts=2]
(Box) at (4,4) {Obere Haelfte \nodepart{second} Untere Haelfte};

% Hintergrund
\begin{pgfonlayer}{background}
\fill[blue!20] (0,0) rectangle (9,9);

% Transparenz nachträglich einfügen
\fill[white,opacity=.5]
(Box.north west) rectangle (Box.text split east);
\fill[red!20,opacity=.5]
(Box.text split west) rectangle (Box.south east);

\end{pgfonlayer}

\end{tikzpicture}

\end{document}