$\lhd$ 裡面有一個點

$\lhd$ 裡面有一個點

我想創建一個新符號,即 $\lhd$,裡面有一個點,類似於 $\lessdot$。

我嘗試遵循這個問題中的一些建議:水平相當於\raisebox?

例如\newcommand{\lhdot}[0]{\adjustbox{lap={\width}{0.em}}{$\cdot$}\lhd}

但這個點的位置確實是有線的..

任何想法,將不勝感激!

答案1

您很可能不想使用\lhd,它被歸類為二元運算子而不是關係,而是使用\vartriangleleft

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}

\makeatletter
\DeclareRobustCommand{\dotvartriangleleft}{%
  \mathrel{%
    \vphantom{\vartriangleleft}%
    \mathpalette\dot@vartriangle{{\vartriangleleft}{5mu}}%
  }%
}
\DeclareRobustCommand{\dotvartriangleright}{%
  \mathrel{%
    \vphantom{\vartriangleleft}%
    \mathpalette\dot@vartriangle{{\vartriangleright}{-5mu}}%
  }%
}
\newcommand{\dot@vartriangle}[2]{%
  \dot@@vartriangle#1#2%
}
\newcommand{\dot@@vartriangle}[3]{%
  \ooalign{$\m@th#1#2$\cr\hidewidth$\m@th#1\mkern#3{\cdot}$\hidewidth\cr}%
}
\makeatother

\begin{document}

$a\vartriangleleft b\dotvartriangleleft c$

$a\vartriangleright b\dotvartriangleright c$

$\scriptstyle\dotvartriangleleft\dotvartriangleright$

\end{document}

在此輸入影像描述

答案2

完成堆疊;遵循數學風格。

\documentclass{article}
\usepackage{amsmath, amssymb,stackengine,scalerel}
\newcommand*{\lhdot}{\mathbin{\ThisStyle{\ensurestackMath{%
  \stackinset{c}{\dimexpr.8pt+.2\LMpt}{c}{\dimexpr.2pt-.5\LMpt}%
  {\SavedStyle\cdot}{\SavedStyle\lhd}}}}}
\begin{document}
\(a \lhd b\)

\(a \lhdot b~
\scriptstyle a \lhdot b~
\scriptscriptstyle a \lhdot b\)
\end{document}

在此輸入影像描述

答案3

一個簡單的解決方案是將\lessdot其自身堆疊在\lhd.

\documentclass{article}
\usepackage{amsmath, amssymb}
\newcommand*{\lhdot}{\mathbin{\ooalign{$\lhd$\cr$\lessdot$}}}
\begin{document}
\(a \lhd b\)

\(a \lhdot b\)
\end{document}

相關內容