如何使 \trianglelefteq 类似于 \leqslant?

如何使 \trianglelefteq 类似于 \leqslant?

我发现\leqslant命令 比 产生更好的输出\leq。但是,对于理想/正规子群符号,有一个\trianglelefteq(或\unlhd),但没有倾斜版本。

包装本身mathabx改变了\trianglelefteq,而且还使三角形变得狭窄,这让我不太高兴。

还有其他解决办法吗?

答案1

在这里,我将 堆叠\rule在 之上,\leqslant以便制作\trianglelefteqslant,而无需使用mathabx包。通过使用scalerel包的功能,它可以跨数学样式工作。

\documentclass{article}
\usepackage{amssymb}
\usepackage{stackengine,scalerel}
\stackMath
\def\trianglelefteqslant{\ThisStyle{\mathrel{%
  \stackinset{r}{.75pt+.15\LMpt}{t}{.1\LMpt}{\rule{.3pt}{1.1\LMex+.2ex}}{\SavedStyle\leqslant}%
}}}
%\usepackage{mathabx}
\begin{document}
$x \leqslant y$\par
$x \trianglelefteqslant y$\par
$\scriptstyle x \trianglelefteqslant y$\par
$\scriptscriptstyle x \trianglelefteqslant y$
\end{document}

在此处输入图片描述

答案2

我不太确定这是否更好看(但我\leqslant也不喜欢)。

也许你会想到一个比 更好的名字\slunlhd;-)

\documentclass{article}
\usepackage{amssymb}

\makeatletter
\newcommand{\slunlhd}{%
  \mathrel{\mathpalette\sl@unlhd\relax}%
}

\newcommand{\sl@unlhd}[2]{%
  \sbox\z@{$#1\lhd$}%
  \sbox\tw@{$#1\leqslant$}%
  \dimen@=\ht\tw@
  \advance\dimen@-\ht\z@
  \ifx#1\displaystyle
    \advance\dimen@ .2pt
  \else
    \ifx#1\textstyle
      \advance\dimen@ .2pt
    \fi
  \fi
  \ooalign{\raisebox{\dimen@}{$\m@th#1\lhd$}\cr$\m@th#1\leqslant$\cr}%
}
\makeatother

\begin{document}
$N\slunlhd G_{\slunlhd}$

\Large
$N\slunlhd G_{\slunlhd}$

\end{document}

基本上,我将\leqslant其叠加\lhd(对文本和显示样式进行了小幅修正)。

在此处输入图片描述

答案3

我从第16页找到一种方法symbol-a4。它需要stmaryrdPackage,命令是\trianglelefteqslant\trianglerighteqslant

\documentclass{article}

\usepackage{stmaryrd}
\begin{document}
$x \trianglelefteqslant y$
\end{document}

相关内容