帮助更好的同构函数符号

帮助更好的同构函数符号

我正在尝试使用 TikZcd 来创建更好的同构映射符号。我看过关于这个问题的其他帖子,它们都很糟糕,他们甚至承认他们的解决方案并不好。 同构地图的符号?

我个人觉得下面的箭头还挺好看的(做了一些调整),其中的例子是从1到2的箭头: 在此处输入图片描述

这是由代码生成的

$1 \hspace{-0.4cm} 
\begin{tikzcd}
  \phantom{1} \arrow[r, "\sim"] & \phantom{1}
\end{tikzcd} 
\hspace{-0.4cm}
2$

由于这有点混乱,所以我想将其放入这样的命令中

\newcommand*\isomap{
\hspace{-0.4cm} 
\begin{tikzcd}
  \phantom{1} \arrow[r, "\sim"] & \phantom{1}
\end{tikzcd} 
\hspace{-0.4cm}
}

但我得到了错误

Package pgf: Single ampersand used with wrong catcode.

我查过这个错误,但结果与我的情况无关(据我所知)。有什么想法可以将其放入命令中吗?

答案1

另一个建议是stackengine

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}%
\usepackage{old-arrows}
\usepackage[usestackEOL]{stackengine}
\newcommand{\isomarrow}{\mathrel{\setstackgap{S}{-0.5pt}\ensurestackMath{\Shortstack{\scriptstyle\sim\\ \longrightarrow}}}}

\begin{document}

\[ 1 \isomarrow 2\]%

 \end{document} 

在此处输入图片描述

答案2

一种可能的解决方案是不使用tikz-cd,而是使用\xrightarrow预定义长度的盒子(我使用了1cm)。

在此处输入图片描述

该命令包含 2 个参数,用作域和余域,例如\isomap{x}{y}

\documentclass[11pt,a4paper]{report}
\usepackage{amsthm,amsmath,amssymb,amsfonts}

\newcommand{\isomap}[2]{$ #1 \xrightarrow{\makebox[1cm]{$\sim$}} #2 $}

\begin{document}
the operator $\otimes$ is invariant up to isomorphism \isomap{1}{2}.

the operator $\otimes$ is invariant up to isomorphism \isomap{x}{y}.    
\end{document}

相关内容