我刚开始使用 TikZ 渲染我的硕士论文的图表。我制作了一些图表,它们在报告中看起来不错。但是当我尝试在演示幻灯片中使用它们时,有些太小,有些太大。现在我试图重新制作这些图表以使它们正确缩放,但很难做到正确。
在使 TikZ 图片可扩展时,特别是在使用节点时,有哪些指导原则(如果有的话)?您是否仅使用相对坐标,并避免使用绝对定位(例如)above=1cm of othernode
?如何指定节点的大小(目前我使用minimum width
和,inner sep
但它们都需要绝对大小,例如cm
、pt
等等)。文本怎么样,您应该允许它随节点缩放还是保持原样?线条和箭头怎么样,它们应该缩放吗?您如何去做?
答案1
恐怕你的问题没有简单的答案。TikZ
你通常不想缩放节点和其中的文本。(Till Tantau,该包的作者称其为“邪恶”。:))
通过指定缩放因子(例如\begin{tikzpicture}[scale=<scaling factor>]
),当前tikzpicture
环境中绘制的每个项目都应缩放到其适当的大小。(这是可能的,因为TikZ
它会生成矢量图形 - 如果您愿意,可以称为“可缩放”图形 - 不像位图图形在放大时会变得“像素化”。)
节点是不同类型的对象。首先,它们从“周围环境”获取字体大小,并且不受“外部”变换的影响。我认为最好保持原样。但是,有一个选项可以强制节点根据环境的缩放因子进行缩放:transform shape
。(它还会强制旋转等。)也可以使用选项将节点明确地放置在线上pos
。
现在关于绝对尺寸:如果需要,您也可以指定特定于文档的尺寸:例如\paperheight
和\paperwidth
工作得很好。使用它们的分数,数字将自动调整为新的页面大小。(它们也用于创建封面TikZ 2.10 manual
。)
我不确定above=1cm of othernode
这是否是个好主意。我宁愿设置参数node distance
(scope
如果它不适用于整个图片,则创建一个新的)并使用above=of othernode
,让TikZ
使用先前指定的间距。(当然,如果整个图片中只有一个这样的节点,手动设置一次距离会更舒服。)
我希望能对你有所帮助。