ForEach - Position, Text und Farbe der Kugel bestimmen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: ForEach - Position, Text und Farbe der Kugel bestimmen

Re: ForEach - Position, Text und Farbe der Kugel bestimmen

von byxx » Do 23. Feb 2023, 22:13

Hallo Bartman,

Danke schön für die geniale Funktion!
Ich habe bereits lange darüber gebrütet, wie man die 3 Variablen (X-Wert,Text und Farbe) als Block in jeweils eine Übergabe implementiert. Dass der gesamte Datensatz in nur eine Variable (#1) passt: sehr lehr- und hilfreich! Die Tikz Doku liegt vor, die Besonderheit mit der Colorierung des Balls habe ich bisher nicht entdeckt, zu nodes und circles aber einiges dazu gelesen, das hier nicht funktionierte. Der Mathe-Schrift-Ansatz entstammt aus der TikZ Docu des ersten Tutorials mit dem Kreis zu den sin, cos und tan. Muss vermutlich nicht zwingend sein. Ich benötige ab und zu zumindest $\sharp$, welches man auf diese Weise ($$) ggf ebenso einbinden kann.
Den Link zu input- und include- Unterschieden sehe ich mir als Nächstes gerne an...Danke für die Tips!!

Re: ForEach - Position, Text und Farbe der Kugel bestimmen

von Bartman » Do 23. Feb 2023, 21:02

Die Farbe lässt sich mit der Option ändern, die im Abschnitt 69 Shadings Library der Anleitung von tikz erklärt wird.

Wenn es beim Text des Knotens nur darum geht, diesen kursiv auszugeben, dann verwende dafür besser nicht den mathematischen Modus.

Anstelle einer Umgebung eignet sich hier doch eher ein Befehl, dem man die Liste für die Schleife als Argument übergeben kann. Diesen darfst Du natürlich in eine andere Datei auslagern, wenn Du meinst, das tun zu müssen. Zuvor wäre es aber ratsam zu klären, wie Du die Datei einbinden möchtest.
\documentclass{article}
\usepackage{tikz}% lädt pgffor

\newcommand{\drawBalls}[1]{
  \begin{tikzpicture}
  \foreach \x/\mytext/\mycolor in {#1}
  \node[
    circle,  
    shading=ball, 
    ball color=\mycolor,
    minimum width=1cm, 
    text=white, 
    font=\itshape
  ] (ball) at (\x,0) {\mytext};
  \end{tikzpicture}
}

\begin{document}
\drawBalls{1/Text/red,3/in/yellow,5/Kugel/blue}
\end{document}

ForEach - Position, Text und Farbe der Kugel bestimmen

von byxx » Do 23. Feb 2023, 19:42

Hallo zusammen,

eigentlich alles gut, bis auf die Farbe, fill=\mycolor, die ich funktional nicht zuweisen kann. Wie wäre die korrekte Syntax?

\documentclass{article}
\usepackage{tikz}
\usepackage{pgffor}

\begin{document}

\begin{tikzpicture}

\foreach \x/\mytext/\mycolor in {1/Rot/red,3/Gelb/yellow,5/Gruen/green}
\node[circle,  shading=ball, minimum width=1.5cm, fill=\mycolor, text=white] (ball) at (\x,-3) {$\mytext$};

\end{tikzpicture}

\end{document}

Im Weiteren würde ich gerne das ganze Konstrukt in ein environment in eine externe Datei auslagern und eine Möglichkeit finden, nur noch die Parameter der foreach-Schleife an den gewünschten Stellen im Hauptdokument einzugeben.

Es könnte final und hier nur von der Idee her angedeutet für meine Vorstellung - wenn ich es bisher grob richtig verstehe - in diese Richtung gehen:

%...
%\include{KugelEnvironment}
%...
%\begin{KugelEnvironment}
%\meineWerte = {1/Rot/red,3/Gelb/yellow,5/Gruen/green}
%\end{KugelEnvironment}
Danke für Eure Hilfe!

Nach oben