![用另一个符号覆盖符号](https://linux22.com/image/235269/%E7%94%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%AC%A6%E5%8F%B7%E8%A6%86%E7%9B%96%E7%AC%A6%E5%8F%B7.png)
可以将一个符号与另一个符号叠加吗?
我想写一个等号,上面覆一个问号(或反过来)。
注意我不想
\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}