如何將一個黑色小方塊排版為二元運算子?

如何將一個黑色小方塊排版為二元運算子?

這是我關於這個 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 兩種字體範例

如果您想使用沒有此符號或醜陋的數學字體,您可以用您選擇的任何其他字體替換正方形,例如\setmathfont[range=\smblksquare]{Latin Modern Math}

如果這實際上是\cdotLucida 中的符號,您可以透過將, 或\csquare包裹\mbox在裡面來定義。\mathbin\DeclareMathSymbol

相關內容