![tikz-创建具有两个其他坐标的最大 y 值的坐标](https://linux22.com/image/382029/tikz-%E5%88%9B%E5%BB%BA%E5%85%B7%E6%9C%89%E4%B8%A4%E4%B8%AA%E5%85%B6%E4%BB%96%E5%9D%90%E6%A0%87%E7%9A%84%E6%9C%80%E5%A4%A7%20y%20%E5%80%BC%E7%9A%84%E5%9D%90%E6%A0%87.png)
我想定义一个坐标(Q1)
,它包含x
一个坐标的-分量以及作为 y 分量的和 的(P1)
最大 y 值。(P1)
(P2)
这是我的 MWE:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw[gray!50, ultra thin] (0,0) grid (5,5);
\coordinate (P1) at (0,1);
\coordinate (P2) at (5,2);
\path let \p1=(P1),\p2=(P2) in coordinate (Q1) at (\x1, max(\y1,\y2));
\path let \p1=(P1),\p2=(P2) in coordinate (Q2) at (\x2, max(\y1,\y2));
% ^^^^^^^^^^^^^
\draw (P1) -- (P2);
\draw[dotted, red] (Q1) -- (Q2);
\end{tikzpicture}
\end{document}
我正在寻找某种替代方法,以替换上述示例中的下划线部分。我\pgfmathmax
在 pgfmanual 中找到了,但用 替换下划线部分\pgfmathmax{\y1}{\y2}
会给出一些错误消息。
答案1
您只缺少一对牙套:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw[gray!50, ultra thin] (0,0) grid (5,5);
\coordinate (P1) at (0,1);
\coordinate (P2) at (5,2);
\path let \p1=(P1),\p2=(P2) in coordinate (Q1) at (\x1, {max(\y1,\y2)});
\path let \p1=(P1),\p2=(P2) in coordinate (Q2) at (\x2, {max(\y1,\y2)});
% ^ ^
\draw (P1) -- (P2);
\draw[dotted, red] (Q1) -- (Q2);
\end{tikzpicture}
\end{document}
当 Ti钾Z 查找坐标时使用分隔宏,因此当您执行此操作时,它会在和下一个(\x1, max(\y1,\y2))
之间查找某个东西,即,事情会变得很奇怪 :)。为了避免这种情况,您可以将括号“隐藏”在括号中:。(
)
\x1, max(\y1,\y2
(\x1, {max(\y1,\y2)})