LaTeX 中自定义数学符号的垂直间距问题

LaTeX 中自定义数学符号的垂直间距问题

我需要通过在标准数学符号上添加不同数量的点来获得一些自定义数学符号\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}

在此处输入图片描述

相关内容