我需要通过在标准数学符号上添加不同数量的点来获得一些自定义数学符号\preceq
。因此,我按照如下方式执行了此操作:
\newcommand{\orderC}{\stackrel{\therefore}{\preceq}}
\newcommand{\orderB}{\stackrel{..}{\preceq}}
\newcommand{\orderA}{\stackrel{.}{\preceq}}
现在,问题是它\orderC
占用了太多的垂直空间。特别是如果我在内联方程中使用它,那行看起来会与主要段落相差太大。我想知道我是否正确地创建了符号,以及是否有办法避免这种情况?
提前致谢,
答案1
我将使用水平三点定义Gonzalo Medina 对另一个问题的回答,并坚持\dot
和\ddot
其他人一样:
\documentclass{article}
\usepackage{mathtools}
\usepackage{lipsum} % only for demonstration purposes
\makeatletter
\newcommand*\scaleddot{\scalebox{.9}{.}}
\renewcommand*\dddot[1]{%
{\mathop{\kern\z@#1}\limits^{\makebox[0pt][c]{\vbox to-2.2\ex@{\kern-\tw@\ex@
\hbox{\normalfont\scaleddot\kern-0.5pt\scaleddot\kern-0.5pt\scaleddot}\vss}}}}}
\makeatother
\newcommand*\preceqdot{\mathrel{\dot{\preceq}}}
\newcommand*\preceqddot{\mathrel{\ddot{\preceq}}}
\newcommand*\preceqdddot{\mathrel{\dddot{\preceq}}}
\begin{document}
\lipsum[3]
$ A \preceq B \preceqdot C \preceqddot D \preceqdddot E $
\lipsum[2]
\end{document}
但是,我认为这三者之间的区别太小,作者和读者都很容易混淆。你不能用另一个符号吗,例如\trianglelefteq
?
答案2
您可以使用曲线\preceq
来放置点。
\documentclass{article}
\usepackage{lipsum} % just for the example
\newcommand\preceqdots[1]{%
\mathrel{
\vbox{\offinterlineskip
\ialign{##\cr
#1\crcr
\noalign{\vskip-.2ex}
$\preceq$\cr
}
}
}
}
\newcommand{\threedots}{%
\hidewidth..\hidewidth\kern.1em\cr
\hidewidth.\hidewidth\kern.1em\cr
\noalign{\vskip-\fontcharht\font`.}
}
\newcommand\preceqdot{\preceqdots{\hidewidth.\hidewidth\kern.1em}}
\newcommand\preceqddot{\preceqdots{\hidewidth..\hidewidth\kern.1em}}
\newcommand\preceqdddot{\preceqdots{\threedots}}
\begin{document}
\lipsum*[3]%
$A \preceq B \preceqdot C \preceqddot D \preceqdddot E$
\lipsum[2]
\end{document}
答案3
使用堆栈定义时减少输入:
\documentclass{article}
\usepackage{stackengine}
\usepackage[nopar]{lipsum}
\renewcommand\stacktype{L}
\stackMath
\def\preceqdot{\mathrel{\stackon[0pt]{\preceq}{\dot{}}}}
\def\preceqddot{\mathrel{\stackon[0pt]{\preceq}{\ddot{}}}}
\def\preceqdddot{\mathrel{\stackon[0pt]{\stackon[-1pt]{\preceq}{\dot{}}}{\ddot{}}}}
\def\preceqdddotALT{\mathrel{\stackon[0pt]{\stackon[0pt]{\stackon[0pt]{%
\preceq}{\dot{}}}{\kern3pt\dot{}}}{\kern-3pt\dot{}}}}
\begin{document}
\lipsum[1]
$ A \preceq B \preceqdot C \preceqddot D \preceqdddot E \preceqdddotALT F$
\lipsum[2]
\end{document}