在 tikz-cd 中自动拉伸非默认箭头

在 tikz-cd 中自动拉伸非默认箭头

我可以让非标准箭头自动拉伸吗?我希望不必\scalebox每次都手动应用。

生成非标准符号的方法来自这里

在此处输入图片描述

代码

\documentclass{article} 
\usepackage{tikz-cd}  
\tikzset{
    symbol/.style={
        draw=none,
        every to/.append style={
        edge node={node [sloped, allow upside down, auto=false]{$#1$}}}
    }
}

\begin{document} 
\[
    \begin{tikzcd}[row sep= 2ex, column sep=0.8em]
        aaaaa \arrow[d, equals] & bbbbb \arrow[d, equals] \\
        c \arrow[symbol={\neq}]{r} & d
    \end{tikzcd}
\]
\end{document}

答案1

只需添加\not而不是\ne

\documentclass{article} 
\usepackage{tikz-cd}  
\tikzset{
    not/.style={
        every to/.append style={
        edge node={node [sloped, allow upside down, auto=false]{$\not{}~$}}}
    }
}

\begin{document} 
\[
    \begin{tikzcd}[row sep= 2ex, column sep=0.8em]
        aaaaa \arrow[d, equals] & bbbbb \arrow[d, equals] \\
        c \arrow[equals,not]{r} & d
    \end{tikzcd}
\]
\end{document}

在此处输入图片描述

答案2

仅供参考:我喜欢xy包(用于创建commutative-diagram),这是一个旧包,我相信有时仍在使用。确实如此:代码很神秘,但很有趣,因为使用该选项,cmtip您可以创建类似于的 60% 交换图tikz-cd

\documentclass[a4paper,12pt]{article}
\usepackage[cmtip,all]{xy}
\begin{document}
\xymatrix@R=1pc{
aaaaa \ar@{=}[d] & bbbbb \ar@{=}[d] \\
c \ar@{=}[r] \ar@{}[r] |{/} & d}
\end{document}

在此处输入图片描述

优点是等号箭头在尾部和尖端没有垂直线。查看输出@user237299并放大图片。要放置负等号箭头,您可以使用\ar@{}[r] |{/}代码(或插入{/},或任何其他符号,例如{\backslash})。您可以使用参数 减少或增加行距@R=1pc

tikz-cd当然,如果你看一下和包的命令,xy会发现很多类似之处。

如果您想减少等箭头的长度,您可以使用\xymatrix@R=1pc@C=.5pc(例如)(R=行和C=列)。

相关内容