我知道这\mathop{...}
用于在二元运算符的两边留出一些空间。有人能告诉我用什么来只在单目数学运算符的右侧留出一些空间吗?
编辑1:例如,我想定义一个函数NOT b
,它NOT true
返回 false,并NOT false
返回 true。我如何在数学模式下使用空格NOT
和?b
答案1
数学模式中有多种间距技术可供您考虑。以下内容逐字摘自Herbert Voss 的 Mathmode 文档关于水平对齐。它展示了可用的不同类型的间距,并很好地进行了比较:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
% Taken from http://ctan.org/pkg/voss-mathmode
\begin{tabular}{ll|ll}
\multicolumn{2}{l|}{Positive Space}&\multicolumn{2}{l}{Negative Space}\\\hline
\verb|$ab$| & $\boxed{a}\boxed{b}$\\\verb|$a b$| & $\boxed{a} \boxed{b}$\\\verb|$a\ b$| & $\boxed{a}\ \boxed{b}$\\\verb|$a\mbox{\textvisiblespace}b$| & $\boxed{a}\mbox{\textvisiblespace}\boxed{b}$\\\verb|$a\,b$|\index{,@\textbackslash ,} (\verb|$a\thinspace b$|)\index{thinspace@\textbackslash thinspace} & $\boxed{a}\,\boxed{b}$&
\verb|$a\! b$|\index{negthinspace@\textbackslash negthinspace} & $\boxed{a}\!\boxed{b}$\\\verb|$a\: b$|\index{:@\textbackslash :} (\verb|$a\medspace b$|)\index{medspace@\textbackslash medspace}&
$\boxed{a}\:\boxed{b}$&
\verb|$a\negmedspace b$|\index{negmedspace@\textbackslash negmedspace} & $\boxed{a}\negmedspace\boxed{b}$\\\verb|$a\; b$|\index{;@\textbackslash ;} (\verb|$a\thickspace b$|\index{thickspace@\textbackslash thickspace}&
$\boxed{a}\;\boxed{b}$&
\verb|$a\negthickspace b$|\index{negthickspace@\textbackslash negthickspace}&
$\boxed{a}\negthickspace\boxed{b}$\\\verb|$a\quad b$|\index{quad@\textbackslash quad} & $\boxed{a}\quad\boxed{b}$\\\verb|$a\qquad b$|\index{qquad@\textbackslash qquad} & $\boxed{a}\qquad\boxed{b}$\\\verb|$a\hspace{0.5cm}b$|\index{hspace@\textbackslash hspace}& $\boxed{a}\hspace{0.5cm}\boxed{b}$&
\verb|$a\hspace{-0.5cm}b$| & $\boxed{a}\hspace{-0.5cm}\boxed{b}$\\\verb|$a\kern0.5cm b$|\index{kern@\textbackslash kern} & $\boxed{a}\kern0.5cm \boxed{b}$ & \verb|$a\kern-0.5cm b$| & $\boxed{a}\kern-0.5cm \boxed{b}$\\ \verb|$a\hphantom{xx}b$|\index{hphantom@\textbackslash hphantom} & $\boxed{a}\hphantom{xx}\boxed{b}$\\\verb|$axxb$| & $\boxed{a}xx\boxed{b}$
\end{tabular}
\end{document}
\NOT{<bool>}
因此,这里有一个示例,它定义了放置\sim
(否定运算符),后跟\,
( \thinspace
),后跟 的命令<bool>
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\newcommand{\NOT}[1]{\ensuremath{{\sim}\,#1}}% NOT{<bool>}
$\NOT{a}$
$\NOT{\texttt{true}}=\texttt{false}$
\end{document}
有关数学排版的更多信息,实际上,很多更多信息,请考虑阅读整个文档。特别是关于数学模式中的间距,请阅读第节11.1 数学排版。
答案2
您没有指定希望在运算符和其关联的变量/常量之间看到多少额外空间,因此我假设它是二元运算符而非一元运算符时插入的空间量。在下面的代码中,“假二元”运算符是通过{}
在原本的一元运算符前面插入一个空组 获得的。
\documentclass{article}
\begin{document}
unary: $+1$, $-x$
fake binary: ${}+1$, ${}-x$
\end{document}
編輯1:好的,根据问题的编辑 1,我现在认为 OP 想要的是一种创建“数学运算符”的方法,例如“\NOT”,它会在运算符的文本和其参数之间插入一点空格。要获得这样的运算符,我建议您加载包amsmath
并发出指令
\DeclareMathOperator{\NOT}{\mathtt{NOT}}
在序言中。
MWE 假设单词“true”和“false”应该以小型大写字母呈现。
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\NOT}{\mathtt{NOT}}
\begin{document}
$\NOT b, \quad \NOT\textsc{true}=\textsc{false}$
\end{document}
答案3
如果您使用数学包(\usepackage{amsmath}
用于 TeX Live),则用户指南的第 15 页表明额外间距(从最小到最大)为\thinspace
、\medspace
、\thickspace
、\quad
、\qquad
。还涵盖了负间距以及使用符号(例如\,
)来生成等量的空间。因此,问题的答案取决于您想要多少空间。