\xrightarrow 箭头的水平部分不精确

\xrightarrow 箭头的水平部分不精确

在以下屏幕截图中,

在此处输入图片描述

我使用 制作的箭头的水平部分有一些不精确之处\xrightarrow,甚至可以在我的 pdf 查看器上突出显示。请注意,这在屏幕截图中也可见\Rightarrow 及其上方的文本。有办法解决这个问题吗?为什么实现会这样做\xrightarrow?我在 Overleaf (pdflatex) 中运行了以下内容

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsmath}
\newcommand{\isoto}{\xrightarrow{\sim}} % ``isomorphism to''
\let\.\! % \! is negative space command, so I replace
\newcommand{\twoto}{\raisebox{.56ex}{$\;\xrightarrow{\,\,\,\,}$}\hspace{-11.85pt}\raisebox{-.56ex}{$\xrightarrow{\,\,\,\,}\;$}} % 11/4/21

\begin{document}

$$f: X\to Y, X \isoto Y, X \twoto Y$$

\end{document}

产生

在此处输入图片描述

\xrightarrow与 相比, 的斑点明显更厚\to

答案1

tikz-cd这里有一种方法可以让你充分发挥创建箭头的能力。\myxarrow定义一个宏,它接受一个必需参数和一个可选参数。

\myxarrow[<length>]{<tikzcd arrow commands>}

默认长度为,1.2em但当然您可以根据需要进行设置。请注意,此解决方案不会自动拉伸箭头。

在此处输入图片描述

下面的代码中出现了几个示例。最上面的示例是\xrightarrow{\sim},它有您描述的重叠问题,而且(在我看来)将位置放得\sim太高。我更喜欢提供的垂直间距tikzcd

\documentclass{article}

\usepackage{amsmath, tikz-cd}

\newcommand{\myxarrow}[2][1.2em]{\begin{tikzcd}[cramped, ampersand replacement=\&, outer sep=0pt, column sep=#1]{}#2\&{}\end{tikzcd}}

\begin{document}

\begin{align*}
f&\colon X\xrightarrow{\sim} Y\qquad\textup{(using \texttt{\textbackslash xrightarrow)}}\\
f&\colon X\myxarrow{\arrow[r,"\sim"]} Y\\
f&\colon X\myxarrow[2em]{\arrow[r,"\sim"']} Y\\
f&\colon X\myxarrow{\arrow[r, shift left]\arrow[r, shift right]} Y\\
f&\colon X\myxarrow{\arrow[r, shift left=1.5pt]\arrow[from=r, shift left=1.5pt]} Y\\
f&\colon X\myxarrow[3em]{\arrow[r, red, text=blue, "\mathrm{text}", hook, two heads, bend right, shift left]} Y\\
\end{align*}

\end{document}

相关内容