如何在导数中添加超过 4 个点?

如何在导数中添加超过 4 个点?

我有两个问题:

  • 我可以在变量上方显示多少个点来表示其导数?(我读到过 4 是极限。仍然不确定)
  • 我如何以一般形式打印比这些更多的点?

答案1

编辑:这篇文章后半部分的改进版本。

如果您确实想要,您可以定义一个新命令来包含任意数量的点,就像amsmath三点和四点一样。下面是一个包含任意数量点的示例,使用multido包:

\documentclass{article}
\usepackage{amsmath}
\usepackage{multido}

\makeatletter
\ams@newcommand{\vardot}[2]{%
  {\mathop{#2\kern0pt}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
   \hbox{\normalfont\multido{}{#1}{.}}\vss}}}}
\makeatother

\begin{document}
$\vardot{6}{x}$
\end{document}

该命令\vardot{n}{x}将在 x 上打印 n 个点。


改良版

概括相关亨德里克·沃格特 (Hendrik Vogt) 的回答,我们得到了更好的输出,修复了原始amsmath命令\dddot和的许多印刷问题\ddddot。此版本实现了命令\vardot[n]{x},其中n是要放在上面的点数x。该数字n是一个可选参数,默认值为 1。

\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}
\usepackage{accents}

\ExplSyntaxOn\makeatletter
\renewcommand*\dddot[1]{%
  \placeaccent{\acc@dot\mkern1.4mu\acc@dot\mkern1.4mu\acc@dot}{#1}%
  }
\renewcommand*\ddddot[1]{%

\placeaccent{\acc@dot\mkern1.4mu\acc@dot\mkern1.4mu\acc@dot\mkern1.4mu\acc@dot}{#1}%
  }
\NewDocumentCommand \vardot {O{1} m }
  {
    \int_compare:nNnTF
      {#1} = {1}
      {\dot #2}
      {\placeaccent{\prg_replicate:nn {#1-1} {\acc@dot\mkern1.4mu}\acc@dot}{#2}}
  }
\newcommand*\placeaccent[2]{%
  \begingroup
  \def\acc@dot{\kern-0.08em.\kern-0.08em}%
  \def\acc@skip{\ifx\macc@style\displaystyle0.32
           \else\ifx\macc@style\textstyle0.32
           \else\ifx\macc@style\scriptstyle0.22
           \else0.15\fi\fi\fi ex}%
  \def\mathaccent##1##2{%
    \setbox6\hbox{$\m@th\macc@style#1$}%
    \@tempdima\wd4
    \advance\@tempdima\macc@kerna
    \advance\@tempdima-\wd6
    \divide\@tempdima\tw@
    \@tempdimb\z@
    \ifdim\@tempdima<\z@ \@tempdimb-\@tempdima \@tempdima\z@ \fi
    \vbox{\offinterlineskip
          \moveright\@tempdima\box6
          \kern\acc@skip
          \moveright\@tempdimb\box4}%
  }%
  \macc@depth\@ne
  \let\math@bgroup\@empty \let\math@egroup\macc@set@skewchar
  \mathsurround\z@ \frozen@everymath{\mathgroup\macc@group\relax}%
  \macc@set@skewchar\relax
  \let\mathaccentV\macc@nested@a
  \macc@nested@a\relax111{#2}%
  \endgroup
}
\makeatother\ExplSyntaxOff

\begin{document}
$\vardot[6]{x}$
\end{document}

我确信这段代码可以得到很大改进,因为我不是一位经验丰富的 TeX 程序员。我不确定将expl3代码与 Hendrik Vogt 的 LaTeX 代码混合是否是个好主意,但它似乎可行。

相关内容