这可能是一个错误或版本问题,但是由两部分组成的矩形的第二部分的填充超出了框的范围。
或者我忽略了什么东西?
\documentclass[12pt,a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart}
\tikzset{
llnode/.style = {
draw,
very thick,
rectangle split,
rectangle split parts = 2,
rectangle split,
rectangle split part fill = {none, orange},
rectangle split empty part width = 0.15cm,
}
}
\begin{document}
\usetikzlibrary {shapes.multipart}
\begin{tikzpicture}[transform shape, scale = 8]
\fill[red] (0.25, 0) circle (0.3);
\node [llnode] (-1, 0){A\nodepart{two}B};
\node [llnode, rectangle split horizontal] at (1, 0) {C\nodepart{two}D};
\end{tikzpicture}
\end{document}
请注意,橙子超出了边界。
如果我填充第一部分,问题就解决了,但我需要第一部分是透明的。也许有办法用白色和零不透明度填充它。
答案1
这是pgflibraryshapes.multipart.code.tex
库中的一个错误,它outer sep
错误地使用了 。解决方法是设置outer sep
为0
。您可能想要报告问题。
\documentclass[12pt,a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart}
\tikzset{
llnode/.style = {
draw,
very thick,outer sep=0pt,
rectangle split,
rectangle split parts = 2,
rectangle split part fill = {none, orange},
rectangle split empty part width = 0.15cm,
}
}
\begin{document}
\usetikzlibrary{shapes.multipart}
\begin{tikzpicture}[transform shape, scale = 8]
\fill[red] (0.25, 0) circle (0.3);
\node [llnode] (-1, 0){A\nodepart{two}B};
\node [llnode, rectangle split horizontal] at (1, 0) {C\nodepart{two}D};
\end{tikzpicture}
\end{document}
答案2
嗯,如果可以将你不喜欢着色的节点的一部分涂成白色?在这种情况下,你可以获得:
\documentclass[12pt,a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart}
\tikzset{
llnode/.style = {
draw,
very thick,
rectangle split,
rectangle split parts = 2,
rectangle split part fill = {white, orange},
rectangle split empty part width = 0.15cm,
}
}
\begin{document}
\begin{tikzpicture}[transform shape, scale = 4]
\fill[red] (-1, 0) circle (0.3);
%
\node [llnode] at (0, 0){A\nodepart{two}B};
\node [llnode, rectangle split horizontal] at (1, 0) {C\nodepart{two}D};
\end{tikzpicture}
\end{document}
看来您选择的填充颜色none
会导致节点彩色部分的填充发生偏移。这可能被视为错误。
编辑:如果你scale
从tikzpicture
选项中删除,这个问题——错误——使用 rectangle split part fill = {none, orange}
就会消失(在这种情况下transform shape
没有意义)。