我见过有人在证明中将小问号放在大于号上,但是,我在“≥”符号上做这件事时遇到了麻烦。使用\stackrel{?}{≥}
会返回错误:
Command \> already defined.
Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.175 \newcommand{\>}{\stackrel{?}{?}}
?
并且使用\overset{?}{≥}
给出了错误的符号:
我们怎样才能在乳胶中输入“≥”而不返回问号?
答案1
使用\geq
代替≥
并将命令定义为
\newcommand\maybegeq{\stackrel{?}{\geq}}
或
\usepackage{amsmath}
\newcommand\maybegeq{\overset{?}{\geq}}
例子:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
$x \stackrel{?}{\geq} y$
$x \overset{?}{\geq} y$
\end{document}
\stackrel
和\overset
的区别在于它们的间隔方式。\stackrel{a}{b}
是一个关系,无论b
是什么(正如rel
宏名称所暗示的那样),而\overset{a}{b}
将被处理的方式与b
没有相同\overset
。如果你想\overset{a}{b}
成为一个关系,你必须使用\mathrel{\overset{a}{b}}
或明确地说明\overset{a}{\mathrel{b}}
。
答案2
这样做\newcommand{\>}{\stackrel{?}{≥}}
显然会产生错误,因为\>
这是一个已经定义的命令。
你可以做
\renewcommand{\>}{\stackrel{?}{≥}}
但它没有多大帮助,因为像
$a \> b$
不会打印您想要的内容。即使您加载
\usepackage[utf8]{inputenc}
(假设您以 UTF-8 编码保存文件)是不够的。
你能用作≥
的简写\geq
,通过为 Unicode 字符定义一个动作≥
(以及≤
)。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{newunicodechar}
\newunicodechar{≤}{\leq}
\newunicodechar{≥}{\geq}
\begin{document}
\begin{tabular}{cc}
\verb|\stackrel| & \verb|\overset| \\
$a\stackrel{?}{≤}b$ & $a\overset{?}{≤}b$ \\
$a\stackrel{?}{≥}b$ & $a\overset{?}{≥}b$
\end{tabular}
\end{document}
我更喜欢\overset
,\stackrel
因为它更通用。
关于为此目的重新定义\>
,我不会这么做。你可以这样做
\newcommand{\?}[1]{\overset{?}{#1}}
并输入
$a \?{>} b$
$a \?{≥} b$
$a \?{<} b$
$a \?{≤} b$
我认为这更加清楚。