调整 tikzcd 中的循环(标识)箭头

调整 tikzcd 中的循环(标识)箭头

使用以下代码

\documentclass{standalone}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}
\arrow[loop left]{l}{\mathrm{id}_A} \ar{r}A &
B\times C \arrow[loop right]{r}{\mathrm{id}_{B\times C}} 
\end{tikzcd}

\end{document}

我得到:

在此处输入图片描述

我想修复箭头,使它们具有独立于源对象的相同大小,并优先考虑大箭头。

我迄今为止的尝试都没有什么效果:

\documentclass{standalone}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}
\arrow[loop left]{l}{\mathrm{id}_A} \ar{r}A \hspace{.5cm}& 
 {B\times C\arrow[loop right]{r}{\mathrm{id}_{B\times C}} }
\end{tikzcd}

\begin{tikzcd}
\arrow[loop left]{l}{\mathrm{id}_A} \ar{r}A &
\hspace{-.7cm}{B\times \hspace{-1.9cm}}& {C\arrow[loop right]{r}{\mathrm{id}_{B\times C}} }
\end{tikzcd}

\end{document}

在此处输入图片描述

答案1

恐怕您必须手动设置开始和结束锚点。我想不出更好的解决方案:

% arara: pdflatex

\documentclass{standalone}
\usepackage{tikz-cd}

\begin{document}    
    \begin{tikzcd}[cells={nodes={}}]
        \arrow[loop left, distance=3em, start anchor={[yshift=-1ex]west}, end anchor={[yshift=1ex]west}]{}{\mathrm{id}_A} \arrow{r} A 
        & B\times C\arrow[loop right, distance=3em, start anchor={[yshift=1ex]east}, end anchor={[yshift=-1ex]east}]{}{\mathrm{id}_{B\times C}} 
    \end{tikzcd}
\end{document}

在此处输入图片描述

为了更好地控制箭头,您可以定义[out=-150, in=150, loop, distance=3em,...]

相关内容