我怎样才能绘制这个框图

我怎样才能绘制这个框图

我想画画此图进入 latex,我尝试使用 svg 包,但是图像被损坏了:

在此处输入图片描述

我也尝试过使用在线转换器将其转换为 eps 格式,但结果是一样的。最后,我还尝试将 svg 格式导出为 tikz,但我无法转换它。不过我不知道如何使用 Inkscape。

您是否认为还有其他方法可以将此图表转换为任何乳胶格式的图纸?

答案1

与@Schrödinger 的猫的回答非常相似。细微的差别在于节点样式的定义和节点之间连接的绘制:

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{arrows.meta,
                positioning}

\begin{document}
    \begin{tikzpicture}[
node distance = 12mm and 6mm,
   box/.style = {draw, text width=8em, align=flush center,
                 font=\sffamily\bfseries},
   lbl/.style = {fill=white, inner sep=1pt, 
                 font=\sffamily\small},
            > = Stealth  
                        ]
\node (n1) [box] {CONTADOR ASINCRONO};
\node (n2) [box, right=of n1]   {CIRCUITO TRUNCADOR};
\node (n3) [box, below=of n2]   {Circuito QUE ENCIENDE LA BALIZA};
%
\node (n4) [box, right= 12mm of n3.south east] {OSCILOSCOPIO};
\node (n5) [box, right= 12mm of n3.north east] {BALIZA};
\node (n6) [box, above=of n2-| n4] {LEDs CONTADOR};
%
    \begin{scope}[every path/.style = {rounded corners,->}]
\draw   ([xshift=-2em] n1.north) |- (n6);
\draw   (n2.north) -- ++ (0,7mm) -| node[pos=0.25,lbl] {CLEAR} (n1);
\draw   ([xshift=2em] n1.south) -- ++ (0,-7mm) -| node[pos=0.25,lbl] {Q4Q2} (n2);
\draw   (n1) |- node[pos=0.5,lbl] {Q3Q0Q2*} (n3);
%
\draw   (n3.east) -- ++ (6mm,0) |- (n5);
\draw   (n3.east) -- ++ (6mm,0) |- (n4);
    \end{scope}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

编写此图表需要几分钟时间,因此如果转换失败,您可以直接绘制它。这样,您就可以从嵌入它的文档中继承字体大小等。

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[font=\sffamily]
 \begin{scope}[box/.style={minimum height=#1,minimum width=10em,
    draw,align=center,node font=\bfseries},box/.default=5em]
  \node[box] (A) {CONTADOR\\ ASINCRONO};
  \node[box,right=2em of A] (B) {CIRCUITO\\ TUNCATOR};
  \node[box,below=4em of B] (C) {CIRCUITO QUE\\ \dots \\ \dots};
  \node[box=2em,right=5em of C.north east,anchor=south west] (D) {BALIZA};
  \node[box=2em,right=5em of C.south east,anchor=north west] (E) {BALIZA};
  \node[box=2em,above=10em of D.north west,anchor=south west] (F) {BALIZA};
 \end{scope}
 \begin{scope}[rounded corners=1ex,-stealth,nodes={fill=white},thick]
  \draw (B.north) -- ++ (0,2em) -| node[pos=0.25]{CLEAR}(A);
  \draw (A.-50) -- ++ (0,-2em) -| node[pos=0.25]{Q4Q2}(B);
  \draw (A) |- node{Q3Q0Q2\textsuperscript{*}} (C);
  \path (C.east) -- coordinate (aux) (D.west);
  \draw (C.east) -- (C-|aux) |- (D);
  \draw (C.east) -- (C-|aux) |- (E);
  \draw (A.120) |- (F);
 \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

正如您所见,我没有热情去输入文本,这将是最耗时的任务。还请注意,复制并使用此代码quotes不会使代码更优雅或更简洁。

相关内容