我想知道以下内容。
有人制作了一个复杂的 tikz 图形(我们的大学徽标)。现在我遇到了麻烦,因为 latex 报告的宽度和高度不是“真实”的宽度和高度,而是一个非常小的盒子。
tikzpicture 环境的开始如下所示:
\begin{tikzpicture}%
\pgflowlevel{\pgftransformscale{#1}}%
\pgftransformscale{0.1}%
% Scaled smaller from the large logo
\begin{pgfscope}%
罪魁祸首似乎在 \pgflowlevel{} 行中。当我用正常比例替换此行时,如下所示:
\begin{tikzpicture}[scale=#1]%
\pgftransformscale{0.1}%
% Scaled smaller from the large logo
\begin{pgfscope}%
该徽标看起来呈现相同,只是宽度和高度现在正常。
除了弄乱报告的尺寸之外,lowlevel 命令和 tikz scale 命令之间有什么区别?如果没有,为什么有人要使用 lowlevel 命令?
答案1
\pgflowlevel
将输入的变换应用于整个画布,而不仅仅是坐标。这意味着一切(包括文本和线宽)无需进一步处理即可缩放,当将转换应用于坐标时,文本保持不变,并且线宽会被处理,以便它们被统一缩放。
此行为的示例可以在 PGF/TikZ 手册(版本 2.0)的第 52.4 节中找到。
至于为什么徽标的创建者使用了这种方法:他希望统一调整线条粗细和文本大小,以便徽标在所有比例因子下看起来都一样。我不明白的\pgftransformscale{0.1}
是两个都代码片段和徽标渲染相同的事实。也许其中没有文本或线条粗细。