![如何使用 \DeclareMathOperator 模拟 \bullet 周围的间距?](https://linux22.com/image/308557/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20%5CDeclareMathOperator%20%E6%A8%A1%E6%8B%9F%20%5Cbullet%20%E5%91%A8%E5%9B%B4%E7%9A%84%E9%97%B4%E8%B7%9D%EF%BC%9F.png)
我试图用 来定义而不是\conjunction
,因为后者在逻辑公式中看起来太大了。当 后面有一个左括号时,我怎样才能使 周围的间距表现得像 周围的间距?\textbullet
\bullet
\conjunction
\bullet
比较(2)和(2'):
\documentclass[12pt]{article}
\usepackage[paperwidth=10cm,paperheight=7cm,margin=1em]{geometry}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{ebgaramond-maths}
\DeclareMathOperator\conjunction{\raisebox{-0.25ex}{\textbullet}}
\begin{document}\begin{align}
\intertext {Good spacing but bad size:}
(\exists x(\forall y(\phi(y)\equiv y\!=\!x)&\bullet Gx)\supset\psi)\\
\exists x(\forall y(\phi(y)\equiv y\!=\!x)&\bullet (Gx\supset\psi))\\
\intertext {Good size and spacing:}
(\exists x(\forall y(\phi(y)\equiv y\!=\!x)&\conjunction Gx)\supset\psi)\\
\intertext {Good size but bad spacing:}
\exists x(\forall y(\phi(y)\equiv y\!=\!x)&\conjunction (Gx\supset\psi))
\end{align}\end{document}
这不行:
\DeclareMathOperator\conjunction{\raisebox{-0.25ex}{\textbullet\ }}
因为它给 (1') 添加了不必要的额外空格。
答案1
\DeclareMathOperator
仅适用于\log
-like 函数。这里你希望这个符号是一个二元运算符,所以你需要\mathbin
\newcommand*\conjunction{\mathbin{\raisebox{-0.25ex}{\textbullet}}}
答案2
一个简单的解决方案pict2e
。可以通过可选参数(默认值:)调整项目符号大小2.1\unitlength
:
\documentclass[12pt]{article}
\usepackage[paperwidth=10cm,paperheight=7cm,margin=1em]{geometry}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{ebgaramond-maths}
\usepackage{graphicx, pict2e}
\newcommand\conjunction[1][2.1]{\mathbin{\raisebox{\fontdimen22\textfont2}{\circle*{2.1}}}}
\begin{document}
\begin{align}
\intertext {Good size and spacing:}
( ∃ x(∀ y(ϕ(y) ≡ y\!=\!x) & \conjunction Gx) ⊃ \psi)
\end{align}
\end{document}