我想定义一个新命令\subsetcong
,将波浪号排版到上方\subseteq
,使其看起来类似于 中=
的波浪号\cong
。此外,我想定义\subsetsim
表示\subset
带有类似波浪号的 ,类似于\subsetapprox
。
我知道这个帖子:数学模式中的大波浪符号,但答案不能让我满意,感觉没有必要那么复杂。'Detexify' 应用程序也没有太大帮助,但我找到了另一个符号,它用\subsetsim
:\lesssim
代替了<
我需要来说明我想要什么\subset
。
这个想法是使用A \subsetcong B
或A \subsetsim B
(尚未决定),意思是“存在与 A 同构(在上下文相关的意义上)的 B 的子元素”。
有什么建议么?
此致。
答案1
像这样吗?
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\subsetcong}{\mathrel{\mathpalette\subset@cong\relax}}
\newcommand{\subsetsim}{\mathrel{\mathpalette\subset@sim\relax}}
\newcommand{\subset@cong}[2]{%
\vbox{\offinterlineskip\m@th
\ialign{\hfil$#1##$\hfil\cr
\sim\cr\subset\cr
}%
}%
}
\newcommand{\subset@sim}[2]{%
\vtop{\offinterlineskip\m@th
\ialign{\hfil$#1##$\hfil\cr
\subset\cr\noalign{\kern1pt}\sim\cr
}%
}%
}
\makeatother
\begin{document}
$A\subsetcong B\subsetsim C$
$\scriptstyle A\subsetcong B\subsetsim C$
$\scriptscriptstyle A\subsetcong B\subsetsim C$
\end{document}
根据您的评论进行一些改进,以适应。
\documentclass{article}
\usepackage{amsmath,graphicx}
\makeatletter
\newcommand{\subsetcong}{\mathrel{\mathpalette\subset@cong\relax}}
\newcommand{\subsetsim}{\mathrel{\mathpalette\subset@sim\relax}}
\newcommand{\subset@cong}[2]{%
\vbox{\offinterlineskip\m@th
\ialign{\hfil##\cr
\scalebox{0.9}{$#1\sim$}\cr
\noalign{%
\ifx#1\displaystyle\kern-0.5pt\else
\ifx#1\textstyle\kern-0.5pt\fi\fi
}%
$#1\subset$\cr
}%
}%
}
\newcommand{\subset@sim}[2]{%
\vtop{\offinterlineskip\m@th
\ialign{\hfil##\cr
$#1\subset$\cr\noalign{\kern0.5pt}\scalebox{0.9}{$#1\sim$}\cr
}%
}%
}
\makeatother
\begin{document}
$A\subsetcong B\subsetsim C$
$\scriptstyle A\subsetcong B\subsetsim C$
$\scriptscriptstyle A\subsetcong B\subsetsim C$
\end{document}