![TikZ:两条线的相交而不破坏线](https://linux22.com/image/346665/TikZ%EF%BC%9A%E4%B8%A4%E6%9D%A1%E7%BA%BF%E7%9A%84%E7%9B%B8%E4%BA%A4%E8%80%8C%E4%B8%8D%E7%A0%B4%E5%9D%8F%E7%BA%BF.png)
抱歉,标题不好。我试图将两条线 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}