這是我關於這個 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
(我推薦)stix
和stix2
。它的 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}
如果您想使用沒有此符號或醜陋的數學字體,您可以用您選擇的任何其他字體替換正方形,例如\setmathfont[range=\smblksquare]{Latin Modern Math}
。
如果這實際上是\cdot
Lucida 中的符號,您可以透過將, 或\csquare
包裹\mbox
在裡面來定義。\mathbin
\DeclareMathSymbol