MnSymbol 有一个\udotdot
命令(\udotdot
在综合乳胶符号列表文档中搜索),但我不想导入 MnSymbol,因为它会产生各种副作用(例如,它会创建\vec
与其他定义冲突的定义\vec
,并且它特别适用于 Adobe Minion Pro)。
如何创建自己的\udotdot
符号以用于计算机现代或具体数学?
答案1
下面的示例使用普通点来生成符号:
\mathpalette
增加了对不同数学风格的支持。- 假设点位于基线上,并具有正确的字符边界框(包括对称的侧边距)。点本身具有相同的宽度和高度。
- 两个点
\udotdot
以数学轴为中心的正方形的对角。 - 点的中心位于等号的上下边界上。
实现示例:
\documentclass{article}
%\usepackage{MnSymbol}
\makeatletter
\providecommand*{\udotdot}{%
\mathbin{\mathpalette\@udotdot{}}%
}
\providecommand*{\@udotdot}[2]{%
% #1: math style
% #2: unused
% Box 0: dot
\sbox0{$#1.\m@th$}%
% Remove side bearings
\setbox2=\hbox to \ht0{\hss\copy0\hss}
% Side bearing
\dimen2=.5\dimexpr\wd0-\wd2\relax
% Box 2: equal sign
\sbox4{$#1=\m@th$}%
% Box 4: math axis
\sbox6{$#1\vcenter{}$}%
\dimen@=\dimexpr(\ht4-\ht6)*2 + \ht0\relax
\kern\dimen2 % side bearing
\vcenter to \dimen@{%
\hbox to \dimen@{\hfill\copy2}%
\nointerlineskip
\vfill
\hbox to \dimen@{\copy2\hfill}%
}%
\kern\dimen2 % side bearing
}
\makeatother
\begin{document}
\[ a \udotdot b \]
\[={\udotdot}\scriptstyle{\udotdot}\scriptscriptstyle{\udotdot}=\]
\end{document}
答案2
您可以导入单个 MnSymbol 符号,或者创建一个大致匹配的:
\documentclass{article}
\usepackage{graphicx,amsmath}
\newcommand{\udotdot}{\mathbin{\text{\rotatebox[origin=c]{45}{${\cdot}{\cdot}$}}}}
\begin{document}
$a \cdots e \cdot a \mathbin{\cdot\cdot} e \mathbin{{\cdot}{\cdot}} a \udotdot e$
$a \udotdot e_{a \udotdot e_{a \udotdot e}}$
\end{document}