Hello, I need to use \dddot and \ddddot in one of my documents, does anyone know how to define these math symbols. Kind regards Wim Neimeijer
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 % This looks better. \def\amsdddot {\limits^{\vbox{\kern-2ex\hbox{\the\textfont\z@ ...}\vss}}} \def\amsddddot{\limits^{\vbox{\kern-2ex\hbox{\the\textfont\z@....}\vss}}} \def\dddot #1{{\mathop{#1}\amsdddot }} \def\ddddot#1{{\mathop{#1}\amsddddot}} \protect \starttext $\dddot{a}_{\dddot{b}}$ $\ddddot{a}_{\ddddot{b}}$ \stoptext %------------------------%<------------------------------------- Aditya
Thanks for the quick response, it works. Wim adityam@umich.edu 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 % This looks better. \def\amsdddot {\limits^{\vbox{\kern-2ex\hbox{\the\textfont\z@ ...}\vss}}} \def\amsddddot{\limits^{\vbox{\kern-2ex\hbox{\the\textfont\z@....}\vss}}}
\def\dddot #1{{\mathop{#1}\amsdddot }} \def\ddddot#1{{\mathop{#1}\amsddddot}}
\protect
\starttext
$\dddot{a}_{\dddot{b}}$
$\ddddot{a}_{\ddddot{b}}$ \stoptext %------------------------%<-------------------------------------
Aditya _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
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
% This looks better. \def\amsdddot {\limits^{\vbox{\kern-2ex\hbox{\the\textfont\z@ ...}\vss}}} \def\amsddddot{\limits^{\vbox{\kern-2ex\hbox{\the\textfont\z@....}\vss}}}
\def\dddot #1{{\mathop{#1}\amsdddot }} \def\ddddot#1{{\mathop{#1}\amsddddot}}
\protect
\starttext
$\dddot{a}_{\dddot{b}}$
$\ddddot{a}_{\ddddot{b}}$ \stoptext %------------------------%<-------------------------------------
Aditya _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
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 \def\dotsadjustbox#1% {\vbox to -1.4\amstexex{\kern-2\amstexex \hbox{\the\textfont\zerocount#1}\vss}} \def\dddot#1% {{\mathop{#1}\limits^{\dotsadjustbox{...}}}} \def\ddddot#1% {{\mathop{#1}\limits^{\dotsadjustbox{....}}}} \starttext $\dddot{a}_{\dddot{b}}$ $\ddddot{a}_{\ddddot{b}}$ \stoptext Hans, can these definitions be added to the core? Aditya
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} or so may be better
\def\dotsadjustbox#1% {\vbox to -1.4\amstexex{\kern-2\amstexex \hbox{\the\textfont\zerocount#1}\vss}}
\def\dddot#1% {{\mathop{#1}\limits^{\dotsadjustbox{...}}}}
\def\ddddot#1% {{\mathop{#1}\limits^{\dotsadjustbox{....}}}}
\starttext $\dddot{a}_{\dddot{b}}$
$\ddddot{a}_{\ddddot{b}}$ \stoptext
Hans, can these definitions be added to the core?
Aditya _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
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
On Fri, 15 Sep 2006, Aditya Mahajan wrote:
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 }
A bit of explaination incase someone is wondering what is going on % \begin{macro}{\ex@} % The \cs{ex@} variable provides a small unit of space for use in % math-mode constructions, that varies according to the current type % size. For example, the \cn{pmb} command uses \cs{ex@} units. % Since a macro or mu unit solution for the \meta{dimen} \cs{ex@} won't % work without changing a lot of current code in the \pkg{amsmath} % package, we set \cs{ex@} through the \cs{every@math@size} hook. % The value of \cs{ex@} is scaled nonlinearly in a range of roughly % 0.5pt to 1.5pt, by the function \cs{compute@ex@}. % \begin{macrocode} \newdimen\ex@ \addto@hook\every@math@size{\compute@ex@} % \end{macrocode} % \end{macro} % % \cs{compute@ex@} computes \cs{ex@} as a nonlinear scaling from 10pt % to current font size (\cs{f@size}). Using .97 as the multiplier makes 1 % |ex@| $\approx$ .9pt when the current type size is 8pt and 1 |ex@| % $\approx$ 1.1pt when the current type size is 12pt. % % The formula is essentially % \begin{displaymath} % \newcommand{\points}{\mbox{pt}} % \newcommand{\floor}[1]{\lfloor#1\rfloor} % 1\points \pm (1\points - (.97)^{\floor{\vert 10 - n\vert}}) % \end{displaymath} % where $n$ = current type size, but adjusted to differentiate % half-point sizes as well as whole point sizes, and there is a % cutoff for extraordinarily large values of \cs{f@size} ($>$ 20pt) % so that the value of \cs{ex@} never exceeds 1.5pt. % % \begin{macrocode} \def\compute@ex@{% \begingroup \dimen@-\f@size\p@ \ifdim\dimen@<-20\p@ % \end{macrocode} % Never make \cs{ex@} larger than 1.5pt. % \begin{macrocode} \global\ex@ 1.5\p@ \else % \end{macrocode} % Adjust by the reference size and multiply by 2 to allow for % half-point sizes. % \begin{macrocode} \advance\dimen@10\p@ \multiply\dimen@\tw@ % \end{macrocode} % Save information about the current sign of \cs{dimen@}. % \begin{macrocode} \edef\@tempa{\ifdim\dimen@>\z@ -\fi}% % \end{macrocode} % Get the absolute value of \cs{dimen@}. % \begin{macrocode} \dimen@ \ifdim\dimen@<\z@ -\fi \dimen@ \advance\dimen@-\@m sp % fudge factor % \end{macrocode} % Here we use \cs{vfuzz} merely as a convenient scratch register % \begin{macrocode} \vfuzz\p@ % \end{macrocode} % Multiply in a loop. % \begin{macrocode} \def\do{\ifdim\dimen@>\z@ \vfuzz=.97\vfuzz \advance\dimen@ -\p@ %\message{\vfuzz: \the\vfuzz, \dimen@: \the\dimen@}% \@xp\do \fi}% \do \dimen@\p@ \advance\dimen@-\vfuzz \global\ex@\p@ \global\advance\ex@ \@tempa\dimen@ \fi \endgroup Aditya
participants (3)
-
Aditya Mahajan
-
Hans Hagen
-
WN