Author: bugman Date: Tue Oct 16 18:09:35 2012 New Revision: 17870 URL: http://svn.gna.org/viewcvs/relax?rev=17870&view=rev Log: Added the public domain LaTeX nth.sty style file for the user manual. Some LaTeX distributions do not have this style file and, as it is public domain, it can be legally distributed with relax allowing the PDF manual to compile on more systems. Added: trunk/docs/latex/nth.sty Added: trunk/docs/latex/nth.sty URL: http://svn.gna.org/viewcvs/relax/trunk/docs/latex/nth.sty?rev=17870&view=auto ============================================================================== --- trunk/docs/latex/nth.sty (added) +++ trunk/docs/latex/nth.sty Tue Oct 16 18:09:35 2012 @@ -1,0 +1,56 @@ +% nth.sty version 2002/27/02 Donald Arseneau +% Ordinal numbering style, 1st 2nd 3rd 4th 5th... 12th... 101st 102nd... +% +% (Public domain: take, include, extract, whatever) +% +% In LaTeX: +% \usepackage[super,negative]{nth} +% where option [super] gives superscript `th' +% and option [negative] allows ``st, nd, rd'' suffixes on negative numbers. +% +% example: \renewcommand{\thesection}{\ordinal{section}} +% or \renewcommand{\thesection}{\@ordinal\c@section} +% or \renewcommand{\thesection}{\nth\c@section} +% +% In plain TeX: +% \input nth.sty +% use: \nth{<number>}. +% Change formatting by redefining \nthscript and \nthtest + +\def\nth#1{% First print number: + \expandafter\nthM \number #1\relax + \nthscript{% + \ifnum#1\nthtest0 th\else % negatives are all ``th'' (depending on \nthtest) + \expandafter \nthSuff \expandafter 0\number\ifnum #1<0-\fi#1\delimiter + \fi + }} + +% Minus sign using math mode: +\def\nthM#1{\if -#1\ifmmode-\else$-$\fi\else #1\fi} + +% Print suffix depending on last two digits: +\def\nthSuff#1#2#3{% + \ifx \delimiter#3% #1#2 are last two digits + \ifnum #1=1 th% teens are always ``th'' + \else % use appropriate suffix + \ifcase #2 th\or st\or nd\or rd\else th\fi + \fi + \else % continue scanning for last two digits + \expandafter \nthSuff \expandafter #2\expandafter #3% + \fi} + +% Formatting hook for ordinals (\let\nthscript\textsuperscript) +\def\nthscript#1{#1}% alternate: \def\nthscript#1{$\rm^{#1}$} + +% Formatting hook for all negative numbers giving ``th'' +\def\nthtest{<} % alternate: \def\nthtest{=} + +\ifx\Alph\undefined\else + \def\ordinal#1{\expandafter\@ordinal\csname c@#1\endcsname} + \let\@ordinal\nth + \ProvidesPackage{nth}[2002/02/27] + \DeclareOption{super}{\def\nthscript{\textsuperscript}} + \DeclareOption{negative}{\def\nthtest{=}} + \ProcessOptions +\fi +