Стрелка включения в TikZ

Стрелка включения в TikZ

Как мне придать форму какой-нибудь стрелке в tikz, чтобы нарисовать стрелку включения?

Я прочитал похожий вопросКак набрать стрелку включения?с данным ответом, но в ответе на самом деле не использовался TikZ, который мне действительно нужен для создания хороших больших диаграмм.

Например, на этой диаграмме (взятой из здесь), я хочу, чтобы, скажем, A было включено в 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); }

решение1

Для коммутативных диаграмм я предлагаю использоватьtikz-cdпакет; он используется TikZдля облегчения рисования коммутативных диаграмм (он имеет собственную библиотеку стрелок, разработанную для диаграмм, и стрелка, которую вы ищете, уже встроена); небольшой пример с запрошенным включением (и несколько других просто для иллюстрации):

\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}

введите описание изображения здесь

Вы можете использовать arrowsбиблиотеку из TikZ, например, чтобы использовать -latexстиль из TikZ, вы можете сказать

\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}

введите описание изображения здесь

Приведенный выше код изменяет стиль наконечника стрелки для всех диаграмм, но вы можете выбрать наконечник стрелки -latex только для некоторых стрелок (возможно, не очень желательно иметь два разных наконечника стрелки на одной диаграмме):

\arrow[hookrightarrow,-latex]{d}{\eta_1}

решение2

Вы можете использовать right hook-latex, или right hook->стрелку (в зависимости от типа стрелки, которую вы хотите видеть на другой стороне) из библиотеки arrows:

введите описание изображения здесь

Код:

\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}

Связанный контент