
저는 다양한 유형의 화살표를 사용하여 일종의 교환 다이어그램을 만들고 있습니다. 지금까지 다양한 유형의 지도에 대해 다음과 같이 다양한 선 스타일을 정의했습니다.
\tikzstyle{map}=[->,>=stealth',semithick]
\tikzstyle{incmap}=[semithick, right hook-latex]
\tikzstyle{typemap}=[->,>=latex',thin, dashed]
이렇게 하면 원하는 레이아웃의 모든 노드를 선언한 다음 \draw[<style>]
. 또한, 지도 스타일이 올바르지 않다고 판단되면 지도 스타일을 쉽게 전환할 수 있습니다(예: 포함 지도에서 일반 지도로).
이제 중간점에 원이 있는 일반 화살표처럼 보이는 부분 지도용 화살표 스타일을 만들고 싶습니다(화살표 길이에 관계 없음). 나는 이것을 하나씩 할 수 있다는 것을 알고 있지만 그것을 다른 사람들과 비슷한 방식으로 스타일로 정의할 수 있기를 바랍니다. 명확히 하기 위해 화살표는 다음과 같아야 합니다.
-o->
--o-->
---o--->
어떤 제안이 있으십니까?
TikZ cd
라이브러리를 사용하지 않고 있는데 확인해 봤는데 문제를 해결하는 방법이 없습니다.
미리 감사드립니다!
편집하다:제안된 대로 여기에 초기 상태와 함께 MWE를 추가합니다.
\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}
답변1
완벽하게 작동 markings
했습니다. 내가 해결한 방법은 다음과 같습니다.
\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}
답변해주신 분들께 다시 한 번 감사드립니다!