如何使用 \DeclareMathOperator 模拟 \bullet 周围的间距?

如何使用 \DeclareMathOperator 模拟 \bullet 周围的间距?

我试图用 来定义而不是\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} 

在此处输入图片描述

相关内容