我在tikzmath中定义了一个1 cm的变量。

\提克兹马特{\一个Cm=1cm;}

如果我画一条长度为1cm的线和第二条长度为\oneCm的线,它们的长度不一样!
它大约大28.5倍。为什么?

一Cm=28.5cm

MWE公司

\文档类[tikz]{独立}\使用包{tikz}\usetikzlibrary{math}\提克兹马特{\一个Cm=1cm;}\开始{文档}\开始{tikzpicture}\绘制[红色,细](0,0)--++(1cm,0)节点[右]{1cm};\绘制[blue,thin](0,10pt)--++(\oneCm,0)节点[right]{oneCm};\绘制[绿色,细](0,-10pt)--++(28.5cm,0)节点[右]{28.5cm};\结束{tikzpicture}\结束{文档}

1答案1

重置为默认值
4

tikzmath的结果以pt为单位:

\文档类〔tikz〕{独立}\usetikzlibrary{math}\提克兹马特{\一个Cm=1cm;}\开始{文档}\开始{tikzpicture}\绘制[红色,细](0,0)--++(1cm,0)节点[右]{1cm};\绘制[blue,thin](0,10pt)--++(\oneCm-pt,0)节点[right]{oneCm};\绘制[绿色,细](0,-10pt)--++(28.5cm,0)节点[右]{28.5cm};\结束{tikzpicture}\结束{文档}

在此处输入图像描述

4
  • 奇怪,但正确!谢谢 5月19日11:57
  • @JosephMarie引用tikz手册中的话:“如前所述,像\pgfmathparse这样的解析器命令将始终返回一个没有单位的结果,所有具有10pt或1in单位的维度都将首先转换为TEX点(pt),然后删除单位。” 5月19日12:08
  • 通过使用长度寄存器,pgfmath的范围受到了限制(这就是为什么我称它为舞熊的原因)。1pt是范围的中间值。虽然1cm是tikz的默认值,但可以使用[比例=…]等。 5月19日14:17
  • 1
    @JohnKormylo公司规模不会那样做的。你可以改变单位,但你需要说例如。x=??,y=??.规模衡量之后的事情, 5月19日14:52

你必须登录回答这个问题。

不是你想要的答案吗?浏览标记的其他问题.