逻辑门输入之间的分离

时间:2014-12-07 16:22:52

标签: tikz

如何使用tikz增加逻辑门输入之间的间隔。如果可用,我可以通过使用多个输入来解决此问题。但是,当只有两个输入可能时,我就不能使用这种方法。这会导致标签重叠的问题。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{circuits.logic.US}
\tikzstyle{branch}=[fill,shape=circle,minimum size=3pt,inner sep=0pt]

\begin{document}

\begin{tikzpicture}[circuit logic US]
  \node[xnor gate] at (0,0) (xnor) {};
  \node[label={left:$A$}] at ([xshift=-1cm]xnor.input 1) (A) {};
  \node[label={left:$B$}] at ([xshift=-1cm]xnor.input 2) (B) {};
  \draw (A) -- (xnor.input 1);
  \draw (B) -- (xnor.input 2);
  \node[label={right:$Y$}] at ([xshift=1cm]xnor.output) (Y) {};
  \draw (xnor.output) -- (Y);
\end{tikzpicture}
\end{document}

由于某些原因,我无法使用circuitikz包。 在下图中,我不希望A和B相互重叠。 我知道我可以上下移动水平然后它们不会相互重叠。

1 个答案:

答案 0 :(得分:1)

帮助自己阅读了PGF Man­ual的第240和586页,我建议尝试

\node[label={[above] left:$A$}] at ([xshift=-1cm]xnor.input 1) (A) {};
\node[label={[below] left:$B$}] at ([xshift=-1cm]xnor.input 2) (B) {};

\node[label={[above left] $A$}] at ([xshift=-1cm]xnor.input 1) (A) {};
\node[label={[below left] $B$}] at ([xshift=-1cm]xnor.input 2) (B) {};

另一种变化:

\node[label={[yshift=1mm] left:$A$}] at ([xshift=-1cm]xnor.input 1) (A) {};
\node[label={[yshift=-1mm] left:$B$}] at ([xshift=-1cm]xnor.input 2) (B) {};

这会产生以下输出(类似于前两个):

screenshot of output pdf