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