我想使用$\mathsf{C}$
而不是$\mathcal{C}$
来表示类别。但是,当我在第一个显示的方程中使用前者时,顶部箭头(标有 的箭头L
)指向西北,而不是西南,正如您所期望的那样。在第二个显示的方程中,使用错误的字体,此箭头指向正确的方向。如果我卸载除 xy 之外的所有包,问题就会消失。
知道发生什么事了吗?
\documentclass{amsbook}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{stmaryrd}
\usepackage{txfonts}
\usepackage{comment}
\usepackage{enumitem}
\usepackage{epigraph}
\usepackage{dialogue}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{amsmidx}%for the index
\makeindex{idx}
\makeindex{nidx}%index of notation
\makeindex{cidx}%index of categories
\newcommand{\idx}{\index{idx}}
\newcommand{\nidx}{\index{nidx}}
\newcommand{\cidx}{\index{cidx}}
\usepackage[pdfborder=0, hidelinks]{hyperref}
\usepackage[all,pdftex]{xy}
\newdir{ >}{{}*!/-10pt/@{>}}
\begin{document}
$$\xymatrix{ \mathsf{C} \ar[r]|U & \mathsf{D} \ar@{->}@/_3ex/[l]_L^\perp \ar@/^3ex/[l]^R_{\perp} }$$
$$\xymatrix{ \mathcal{C} \ar[r]|U & \mathsf{D} \ar@{->}@/_3ex/[l]_L^\perp \ar@/^3ex/[l]^R_{\perp} }$$
\end{document}
答案1
我可以用这个最小的例子重现这个问题:
\documentclass{amsbook}
\usepackage{txfonts}
\usepackage[all]{xy}
\newdir{ >}{{}*!/-10pt/@{>}}
\begin{document}
\[
\xymatrix{
\mathsf{C} \ar[r]|U & \mathsf{D} \ar@{->}@/_3ex/[l]_L^\perp \ar@/^3ex/[l]^R_{\perp}
}
\]
\[
\xymatrix{
\mathcal{C} \ar[r]|U & \mathcal{D} \ar@{->}@/_3ex/[l]_L^\perp \ar@/^3ex/[l]^R_{\perp}
}
\]
\end{document}
请注意,您不应该传递该pdftex
选项(但它与问题无关)。
如果我改成\usepackage{txfonts}
,\usepackage{newtxtext,newtxmath}
问题就消失了:
NewTX 字体是 TXfonts 的编辑版本,修复了后者的(许多)缺陷,尤其是在间距方面。
您可能想看看tikz-cd
(它也可以用于txfonts
,但我不推荐它)。
\documentclass{amsbook}
\usepackage{newtxtext,newtxmath}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}[column sep=3em]
\mathsf{C} \arrow[r,"U" description] &
\mathsf{D}
\arrow[l,bend right=50,"\perp","L" swap]
\arrow[l,bend left=50,"R","\perp" swap]
\end{tikzcd}
\]
\end{document}