tikz-创建具有两个其他坐标的最大 y 值的坐标

tikz-创建具有两个其他坐标的最大 y 值的坐标

我想定义一个坐标(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}

在此处输入图片描述

当 TiZ 查找坐标时使用分隔宏,因此当您执行此操作时,它会在和下一个(\x1, max(\y1,\y2))之间查找某个东西,即,事情会变得很奇怪 :)。为了避免这种情况,您可以将括号“隐藏”在括号中:。()\x1, max(\y1,\y2(\x1, {max(\y1,\y2)})

相关内容