diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/SIstyle/sistyle.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/SIstyle/sistyle.dtx | 96 |
1 files changed, 74 insertions, 22 deletions
diff --git a/Master/texmf-dist/source/latex/SIstyle/sistyle.dtx b/Master/texmf-dist/source/latex/SIstyle/sistyle.dtx index 4805e97aeb7..bb0b447a4cf 100644 --- a/Master/texmf-dist/source/latex/SIstyle/sistyle.dtx +++ b/Master/texmf-dist/source/latex/SIstyle/sistyle.dtx @@ -31,7 +31,7 @@ % ------------------------------------------------------------------- % \fi % -% \CheckSum{767} +% \CheckSum{830} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -57,13 +57,14 @@ %<package>\ProvidesPackage{sistyle} %<driver>\ProvidesFile{sistyle.drv} %\ProvidesFile{sistyle.dtx} - [2006/07/11 v2.1 SI units and numbers (DNJ Els)] + [2006/12/20 v2.3 SI units and numbers (DNJ Els)] %<*driver> \documentclass[a4paper]{ltxdoc} \usepackage{calc} -%\usepackage[T1]{fontenc} -\usepackage{textcomp} \usepackage{amsmath} +\usepackage[T1]{fontenc} +\usepackage{textcomp} +\usepackage{lmodern} \usepackage{sistyle} \SIdefaultNfam{\mathnormal} \SIdefaultMfam{\mathrm} @@ -88,8 +89,10 @@ % % % \changes{v1.0}{2004/02/01}{Initial version} -% \changes{v2.0}{2004/07/09}{Better display math detection with \cs{displaywidth}} -% \changes{v2.1}{2004/07/09}{Add user definable commands for \cs{mathrm}, \cs{mathsf}, \cs{mathtt}} +% \changes{v2.0}{2004/07/12}{Better display math detection with \cs{displaywidth}} +% \changes{v2.1}{2006/07/09}{Add user definable commands for \cs{mathrm}, \cs{mathsf}, \cs{mathtt}} +% \changes{v2.2}{2006/12/14}{Correct bug in \cs{ang} when French package is loaded} +% \changes{v2.3}{2006/12/20}{Make \cs{ang} work in side commands when ; is active} % % % \DoNotIndex{\,} @@ -1368,6 +1371,21 @@ \RequirePackage{amstext} % \end{macrocode} % +% \subsection{Test for $\varepsilon$-\TeX} +% \begin{macrocode} +\newif\ifSI@eTeX +\SI@eTeXfalse +\ifx\eTeXversion\@undefined +\else + \ifx\eTeXversion\relax + \else + \ifnum\eTeXversion>\z@ + \SI@eTeXtrue + \fi + \fi +\fi +% \end{macrocode} +% % \subsection{Test for empty argument} % % \begin{macro}{\SI@ifempt} @@ -1857,40 +1875,74 @@ % % \section{Typesetting Angles} % -% \begin{macro}{\SI@degs} -% \begin{macro}{\SI@mins} -% \begin{macro}{\SI@secs} -% Scratch commands to hold definitions. +% +% \begin{macro}{\ang} +% \begin{macro}{\SI@ang} +% \begin{macro}{\SI@@ang} +% \begin{macro}{\SI@ang@xii} +% \begin{macro}{\SI@@ang@xii} +% \begin{macro}{\SI@ang@xiii} +% \begin{macro}{\SI@@ang@xiii} +% The robust user command to typeset angles. Note that we +% have to make provisions for packages such as French that +% make the semicolon (;) active % \begin{macrocode} -\let\SI@degs=\relax -\let\SI@mins=\relax -\let\SI@secs=\relax +\ifSI@eTeX + \DeclareRobustCommand{\ang}{% + \begingroup + \catcode`;=12\relax + \catcode`@=11\relax + \SI@ang} + \def\SI@ang#1{% + \scantokens{\SI@@ang#1;;;\@nil}% + \endgroup} + \def\SI@@ang#1;#2;#3;#4\@nil{% + \SI@@@ang{#1}{#2}{#3}}% +\else + \DeclareRobustCommand{\ang}[1]{% + \@nameuse{SI@ang@\romannumeral\catcode`\;}{#1}}% + \begingroup + \catcode`\;=12\relax + \gdef\SI@ang@xii#1{\SI@@ang@xii#1;;;\@nil} + \gdef\SI@@ang@xii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}} + \catcode`\;=\active\relax + \gdef\SI@ang@xiii#1{\SI@@ang@xiii#1;;;\@nil} + \gdef\SI@@ang@xiii#1;#2;#3;#4\@nil{\SI@@@ang{#1}{#2}{#3}} + \endgroup +\fi % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % -% \begin{macro}{\ang} -% \begin{macro}{\SI@ang} -% The robust user command to typeset angles. +% \begin{macro}{\SI@degs} +% \begin{macro}{\SI@mins} +% \begin{macro}{\SI@secs} +% \begin{macro}{\SI@@@ang} +% Scratch commands to hold definitions and typeset angles. % \begin{macrocode} -\DeclareRobustCommand{\ang}[1]{\SI@ang#1;;;\@nnil} +\let\SI@degs=\relax +\let\SI@mins=\relax +\let\SI@secs=\relax % \end{macrocode} % \begin{macrocode} -\def\SI@ang#1;#2;#3;#4\@nnil{% -\bgroup +\newcommand*{\SI@@@ang}[3]{{% \SI@ifempt{#3}{}{\def\SI@secs{\SInum{#3}\SIupmath{\arcsec}}% \def\SI@mins{\SInum{0}\SIupmath{\arcmin}}% \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}% \SI@ifempt{#2}{}{\def\SI@mins{\SInum{#2}\SIupmath{\arcmin}}% \def\SI@degs{\SInum{0}\SIupmath{\arcdeg}}}% \SI@ifempt{#1}{}{\def\SI@degs{\SInum{#1}\SIupmath{\arcdeg}}}% - \SI@degs\SI@mins\SI@secs -\egroup} + \SI@degs\SI@mins\SI@secs}} % \end{macrocode} % \end{macro} % \end{macro} -% +% \end{macro} +% \end{macro} % % % \section{Typesetting Units} |