라텍스로 다이어그램 만들기

라텍스로 다이어그램 만들기

\smartdiagrama에서 이런 종류의 일반 다이어그램을 만들고 싶었지만 중간 지점이 나오지 않습니다.

이것은 중앙 지점을 통해 명확하게 만들기 위해 여전히 사용되는 스마트 다이어그램 패키지입니다.

그렇게 만들고 싶었던 그림을 본 적이 있어요. 그런데 스마트 다이어그램에서 시도해 보았지만 화살표와 함께 중심점이 없습니다. 최종 투고를 위해 논문을 쓰고 있습니다. 누군가가 나를 도울 수 있다면 나는 행복할 것입니다. 지금까지 나는 다음을 시도했습니다.

\smartdiagram[circular diagram:anticlockwise]{  
    Set Mission, Actualize Goal , Respond to Changes, Sustain Commitment   
}

답변1

여기에 한 가지 방법이 있습니다.

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{positioning,shadows.blur,arrows.meta,bending}
\begin{document}
\begin{tikzpicture}[node distance=2em,
    nodes={draw,rounded corners,align=center,blur shadow,
    fill=white,minimum height=3em,minimum width=8em}]
 \node (L){Leadership};
 \node[above left=of L] (M) {Set Mission};
 \node[above right=of L] (A) {Actualize\\ Goal};
 \node[below right=of L] (S) {Sustain\\ Commitment};
 \node[below left=of L] (R) {Respond to\\ Changes};
 \def\LstAnchors{"south east","south west","north west","north east"}
 \foreach \X [remember=\X as \Y (initially R),count=\Z] in {M,A,S,R}
 {\draw[very thick,-{Stealth[bend]}] (\Y) to[bend left={40+20*pow(-1,\Z)}] (\X);
  \pgfmathsetmacro{\anchA}{{\LstAnchors}[Mod(\Z+3,4)]}
  \pgfmathsetmacro{\anchB}{{\LstAnchors}[Mod(\Z+1,4)]}
  \draw[very thick,{Stealth}-{Stealth}] (L.\anchB) -- (\X.\anchA); }
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

아니면원을 따르는 호.

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{positioning,shadows.blur,arrows.meta,bending,calc,intersections}
\begin{document}
\begin{tikzpicture}[node distance=2em,
    nodes={draw,rounded corners,align=center,blur shadow,
    fill=white,minimum height=3em,minimum width=8em},
    pics/circular arc/.style args={from #1 to #2}{code={
 \path[name path=arc] 
  let \p1=(#1),\p2=(#2),\n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)},
    \n3={ifthenelse(abs(\n1-\n2)<180,\n2,\n2-360)}
  in (\n1:\r) arc(\n1:\n3:\r);
 \draw[-{Stealth[bend]},pic actions,
    name intersections={of=#1 and arc,by=arcstart},
    name intersections={of=#2 and arc,by=arcend}] 
    let \p1=(arcstart),\p2=(arcend),\n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)},
     \n3={ifthenelse(abs(\n1-\n2)<180,\n2,\n2-360)}
  in (\n1:\r) arc(\n1:\n3:\r);
 }}]
 \node (L){Leadership};
 \node[above left=of L,name path=M] (M) {Set Mission};
 \node[above right=of L,name path=A] (A) {Actualize\\ Goal};
 \node[below right=of L,name path=S] (S) {Sustain\\ Commitment};
 \node[below left=of L,name path=R] (R) {Respond to\\ Changes};
 \def\LstAnchors{"south east","south west","north west","north east"}
 \def\r{4}
 \foreach \X [remember=\X as \Y (initially R),count=\Z] in {M,A,S,R}
 {\path[line width=0.5mm,gray,shorten >=1mm,shorten <=1mm] pic{circular arc=from {\Y} to \X};
  \pgfmathsetmacro{\anchA}{{\LstAnchors}[Mod(\Z+3,4)]}
  \pgfmathsetmacro{\anchB}{{\LstAnchors}[Mod(\Z+1,4)]}
  \draw[line width=0.5mm,gray,{Stealth}-{Stealth}] (L.\anchB) -- (\X.\anchA); }
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보