我正在尝试制作“扭曲产品”的符号。我尝试过 stackrel:
$A \mathbin{\stackrel{\sim}{\times}} B$
但 sim 浮动得太高,导致行距不合适。我也试过 widetilde
$A \mathbin{\widetilde{\times}} B$
但它有同样的问题。理想情况下,我希望波浪号的宽度与时间的宽度相同,并且两者之间的间距非常紧密。
答案1
解毒没有帮助,所以也许你真的必须自己做:
\newcommand\simtimes{\mathbin{%
\stackrel{\sim}{\smash{\times}\rule{0pt}{0.9ex}}%
}}
0.9ex
根据您的需要进行调整。
答案2
如果使用不同的字体,参数 0.7 和 0.3 可能需要调整。
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}
% a general purpose macro
\newcommand{\xmathpalette}[2]{\mathchoice
{#1\displaystyle\textfont{#2}}%
{#1\textstyle\textfont{#2}}%
{#1\scriptstyle\scriptfont{#2}}%
{#1\scriptscriptstyle\scriptscriptfont{#2}}%
}
\makeatletter
\newcommand{\twistedproduct}{%
\mathbin{\xmathpalette\twisted@product\relax}%
}
\newcommand{\twisted@product}[3]{%
\vbox{%
\ialign{\hfil##\hfil\cr
\scalebox{0.7}{$\m@th#1\sim$}\cr
\noalign{\nointerlineskip\kern-0.3\fontdimen5 #2 2}
$\m@th#1\times$\cr
}%
}%
}
\makeatother
\begin{document}
$S^2\twistedproduct S^2$ $X_{\twistedproduct_{\twistedproduct}}$
\end{document}
宏\xmathpalette
是 的扩展\mathpalette
,它还使字体处于当前样式(\textfont
,\scriptfont
或\scriptscriptfont
)。在本例中,我们使用它来访问当前样式的符号字体的 x 高度。
答案3
为了稍微改善显示和内联的间距,您可以使用\ooalign
。代码是
\newcommand{\twprod}{\mathbin{%
\ooalign{\raise1.15ex\hbox{$\scriptstyle\sim$}\cr\hidewidth$\times$\hidewidth\cr}%
}}
如果您要在下标或上标中使用符号,\mathchoice
则可以大大改善 scriptstyle 中的间距。 的高度可以通过更改display 和 inline、script 和(虽然我无法想象使用它)scriptscript 的\sim
轻松调整。1.15ex
.85ex
.65ex
\documentclass{article}
\newcommand{\twprod}{\mathbin{\mathchoice%
{\ooalign{\raise1.15ex\hbox{$\scriptstyle\sim$}\cr\hidewidth$\times$\hidewidth\cr}}%
{\ooalign{\raise1.15ex\hbox{$\scriptstyle\sim$}\cr\hidewidth$\times$\hidewidth\cr}}%
{\ooalign{\raise.85ex\hbox{$\scriptscriptstyle\sim$}\cr\hidewidth$\scriptstyle\times$\hidewidth\cr}}%
{\ooalign{\raise.65ex\hbox{$\scriptscriptstyle\sim$}\cr\hidewidth$\scriptscriptstyle\times$\hidewidth\cr}}%
}}
\begin{document}
$S^2\twprod S^2\quad F_{S^2\twprod S^2}$
\end{document}
答案4
如图所示,\ttimes
与 的间距相同\times
。它会自动调整以适应数学样式。
\documentclass{article}
\usepackage{stackengine,scalerel}
\newcommand\ttimes{\mathbin{\ThisStyle{\ensurestackMath{%
\stackengine{-1\LMpt}{\SavedStyle\times}
{\SavedStyle_{\hstretch{.9}{\mkern1mu\sim}}}{O}{c}{F}{T}{S}}}}}
\begin{document}
$ A\ttimes C$\par
$ A\times C$\par
$ \scriptstyle A\ttimes C$\par
$ \scriptstyle A\times C$\par
$ \scriptscriptstyle A\ttimes C$\par
$ \scriptscriptstyle A\times C$\par
\end{document}