以下宏在两个对象之间生成一个带有名称的箭头。它有三个参数。
\newcommand{\rname}[3]{
\begin{tikzcd}[ampersand replacement=\&]
{#1} \arrow[r, "{#2}"] \& {#3}
\end{tikzcd}
}
但是,我只想要一个参数,即箭头的名称:
\newcommand{\rname}[1]{
\begin{tikzcd}[ampersand replacement=\&]
\arrow[r, "{#1}"] \&
\end{tikzcd}
}
但这不适用于 tikz。我该如何修复它?这是一个可编译的示例:
\documentclass{article}
\usepackage{tikz-cd}
\newcommand{\rname}[3]{
\begin{tikzcd}[ampersand replacement=\&]
{#1} \arrow[r, "{#2}"] \& {#3}
\end{tikzcd}
}
\begin{document}
$\rname{A}{f}{B}$
%$A\rname{f}B$ I would like it to function like this.
\end{document}
答案1
您的单参数尝试几乎有效,您只需要确保单元格不是完全为空的,例如,一个空的{}
就可以完成这项工作:
\documentclass{article}
\usepackage{tikz-cd}
\newcommand{\rname}[1]{
\begin{tikzcd}[ampersand replacement=\&]
\arrow[r, "{#1}"] \& {}
\end{tikzcd}
}
\begin{document}
$A\rname{f}B$
\end{document}
但是,如果你只是想在箭头上方添加一些文字,使用tikzcd
似乎有点过头了。我建议使用
\documentclass{article}
\usepackage{amsmath}
\newcommand{\rname}[1]{
\xrightarrow{~~#1~~}
}
\begin{document}
$A\rname{f}B$
\end{document}