tikzpicture:制作完美的水平箭头?

tikzpicture:制作完美的水平箭头?

请问---我该如何调整 tikzpicture 中的箭头对齐方式,使得这些箭头变得完全水平?

在这种情况下,我认为 w 与 W 的大小会导致箭头扭曲。但我们希望保持字母不变,只需调整箭头为水平即可。

理想情况下,我更喜欢使用 tikzpicture 而不是 tikzcd。

在此处输入图片描述

\documentclass[10pt,border=3mm,tikz]{standalone}
\usetikzlibrary{matrix}

\usepackage{amsmath, amsthm, amssymb,mathtools}


\begin{document}

\begin{tikzpicture}
\matrix[matrix of math nodes,inner sep=1pt,row sep=1em,column sep=1em] (M)
{
 & {A_p^{w}}{\;} &    {\;}{A_p^{\rm W}} \\
  & {B_p^{y}}{\;} &    {\;}{B_p^{\rm Y}} \\
}
;
\draw[ <-] (M-1-2.east) -- (M-1-3.west) node[midway,above,pos=0.4]{\;\tiny $wW$};
\draw[ ->] (M-2-2.east) -- (M-2-3.west) node[midway,above,pos=0.4]{\;\tiny $yY$};
\end{tikzpicture}

\end{document}

答案1

这可以通过使用mid eastmid west锚点或确保所有节点具有相同的高度来实现,例如,通过\strut在每个节点中插入一个:

\documentclass[10pt, border=10pt, tikz]{standalone}
\usetikzlibrary{matrix}

\begin{document}
\begin{tikzpicture}
\matrix[
    matrix of math nodes,
    inner ysep=1pt, 
    inner xsep=2pt, 
    row sep=1em,
    column sep=1em
] (M) {
    A_p^w & A_p^\mathrm{W} \\
    B_p^y & B_p^\mathrm{Y} \\
};
\draw[<-] (M-1-1.mid east) -- (M-1-2.mid west) 
    node[midway, above] {\tiny $wW$};
\draw[->] (M-2-1.mid east) -- (M-2-2.mid west) 
    node[midway, above] {\tiny $yY$};
\end{tikzpicture}
\end{document}

或者

\documentclass[10pt, border=10pt, tikz]{standalone}
\usetikzlibrary{matrix}

\begin{document}
\begin{tikzpicture}
\matrix[
    matrix of math nodes,
    inner ysep=1pt, 
    inner xsep=2pt, 
    row sep=1em,
    column sep=1em,
    every node/.append style={
        execute at end node={\strut},
    }
] (M) {
    A_p^w & A_p^\mathrm{W} \\
    B_p^y & B_p^\mathrm{Y} \\
};
\draw[<-] (M-1-1.east) -- (M-1-2.west) 
    node[midway, above] {\tiny $wW$};
\draw[->] (M-2-1.east) -- (M-2-2.west) 
    node[midway, above] {\tiny $yY$};
\end{tikzpicture}
\end{document}

在此处输入图片描述


或者(因为您最初这样标记了您的问题),使用以下tikz-cd包:

\documentclass[10pt, border=10pt]{standalone}
\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}[
    row sep=1em,
    column sep=2em
]
    A_p^w & A_p^\mathrm{W} \arrow[l, "wW"'] \\
    B_p^y \arrow[r, "yY"] & B_p^\mathrm{Y} \\
\end{tikzcd}
\end{document}

在此处输入图片描述

相关内容