
Ich erstelle eine Art kommutatives Diagramm mit verschiedenen Pfeilarten. Bisher habe ich für meine verschiedenen Kartentypen unterschiedliche Linienstile definiert, wie folgt:
\tikzstyle{map}=[->,>=stealth',semithick]
\tikzstyle{incmap}=[semithick, right hook-latex]
\tikzstyle{typemap}=[->,>=latex',thin, dashed]
Auf diese Weise deklariere ich alle meine Knoten im gewünschten Layout und kann dann mithilfe von ganz einfach Zuordnungen zwischen ihnen deklarieren \draw[<style>]
. Darüber hinaus kann ich den Stil einer Zuordnung ganz einfach ändern (z. B. von einer Inklusionszuordnung zu einer normalen), wenn ich entscheide, dass sie nicht die richtige ist.
Jetzt möchte ich einen Pfeilstil für Teilkarten erstellen, der wie ein normaler Pfeil mit einem Kreis in der Mitte aussieht (unabhängig von der Länge des Pfeils). Ich weiß, dass ich das einzeln machen kann, aber ich möchte das in einem Stil definieren können, ähnlich wie die anderen. Zur Verdeutlichung sollten die Pfeile so aussehen:
-o->
--o-->
---o--->
Irgendwelche Vorschläge?
Ich verwende cd
die Bibliothek von TikZ nicht, habe sie aber überprüft und es gibt nichts, was das Problem löst.
Dank im Voraus!
BEARBEITEN:Wie vorgeschlagen, füge ich hier das MWE mit meinem Anfangsstatus hinzu.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning,shapes}
\begin{document}
\begin{tikzpicture}[on grid,node distance=20mm]
\tikzstyle{element}=[inner sep=2pt,minimum height=1.3em,font=\itshape]
\tikzstyle{label}=[auto,midway,font=\itshape,inner sep=2pt]
\tikzstyle{map}=[->,>=stealth',semithick]
\tikzstyle{incmap}=[semithick, left hook-latex]
\tikzstyle{typemap}=[->,>=latex',thin, dashed]
\node[element] (l) [] {L};
\node[element] (i) [right of=l] {I};
\node[element] (r) [right of=i] {R};
\draw[map] (l) to node [label,above] (lm) {l} (i);
\draw[incmap] (r) to node [label,above] (rm) {r} (i);
\end{tikzpicture}
\end{document}
Antwort1
Die Verwendung markings
hat perfekt funktioniert. So habe ich das Problem gelöst:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning,shapes,decorations.markings}
\begin{document}
\begin{tikzpicture}[on grid,node distance=20mm,
decoration={markings,mark=at position 0.5 with {\draw circle [radius=.4ex];}}]
\tikzset{element/.style={inner sep=2pt,minimum height=1.3em,font=\itshape}}
\tikzset{label/.style={auto,midway,font=\itshape,inner sep=2pt}}
\tikzset{map/.style={->,>=stealth',semithick}}
\tikzset{incmap/.style={semithick, left hook-latex}}
\tikzset{partmap/.style={->,>=latex,semithick,postaction={decorate}}}
\node[element] (l) [] {L};
\node[element] (i) [right of=l] {I};
\node[element] (r) [right of=i] {R};
\draw[partmap] (l) to node [label,above] (lm) {l} (i);
\draw[incmap] (r) to node [label,above] (rm) {r} (i);
\end{tikzpicture}
\end{document}
Nochmals vielen Dank an alle, die geantwortet haben!