用另一个符号覆盖符号

用另一个符号覆盖符号

可以将一个符号与另一个符号叠加吗?

我想写一个等号,上面覆一个问号(或反过来)。

注意我不想

\stackrel{?}{=}

我希望问号位于正上方,跨过等号(这会创建一种新符号)。

这可能吗?怎么做?或者有没有一个字符符号可以表示这个?

答案1

您可以按照以下方式叠加符号:将较宽的符号框起来,让另一个符号覆盖在其上(使用\rlap\llap)。通过将第二个字符放入宽度相等但使用\hss居中的框中,可以实现正确的居中。可以使用 调整不同数学模式的正确大小\mathchoice

\documentclass{article}
\def\qeq{\mathrel{%
    \mathchoice{\QEQ}{\QEQ}{\scriptsize\QEQ}{\tiny\QEQ}%
}}
\def\QEQ{{%
    \setbox0\hbox{=}%
    \rlap{\hbox to \wd0{\hss?\hss}}\box0
}}

\textwidth=2cm
\begin{document}

$ A \qeq B $

$ A = B $

\[ A \qeq B \]
\[ A = B \]

$ S_{ A \qeq B } $

$ S_{ A = B } $

$ S_{S_{ A \qeq B }} $

$ S_{S_{ A = B }} $

\end{document}

结果

结果

答案2

您还可以使用普通宏\ooalign

$\mathrel{\ooalign{\hss?\hss\cr=}}$\bye

答案3

刚刚提交的stackengine包是专门为组合字形而定制的。由于它刚刚提交给 CTAN,因此希望它能在本周末传播开来。

\documentclass{article}
\usepackage{stackengine}
\usepackage{graphicx}
\parskip 1ex\parindent 0in
\begin{document}
%Arguments to inset commands{overlay image}{base image}{V-offset}{H-offset}
Relative to bottom vs. top:\\
\bottominset{*}{O}{}{}%
\topinset{*}{O}{}{}%

With V and H shifting:\\
\topinset{*}{O}{}{}%
\topinset{*}{O}{1pt}{}%
\def\stackalignment{r}%
\topinset{*}{O}{2pt}{-1pt}%

Glyphs of different scales:\\
\def\stackalignment{c}%
\def\newi{\stackon[-.4ex]{i}{\scalebox{3}{.}}}
\def\useanchorwidth{T}
Th\newi s uses width of anchor alone

\def\useanchorwidth{F}
Th\newi s uses width of complete stack
\end{document}

在此处输入图片描述

相关内容