在 TikZ 中按路径定义自定义符号

在 TikZ 中按路径定义自定义符号

我想定义一个 2 对 1 的多路复用器符号,通过以下路径定义:

(0,0) -- (1,-0.5) -- (1,-1.25) -- (1.3,-1.25) -- (1,-1.25)-- (1,-2) -- (0,-2.5) -- (0,-1.75) -- (-0.3,-1.75) -- (0,-1.75) -- (0,-0.75) -- (-0.3,-0.75) -- (0,-0.75) -- (0,0)

作为新命令,这样更容易使用(你可以想象,移动和缩放几乎是不可能的)。最好的方法是什么?

需要说明的是,这只是一个例子;我知道这个特定的 MUX 缺少一个选择。

答案1

\documentclass{article}
\usepackage{tikz}
  \newcommand\multiplexer[1][1]{%
  \begin{tikzpicture}[scale=#1]
  \draw (0,0) -- (1,-0.5) -- (1,-1.25) -- (1.3,-1.25) -- (1,-1.25)-- (1,-2) -- (0,-2.5) -- (0,-1.75) -- (-0.3,-1.75) -- (0,-1.75) -- (0,-0.75) -- (-0.3,-0.75) -- (0,-0.75) -- (0,0);
  \end{tikzpicture}
  }
\begin{document}
 \multiplexer[0.2]

 This is a symbol: \multiplexer
\end{document}

在此处输入图片描述

答案2

@Bobyandbob 建议我回答这个问题。

该符号可以用可选参数绘制picture和缩放(感谢@PhelypeOleinik!)。

\documentclass{standalone}

\newcommand{\mux}[1][1pt]{%
    \setlength{\unitlength}{#1}
    \begin{picture}(60,80)
        \put(20,20){\line(0,1){40}}
        \put(40,30){\line(0,1){20}}
        \put(20,20){\line(2,1){20}}
        \put(40,50){\line(-2,1){20}}
        \put(40,40){\line(1,0){6}}
        \put(20,30){\line(-1,0){6}}
        \put(20,50){\line(-1,0){6}}
    \end{picture}
}

\begin{document}

\mux

\mux[5pt]

\end{document}

在此处输入图片描述

相关内容