
Estoy buscando una solución relacionada con un foreach
bucle que usa el knots
paquete. Descubrí que definir un bucle foreach y usar hebras en su interior no da ningún resultado a menos que esté usando la opción de dibujo. Pero no se reconocen nudos ya que las líneas rojas no parecen tener identificación. Mira las dos imágenes de la izquierda.
\foreach \x in {2,3,4} { \strand [draw,red,->] (1,\x) -- (4,\x); % instead of [red,->] }
Reorganizar el bucle proporciona casi el resultado necesario. Pero la opción \strand [red,->]
no ejecuta todas las opciones en cada hilo. Todos los hilos son rojos, pero sólo uno de ellos tiene una flecha en la punta. Usando el modo borrador, puede ver que solo se ha creado una hebra, lo que tiene sentido al observar la definición del bucle. Mira las dos imágenes de la derecha.
Entonces mi pregunta es ¿cómo crear hebras separadas dentro de un bucle foreach?
\documentclass[tikz,border=5mm]{standalone}
%\documentclass[convert={density=1200,size=4320x3200,outext=.png}]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usetikzlibrary{knots}
%
\begin{document}
\begin{tikzpicture}[scale=1.0,>=latex']
%
\draw[fill=white] (0,0) rectangle (5,6);
%
\begin{knot}[ %draft mode=crossings,
clip width=5,
clip radius=6pt]
%
\strand [red,->]
\foreach \x in {2,3,4} {
(1,\x) coordinate (w\x) -- coordinate (e\x)(4,\x)
};
%
\strand [thick,->] (2,1) -- (2,5);
\strand [thick,->] (3,1) -- (3,5);
%\flipcrossings {2}
\end{knot}
%
\end{tikzpicture}
\end{document}
Respuesta1
Puede utilizar un bucle que no inicie grupos.
\documentclass[tikz,border=5mm]{standalone}
%\documentclass[convert={density=1200,size=4320x3200,outext=.png}]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usetikzlibrary{knots}
%
\begin{document}
\begin{tikzpicture}[scale=1.0,>=latex']
%
\draw[fill=white] (0,0) rectangle (5,6);
%
\begin{knot}[ %draft mode=crossings,
clip width=5,
clip radius=6pt]
%
\edef\x{1}
\loop
\edef\x{\the\numexpr\x+1}
\strand [red,->]
(1,\x) coordinate (w\x) -- coordinate (e\x)(4,\x);
\ifnum\x<4\repeat
%
\strand [thick,->] (2,1) -- (2,5);
\strand [thick,->] (3,1) -- (3,5);
%\flipcrossings {2}
\end{knot}
%
\end{tikzpicture}
\end{document}