在下面的第一个图中( \tikzexternalize 被禁用),右侧的图表是使用“calc”库绘制平行线的可能性绘制的。
我需要将此示意图放在一个独立的图形中(第二个图形)。如果禁用 \tikzexternalize,则此方法有效(这可能不正常,Tikz 似乎将坐标保存在内存中)。
另一方面,一旦激活 \tikzexternalize,就不会生成第二个图形。
一个外部图形向另一个外部图形传递参数有什么解决办法?
% !TeX program =Xelatex+shell-escape
% !TeX encoding = utf8
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{external,calc,intersections}
%\tikzexternalize
\begin{document}
\tikzsetnextfilename{testExterne} % Nom du fichier de sortie de la figure
\begin{tikzpicture}
\draw[dashed,blue,name path=Rg] (0,0)coordinate(P)node[inner sep=0,label=P]{$\times$} --++(5cm,0);
\draw[-latex,ultra thick,blue] (P) --++(2cm,0) node[above]{$ {R_{g \to d}}$};
\draw[dashed,blue,name path=BC] (1,-3.5)coordinate(B) node[inner sep=0,label=B]{$\times$} --++(2,2.5)coordinate(C) node[inner sep=0,label=C]{$\times$} coordinate[pos=1.4](ff) -- (ff);
\path [name intersections={of=Rg and BC,by=E}];
\draw[dashed] (2,-5)coordinate(D)node[inner sep=0,label=D]{$\times$} -- (E)node[inner sep=0,label=E]{$\times$} ;
\begin{scope}[shift={(5cm,-6cm)}]
\draw[-latex,ultra thick,red] (0,0) coordinate(a1)--++(2cm,0)coordinate(a2) node[below]{$ {R_{g \to d}}$};
\draw[name path=a1,dashed] (a1) -- ++($(C)-(B)$)coordinate[pos=2.5](ff) --(ff);
\draw[name path=a2,dashed] (a2) -- ++($(E)-(D)$)coordinate[pos=1.5](ff) --(ff);
\path [name intersections={of=a1 and a2,by=a3}];
\draw[-latex,thick] (a2) -- (a3);
\draw[-latex,thick] (a3) -- (a1);
\end{scope}
\end{tikzpicture}
\begin{tikzpicture}
\draw[-latex,ultra thick,red] (0,0) coordinate(a1)--++(2cm,0)coordinate(a2) node[below]{$ {R_{g \to d}}$};
\draw[name path=a1,dashed] (a1) -- ++($(C)-(B)$)coordinate[pos=2.5](ff) --(ff);
\draw[name path=a2,dashed] (a2) -- ++($(E)-(D)$)coordinate[pos=1.5](ff) --(ff);
\path [name intersections={of=a1 and a2,by=a3}];
\draw[-latex,thick] (a2) -- (a3);
\draw[-latex,thick] (a3) -- (a1);
\end{tikzpicture}
\end{document}