From 873660d1a83ece926fe7206288dda9c36b349c1b Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Thu, 12 Jan 2006 23:46:03 +0000
Subject: generic 1

git-svn-id: svn://tug.org/texlive/trunk@613 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/generic/genmisc/nth.sty | 56 +++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 Master/texmf-dist/tex/generic/genmisc/nth.sty

(limited to 'Master/texmf-dist/tex/generic/genmisc/nth.sty')

diff --git a/Master/texmf-dist/tex/generic/genmisc/nth.sty b/Master/texmf-dist/tex/generic/genmisc/nth.sty
new file mode 100644
index 00000000000..8a96c73903d
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/genmisc/nth.sty
@@ -0,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
+
-- 
cgit v1.2.3

