|
Beiträge: 91352
Top-Poster: Johannes_B (4929)
Wir begrüßen unseren neuesten Benutzer zu22.
|
|
|
Beinschuss |

Forum-Meister
|
 |
Beiträge: 784
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: NRW
|
 |
|
 |
Version: MiKTeX, Windows 10, TeXstudio
|
 |
|
|
 |
|
Verfasst am: 17.06.2017, 23:26
Titel: Sterne mit Flaggenfarben
|
 |
Ich möchte Sterne in Flaggenfarben mit TiKZ erstellen. Ich möchte aber keinen Farbverlauf haben, wie im Minimalbeispiel, sondern scharfe Trennungen der drei Farben (z. B. Deutschland: schwarz oben, rot in der Mitte, gelb unten), und stehe gerade auf dem Schlauch. Wie kann's gehen?
Code • Öffne in Overleaf | \documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{shapes,backgrounds}
\newcommand{\tstar}[5]{% inner radius, outer radius, tips, rot angle, options
\pgfmathsetmacro{\starangle}{360/#3}
\draw[#5] (#4:#1)
\foreach \x in {1,...,#3}
{ -- (#4+\x*\starangle-\starangle/2:#2) -- (#4+\x*\starangle:#1)
}
-- cycle;
}
\begin{document}
\begin{tikzpicture}
\tstar{2}{4}{5}{-17}{thick,fill, top color=black, bottom color=yellow, middle color=red};
\end{tikzpicture}
\end{document} |
Den Code für den Stern habe ich hierher: https://tex.stackexchange.com/quest.....w-star-in-tikz-background
|
|
|
esdd |

Forum-Meister
|
 |
Beiträge: 2281
|
 |
|
 |
Anmeldedatum: 07.02.10
|
 |
|
 |
Wohnort: Stutensee
|
 |
|
 |
Version: MiKTeX 2.9
|
 |
|
|
 |
|
Verfasst am: 18.06.2017, 04:57
Titel:
|
 |
Beispielsweise:
Code • Öffne in Overleaf | \documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\newcommand{\tstar}[5]{% inner radius, outer radius, tips, rot angle, options
\pgfmathsetmacro{\starangle}{360/#3}
\path[#5]% eventuell path statt draw
(#4:#1)
\foreach \x in {1,...,#3}
{ -- (#4+\x*\starangle-\starangle/2:#2) -- (#4+\x*\starangle:#1)
}
-- cycle;
}
\begin{document}
\begin{tikzpicture}
\tstar{2}{4}{5}{-17}{
thick,
%draw,
path picture= {%
\path(current path bounding box.north west)--(current path bounding box.south east)
coordinate [pos=0] (temp1)
coordinate [pos=.3333](temp2)
coordinate [pos=.6666](temp3)
coordinate (temp4)
;
\fill[black] (temp1) rectangle (temp2-|temp4);
\fill[red] (temp1|-temp2) rectangle (temp3-|temp4);
\fill[yellow] (temp1|-temp3) rectangle (temp4);
}
}
\end{tikzpicture}
\end{document} |
Beschreibung: |
|
 Download |
Dateiname: |
gl_stern.png |
Dateigröße: |
7.67 KB |
Heruntergeladen: |
86 mal |
|
|
|
Bartman |

Forum-Meister
|
 |
Beiträge: 1208
|
 |
|
 |
Anmeldedatum: 16.07.09
|
 |
|
 |
Wohnort: Hessische Provinz
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.06.2017, 07:14
Titel:
|
 |
Meine virtuelle Wasserwaage empfiehlt eine -18 als viertes Argument von \tstar.
Der Wert, welcher der Option pos zugewiesen wird, darf offenbar auch als Bruch angegeben werden.
|
|
|
Beinschuss |

Forum-Meister
|
 |
Beiträge: 784
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: NRW
|
 |
|
 |
Version: MiKTeX, Windows 10, TeXstudio
|
 |
|
|
 |
|
Verfasst am: 18.06.2017, 18:04
Titel:
|
 |
|
 |
|
Danke, Elke, danke Bartman, klappt prima. Hier noch die gedrehte Variante (Beispiel: Rumänien), falls es jemanden interessiert:
Code • Öffne in Overleaf | \documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\newcommand{\tstar}[5]{% inner radius, outer radius, tips, rot angle, options
\pgfmathsetmacro{\starangle}{360/#3}
\path[#5]% eventuell path statt draw
(#4:#1)
\foreach \x in {1,...,#3}
{ -- (#4+\x*\starangle-\starangle/2:#2) -- (#4+\x*\starangle:#1)
}
-- cycle;
}
\begin{document}
\begin{tikzpicture}
\tstar{2}{5}{5}{180}{
thick,
rotate=90,
draw,
path picture= {%
\path(current path bounding box.north west)--(current path bounding box.south east)
coordinate [pos=0] (temp1)
coordinate [pos=.375](temp2) %Anpassung der Position an der oberen Sternbreite, nicht mathematisch genau 1/3.
coordinate [pos=.625](temp3)
coordinate (temp4)
;
\fill[blue] (temp1) rectangle (temp2-|temp4);
\fill[yellow] (temp1|-temp2) rectangle (temp3-|temp4);
\fill[red] (temp1|-temp3) rectangle (temp4);
}
}
\end{tikzpicture}
\end{document} |
Beschreibung: |
|
 Download |
Dateiname: |
flaggenstern-rumkl.png |
Dateigröße: |
17.74 KB |
Heruntergeladen: |
79 mal |
|
|
|
Beinschuss |

Forum-Meister
|
 |
Beiträge: 784
|
 |
|
 |
Anmeldedatum: 02.10.12
|
 |
|
 |
Wohnort: NRW
|
 |
|
 |
Version: MiKTeX, Windows 10, TeXstudio
|
 |
|
|
 |
|
Verfasst am: 20.01.2018, 23:08
Titel:
|
 |
|
 |
|
Ich habe mich nochmal mit einem älteren Beispiel beschäftigt. Wenn man die Shapes-Library benutzt, kann man einen solchen Stern in Landesfarben auch so setzen:
Code • Öffne in Overleaf | \documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}
\node [name=D,star,star point height=.5cm, minimum size=2cm] at (1,1) {};
\fill[black] (D.outer point 2) -- (D.inner point 1) -- (D.outer point 1) -- (D.inner point 5) -- (D.outer point 5);
\fill[red] (D.outer point 2) -- (D.outer point 5) -- (D.inner point 4) -- (D.inner point 2);
\fill[yellow] (D.inner point 2) -- (D.inner point 4) -- (D.outer point 4) -- (D.inner point 3) -- (D.outer point 3);
\end{tikzpicture}
\begin{tikzpicture}
\node [name=R,star,star point height=.5cm, minimum size=2cm] at (1,1) {};
\fill[blue] (R.inner point 1) -- (R.outer point 2) -- (R.inner point 2) -- (R.outer point 3) -- ([yshift=-1.07cm]R.inner point 1);
\fill[yellow] (R.inner point 1) -- (D.north) -- (D.inner point 5) -- ([yshift=-1.07cm]D.inner point 5) -- (R.south) -- ([yshift=-1.07cm]R.inner point 1);
\fill[red] (R.inner point 5) -- (R.outer point 5) -- (R.inner point 4) -- (R.outer point 4) -- ([yshift=-1.07cm]R.inner point 5);
\end{tikzpicture}
\end{document}
|
Bei der zweiten Variante musste ich die Länge der lotrechten Linie manuell ermitteln (yshift). Geht das noch eleganter?
|
|
|
|
|
Options and Permissions
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
|
|