tikz 电路库将门的标签与节点顶部对齐,而不是与中心对齐。有什么方法可以将标签移动到中心吗?
即:非门的黑色标签由 tikz 电路库绘制,红色标签是我希望 tikz 绘制标签的位置。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{circuits.logic.IEC}
\begin{document}
\begin{tikzpicture}[circuit logic IEC]
\node (not) [not gate]{};
\node[text=red] {1};
\end{tikzpicture}
\end{document}
答案1
根据pgfmanual.pdf
第 554 页,您可以使用
它需要库,shapes.gates.logic.IEC
并且仅定义top
、bottom
和对齐。但深入研究代码后,我可以用很少的示例定义一个对我有用的对齐。我不知道它是否会出问题。left
right
center
无论如何,如果您使用此center
对齐,则可能node's text
会覆盖它。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{circuits.logic.IEC}\usetikzlibrary{shapes.gates.logic.IEC}
\pgfkeys{/pgf/logic gate IEC symbol align/.cd,
center/.code=\pgftransformyshift{0pt},
}
\begin{document}
\begin{tikzpicture}[circuit logic IEC]
\node (not) [logic gate IEC symbol align={center}, not gate, draw]{};
% \node[text=red] {1};
\end{tikzpicture}
\end{document}
答案2
有点黑客行为,但你可以增加非门的内部分离器。
% arara: pdflatex
\documentclass[tikz]{standalone}
\usetikzlibrary{circuits.logic.IEC}
\begin{document}
\begin{tikzpicture}[%
,circuit logic IEC
,not gate/.append style={inner sep=15}
]
\node[text=red] {1};
\node (not) [not gate]{};
\end{tikzpicture}
\end{document}