我想定义一个顺序关系,其中我要区分要用黑色填充,这样在第一种情况下我有一个黑色的三角形,在第二种情况下我有一个黑色的三角形,下面有一条合适的线。我对和\leq
不满意。\blacktriangleleft
\overset{\blacktriangleleft}{-}
答案1
以下是\ooalign
黑魔法:
\documentclass{article}
\usepackage{amssymb}
\newcommand{\bleq}{\mathrel{\mathpalette\bleqinn\relax}}
\newcommand{\bleqinn}[2]{%
\ooalign{%
\raisebox{.2ex}{$#1\blacktriangleleft$}\cr
$#1\leq$\cr
}%
}
\begin{document}
$a\bleq b\leq c$
$\bleq_{\bleq_{\bleq}}$
\end{document}
答案2
下面的例子\blackleq
通过放置\blacktriangleleft
减号并垂直居中结果来定义:
\documentclass{article}
\usepackage{amssymb}
\usepackage{color}
\makeatletter
\newcommand*{\blackleq}{%
\mathrel{%
\mathpalette\@blackleq{}%
}%
}
\newcommand*{\@blackleq}[2]{%
% #1: math style
% #2: unused
\vcenter{%
\m@th
\setbox0=\hbox{$#1\mkern3mu$}%
\setbox2=\hbox{$#1\vcenter{}$}%
\setbox4=\hbox{\raisebox{-\ht2}[.2pt][.2pt]{$#1-$}}%
\hbox{$#1\blacktriangleleft$}%
\nointerlineskip
\kern\wd0 %
\copy4 %
}%
}
\makeatother
\begin{document}
\[
< \blacktriangleleft \leq \blackleq
\;\scriptstyle
< \blacktriangleleft \leq \blackleq
\;\scriptscriptstyle
< \blacktriangleleft \leq \blackleq
\]
% Show bounding boxes
\setlength{\fboxsep}{0pt}%
\setlength{\fboxrule}{.1pt}%
\[
\color{red}
\def\x#1{\fbox{\color{black}$#1$}}
\x{<}
\x{\blacktriangleleft}
\x{-}
\x{\leq}
\x{\blackleq}
\]
\end{document}
评论:
减号边界框的高度比减号本身的高度大很多。因此,减号被放入一个框(4)中,并升高到基线。
\mathpalette
用于获取尺寸适配的当前数学样式。这取决于字体,是否
\blacktriangleleft
可用作填充较少的符号。CM 字体可以,但符号在 中太小,MnSymbol
并且在 中斜率不同mathabx
。