我试图在字母顶部设置五个点,以表示牛顿符号中的五阶导数。如果我设置一个点 \dot{X}
、两个点\ddot{X}
、三个点\dddot{X}
、四个点,\dddot{X}
那就没问题了。但是当你要设置五个点时,这个命令不起作用。例如:五个点\dddddot{X}
。
您知道如何设置五个点吗?
答案1
问题是必须定义每个宏,并且最多只有\ddddot
。
所以我制作了两个宏:\dddddot
和\multidots
。对于它们两个,我复制了 的定义\ddddot
并添加了点。
\dddddot
将在其参数顶部放置五个点。\multidots{n}{arg}
将把n
点放在 顶部arg
。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\long\def\dddddot#1{%
{\mathop {#1}\limits ^{\vbox to-1.4\ex@ {\kern -\tw@ \ex@ \hbox {\normalfont .....}\vss }}}%
}
\long\def\multidots#1#2{%
\count@=0
{{\mathop {#2}\limits ^{\vbox to-1.4\ex@ {\kern -\tw@ \ex@ \hbox {\normalfont %
\loop%
\ifnum#1>\count@%
.%
\advance\count@ by1%
\repeat%
}\vss }}}}%
}
\makeatother
\begin{document}
$\dot{X}$ two dots $\ddot{X}$ three dots $\dddot{X}$ four dots $\ddddot{X}$ five dots $\dddddot{X}$
$\multidots{1}{X}$ two dots $\multidots{2}{X}$ three dots $\multidots{3}{X}$ four dots $\multidots{4}{X}$ five dots $\multidots{5}{X}$ lots of dots $\multidots{15}{X}$
\end{document}
我们可以添加一个\hbox to 0pt
来隐藏点的宽度,并使间距正好位于 的两侧X
。虽然点会覆盖其余的文本……但这是一个选择的问题:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\long\def\dddddot#1{%
{\mathop {#1}\limits ^{\vbox to-1.4\ex@ {\kern -\tw@ \ex@ \hbox {\normalfont .....}\vss }}}%
}
\long\def\multidots#1#2{%
\count@=0
{{\mathop {#2}\limits ^{\hbox to 0pt{\vbox to-1.4\ex@ {\kern -\tw@ \ex@ \hbox {\normalfont %
\loop%
\ifnum#1>\count@%
.%
\advance\count@ by1%
\repeat%
}\vss }}}}}%
}
\makeatother
\begin{document}
$\dot{X}$ two dots $\ddot{X}$ three dots $\dddot{X}$ four dots $\ddddot{X}$ five dots $\dddddot{X}$
$\multidots{1}{X}$ two dots $\multidots{2}{X}$ three dots $\multidots{3}{X}$ four dots $\multidots{4}{X}$ five dots $\multidots{5}{X}$ lots of dots $\multidots{15}{X}$
\end{document}