这是我在这个 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