Flechas triples en tikz y tikz-cd

Flechas triples en tikz y tikz-cd

Tengo una macro para dibujar diagramas bastante complicados en tikz que utiliza teclas pgf para ser lo más flexible posible en flechas, etiquetas y sus estilos. Permito todos los comandos de la biblioteca.cd. Lo que necesitaría es un parámetro/opción, como por ejemplo Rrightarrowdelsoypaquete, que puedo pasar como pgfkey que podría dibujar flechas triples (o incluso cuádruples), precisamente como puedo pasar los parámetros leftarrow,,,,, ...Rightarrowequalsquiggly

Los siguientes temasLíneas triples en tikz.yAsta de flecha personalizada en tikz.Contiene un código hermoso que va en esa dirección, pero no puedo incluirlos en una opción de estilo de flecha tikz-cd. Creo que entiendo el código del (segunda respuesta del) segundo enlace, donde para proporcionar una flecha de 3 o una de 4, se superponen dos flechas diferentes. Como las flechas de mi macro están fijas, no puedo utilizar esta solución. Creo que el código del primer enlace podría usarse para proporcionar una solución satisfactoria, pero: todavía no sé mucho de tikz (siempre he usado tikzcd), en los comentarios allí parecen implicar que agregar una punta de flecha a una línea triple es difícil. Intenté jugar un poco con el código, modificando lo que creo que debería ocurrir, pero no logré producir nada concreto.

Respuesta1

Puedes hacer lo sugerido en los enlaces que muestras. Un punto ligeramente sutil es que la flecha no se respeta automáticamente, por lo que es necesario acortar quadrupleun poco la ruta de doble línea en la flecha. (Por supuesto, puede ajustar, double distanceetc.) Las flechas onduladas se pueden obtener con decoraciones como coil, avíseme si desea que agregue un ejemplo.

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\tikzset{Rightarrow/.style={double equal sign distance,>={Implies},->},
triple/.style={-,preaction={draw,Rightarrow}},
quadruple/.style={preaction={draw,Rightarrow,shorten >=0pt},shorten >=1pt,-,double,double
distance=0.2pt}}
\begin{tikzcd}
    a \arrow[r,triple] &    b  \arrow[r,quadruple] 
    & c\\
\end{tikzcd}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Ahora hay un hermoso paquete,tikz-nfoldpor Jonathan Schulz, proporcionando una solución sencilla a este problema. Puedes especificar el estilo de flecha TikZ scaling nfold=3(o simplemente nfold=3si quieres un ancho de flecha fijo) para dibujar una flecha triple, y lo mismo para las flechas más altas.

En mi experiencia, esto produce flechas más agradables desde el punto de vista estético que otras soluciones y es compatible con otros estilos de TikZ que son comunes en los diagramas conmutativos.

Ejemplo:

\documentclass{article}

\usepackage{tikz-cd}
\usetikzlibrary{nfold}

\begin{document}

\begin{tikzcd}
    A \arrow[r, Rightarrow, scaling nfold=3] & B \\
    C \arrow[r, Rightarrow, nfold=3] & D
\end{tikzcd}

\end{document}

Produce:

dos flechas triples

información relacionada