在 tikz-cd 中更改箭头样式

在 tikz-cd 中更改箭头样式

我正在处理很多图表,我喜欢字体 mathabx,至少对于箭头而言。我设法将 \rightarrow 设置为 mathabx 样式,因此当我使用该命令(以及相关命令,如 hook、left 等)时,一切正常。但是,我的图表是用 tikz-cd 绘制的,箭头的样式不对应。我知道我可以使用 stealth 更改箭头的样式,但我也可以将其更改为 mathabx 样式吗?

举个例子,这是我喜欢的箭头:

在此处输入图片描述

这里有一张小图,仅用于测试。一般来说,我会在箭头上添加许多装饰,例如“粗”、“双头”、“虚线”等等。

\usepackage{tikz-cd}
\usetikzlibrary{arrows}
\usetikzlibrary{arrows.meta}

%change style of arrows
\tikzcdset{arrow style=tikz, diagrams={>=stealth}}

\begin{document}
\begin{tikzcd}
    A \ar[r]\ar[d] & B\ar[dl] \\
    C & 
\end{tikzcd}
\end{document}

答案1

使用名为 的样式math font

\documentclass{article}
\usepackage{mathabx}
\usepackage{tikz-cd}

%\usetikzlibrary{arrows}
%\usetikzlibrary{arrows.meta}

%change style of arrows
\tikzcdset{arrow style=math font}

\begin{document}
$A\rightarrow B$

\begin{tikzcd}
    A \ar[r]\ar[d] & B\ar[dl] \\
    C &
\end{tikzcd}
\end{document}

在此处输入图片描述

它并不适用于所有字体,因为 TiZ 会尝试猜测字干的位置,但可能无法很好地适应每种数学字体。不过,它mathabx旨在与标准 Computer Modern 字体兼容,因此启发式方法在这种情况下效果很好。

无需加载arrowsarrows.meta库,因为tikz-cd它会为您完成这些操作。

答案2

稍微调整一下 tikz 隐形箭头怎么样?也许你可以尝试使用正确的值,但经过快速尝试,我得出了以下参数。肯定还是有区别的,但它在某种程度上类似于 mathabx 箭头。

\documentclass{article}
\usepackage{mathabx}
\usepackage{tikz-cd}
\usetikzlibrary{arrows}
\tikzcdset{arrow style=tikz, diagrams={>={Stealth[round,length=4pt,width=4.95pt,inset=2.75pt]}}}

\begin{document}
$A\rightarrow B$

\begin{tikzcd}
    A \ar[r]\ar[d] & B\ar[dl] \\
    C &
\end{tikzcd}
\end{document}

在此处输入图片描述

相关内容