Hallo!

Mir ist aufgefallen, daß der 'arrow head' des single arrow einstellbar ist, geht sowas auch beim arrow tail?

Danke fürs Lesen und das Interesse!

alt text

Open in writeLaTeX
\documentclass[margin=5mm]{standalone}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath, amssymb}

\usepackage{tikz}
 \usetikzlibrary{shapes}

%===========
\begin{document}
%===========
\begin{tikzpicture}[every node/.style={scale=2.25}, font=\footnotesize]
\node [
  fill=blue!50, draw, 
  single arrow,  single arrow head indent=1ex,
  rotate=0, 
  font=\sffamily
] at (0,4) 
{\rotatebox{0}{Pfeil mit Text}};

%----------------------

\draw[] (0,0)--(-1,1)--(2,1)--(2,2)--(4,0) node[xshift=-7ex, align=center]{gewünschte \\ Form};
\draw[yscale=-1] (0,0)--(-1,1)--(2,1)--(2,2)--(4,0);

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

gefragt 18 Apr '14, 10:42

cis's gravatar image

cis
5.4k861169
Akzeptiert: 68%

bearbeitet 18 Apr '14, 10:47

Clemens's gravatar image

Clemens
19.0k113060


Bisher ist die von Dir gewünschte Anpassung des Pfeils in der shapes.arrows Bibliothek nicht vorgesehen. Du könntest dir aber aufbauend auf single arrow einen Pfeil mit einem solchen Pfeilende als pic definieren (benötigt mindestens tikz/pgf Version 3.0):

Open in writeLaTeX
\documentclass[margin=5mm,tikz]{standalone}
\usetikzlibrary{shapes.arrows,calc,quotes,babel}
\usepackage[ngerman]{babel}
\tikzset{
  pics/myarrow/.style={
    code = {
      \node[single arrow,pic actions,draw=none,outer sep=0pt](-n){\tikzpictext};
      \path[pic actions,draw=none]
        ($(-n.after tail)!\pgflinewidth!(-n.north west)$)--
        ($(-n.after tail)!-#1!(-n.north west)$)coordinate(-north west)--
        (-n.west)--
        ($(-n.before tail)!-#1!(-n.south west)$)coordinate(-south west)--
        ($(-n.before tail)!\pgflinewidth!(-n.south west)$)--
        cycle;
      \path[pic actions,fill=none]
        ($(-n.before tail)!-#1!(-n.south west)$)--(-n.west)--($(-n.after tail)!-#1!(-n.north west)$)--
        (-n.before head)--(-n.before tip)--(-n.east)--
        (-n.after tip)--(-n.after head)--cycle;
    }
  }
}

\begin{document}
\begin{tikzpicture}[font=\footnotesize]

\pic[
  single arrow head indent=1ex,
  fill=blue!50,draw,
  nodes={rotate=60},
  "Pfeil mit Text",
  ]{myarrow=1ex};

\pic[
  fill=yellow,
  draw=green,
  "Test",
  ] at (1.5,0){myarrow=.5ex};

\end{tikzpicture}
\end{document}

alt text

In dem pic wird zunächst der single arrow ohne Rand aber mit Boxinhalt ausgegeben. Danach wird das Pfeilende angefügt und zum Schluß der Rand um den gesamten Pfeil gezeichnet. Gibt man dem pic einen Namen , dann heißt der single arrow Knoten <name>-n mit den für diese Form üblichen Ankern. Hinzu kommen die beiden Koordinaten <name>-north west und <name>-south west in dem angefügten Pfeilende. Allerdings habe ich der Einfachheit halber outersep=0pt gesetzt, d.h. die Anker liegen jeweils in der Mitte der Randlinie.

Permanenter link

beantwortet 19 Apr '14, 18:17

esdd's gravatar image

esdd
14.2k53251

bearbeitet 19 Apr '14, 18:35

Gar nicht so ohne. Vielleicht kommen die tails ja mal allgemien in einer neuern Version. Danke ;)

(20 Apr '14, 14:53) 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
×27
×8

Frage gestellt: 18 Apr '14, 10:42

Frage wurde angeschaut: 4,356 Mal

Zuletzt aktualisiert: 20 Apr '14, 14:53