结果

结果

有人知道克劳德·香农论文中图 1、2 和 3 的代码吗?继电器和开关电路的符号分析“?

在此处输入图片描述

我见过 ”综合 LaTeX 符号列表“和”Circuitikz – 使用 TikZ 绘制电网络”包,但就我目前所见,我真的看不出如何生成类似叉子和多图的双向带圆圈线端,这在本质上非常简单,但没有明确的构造符号或代码。

在此处输入图片描述

答案1

picture, 钛Z、图 3 的 Metapost 版本。所有三种变体都可以根据需要进行缩放。

两个小免责声明:

  • 这里没有关于图中标签的放置和居中等花哨的自动化操作,只是手动进行一些调整。
  • 对于我来说,Metapost 版本无法正确居中。我对 Metapost 还不是很熟悉,所以我还不知道原因。

结果

Metapost 版本的比例与此处的其他两个版本不同。如前所述,这可以调整。我lipsum在其周围添加了一些文本,以查看它在页面上的显示效果;显然这并不是严格要求的。

结果图


代码

我把这三者都放在一个文档中。如果您要使用 Metapost 版本,请使用 进行编译lualatex

\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage{mflogo}
\usepackage{tikz}
\usepackage{luamplib}
\begin{document}
\lipsum[1]
\setlength\unitlength{0.5cm} % Adjust as needed
\begin{figure}
    \centering
    \begin{picture}(5,3)(2.5,0.5)
        \put(0,2){\line(1,0){1}}
        \put(1,2){\circle*{0.1}}
        \put(1,2){\line(0,1){1}}
        \put(1,2){\line(0,-1){1}}
        \put(1,3){\line(1,0){1}}
        \put(1,1){\line(1,0){1}}
        \put(2.05,3){\circle{0.1}}
        \put(2.95,3){\circle{0.1}}
        \put(2.05,1){\circle{0.1}}
        \put(2.95,1){\circle{0.1}}
        \put(4,2){\line(0,1){1}}
        \put(4,2){\line(0,-1){1}}
        \put(3,3){\line(1,0){1}}
        \put(3,1){\line(1,0){1}}
        \put(4,2){\circle*{0.1}}
        \put(4,2){\line(1,0){1}}
        \put(2.41,3.25){$x$}
        \put(2.41,0.55){$y$}
        \put(5.2,1.9){$=$}
        \put(5.65,2){\line(1,0){1}}
        \put(6.70,2){\circle{0.1}}
        \put(7.60,2){\circle{0.1}}
        \put(7.65,2){\line(1,0){1}}
        \put(6.85,2.25){$x \cdot y$}
    \end{picture}
\caption{Interpretation of multiplication. (\texttt{picture} environment)}
\end{figure}
\lipsum[2]
\begin{figure}
    \centering
    \begin{tikzpicture}[scale=0.5] % adjust as needed
        \draw (0,0) -- (1, 0) -- (1, 1) -- (2, 1) 
                       (1, 0) -- (1,-1) -- (2,-1)
                       (3, 1) -- (4, 1) -- (4, 0) -- (5,0)
                       (3,-1) -- (4,-1) -- (4, 0)
                       (2.1, 1) circle (0.1)
                       (2.1,-1) circle (0.1)
                       (2.9, 1) circle (0.1)
                       (2.9,-1) circle (0.1)
                       (2.5, 1.3) node {$x$}
                       (2.5,-1.3) node {$y$}
        ;
        \fill (1,0) circle (0.1)
              (4,0) circle (0.1)
        ;
        \node at (5.25,-0.02) {$=$};
        \draw (5.75,0) -- ++(1,0)
               ++(1,0) -- ++(1,0)
               (6.85,0) circle (0.1)
               (7.65,0) circle (0.1)
               (7.25,0.3) node {$x \cdot y$}
        ;
    \end{tikzpicture}
    \caption{Interpretation of multiplication. (Ti\emph{k}Z version) }
\end{figure}
\mplibtextextlabel{enable}
\begin{figure}
    \centering
    \begin{mplibcode}
        u=10mm; % scaling
        beginfig(1);
            draw (0,0) -- (1u,0) -- (1u,1u) -- (2u,1u);
            draw          (1u,0) -- (1u,-1u) -- (2u,-1u);

            draw (3u,1u) -- (4u,1u) -- (4u,0) -- (5u,0);
            draw (3u,-1u) -- (4u,-1u) -- (4u,0);

            filldraw fullcircle scaled (0.1u) shifted (1u,0);
            draw fullcircle scaled (0.1u) shifted (2.05u,1u);
            draw fullcircle scaled (0.1u) shifted (2.05u,-1u);
            draw fullcircle scaled (0.1u) shifted (2.95u,1u);
            draw fullcircle scaled (0.1u) shifted (2.95u,-1u);
            filldraw fullcircle scaled (0.1u) shifted (4u,0);

            label.top(btex $x$ etex,(2.5u,1u));
            label.bot(btex $y$ etex,(2.5u,-1u));
            label(btex $=$ etex,(5.25u,0));

            draw (5.5u,0) -- (6.75u,0);
            draw (7.75u,0) -- (8.75u,0);
            draw fullcircle scaled (0.1u) shifted (6.8u,0);
            draw fullcircle scaled (0.1u) shifted (7.7u,0);
            label.top(btex $x \cdot y$ etex,(7.25u,0));
        endfig;
    \end{mplibcode}
    \caption{Interpretation of multiplication. (\MP{} version) }
\end{figure}
\end{document}

相关内容