Hallo!

Ich habe hier eine Lösung, unten zitiert, gefunden. Geht das nicht auch irgendwie einfacher? Das Bild zeigt jetzt eine Rechtecksform, denkbar wäre auch ein Dreieck oder sogar ein Doppeldreieck.

Danke fürs Lesen und das Interesse!

alt text

Open in writeLaTeX
\documentclass[]{article}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage{amsmath, amssymb}
\setlength{\parindent}{-1.5em} 
%===========
\begin{document}
%===========
\newcommand{\marker}[2]{% name, shift
    \tikz[overlay,remember picture] 
        {\node (m-#1) at (#2) {};}%
}

\pgfmathsetmacro{\flagscalefactor}{0.3}
\pgfmathsetmacro{\flagrotationdegree}{0}
\newcommand{\flagpolecolor}{brown!60!black}
\newcommand{\flagcolor}{yellow!67!red}
\newcommand{\flagsymbol}{:)}
\newcommand{\flagsymbolcolor}{black}
\newcommand{\flagadditionalcommands}{}

\newcommand{\tikzflag}[1][0,0]{% shift
    \begin{tikzpicture}[scale=\flagscalefactor, rotate=\flagrotationdegree,shift={(#1)},overlay,remember picture]
        \draw[fill=\flagpolecolor,thick] (0,0) -- ++ (0,8) arc (180:0:0.4 and 0.1) -- ++ (0,-8) arc (360:180:0.4 and 0.1);
        \draw[thick] (0,8) arc (180:360:0.4 and 0.1);
        \draw[fill=\flagcolor,thick] (0.8,7.5) to[out=-30,in=210] ++(3,0) to[out=30,in=150] ++ (3,0) -- ++ (0,-4.5) to [out=150,in=30] ++(-3,0) to[out=210,in=-30] ++(-3,0) -- cycle;
        \node[\flagsymbolcolor,fill=white,circle,thick,inner sep=1pt, draw,thin] (a) at (3.8,5.25) {\textbf{\flagsymbol}};
        \flagadditionalcommands
    \end{tikzpicture}
}

\newcommand{\hintflag}[1]{% name
    \pgfmathsetmacro{\flagscalefactor}{0.1}
    \pgfmathsetmacro{\flagrotationdegree}{0}
    \renewcommand{\flagpolecolor}{brown!60!black}
    \renewcommand{\flagcolor}{blue!50!cyan}
    \renewcommand{\flagsymbol}{\tiny $!$}
    \renewcommand{\flagsymbolcolor}{black}
    \marker{#1}{-1.9,-0.6}
    \tikzflag[m-#1]
}

\hintflag{} Der Text Neben der Flagge \\ geht hier weiter.

%===========
\end{document}
%===========

gefragt 21 Apr '14, 16:10

cis's gravatar image

cis
5.4k860169
Akzeptiert: 68%

1

Inwiefern soll der Code denn einfacher werden? In seiner jetzigen Form ist er schon ziemlich minimal.

(03 Mai '14, 14:45) Henri

OK. Man weiß ja nie; vielleicht hat jmd. eine gute Idee.

(03 Mai '14, 15:49) cis

Wenn du nur eine einzelne Fahne zeichnen möchtest, dann kannst du auch tape aus der shapes.symbols library nehmen.

Open in writeLaTeX
\documentclass[tikz,margin=5mm]{standalone}
\usetikzlibrary{shapes.symbols,calc}
\begin{document}
\tikz{%
  \node[
    tape,tape bend height=3pt,
    inner ysep=.1em,inner xsep=.75em,
    node font=\tiny\bfseries,
    fill=yellow!67!red
  ](fahne){?};
  \draw[
    very thick,line cap=round,brown!80!black
  ](fahne.north west)--($(fahne.north west)!3!(fahne.south west)$);
  }
\end{document}

alt text

Will man mehrere Fahnen einfügen, dann kann man auch ein pic mit mehr oder weniger vielen Einstellmöglichkeiten definieren.

Open in writeLaTeX
\documentclass[tikz,margin=5mm]{standalone}
\usetikzlibrary{shapes.symbols,calc,quotes,babel}
\tikzset{
  pics/fahne/.style n args={3}{
  code={
    \node[
      tape,tape bend height=2pt,
      inner ysep=.1em,inner xsep=.75em,
      node font=\tiny\bfseries,
      pic actions,
      #1
      ](-fahne){\tikzpictext};
    \draw[very thick,line cap=round,#2](-fahne.north west)--($(-fahne.north west)!#3!(-fahne.south west)$)};
  },
}

\begin{document}
\tikz{
  \pic[draw,fill=yellow!50,rotate=-30,transform shape,"?"]
    {fahne={tape bend height=4pt}{brown!70!black}{2.5}};
  \pic[draw,fill=red!20,"!"]at (1,0)
    {fahne={inner xsep=.5em}{red!30!blue}{.8cm}};
  \pic[draw=blue!50!black,"Test",tape bend height=2pt]at (2,0)
    {fahne={inner xsep=2pt}{}{3}};
  }
\end{document}

alt text


Das geht natürlich auch mit einem Dreieck aus der shapes.geometric library

Open in writeLaTeX
\documentclass[tikz,margin=5mm]{standalone}
\usetikzlibrary{shapes.geometric,calc}
\begin{document}
\tikz{%
  \node[
    isosceles triangle,
    inner ysep=.1em,inner xsep=.75em,
    node font=\tiny\bfseries,
    fill=yellow!67!red
  ](fahne){?};
  \node[scale=0.65,circle,inner sep=1pt, 
    draw,fill=white!95!black, 
    font=\small\bfseries, 
  ] at (fahne) {?};
  \draw[
    very thick,line cap=round,brown!80!black
  ]([yshift=\pgflinewidth]fahne.north west)--($(fahne.north west)!3!(fahne.south west)$);
  }
\end{document}

alt text

Permanenter link

beantwortet 21 Mai '14, 16:40

esdd's gravatar image

esdd
14.2k53251

bearbeitet 21 Mai '14, 20:21

Geht vll. auch für eine "Dreiecksfahne"? :)))

Ich habe übr. mal sowas gemacht, damit man da Text in einem Kreis reinschreiben kann:


\begin{tikzpicture}
\node[scale=1.25, tape,tape bend height=3pt,
    inner ysep=.1em,inner xsep=.75em,
    fill=blue!75!cyan
  ](fahne){?};

\node[scale=0.65, circle, draw, fill=white!99!black, 
%font=\tiny\bfseries, 
pos=0.5] at (fahne) {H};

\draw[line width=2.5pt, ,line cap=round,brown!80!black]
(fahne.north west)--($(fahne.north west)!2!(fahne.south west)$);

\end{tikzpicture}

(21 Mai '14, 18:54) cis

@cis Ich hab da noch eine Dreiecksfahne ergänzt.

(21 Mai '14, 20:31) esdd

Aja, sehr schön. Irgendwas gab es meiner Erinnerung nach, daß man die Bilder so verzerren konnte, als würde auch die Dreeicksfahne im Wind flattern - ich muß0 mal schauen, ob ich das nochmal finde.

(21 Mai '14, 20:41) cis
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492

Frage gestellt: 21 Apr '14, 16:10

Frage wurde angeschaut: 1,471 Mal

Zuletzt aktualisiert: 21 Mai '14, 20:41