如何在使用 MnSymbol 包时获得填充黑色 < 和 \leq?

如何在使用 MnSymbol 包时获得填充黑色 < 和 \leq?

前段时间我发布了一个问题

我如何获得填充黑色的 < 和 \leq?

并得到了一个非常有用的答案,我接受了。但是,我的 \bleq 只用黑色填充了 95%,我接受的答案的作者认为我使用 MnSymbol 包是问题所在。但如果我尝试禁用 MnSymbo,我的长文档将无法编译。

有人可以提供帮助并找到一种方法来修改我接受的答案或找到其他补救措施,以便我的 \bleq 100%填充黑色?

以下是 egreg 的回答MnSymbol

\documentclass{article}
\usepackage{amssymb}
\usepackage{MnSymbol}

\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}

在此处输入图片描述

答案1

在这里,我从引用的问题中得到了 egreg 的答案,并将黑色三角形水平缩放 1.23 倍,垂直缩放 1.16 倍,并将其提升不同的量(0.04ex)以用于覆盖。

\documentclass{article}
\usepackage{amssymb}
\usepackage{MnSymbol,graphicx}

\newcommand{\bleq}{\mathrel{\mathpalette\bleqinn\relax}}
\newcommand{\bleqinn}[2]{%
  \ooalign{%
    \raisebox{0.04ex}{\scalebox{1.23}[1.16]{$#1\blacktriangleleft$}}\cr
    $#1\leq$\cr
  }%
}

\begin{document}
$a\bleq b\leq c$

$\bleq_{\bleq_{\bleq}}$
\end{document}

在此处输入图片描述

答案2

由于\blacktriangleleftMnSymbol 在维度上有明显差异<,因此我会采取不同的方法:

\documentclass{article}
\usepackage{MnSymbol,pict2e,picture}

\newcommand{\bleq}{%
  \mathrel{%
    \vphantom{\leq}%
    \mathpalette{\bgleqinn\blacktriangleleft}{0.1}%
  }%
}
\newcommand{\bgeq}{%
  \mathrel{%
    \vphantom{\geq}%
    \mathpalette{\bgleqinn\blacktriangleright}{0.25}%
  }%
}

\makeatletter
\newcommand{\bgleqinn}[3]{%
  \sbox\z@{$#2\m@th#1$}%
  \linethickness{.1\ht\z@}
  \begin{picture}(\wd\z@,\ht\z@)(0,-.15\ht\z@)
  \roundcap
  \put(#3\wd\z@,-.2\ht\z@){\line(1,0){.65\wd\z@}}
  \put(0,0){\box\z@}
  \end{picture}%
}
\makeatother

\begin{document}

$<\blacktriangleleft\leq\bleq$ $>\blacktriangleright\geq\bgeq$

$a\bleq b\leq c$

$\bleq_{\bleq_{\bleq}}$

$\leq\bleq_{\leq\bleq_{\leq\bleq}}$

\end{document}

在此处输入图片描述

相关内容