标签太近,与 xy 包中的内部符号重叠

标签太近,与 xy 包中的内部符号重叠

我用这个 MWE 回答了一个问题,当我将符号插入箭头时,我没有看到明显的孔洞。标签也与符号重叠。如何解决这个问题?

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage[all,cmtip]{xy}
 
\begin{document}
\xymatrix@R=4pc@C=4pc{ A \ar@{=}|{/}[r]^a \ar[d]_{c}|{\subset} & B 
\ar[d]^b|{\cong} \\
 C \ar[r]_d|{\cong} & D;}
\end{document}

答案1

非常好的 MWE!:-) 我建议您\mathstrut在必要时使用 --,并辅以\smash[t]--\smash[b]\,(thinspace)指令来微调符号和字母的位置。

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath} % for \smash[t] and \smash[b] macros
\usepackage[all,cmtip]{xy}
 
\begin{document}
\xymatrix @R=4pc @C=4pc { 
  A \ar@{=}|{/}[r]^{a\smash[t]{\mathstrut}} % smashed \mathstrut
    \ar[d]_{c\,}|{\subset\mathstrut}    % full-height \mathstrut
& B \ar[d]^{\,b}|{\cong\mathstrut} \\   % full-height \mathstrut
  C \ar[r]_{d\smash[b]{\mathstrut}}|{\,\cong\,} % smashed \mathstrut
& D ;
}
\end{document}

答案2

我知道你是的忠实粉丝xy,所以这只是为了与进行比较tikz-cd

在此处输入图片描述

为箭头命令内使用的特殊标签创建了一种新样式:\arrow[r, "<main label>"{special=<direction>:<secondary label>}],其中<direction>可以提供角度或罗盘方向。

\documentclass{article}

\usepackage{tikz-cd}
\tikzcdset{special/.style={description, label={[label distance=-5pt, font=\scriptsize]#1}}}

\begin{document}

\begin{tikzcd}[sep=1.5cm]
A\arrow[r, equals, "/"{special=90:$a$}]\arrow[d, "\subset"{special=180:$c$}] & B\arrow[d, "\cong"{special=0:$b$}]\\
C\arrow[r, "\cong"{special=270:$d$}] & D
\end{tikzcd}

\end{document}

相关内容