使用 tikz 创建通信计划

使用 tikz 创建通信计划

我必须经常与各种参与者和组织制定沟通计划,因此我希望使用 LaTeX 来实现这一点,比仅仅使用办公软件更容易。

计划如下: 在此处输入图片描述

主要问题是:

  1. 如何以图表显示的格式添加有关所用频道(例如 Alpha、Bravo、One、Two)的具体信息?

  2. 这些符号是预先定义的,所以我需要将它们作为图像包含在内(主要是 png,但如果有必要也可以使用 svg)

提前致谢!

答案1

欢迎!创建这样的东西很简单,但输入文本却很繁琐。

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{calc,positioning,shapes.geometric,shapes.misc}
\begin{document}
\begin{tikzpicture}[node font=\sffamily,
   info/.style={chamfered rectangle,chamfered rectangle
   xsep=2cm,draw,minimum width=7em},
   ycon/.style={diamond,draw,path picture={
   \def\pbb{path picture bounding box}
   \fill[yellow] (\pbb.south west) rectangle (\pbb.north east);
   \fill let \p1=($(\pbb.north)-(\pbb.south)$) in (\pbb.north west) rectangle
   ([yshift=-0.25*\y1]\pbb.north east);
   },minimum size=5em,inner sep=0.5pt},
   icon/.style={diamond,draw,path picture={
   \def\pbb{path picture bounding box}
   #1
   \fill let \p1=($(\pbb.north)-(\pbb.south)$) in (\pbb.north west) rectangle
   ([yshift=-0.25*\y1]\pbb.north east);
   },minimum size=5em,inner sep=0.5pt}]
 \path node[ycon,font=\large\bfseries] (LNA){LNA}
    node[right=3em of LNA,ycon,font=\large\bfseries] (OrgL){OrgL};
 \draw (LNA) -- (OrgL) 
  node[midway,yshift=1em,anchor=west,info,rotate=90,fill=yellow](Alpha){Alpha}
  node[midway,yshift=-2em,anchor=east,info,rotate=90,fill=yellow!80!orange](Bravo){Bravo}
  (Alpha) -- (Bravo);
 \path node[below=3em of Bravo.west,icon={\draw (\pbb.south west) --
   (\pbb.center) -- (\pbb.south east);}] (M) {}
  node[left=6em of M,icon={\draw (\pbb.south) --
   (\pbb.north) (\pbb.west) -- (\pbb.east);}] (L) {}
  node[right=6em of M,icon={\draw 
  (\pbb.center) -- ++ (30:1em) arc(30:330:1em) -- cycle;}] (R) {};
 \draw (Bravo) -- coordinate(aux) (M) (aux) -| (L) (aux) -| (R)
  (L.south) -- node[right,info,fill=yellow!80!orange]{One} ++ (0,-2em)
  (M.south) -- node[right,info,fill=yellow!80!orange]{Two} ++ (0,-2em); 
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容