我想制作一个新的符号,即$\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}