几次之后\坐标配对是在TikZ图片中创建的,我如何获得这些配对的x坐标的最小值和最大值,以便进一步使用它们?

玩具示例(确实当然是编译):

\documentclass[tikz,border=0pt]{独立}\使用图书馆\开始{文档}\开始{tikzpicture}\坐标(X1)位于(0,0);\(2,2)处的坐标(X2);\坐标(X3)位于(4,1);\绘制[厚度]let\xmax=<x坐标的最大值>,%WHAT?\xmin=<x坐标的最小值>%WHAT?英寸(\xmin,-1)--(\xmax,-1);\结束{tikzpicture}\结束{文档}

2个答案2

重置为默认值
7

看起来您想要访问路径的边界框。你可以这样做范围ing和赋值局部边界框名称,以便可以将其作为节点引用。

\documentclass[tikz,border=10pt]{独立}\开始{文档}\开始{tikzpicture}\开始{scope}[local bounding box=foo]\路径(0,0)坐标(X1)到(2,2)坐标(X2)至(4,1)坐标(X3);\结束{scope}\绘制(foo.suth west)--(foo.Suth east);\结束{tikzpicture}\结束{文档}

如果你想换行,可以使用

\绘制[transform canvas={shift={(0,-1)}}](foo.suth west)--(foo.Suth east);

如果相对移动不是可行的方法,您可以像这样精确地将直线放置在特定的y坐标上

\绘制(foo.suth west |-0,-2)--(foo.Suth east |-0,-2);

这将把线放置在y=-2.

  • 但我想定位代码所在的线段,比如y坐标-2。因此,我需要的是(X1)、(X2)和(X3)的最小和最大坐标,以使用x坐标作为线段的端点。
    – 默里
    评论 5月22日14:39
  • @默里补充道。
    – 安莎尔
    评论 5月22日16:05
  • 啊哈!感谢您使用的版本|- 0,-2。我在别处见过这样的符号,但无法完全理解。
    – 默里
    评论 5月22日18:10
6

例如,如果您想使用语法:

\documentclass[tikz,border=10pt]{独立}\usetikz库{calc}\开始{文档}\开始{tikzpicture}\坐标(X1)位于(0,0);\(2,2)处的坐标(X2);\坐标(X3)位于(4,1);\绘制[厚度]出租\p1=(X1),\p2=(X2),\p3=(X3)英寸({最小值(\x1,\x2,\x3)},-1)--;\结束{tikzpicture}\结束{文档}
  • 1
    当名称X1、X2、X3已经存在时,为什么需要创建新名称\p1、\p2、\p3?
    – 默里
    评论 5月21日23:13
  • 假设我已经定义了\路径[保存路径=\pathX](X1)(X2)(X3);有没有一种方法可以在不明确重新列出个人的情况下找到x坐标的最大值和最小值X1型,X2个,X3型? 我这样问是因为,在一个真实的例子中,我会有一组更长的点,而且在这种“let”结构中键入它们的单独名称会很乏味。
    – 默里
    评论 5月22日0:44
  • @默里,你用的是语法中,有必要在内部再次定义坐标。这就是这个语法的工作原理。查看antshar的答案,哪一个可能更适合您的需求。 评论 5月22日19:21

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

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