¿Cómo puedo darle forma a alguna flecha en tikz, para dibujar la flecha de inclusión?
Leí una pregunta similar¿Cómo componer la flecha de inclusión?con la respuesta dada, pero la respuesta realmente no usaba TikZ, que realmente necesito para producir diagramas grandes y bonitos.
Por ejemplo, en este diagrama (tomado de aquí), quiero, digamos, que A se incluya en A' :
\matrix (m) [matrix of math nodes, row sep=3em, column sep=3em]
{ 0 & A & B & C & 0 \\
0 & A' & B' & C' & 0 \\ };
{ [start chain] \chainin (m-1-1);
\chainin (m-1-2);
{ [start branch=A] \chainin (m-2-2)
[join={node[right,labeled] {\eta_1}}];}
\chainin (m-1-3) [join={node[above,labeled] {\varphi}}];
{ [start branch=B] \chainin (m-2-3)
[join={node[right,labeled] {\eta_2}}];}
\chainin (m-1-4) [join={node[above,labeled] {\psi}}];
{ [start branch=C] \chainin (m-2-4)
[join={node[right,labeled] {\eta_3}}];}
\chainin (m-1-5); }
{ [start chain] \chainin (m-2-1);
\chainin (m-2-2);
\chainin (m-2-3) [join={node[above,labeled] {\varphi'}}];
\chainin (m-2-4) [join={node[above,labeled] {\psi'}}];
\chainin (m-2-5); }
Respuesta1
Para diagramas conmutativos sugiero usar eltikz-cd
paquete; se utiliza TikZ
para facilitar el dibujo de diagramas conmutativos (tiene su propia biblioteca de flechas diseñada para diagramas y la flecha que buscas ya está incorporada); un pequeño ejemplo con la inclusión solicitada (y algunos otros solo a modo ilustrativo):
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
0 \arrow[hookrightarrow]{r}
& A\arrow[hookrightarrow]{r}{\varphi}\arrow[hookrightarrow]{d}{\eta_1}
& B\arrow{r}{\psi}\arrow{d}{\eta_2}
& C\arrow{r}\arrow{d}{\eta_3}
& 0 \\
0 \arrow[hookrightarrow]{r}
& A'\arrow[hookrightarrow]{r}[swap]{\varphi'}
& B'\arrow{r}[swap]{\psi'}
& C'\arrow{r}
& 0
\end{tikzcd}
\end{document}
Puedes usar la arrows
biblioteca de TikZ
, así que, por ejemplo, para usar el -latex
estilo de TikZ
, puedes decir
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{arrows}
\tikzset{
commutative diagrams/.cd,
arrow style=tikz,
diagrams={>=latex}}
\begin{document}
\begin{tikzcd}
0 \arrow[hookrightarrow]{r}
& A\arrow[hookrightarrow]{r}{\varphi}\arrow[hookrightarrow]{d}{\eta_1}
& B\arrow{r}{\psi}\arrow{d}{\eta_2}
& C\arrow{r}\arrow{d}{\eta_3}
& 0 \\
0 \arrow[hookrightarrow]{r}
& A'\arrow[hookrightarrow]{r}[swap]{\varphi'}
& B'\arrow{r}[swap]{\psi'}
& C'\arrow{r}
& 0
\end{tikzcd}
\end{document}
El código anterior cambia el estilo de la flecha de punta para todos los diagramas, pero puede seleccionar la punta de flecha -latex solo para algunas flechas (quizás no sea realmente deseable tener dos puntas de flecha diferentes en el mismo diagrama):
\arrow[hookrightarrow,-latex]{d}{\eta_1}
Respuesta2
Puedes usar la flecha right hook-latex
o right hook->
(dependiendo del tipo de flecha que quieras en el otro lado) de la arrows
biblioteca:
Código:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}
\draw [ultra thick, right hook-latex, red] (0, 0) -- (3, 0);
\draw [ultra thick, right hook->, blue] (0,-1) -- (3,-1);
\end{tikzpicture}
\end{document}