summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bezos/accents.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/bezos/accents.sty')
-rw-r--r--Master/texmf-dist/tex/latex/bezos/accents.sty262
1 files changed, 262 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/bezos/accents.sty b/Master/texmf-dist/tex/latex/bezos/accents.sty
new file mode 100644
index 00000000000..6abb9da0bd4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bezos/accents.sty
@@ -0,0 +1,262 @@
+% +--------------------------------------------------+
+% | Typeset accents.tex to get the documentation. |
+% +--------------------------------------------------+
+%
+% This file is copyrighted (c) 1998, 1999, 2000 by Javier Bezos.
+% All Rights Reserved.
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% % version 1 of the License, or any later version.
+%
+% Release
+% ~~~~~~~
+\ProvidesPackage{accents}[2000/08/06 v1.2 Math Accent Tools]
+
+\let\cc@palette\mathpalette
+
+\DeclareOption{nonscript}
+ {\renewcommand\cc@palette[2]{#1\textstyle{#2}}}
+
+\DeclareOption{single}
+ {\renewcommand\cc@accent[1]{\mathaccent#1}}
+
+\newdimen\cc@skew
+\newdimen\cc@wd
+
+\newcount\cc@code
+\newcount\cc@group
+\newcount\cc@skewchar
+
+\newif\ifcc@more
+
+% Code for real accents
+% ~~~~~~~~~~~~~~~~~~~~~
+
+\def\cc@accent#1#2{%
+ \begingroup
+ \cc@code=#1\relax
+ \let\math@bgroup\@empty
+ \def\math@egroup##1{\cc@setchar##1}%
+ \cc@palette\cc@@accent{#2}%
+ \cc@nuc
+ \endgroup}
+
+\def\cc@iaccent#1#2{%
+ \cc@fetch{#2}%
+ \mathaccent#1{%
+ \ifcc@more#2\else
+ \cc@phant{#2}%
+ \gdef\cc@nuc{#2}%
+ \fi
+ \kern\cc@skew}%
+ \kern-\cc@skew}%
+
+\def\cc@@accent#1#2{%
+ \let\cc@style=#1%
+ \cc@fetch{#2}%
+ \mathaccent\cc@code{%
+ \ifcc@more#2\else
+ \cc@phant{#2}%
+ \gdef\cc@nuc{#2}%
+ \fi
+ \kern\cc@skew}%
+ \kern-\cc@skew
+ \kern\cc@wd}%
+
+% The accents are redefined:
+
+\begingroup
+
+\def\mathaccentV#1{\string"\noexpand\accentclass@}%
+\let\protect\@empty
+\let\mathaccent\@empty
+
+\def\cc@set#1{%
+ \xdef#1{\noexpand\protect\noexpand\cc@accent{#1}}}
+
+\cc@set\grave %{\protect\cc@accent{"7012\relax}}
+\cc@set\acute %{\protect\cc@accent{"7013\relax}}
+\cc@set\check %{\protect\cc@accent{"7014\relax}}
+\cc@set\breve %{\protect\cc@accent{"7015\relax}}
+\cc@set\bar %{\protect\cc@accent{"7016\relax}}
+\cc@set\hat %{\protect\cc@accent{"705E\relax}}
+\cc@set\dot %{\protect\cc@accent{"705F\relax}}
+\cc@set\tilde %{\protect\cc@accent{"707E\relax}}
+\cc@set\ddot %{\protect\cc@accent{"707F\relax}}
+\cc@set\vec %{\protect\cc@accent{"017E\relax}}
+\gdef\ring{\protect\cc@accent{"7017\relax}}
+
+\@ifundefined{mathring}{}{\cc@set\mathring}
+
+\endgroup
+
+% Faked accents
+% ~~~~~~~~~~~~~
+
+\newcommand\accentset[2]{%
+ \begingroup
+ \def\cc@a{#1}%
+ \let\math@bgroup\@empty
+ \def\math@egroup##1{\cc@setchar##1}%
+ \cc@palette\cc@accentset{#2}%
+ \cc@nuc
+ \endgroup}
+
+\def\cc@accentset#1#2{%
+ \let\cc@style#1%
+ \cc@fetch{#2}%
+ \sbox\z@{$\m@th\cc@style\mathgroup\cc@group
+ \ifcc@more#2\else\cc@phant{#2}%
+ \gdef\cc@nuc{#2}\fi$}%
+ \cc@align{%
+ \hidewidth\kern\cc@skew
+ $\m@th\scriptscriptstyle\mathgroup\cc@group\cc@a$%
+ \hidewidth\cr{\box\z@}}%
+ \kern\cc@wd}%
+
+\def\cc@iaccentset#1#2{%
+ \cc@fetch{#2}%
+ \sbox\z@{$\m@th\cc@style\ifcc@more#2\else\cc@phant{#2}%
+ \gdef\cc@nuc{#2}\fi$}%
+ \cc@align{%
+ \hidewidth\kern\cc@skew
+ $\m@th\scriptscriptstyle#1$\hidewidth\cr
+ {\box\z@}}}%
+
+\def\cc@align#1{%
+ \vbox{%
+ \baselineskip\z@skip
+ \lineskip.25ex
+ \ialign{##\crcr#1\crcr}}}
+
+% Shared by real and faked accents
+% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+\def\cc@phant#1{%
+ \v@true\h@true
+ \finph@nt}% with \box0 from \cc@fetch
+
+\def\cc@setchar{%
+ \cc@skewchar\ifnum\mathgroup=\m@ne
+ \skewchar\textfont\@ne
+ \else\ifnum\skewchar\textfont\mathgroup=\m@ne
+ \skewchar\textfont\@ne
+ \else\skewchar\textfont\mathgroup\fi\fi
+ \advance\cc@skewchar"7100 }
+
+\def\cc@fetch#1{%
+ \cc@group=\the\mathgroup
+ \let\cc@accent\@gobble
+ \let\accentset\@gobble
+ \sbox\z@{$\m@th\mathgroup\cc@group\cc@setchar
+ \cc@style#1{}\mathchar\cc@skewchar$}%
+ \sbox\@ne{$\m@th\mathgroup\cc@group\cc@setchar
+ \cc@style#1\mathchar\cc@skewchar$}%
+ \cc@morefalse
+ \def\cc@accent##1{\global\cc@moretrue}%
+ \def\accentset##1{\global\cc@moretrue}%
+ \global\cc@skew2\wd\@ne
+ \global\advance\cc@skew-2\wd\z@
+ \sbox\z@{$\m@th\mathgroup\cc@group\cc@style#1$}%
+ \global\cc@wd-\wd\z@
+ \let\cc@accent\cc@iaccent
+ \let\accentset\cc@iaccentset}
+
+% Two useful faked accents
+% ~~~~~~~~~~~~~~~~~~~~~~~~
+
+\def\dddot{\accentset{{\cc@style.\mkern-1.7mu\textstyle.\mkern-1.7mu.}}}
+\def\ddddot{\accentset{{\cc@style.\mkern-2.1mu.\mkern-2.1mu.\mkern-2.1mu.}}}
+
+% Underaccents
+% ~~~~~~~~~~~~
+
+\newcommand\underaccent[2]{%
+ \begingroup
+ \def\cc@a{#2}% Stores the nucleous...
+ \cc@palette\cc@underaccent{#1}% ...and the accent is passed
+ #2%
+ \endgroup}%
+
+\def\cc@underaccent#1#2{%
+ \let\cc@style#1%
+ \expandafter\in@\expandafter\cc@accent\expandafter{#2}%
+ \ifin@
+ \expandafter\cc@uaccent#2\@@%
+ \else
+ \cc@uaccentset{#2}%
+ \fi}
+
+\def\cc@uaccent#1#2#3\@@{% #1 and #2 gobbles \protect\cc@accent
+ \cc@under{%
+ \vbox to.2ex{%
+ \hbox{%
+ $\m@th
+ \cc@style
+ \mathgroup\cc@group
+ \cc@shift
+ \mathchar#3$}%
+ \vss}}}
+
+\def\cc@uaccentset#1{%
+ \cc@under{%
+ \hbox{%
+ $\m@th
+ \cc@style
+ \mathgroup\cc@group
+ \cc@shift
+ \scriptscriptstyle#1$}}}
+
+\def\cc@under#1{%
+ \cc@group\the\mathgroup
+ \sbox\z@{$\m@th\cc@style\mathgroup\cc@group\cc@a$}%
+ \sbox\tw@{$\scriptspace\z@\m@th\cc@style\mathgroup\cc@group\cc@a_{}$}%
+ \rlap{%
+ \oalign{%
+ \vrule \@depth\dp\z@ \@width\z@
+ \kern\wd\tw@
+ \crcr
+ \hidewidth#1\hidewidth}}}
+
+\def\cc@shift{%
+ \dimen@=-.000008ex
+ \multiply\dimen@\ifnum\mathgroup=\m@ne
+ \fontdimen\@ne\textfont\@ne
+ \else
+ \fontdimen\@ne\textfont\cc@group\fi
+ \kern\dimen@}
+
+% And \undertilde
+% ~~~~~~~~~~~~~~~
+
+\newcommand\undertilde{\cc@palette\cc@undertilde}
+
+\def\cc@undertilde#1#2{%
+ \cc@group\the\mathgroup
+ \sbox\z@{$\m@th\mathgroup\cc@group#1#2$}%
+ \oalign{%
+ $\m@th\mathgroup\cc@group#1#2$%
+ \crcr
+ \hidewidth
+ \vbox to.5ex{%
+ \hbox{%
+ $\hss
+ #1%
+ \mathgroup\cc@group
+ \widetilde{\hbox to\wd\z@{\hss}}%
+ \hss$}%
+ \vss}%
+ \hidewidth}}
+
+% The following command is used by \DeclareMathAccent
+% and it's the only part requiring modification
+
+\def\set@mathaccent#1#2#3#4{%
+ \xdef#2{\noexpand\protect\noexpand\cc@accent
+ {"\mathchar@type#3\hexnumber@#1#4\relax}}}
+
+\ProcessOptions
+
+\endinput \ No newline at end of file