diff options
author | Karl Berry <karl@freefriends.org> | 2010-02-23 00:27:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-02-23 00:27:32 +0000 |
commit | 41a7ada80719f4f4cce32f15d40553c4f0b98e59 (patch) | |
tree | 6911b30d6937fd2dcac996f190516cd37fad2c7f /Master/texmf-dist | |
parent | 2bde0cef55deb13172e07c4e37e7f2289fe1f6b7 (diff) |
comma update (22feb10)
git-svn-id: svn://tug.org/texlive/trunk@17159 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/comma/comma.pdf | bin | 0 -> 157472 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/comma/comma.tex | 49 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/comma/comma.sty | 101 |
3 files changed, 150 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/comma/comma.pdf b/Master/texmf-dist/doc/latex/comma/comma.pdf Binary files differnew file mode 100644 index 00000000000..8a9e930d34f --- /dev/null +++ b/Master/texmf-dist/doc/latex/comma/comma.pdf diff --git a/Master/texmf-dist/doc/latex/comma/comma.tex b/Master/texmf-dist/doc/latex/comma/comma.tex new file mode 100644 index 00000000000..41760a7b54a --- /dev/null +++ b/Master/texmf-dist/doc/latex/comma/comma.tex @@ -0,0 +1,49 @@ +\documentclass[DIV=9, fontsize=14pt, parskip=full, pagesize=auto]{scrartcl} + +\usepackage{fixltx2e} +\usepackage{etex} +\usepackage{xspace} +\usepackage{lmodern} +\usepackage[T1]{fontenc} +\usepackage{textcomp} +\usepackage{microtype} +\usepackage[unicode=true]{hyperref} + +\newcommand*{\pkg}[1]{\textsf{#1}} +\newcommand*{\cs}[1]{\texttt{\textbackslash#1}} +\makeatletter +\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} +\makeatother + +\addtokomafont{title}{\rmfamily} +\topsep=\dimexpr0.8ex - \parskip\relax + +\title{The \pkg{comma} package\thanks{This manual corresponds to \pkg{comma}~v1.2, dated~1997/12/15.}} +\author{David Carlisle} +\date{1997/12/15} + + +\begin{document} + +\maketitle + +This package provides a means of producing numbers with a separator +(by default a comma) every three digits. + +Given a \LaTeX\ counter (eg \texttt{section}) +% +\begin{verbatim} +\renewcommand\thesection{\commaform{section}} +\end{verbatim} +% +If \texttt{section} is 12345, \cmd{\thesection} will now print as 12,345 + +If you want something other than a comma, for instance a thin +space, or a full word space, redefine \cmd{\commaformtoken}, for instance +% +\begin{verbatim} +\renewcommand\commaformtoken{\,} +\renewcommand\commaformtoken{ } +\end{verbatim} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/comma/comma.sty b/Master/texmf-dist/tex/latex/comma/comma.sty new file mode 100644 index 00000000000..26f6c4ac622 --- /dev/null +++ b/Master/texmf-dist/tex/latex/comma/comma.sty @@ -0,0 +1,101 @@ + +%%% comma.sty +%%% +%%% Copyright 1996 1997 David Carlisle +%%% +%%% This file may be distributed under the terms of the LPPL. +%%% See 00readme.txt for details. +%%% +%%% David Carlisle david@dcarlisle.demon.co.uk +%%% +\ProvidesPackage{comma} + [1997/12/15 v1.2 Insert commas every three digits (DPC)] + +%% This package provides a means of producing numbers with a separator +%% (by default a comma) every three digits. +%% +%% Given a LaTeX counter (eg section) +%% +%% \renewcommand\thesection{\commaform{section}} +%% +%% If section is 12345, \thesection will now print as 12,345 +%% +%% If you want something other than a comma, for instance a thin +%% space, or a full word space, redefine \commaformtoken, for instance +%% \renewcommand\commaformtoken{\,} +%% \renewcommand\commaformtoken{ } +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% v1.0 1996/09/05 +% v1.1 1997/07/10 +% v1.2 1997/12/15 + + +% #1 is the name of a LaTeX counter. +\def\commaform#1{% + \expandafter\@commaform\csname c@#1\endcsname} + +% The token to place every three digits. +\def\commaformtoken{,} + +% Internal version. +% #1 is the number. It may be a TeX count register, eg \count@ +% or an explicit number such as `1234'. +% v1.1 use \relax not empty so explicit digits need not end with a space +% token. +% (This \relax will be eaten by the parser, second two must be \@empty) +% v1.2 add \@comma@ux for very long digit strings (requested on c.t.t) +\def\@commaform#1{% + \expandafter\@commaaux + \expandafter{\expandafter}% + \number\@comma@ux#1% + \relax\@empty\@empty} + + +% If \@commaform is given a very long digit string then it may be +% too large for \number, so make sure \number only applies to the first +% token. This may leave a spurious space token, but it will be eaten +% by the \@commaaux parsing, which uses non delimited arguments, and +% so skips space tokens. +% Added in v1.2. +\def\@comma@ux#1{#1 } + +% Wander down to the end of the number and then see where +% \relax turns up. +% #1 List of digits already seen (initially {} ) +% #2#3#4 next three digits (or \@empty) in list. +\def\@commaaux#1#2#3#4{% + \ifx\relax#2% + \addcomma#1\relax + \else + \ifx\relax#3% + \addcomma\@empty\@empty#1#2\relax + \else + \ifx\relax#4% + \addcomma\@empty#1#2#3\relax + \else + \@commaauxafterfi{#1#2#3#4}% + \fi + \fi + \fi} + + +% Get out of the nested \if before recursing down the list of digits. +% #1 list of digits seen so far. +\def\@commaauxafterfi#1\fi\fi\fi{% + \fi\fi\fi\@commaaux{#1}} + +% Go down adding a `comma' every three tokens. The list will have +% been padded with 0 1 or 2 \@empty at the start so there is +% definitely a multiple of three tokens before the \relax. +% #1#2#3 are next three digits +% #4 is next digit, or \relax to stop +\def\addcomma#1#2#3#4{% + #1#2#3% + \if#4\relax + \else + \commaformtoken + \expandafter\addcomma\expandafter#4% + \fi} + |