在某些情况下,通常使用相同的符号来表示数学关系和关系实例。例如,大于>
的关系和大于的关系。x>y
x
y
例如你可以操纵关系
>' = > \cup \{(x,y)\}
通常情况下,TeX 会自动在数学关系和二元运算符周围添加(正确)的空格量。但是,在类似上述示例的情况下,必须手动调整间距,例如:
{>'} = {>} \cup \{(x,y)\}
\mathord{>}' = \mathord{>} \cup \{(x,y)\}
我想知道是否有办法自动处理类似上述情况(除了上述解决方案或为关系定义命令,例如,\newcommand{\greater}{\mathord{>}}
然后
\greater' = \greater \cup \{(x,y)\}
答案1
我可以想到$<\subset\le$
,其中不被视为关系符号的事实\le
取决于前面的内容。因此您需要为您的表达式定义一个解析器,而我不会这样做。
我建议你字首当关系符号被视为普通符号时:
\documentclass[a4paper]{amsart}
\begingroup\lccode`~=``
\lowercase{\endgroup\def~}#1{\mathord{#1}}
\AtBeginDocument{\mathcode``=\string"8000 }
\begin{document}
$`>' = `> \cup \{(x,y)\}$
${>'} = {>} \cup \{(x,y)\}$ % for checking the result
\end{document}
该字符`
在公式中没有意义(并且在我的键盘上输入起来很方便);您也可以使用?
。
或者,你可以决定引用这个符号;同样,我已经习惯了它,因为这个网站:
\documentclass[a4paper]{amsart}
\begingroup\lccode`~=``
\lowercase{\endgroup\def~}#1`{\mathord{#1}}
\AtBeginDocument{\mathcode``=\string"8000 }
\begin{document}
$`>'` = `>` \cup \{(x,y)\}$
${>'} = {>} \cup \{(x,y)\}$ % for checking the result
\end{document}
反引号之间的内容被视为普通符号。这可能更语义健全,任你挑选。