1

Piggybacking off my previous question TikzCD arrow "to path" tracing a path over nodes with sharper corners (i.e. how to change looseness)

The following code:

\documentclass{article}

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

\begin{document}

\begin{tikzcd} L\tikzmark{L}\arrow[dd, color = red, shift right = 1.2pt] \arrow[d, "a", thick, color = red!50!blue] \arrow[r, "l", hook, shift left=1pt] & \tikzmark{M}M \arrow[ldd, "h", shift right = 1pt]\arrow[ld, "j \circ h"', dashed, outer sep = -2pt, pos = 0.35] \ A\tikzmark{A}\arrow[d, "i", hook] \arrow[loop, "\id_A", distance=8pt, out=195, in=155, color = black!30!white] \ I\tikzmark{I}\arrow[u, "j", bend left, color = blue]
\end{tikzcd} % \begin{tikzpicture}[remember picture, overlay] \draw[red, ->, rounded corners]([shift={(1.6mm,.8mm)}]pic cs:L)to([shift={(.9mm,.8mm)}]pic cs:M)to([shift={(.3mm,4.2mm)}]pic cs:I); \draw[red!50!blue, thick, ->, rounded corners]([shift={(1.6mm,.4mm)}]pic cs:L)to([shift={(.6mm,.4mm)}]pic cs:M)to([shift={(1.3mm,3.5mm)}]pic cs:A); \end{tikzpicture}

\end{document}

produces something along the lines of

enter image description here

I have made the two purple arrows thicker, and I find the one made using \draw acceptable, but the one made using \arrow unacceptable (the head is too thick).

My questions are: why are the arrows in TikzCD different from those of Tikz (they look the same when used normally, just when thickened differences appear), and what is a good way to fix this (I suppose I can use \draw for the other purple arrow as well, but that feels pretty stupid)

D.R
  • 771
  • Your code doesn't compile. I'm assuming you're missing \newcommand{\id}{\mathrm{id}}. If you use amsmath, the code \DeclareMathOperator{\id}{id} is probably preferred. – Sandy G Mar 08 '22 at 03:36
  • ahh, my bad. That part of the code is inessential and can be ignored; I forgot that that wasn't a default operator. – D.R Mar 08 '22 at 08:14

1 Answers1

1

enter image description here

You need to add the arrowtype -> to the command to have it size properly.

\arrow[->, d, "a", thick, color = red!50!blue]

Sandy G
  • 42,558