自动分隔关系序列和二元运算符

自动分隔关系序列和二元运算符

在某些情况下,通常使用相同的符号来表示数学关系和关系实例。例如,大于>的关系和大于的关系。x>yxy

例如你可以操纵关系

>' = > \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}

反引号之间的内容被视为普通符号。这可能更语义健全,任你挑选。

相关内容