如何处理 Tikzcd 中的这些缩放和定位问题

如何处理 Tikzcd 中的这些缩放和定位问题

我已经尝试了一段时间了,但我无法让“a”离箭头更远,也无法让 $f$ 的点更大。

我尝试了 quiverapp,但圆点问题仍然存在。在 Tikzcd 中缩放似乎不太容易。

\begin{tikzcd}
    {} \arrow[r, "a", no head,marrow=>] & \Dot{\text{$f$}} \arrow[r, "a", no head, marrow =>] & {}
\end{tikzcd}

有没有一个相对简单的方法可以让它看起来更好(a 稍微往上一点,fa 稍微往下一点)?

我所指的 quiverapp 版本如下:

\documentclass[a4paper,12pt]{book}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{enumitem}
\usepackage[geometry]{ifsym}
\usepackage{tikz}
\usepackage{quiver}
\usepackage{float}
\usepackage{caption}
\usepackage{graphicx}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{positioning}


\let\oldpercent\%
\renewcommand{\%}{\scalebox{0.85}{\oldpercent}}


\tikzset{
    marrow/.style={decoration={markings,mark=at position 0.5 with {\arrow{#1}}}, postaction=decorate}
}
\begin{document}
\[\begin{tikzcd}
            {}&  \Dot{\text{$f$}} & {}
            \arrow["a", no head, marrow=>, from=1-1, to= 1-2]
            \arrow["a", no head, marrow=>, from=1-2, to= 1-3]
            \end{tikzcd}\]
    
\end{document}

这很有趣,因为箭头上的标签似乎位于合适的高度。

答案1

您可以增加inner sep标签节点的数量,这将使它们远离箭头。

至于更大的点:由于您在评论中提供了另一个示例的链接,该示例表明您本质上想将 a 放在\bulletf 的顶部,因此您可以使用这种方法(尽管我觉得这样的项目符号有点太大):

\documentclass{article}
\usepackage[english]{babel}

\usepackage{tikz-cd}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{positioning}

\usepackage{stackengine}
\stackMath
\newcommand\bigdot[1]{%
    \stackon[1pt]{#1}{\bullet}%
}

\tikzset{
    marrow/.style={decoration={markings,mark=at position 0.5 with {\arrow{#1}}}, postaction=decorate},
    commutative diagrams/every label/.append style={inner sep=0.75ex},
}

\begin{document}

\begin{tikzcd}
    {} & \bigdot{f} & {}
    \arrow["a", no head, marrow=>, from=1-1, to= 1-2]
    \arrow["a", no head, marrow=>, from=1-2, to= 1-3]
\end{tikzcd}
            
\end{document}

在此处输入图片描述

如果您希望项目符号以箭头居中(如下图所示),则将该行更改\stackon[1pt]{#1}{\bullet}\stackunder[1pt]{\bullet}{#1}

在此处输入图片描述

相关内容