Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

10 Feb '14, 15:39

esdd's gravatar image

esdd
17.8k284257

Wenn die Label eine unterschiedliche Farbe haben sollen, dann kann man in der `\foreach` Schleife einfach eine zusätzliche Variable dafür verwenden: \documentclass[margin=5mm,tikz]{standalone} \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}} \usepackage{tikz} \usetikzlibrary{matrix} \begin{document} \begin{tikzpicture} % Matrix der Kreise zeichnen: \matrix (m) [matrix of nodes, nodes={circle,draw}, column sep=3.2em, row sep=2.2cm]{ {} & & {}\\ & & {}\\ {} & & {}\\ }; % Beschriftungen: \begin{scope}[every label/.style={text width=1.7cm,align=center},label distance=3.5pt] \foreach \pos/\Text/\farbe in { 1-1/M/yellow, 1-3/M/green, 2-3/P/red!50, 3-1/(total)/orange, 3-3/(partial)/black!20 } \path (m-\pos) [late options={label={[name=m-\pos-label,fill=\farbe]\Text}},]; \end{scope} \end{tikzpicture} \end{document} ![alt text][1] Da in deinem Beispiel aber nur entweder keine Füllung oder eine Füllung mit weiß zur Auswahl stehen, ist es vermutlich bequemer zwei Schleifen zu verwenden und die Label bei der entsprechenden einzufügen: \documentclass[ngerman,margin=5mm]{standalone} \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}} \usepackage{babel} \usepackage{setspace} \usepackage{tikz} \usetikzlibrary{matrix} \tikzset{zeilenabstand/.style={% execute at begin node=\begin{spacing}{#1}\hspace{0pt}, execute at end node=\vspace{-\ht\strutbox}\end{spacing}}} \begin{document} \begin{tikzpicture} % Matrix der Kreise zeichnen: \matrix (m) [matrix of nodes, nodes={circle,draw}, column sep=3.2em, row sep=2.2cm]{ & & & & & & & \\ {} & & {} & & {} & & {} \\ & & {} & & {} & & \\ {} & & {} & & {} & & {} \\ {} & {} & {} & {} & {} & {} & {}\\ }; % Verbindungslinien: \draw (m-2-1) -- (m-3-3) -- (m-4-1) -- (m-5-3); % Beschriftungen: \begin{scope}[every label/.style={text width=1.7cm,align=center,%draw, zeilenabstand=0.8},label distance=3.5pt] % transparenter Hintergrund \foreach \pos/\Text in { 2-1/Marktdurchdringung, 2-3/Marktentwicklung, 2-5/Produktentwicklung, 2-7/Diversifikation, %3-3/Präferenz $\;$ \\, 3-5/Preis-Mengen, 4-1/(total), 4-3/(partial), 4-5/(total), 4-7/(partial), 5-1/Lokal, %5-2/Regional, 5-3/Über-regional, %5-3/Über-regional, 5-4/National, 5-5/Multinational, 5-6/International, 5-7/Weltmarkt} \path (m-\pos) [late options={label={[name=m-\pos-label]\Text}},]; % weißer Hintergrund \foreach \pos/\Text in { 3-3/Präferenz, 5-2/Regional 5-2/Regional, 5-3/Über-regional } \path (m-\pos) [late options={label={[name=m-\pos-label,fill=white,inner xsep=0pt,]\Text}},]; % \end{scope} \path (m-4-1-label.north) -- node [above,fill=white] {Massenmarkt} (m-4-3-label.north); \path (m-4-5-label.north) -- node [above] {Segmentierung} (m-4-7-label.north); \end{tikzpicture} \end{document} Die Label in der untersten Zeile sind eigentlich zu breit. Das wird sichtbar, wenn man die Option `draw` für die Label aktiviert. Ich habe deshalb bei denen mit weißem Hintergrund `inner xsep=0pt` gesetzt. ![alt text][2] [1]: http://texwelt.de/wissen/upfiles/farblabel.png [2]: http://texwelt.de/wissen/upfiles/farblabel1.pnghttp://texwelt.de/wissen/upfiles/farblabel1_1.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

10 Feb '14, 15:33

esdd's gravatar image

esdd
17.8k284257

Wenn die Label eine unterschiedliche Farbe haben sollen, dann kann man in der `\foreach` Schleife einfach eine zusätzliche Variable dafür verwenden: \documentclass[margin=5mm,tikz]{standalone} \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}} \usepackage{tikz} \usetikzlibrary{matrix} \begin{document} \begin{tikzpicture} % Matrix der Kreise zeichnen: \matrix (m) [matrix of nodes, nodes={circle,draw}, column sep=3.2em, row sep=2.2cm]{ {} & & {}\\ & & {}\\ {} & & {}\\ }; % Beschriftungen: \begin{scope}[every label/.style={text width=1.7cm,align=center},label distance=3.5pt] \foreach \pos/\Text/\farbe in { 1-1/M/yellow, 1-3/M/green, 2-3/P/red!50, 3-1/(total)/orange, 3-3/(partial)/black!20 } \path (m-\pos) [late options={label={[name=m-\pos-label,fill=\farbe]\Text}},]; \end{scope} \end{tikzpicture} \end{document} ![alt text][1] Da in deinem Beispiel aber nur entweder keine Füllung oder eine Füllung mit weiß zur Auswahl stehen, ist es vermutlich bequemer zwei Schleifen zu verwenden und die Label bei der entsprechenden einzufügen: \documentclass[ngerman,margin=5mm]{standalone} \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß},Euro={€}} \usepackage{babel} \usepackage{setspace} \usepackage{tikz} \usetikzlibrary{matrix} \tikzset{zeilenabstand/.style={% execute at begin node=\begin{spacing}{#1}\hspace{0pt}, execute at end node=\vspace{-\ht\strutbox}\end{spacing}}} \begin{document} \begin{tikzpicture} % Matrix der Kreise zeichnen: \matrix (m) [matrix of nodes, nodes={circle,draw}, column sep=3.2em, row sep=2.2cm]{ & & & & & & & \\ {} & & {} & & {} & & {} \\ & & {} & & {} & & \\ {} & & {} & & {} & & {} \\ {} & {} & {} & {} & {} & {} & {}\\ }; % Verbindungslinien: \draw (m-2-1) -- (m-3-3) -- (m-4-1) -- (m-5-3); % Beschriftungen: \begin{scope}[every label/.style={text width=1.7cm,align=center,%draw, zeilenabstand=0.8},label distance=3.5pt] % transparenter Hintergrund \foreach \pos/\Text in { 2-1/Marktdurchdringung, 2-3/Marktentwicklung, 2-5/Produktentwicklung, 2-7/Diversifikation, %3-3/Präferenz $\;$ \\, 3-5/Preis-Mengen, 4-1/(total), 4-3/(partial), 4-5/(total), 4-7/(partial), 5-1/Lokal, %5-2/Regional, 5-3/Über-regional, 5-4/National, 5-5/Multinational, 5-6/International, 5-7/Weltmarkt} \path (m-\pos) [late options={label={[name=m-\pos-label]\Text}},]; % weißer Hintergrund \foreach \pos/\Text in { 3-3/Präferenz, 5-2/Regional } \path (m-\pos) [late options={label={[name=m-\pos-label,fill=white,inner xsep=0pt,]\Text}},]; % \end{scope} \path (m-4-1-label.north) -- node [above,fill=white] {Massenmarkt} (m-4-3-label.north); \path (m-4-5-label.north) -- node [above] {Segmentierung} (m-4-7-label.north); \end{tikzpicture} \end{document} Die Label in der untersten Zeile sind eigentlich zu breit. Das wird sichtbar, wenn man die Option `draw` für die Label aktiviert. Ich habe deshalb bei denen mit weißem Hintergrund `inner xsep=0pt` gesetzt. ![alt text][2] [1]: http://texwelt.de/wissen/upfiles/farblabel.png [2]: http://texwelt.de/wissen/upfiles/farblabel1.png

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×