如何将一个小的黑方块排版为二元运算符?

如何将一个小的黑方块排版为二元运算符?

这是我在这个 SE 上的第一篇文章,所以如果格式不好,我深表歉意。

本质上,我试图重现 Allen Hatcher 的以下定义中的小黑色符号代数拓扑

在此处输入图片描述

这本书也可以从他的网站上免费获取,这张图片来自第 26 页。)

我正在尝试弄清楚如何排版 f 和 g(s) 之间的小黑色方块。我在序言中尝试了以下内容

\renewcommand{\bullet}{\tiny$\blacksquare$}

但是产生的方形项目符号看起来很刺眼,并且看起来不像二元运算符,即它不居中并且 f 和 g(s) 之间没有相等的间距。

你们当中有人对如何制作这个特殊符号有什么建议吗?

答案1

这实际上不是一个正方形,而只是\cdot图片中使用的 Lucida 家族的形状。

\documentclass{article}
\usepackage{lucidabr}
\begin{document}
$f \cdot g$
\end{document}

Lucida 是一种商业字体,您可以从拖船


您还可以继续使用 来伪造符号\rule

\documentclass{article}
\renewcommand\bullet{%
  \mathbin{\mskip1mu
    \mathchoice
      {\squarebullet{.25ex}{.25ex}}%
      {\squarebullet{.25ex}{.25ex}}%
      {\squarebullet{.18ex}{.18ex}}%
      {\squarebullet{.15ex}{.15ex}}
    \mskip1mu}
}
\newcommand\squarebullet[2]{\vcenter{\hbox{\rule{#1}{#2}}}}
\begin{document}
$f \cdot g_{f \cdot g_{f \cdot g}}$

$f \bullet g_{f \bullet g_{f \bullet g}}$
\end{document}

在此处输入图片描述

答案2

此符号存在于mathabx字体包中。以下是无需加载包即可使用此符号的方法:

\documentclass{article}
\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}%
{<-6> mathb5 %
 <6-7> mathb6
 <7-8> mathb7 %
 <8-9> mathb8 %
 <9-10> mathb9 %
 <10-12> mathb10 %
 <12-> mathb12 }%
 {}
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}
\DeclareMathSymbol{\sqbullet}{\mathbin}{mathb}{"0D}

\begin{document}

\[ f \sqbullet g\]%

\end{document} 

在此处输入图片描述

答案3

确定黑点的大小,这里它的大小是句号(边界框)的两倍,并且具有较小的侧边距。

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\pp}{}% check it's not defined
\DeclareRobustCommand{\pp}{\mathbin{\mathpalette\pp@\relax}}
\newcommand\pp@[2]{%
  \mspace{0.5mu}%
  \vcenter{\hbox{\sbox\z@{$#1.$}\rule{2\ht\z@}{2\ht\z@}}}%
  \mspace{0.5mu}%
}
\makeatother

\begin{document}

$f\pp g$

$\scriptstyle f\pp g$

\end{document}

在此处输入图片描述

答案4

此字形在多个软件包中可用\smblksquare,包括unicode-math(我推荐)stixstix2。其 Unicode 代码点是 ▪ (U+25AA)。只需定义一个带间距的运算符即可\mathbin

\documentclass[varwidth]{standalone}
\usepackage{unicode-math}

\newcommand\csquare{\mathbin{\smblksquare}}

\begin{document}
\( f \csquare g \)
\end{document}

样本

还有几个类似的符号,例如\vysmblksquare表示较小版本的符号 (⬝) 或\mdlblksquare表示较大版本的符号 (◼)。例如:

\documentclass[varwidth]{standalone}
\usepackage{unicode-math}

\defaultfontfeatures{ Scale = MatchLowercase, Ligatures = TeX }
\setmainfont{STIX Two Text}[Scale = 1.0]
\setmathfont[StylisticSet = 2]{STIX Two Math}

\newcommand\csquare{\mathbin{\vysmblksquare}}

\begin{document}
\( f \csquare g \)
\end{document}

STIX Two 字体示例

如果您想使用没有此符号或符号不好看的数学字体,您可以用您选择的任何其他字体替换方块,例如\setmathfont[range=\smblksquare]{Latin Modern Math}

如果这实际上是\cdot来自 Lucida 的符号,您可以通过在内部\csquare包裹 来定义,或者用 来定义。\mbox\mathbin\DeclareMathSymbol

相关内容