On Fri, 15 Sep 2006, Hans Hagen wrote:
Aditya Mahajan wrote:
On Thu, 14 Sep 2006, Hans Hagen wrote:
Aditya Mahajan wrote:
On Thu, 14 Sep 2006, WN wrote:
Hello, I need to use \dddot and \ddddot in one of my documents, does anyone know how to define these math symbols.
The trouble is that most fonts do not contain these accents. amsmath.sty gets over this definition by faking these symbols. It is easy to port these definitions to context.
amsmath.sty definition
\newcommand{\dddot}[1]{% {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ \hbox{\normalfont ...}\vss}}}} \newcommand{\ddddot}[1]{% {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ \hbox{\normalfont....}\vss}}}}
Converting to context
%--------------------%<------------------------------------ \unprotect
% The true copy of amsmath definitions \def\amsdddot {\limits^{\vbox to -1.4ex{\kern-2ex\hbox{\the\textfont\z@ ...}\vss}}} \def\amsddddot{\limits^{\vbox to -1.4ex{\kern-2ex\hbox{\the\textfont\z@....}\vss}}}
% I do not understand why you need to give negative height
\setbox\scratchbox{..} \ht\scratchbox0pt \dp\scratchbox-2pt
I was wondering why amstex definition does this, as the 1.4ex depth was too big. Then I realized that it is not 1.4ex but 1.4\ex@ with \ex@ as .2326ex. ughh....the ugly syntax of plain tex...
So here is a more reliable reproduction of amstex dddot and ddddot
\newdimen\amstexex
\amstexex = .2326ex
what's this funny number based on, somehow related to interlinespace?
one cannot define a measure globally this way, since an ex is font dependent,;
\def\amstexex{\dimexpr.08\lineheight\relax}
The latex package amsgen.sty define it more carefully \newdimen\ex@ \addto@hook\every@math@size{\compute@ex@} \def\compute@ex@{% \begingroup \dimen@-\f@size\p@ \ifdim\dimen@<-20\p@ \global\ex@ 1.5\p@ \else \advance\dimen@10\p@ \multiply\dimen@\tw@ \edef\@tempa{\ifdim\dimen@>\z@ -\fi}% \dimen@ \ifdim\dimen@<\z@ -\fi \dimen@ \advance\dimen@-\@m sp % fudge factor \vfuzz\p@ \def\do{\ifdim\dimen@>\z@ \vfuzz=.97\vfuzz \advance\dimen@ -\p@ \@xp\do \fi}% \do \dimen@\p@ \advance\dimen@-\vfuzz \global\ex@\p@ \global\advance\ex@ \@tempa\dimen@ \fi \endgroup } Aditya