TikZ:两条线的相交而不破坏线

TikZ:两条线的相交而不破坏线

抱歉,标题不好。我试图将两条线 AB 和 DE 相交,使得 DE 在两条线的交点处弯曲。为什么它在交点 I 处断开?有什么方法可以弯曲它而不折断线。MWE 已附上。

\documentclass{standalone}
\usepackage{tikz,circuitikz}
\usetikzlibrary{calc,intersections}

\begin{document}
\begin{tikzpicture}
  \draw (0,0) node {A} coordinate (A)--(2,2) node {B} coordinate (B);
  \path[name=disperpath] (0,1) coordinate (D) node {D}--++(0:5) coordinate (E);
  \node (I) at (intersection of D--E and A--B) {};
 \draw  (D)--(I) --++ (1,-.5) node {E} ;
 \end{tikzpicture}

\end{document}

在此处输入图片描述

答案1

因为 a 有大小,所以会出现断点\node,并且当您通过节点绘制路径时,线条会在节点的边界处停止和开始。使用 a\coordinate代替。I\node

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
  \draw (0,0) node {A} coordinate (A)--(2,2) node {B} coordinate (B);
  \path[name=disperpath] (0,1) coordinate (D) node {D}--++(0:5) coordinate (E);
  \coordinate (I) at (intersection of D--E and A--B) {};
 \draw  (D)--(I) --++ (1,-.5) node {E} ;
 \end{tikzpicture}
\end{document}

还要注意,您实际上并没有使用库定义的语法intersections,而是使用了当前版本的 TikZ 手册中未记录的旧语法。另外请注意,该disperpath路径会导致图表右侧出现大量额外的空白。

以下是按预期使用的代码版本intersections。请注意使用 来name path给出路径名称,这些名称在 中使用intersecions of

代码中还有其他各种变化。

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
  \node (A) {A};
  \node (B) at (2,2) {B};
  \draw [name path=abpath] (A) -- (B);
  \path[name path=disperpath] (0,1) coordinate[label=left:D] (D) -- (0,1 -| B);
  \path[name intersections={of={abpath and disperpath}}] coordinate (I) at (intersection-1);
  \draw  (D)--(I) --++ (1,-.5) node[below right] {E};
\end{tikzpicture}
\end{document}

相关内容