mailr17870 - /trunk/docs/latex/nth.sty


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on October 16, 2012 - 18:09:
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
+




Related Messages


Powered by MHonArc, Updated Tue Oct 16 18:20:01 2012