TikZ中rectangle split horizontal样式失效而rectangle split正常工作的技术咨询
解决TikZ中
rectangle split horizontal不生效的问题 你遇到的问题其实是对TikZ多部分矩形样式的用法理解有偏差——rectangle split horizontal并不是一个独立的形状样式,它是**rectangle split形状的方向修饰选项**,必须和基础的rectangle split一起使用才能生效。
你原来的代码里把rectangle split horizontal当作主样式,这会导致TikZ无法识别正确的多部分矩形结构,自然不会渲染出水平分割的效果;而垂直分割的rectangle split是基础样式,所以能正常工作。
修正后的代码
\documentclass[12pt,standalone]{article} \usepackage{tikz} \usetikzlibrary{shapes.multipart} % 建议把库加载放在document环境外,更符合LaTeX规范 \begin{document} \begin{tikzpicture}[my shape/.style={rectangle split, rectangle split horizontal, rectangle split parts=#1, draw}] \node [my shape=2] {a \nodepart{two} b }; \end{tikzpicture} \begin{tikzpicture}[my shape/.style={rectangle split, rectangle split parts=#1, draw}] \node [my shape=2] {a \nodepart{two} b }; \end{tikzpicture} \end{document}
关键说明
- 必须先声明基础形状
rectangle split,再添加rectangle split horizontal选项来将分割方向改为水平 - 将
\usetikzlibrary放在document环境外是更规范的写法,能避免环境内加载可能带来的潜在问题
修改后,水平分割的多部分矩形就能正常渲染,和垂直版本的效果形成对应。
内容的提问来源于stack exchange,提问作者Poor Standard
相关产品推荐
相关产品推荐

