texlive[42608] Master/texmf-dist: dozenal (30nov16)
commits+karl at tug.org
commits+karl at tug.org
Wed Nov 30 23:24:45 CET 2016
Revision: 42608
http://tug.org/svn/texlive?view=revision&revision=42608
Author: karl
Date: 2016-11-30 23:24:44 +0100 (Wed, 30 Nov 2016)
Log Message:
-----------
dozenal (30nov16)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/fonts/dozenal/CHANGES
trunk/Master/texmf-dist/doc/fonts/dozenal/dozenal.pdf
trunk/Master/texmf-dist/source/fonts/dozenal/dozenal.dtx
trunk/Master/texmf-dist/tex/latex/dozenal/dozenal.sty
Modified: trunk/Master/texmf-dist/doc/fonts/dozenal/CHANGES
===================================================================
--- trunk/Master/texmf-dist/doc/fonts/dozenal/CHANGES 2016-11-30 01:05:27 UTC (rev 42607)
+++ trunk/Master/texmf-dist/doc/fonts/dozenal/CHANGES 2016-11-30 22:24:44 UTC (rev 42608)
@@ -1,3 +1,8 @@
+For version 7.0, added the "\doman" and "\Doman" macros for
+dozenal-style Roman numerals. Also reorganized the
+documentation. Submitted to CTAN on 25 Nov 1200 (29 Nov
+2016).
+
For version 6.0, added the "\doznumtowords" macro, which
will take a counter and output it in dozenal words. Which
words it uses can be customized; I have made no attempt to
Modified: trunk/Master/texmf-dist/doc/fonts/dozenal/dozenal.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/fonts/dozenal/dozenal.dtx
===================================================================
--- trunk/Master/texmf-dist/source/fonts/dozenal/dozenal.dtx 2016-11-30 01:05:27 UTC (rev 42607)
+++ trunk/Master/texmf-dist/source/fonts/dozenal/dozenal.dtx 2016-11-30 22:24:44 UTC (rev 42608)
@@ -24,7 +24,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{dozenal}[2015/01/29 v6.0 support for dozenal fonts]
+%<package>\ProvidesPackage{dozenal}[2015/01/29 v7.0 support for dozenal fonts]
%<*driver>
\documentclass{ltxdoc}
@@ -54,7 +54,7 @@
\end{document}
%</driver>
% \fi
-% \title{The \texttt{dozenal} Package, v6.0}
+% \title{The \texttt{dozenal} Package, v7.0}
% \author{Donald P.\ Goodman III}
% \date{\today}
%
@@ -104,7 +104,7 @@
% will compile that), and finally, it includes original
% dozenal characters, specifically designed to blend in well
% with Knuth's Computer Modern fonts, though they should do
-% fine with the more common body fonts, as well.
+% fine with a few other common body fonts, as well.
%
% This document was typeset in accordance with the \LaTeX\
% \textsc{docstrip} utility, which allows automatic
@@ -139,13 +139,15 @@
% off if desired.
% \item Provides macros for converting dozenal numbers to
% words; e.g., ``3\e'' to ``three dozen eleven.''
+% \item Provides macros for converting numbers to ``doman''
+% numerals; that is, a dozenal version of Roman numerals.
% \end{itemize}
%
% That covered, we can now move on to how these features are
% exploited by the user.
%
-% \section{Base Conversion}
-% \label{sect:numconv}
+% \subsection{Base Conversion}
+% \label{sub:numconv}
%
% The |dozenal| package provides several new commands for
% base conversion. The first, and by far the most important
@@ -239,8 +241,11 @@
% So |\basex| is of limited utility, but it's a nice tool to
% add to the box.
%
-% Finally, we can convert counters into \emph{words}, by
-% supplying said counter's name to the
+% \subsection{Numbers to Words}
+% \label{sub:numtowords}
+%
+% |dozenal| allows you to easily convert counters into
+% \emph{words}, by supplying said counter's name to the
% \DescribeMacro{\doznumtoword}|\doznumtoword| macro. It
% takes as its argument the name of a \emph{counter} (not a
% number itself!) and converts this into words:
@@ -262,7 +267,7 @@
% capitalization, use other macros; e.g.,
% \DescribeMacro{\DOZnumtoword}|\DOZnumtoword{somecount}| gives
% ``\DOZnumtoword{somecount},'' while
-% \DescribeMacro{\Doznumtoword}|\Doznumtoword{somecount| gives
+% \DescribeMacro{\Doznumtoword}|\Doznumtoword{somecount}| gives
% ``\Doznumtoword{somecount}.''
%
% |\doznumtoword| (and friends) do act correctly when there
@@ -292,22 +297,134 @@
% This type of macro is useful for putting page numbers in
% both digits and words, for example.
%
-% Lastly, |dozenal| allows the use of the common dozenal
-% radix point, ``;'', to work properly in math mode. Some
-% dozenalists prefer to use ``;'' rather than ``.'' (or
-% ``,'') to mark the transition from integers to fractions
-% in numbers; e.g., three-and-a-half is ``3;6.'' In math
-% mode, however, this doesn't work; a semicolon in math
-% mode is punctuation, and a spurious space is inserted
-% (quite correctly) afterward. We don't want this space
-% when we're using it as a radix point. So |dozenal| (using
-% code adapted from Walter Schmidt's |icomma| package) fixes
-% this:
+% \subsection{Doman Numerals}
+% \label{sub:domannums}
%
-% |$3;6$| = 3;6
+% Dozenalists have also come up with some ideas for how to
+% use Roman numerals in a decimal way; therefore, the
+% |dozenal| package provides some macros to assist with
+% that, as well.
%
-% And all is right with the world.
+% To form ``Doman'' numerals, we simply alter the values of
+% the traditional Roman characters into more
+% dozenal-friendly alternatives. So ``v'' is 6, ``x'' is
+% 10, and so on. Then, to avoid stringing four of the same
+% character together, we extend the subtractive principle to
+% allow up to \emph{two} lower characters prior to a
+% higher-value character. So, e.g., ``iiv'' is $6 - 2$, or
+% 4, while ``iv'' is $6 - 1$, or 5.
%
+% The macros |\Doman|\DescribeMacro{\Doman}\ and
+% |\doman|\DescribeMacro{\doman}\ are equivalent to |\Roman|
+% and |\roman|, giving either capitalized or lowercase
+% dozenal Roman numerals.
+%
+% \newcounter{testdoman}\setcounter{testdoman}{1}
+% \renewcommand\thetestdoman{\doman{\value{testdoman}}}
+%
+% \begin{center}
+% \begin{tabular}{cccccccccccccc}
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} &
+% \dozens{\value{testdoman}} & \thetestdoman\stepcounter{testdoman} \\
+% \end{tabular}
+% \end{center}
+%
+% In the table above, the Doman numerals 1--60 are
+% displayed, along with their Hindu-Arabic equivalents. This
+% table was produced entirely using a new \LaTeX\ counter,
+% |testdoman|; |\thetestdoman| was defined by saying
+%
+% \begin{quote}
+% |\renewcommand\thetestdoman{\doman{\value{testdoman}}}|
+% \end{quote}
+%
+% The Hindu-Arabic columns were displayed with
+% |\dozens{\value{testdoman}}|. Every two table cells,
+% |testdoman| is increased by one. The whole table was
+% produced without manually entering a single number in
+% either form.
+%
+% Most commonly, Roman numerals are seen in part numbers and
+% in the page numbering of frontmatter.
+% To achieve that result, do:
+%
+% \begin{quote}
+% |\renewcommand\thepage{\doman{\arabic{page}}}|
+% \end{quote}
+%
+% You can reset this to normal dozenal numerals (or whatever
+% else you'd prefer) when you reach your mainmatter.
+%
% \section{Dozenal Characters and Fonts}
% \label{sect:fonts}
%
@@ -315,7 +432,7 @@
% \label{sub:shorthands}
%
% To make use of the |\dozens| shorthand discussed
-% earlier,\footnote{See supra, Section \ref{sect:numconv},
+% earlier,\footnote{See supra, Section \ref{sub:numconv},
% at page \pageref{page:dozens}.} you need to have the
% commands |\x| and |\e| defined. Fortunately, this package
% does that for you.
@@ -371,6 +488,9 @@
%
% They will work in paragraph or math mode without
% distinction.
+%
+% \subsection{Tally Marks}
+% \label{sub:tallymarks}
%
% As of v4.0, |dozenal| also includes fonts for tally marks
% specifically designed for use in the dozenal base. In many
@@ -408,6 +528,25 @@
% The fonts are all prefixed |dozch|, if for some reason
% direct access to them is needed.
%
+% \subsection{Dozenal Radix Point}
+% \label{sub:dozradixpoint}
+%
+% Lastly, |dozenal| allows the use of the common dozenal
+% radix point, ``;'', to work properly in math mode. Some
+% dozenalists prefer to use ``;'' rather than ``.'' (or
+% ``,'') to mark the transition from integers to fractions
+% in numbers; e.g., three-and-a-half is ``3;6.'' In math
+% mode, however, this doesn't work; a semicolon in math
+% mode is punctuation, and a spurious space is inserted
+% (quite correctly) afterward. We don't want this space
+% when we're using it as a radix point. So |dozenal| (using
+% code adapted from Walter Schmidt's |icomma| package) fixes
+% this:
+%
+% |$3;6$| = 3;6
+%
+% And all is right with the world.
+%
% \section{Package Options}
% \label{sect:packopts}
%
@@ -631,6 +770,140 @@
\doz at total=0%
}%
% \end{macrocode}
+% Finally, we define the macros for creating ``Doman''
+% (dozenal Roman) numerals. One, of course, is defined in
+% terms of the other. First, though, we need a modulus
+% operator:
+% \begin{macrocode}
+\newcount\doz at modulus%
+\def\doz at modulo#1#2{%
+ \doz at modulus=#1%
+ \divide\doz at modulus by#2%
+ \multiply\doz at modulus by#2%
+ \multiply\doz at modulus by-1%
+ \advance\doz at modulus by#1\relax%
+}%
+\newcount\doz at quotient%
+\def\doz at quot#1#2{%
+ \doz at quotient=#1%
+ \divide\doz at quotient by#2%
+}%
+% \end{macrocode}
+% Now we can move on to the meat of the operation:
+% \begin{macrocode}
+\newcount\doz at romct%
+\newif\ifdoz at domancaps%
+\def\doz at doman#1{%
+ \doz at romct=#1%
+ \doz at quot{\doz at romct}{1728}%
+ \loop\ifnum\doz at quotient>0%
+ \ifdoz at domancaps M\else m\fi%
+ \advance\doz at quotient by-1%
+ \advance\doz at romct by-1728%
+ \repeat
+ \ifnum\doz at romct>1440
+ \ifnum\doz at romct<1584
+ \ifdoz at domancaps CCM\else ccm\fi%
+ \advance\doz at romct by-1440
+ \else%\ifnum\doz at romct>1583
+ \ifdoz at domancaps CM\else cm\fi%
+ \advance\doz at romct by-1584
+ \fi
+ \fi
+ \ifnum\doz at romct>575%
+ \ifnum\doz at romct<719
+ \ifdoz at domancaps CCD\else ccd\fi%
+ \advance\doz at romct by-576
+ \else
+ \ifnum\doz at romct<864%
+ \ifdoz at domancaps CD\else cd\fi%
+ \advance\doz at romct by-720%
+ \fi
+ \fi
+ \else
+ \ifnum\doz at romct>719
+ \ifdoz at domancaps D\else d\fi%
+ \advance\doz at romct by-719%
+ \fi
+ \fi
+ \doz at quot{\doz at romct}{144}%
+ \loop\ifnum\doz at quotient>0%
+ \ifdoz at domancaps C\else c\fi%
+ \advance\doz at quotient by-1%
+ \advance\doz at romct by-144%
+ \repeat
+ \ifnum\doz at romct>119
+ \ifnum\doz at romct<132
+ \ifdoz at domancaps XXC\else xxc\fi%
+ \advance\doz at romct by-120
+ \else
+ \ifdoz at domancaps XC\else xc\fi%
+ \advance\doz at romct by-132
+ \fi
+ \fi
+ \ifnum\doz at romct>71
+ \ifdoz at domancaps L\else l\fi%
+ \advance\doz at romct by-72
+ \fi
+ \ifnum\doz at romct>47%
+ \ifnum\doz at romct>59%
+ \ifdoz at domancaps XL\else xl\fi%
+ \advance\doz at romct by-60%
+ \else
+ \ifdoz at domancaps XXL\else xxl\fi%
+ \advance\doz at romct by-48%
+ \fi
+ \fi
+ \doz at quot{\doz at romct}{12}%
+ \loop\ifnum\doz at quotient>0%
+ \ifdoz at domancaps X\else x\fi%
+ \advance\doz at quotient by-1%
+ \advance\doz at romct by-12%
+ \repeat
+ \doz at modulo{\doz at romct}{12}%
+ \ifnum\doz at modulus=10
+ \ifdoz at domancaps IIX\else iix\fi%
+ \advance\doz at romct by-10
+ \fi
+ \ifnum\doz at modulus=11
+ \ifdoz at domancaps IX\else ix\fi%
+ \advance\doz at romct by-11
+ \fi
+ \ifnum\doz at romct>5
+ \ifdoz at domancaps V\else v\fi%
+ \advance\doz at romct by-6
+ \fi
+ \ifnum\doz at romct>3%
+ \ifnum\doz at romct=4%
+ \ifdoz at domancaps IIV\else iiv\fi%
+ \advance\doz at romct by-4%
+ \else
+ \ifnum\doz at romct=5%
+ \ifdoz at domancaps IV\else iv\fi%
+ \advance\doz at romct by-5%
+ \fi
+ \ifnum\doz at romct=6%
+ \ifdoz at domancaps V\else v\fi%
+ \advance\doz at romct by-6
+ \fi
+ \fi
+ \fi
+ \doz at quot{\doz at romct}{1}%
+ \loop\ifnum\doz at quotient>0%
+ \ifdoz at domancaps I\else i\fi%
+ \advance\doz at quotient by-1%
+ \advance\doz at romct by-1%
+ \repeat
+}
+\protected\def\doman#1{%
+ \doz at domancapsfalse%
+ \doz at doman{#1}%
+}%
+\protected\def\Doman#1{%
+ \doz at domancapstrue%
+ \doz at doman{#1}%
+}%
+% \end{macrocode}
% Now, of course, we simply redefine all the counters. This
% covers only those counters included in the basic \LaTeX\
% document classes, however, so if you've written your own,
@@ -905,4 +1178,3 @@
% \end{macrocode}
% And that's the end. Thanks for reading,
% folks; please email me with any suggestions or improvements.
-% \printindex
Modified: trunk/Master/texmf-dist/tex/latex/dozenal/dozenal.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/dozenal/dozenal.sty 2016-11-30 01:05:27 UTC (rev 42607)
+++ trunk/Master/texmf-dist/tex/latex/dozenal/dozenal.sty 2016-11-30 22:24:44 UTC (rev 42608)
@@ -25,7 +25,7 @@
%% This work consists of the files listed in dozenalfilelist.txt.
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{dozenal}[2015/01/29 v6.0 support for dozenal fonts]
+\ProvidesPackage{dozenal}[2015/01/29 v7.0 support for dozenal fonts]
\RequirePackage{fixltx2e}
\RequirePackage{xstring}
\RequirePackage{ifpdf}
@@ -130,6 +130,131 @@
\doz at multiplier=1%
\doz at total=0%
}%
+\newcount\doz at modulus%
+\def\doz at modulo#1#2{%
+\doz at modulus=#1%
+\divide\doz at modulus by#2%
+\multiply\doz at modulus by#2%
+\multiply\doz at modulus by-1%
+\advance\doz at modulus by#1\relax%
+}%
+\newcount\doz at quotient%
+\def\doz at quot#1#2{%
+\doz at quotient=#1%
+\divide\doz at quotient by#2%
+}%
+\newcount\doz at romct%
+\newif\ifdoz at domancaps%
+\def\doz at doman#1{%
+\doz at romct=#1%
+\doz at quot{\doz at romct}{1728}%
+\loop\ifnum\doz at quotient>0%
+\ifdoz at domancaps M\else m\fi%
+\advance\doz at quotient by-1%
+\advance\doz at romct by-1728%
+\repeat
+\ifnum\doz at romct>1440
+\ifnum\doz at romct<1584
+\ifdoz at domancaps CCM\else ccm\fi%
+\advance\doz at romct by-1440
+\else%\ifnum\doz at romct>1583
+\ifdoz at domancaps CM\else cm\fi%
+\advance\doz at romct by-1584
+\fi
+\fi
+\ifnum\doz at romct>575%
+\ifnum\doz at romct<719
+\ifdoz at domancaps CCD\else ccd\fi%
+\advance\doz at romct by-576
+\else
+\ifnum\doz at romct<864%
+\ifdoz at domancaps CD\else cd\fi%
+\advance\doz at romct by-720%
+\fi
+\fi
+\else
+\ifnum\doz at romct>719
+\ifdoz at domancaps D\else d\fi%
+\advance\doz at romct by-719%
+\fi
+\fi
+\doz at quot{\doz at romct}{144}%
+\loop\ifnum\doz at quotient>0%
+\ifdoz at domancaps C\else c\fi%
+\advance\doz at quotient by-1%
+\advance\doz at romct by-144%
+\repeat
+\ifnum\doz at romct>119
+\ifnum\doz at romct<132
+\ifdoz at domancaps XXC\else xxc\fi%
+\advance\doz at romct by-120
+\else
+\ifdoz at domancaps XC\else xc\fi%
+\advance\doz at romct by-132
+\fi
+\fi
+\ifnum\doz at romct>71
+\ifdoz at domancaps L\else l\fi%
+\advance\doz at romct by-72
+\fi
+\ifnum\doz at romct>47%
+\ifnum\doz at romct>59%
+\ifdoz at domancaps XL\else xl\fi%
+\advance\doz at romct by-60%
+\else
+\ifdoz at domancaps XXL\else xxl\fi%
+\advance\doz at romct by-48%
+\fi
+\fi
+\doz at quot{\doz at romct}{12}%
+\loop\ifnum\doz at quotient>0%
+\ifdoz at domancaps X\else x\fi%
+\advance\doz at quotient by-1%
+\advance\doz at romct by-12%
+\repeat
+\doz at modulo{\doz at romct}{12}%
+\ifnum\doz at modulus=10
+\ifdoz at domancaps IIX\else iix\fi%
+\advance\doz at romct by-10
+\fi
+\ifnum\doz at modulus=11
+\ifdoz at domancaps IX\else ix\fi%
+\advance\doz at romct by-11
+\fi
+\ifnum\doz at romct>5
+\ifdoz at domancaps V\else v\fi%
+\advance\doz at romct by-6
+\fi
+\ifnum\doz at romct>3%
+\ifnum\doz at romct=4%
+\ifdoz at domancaps IIV\else iiv\fi%
+\advance\doz at romct by-4%
+\else
+\ifnum\doz at romct=5%
+\ifdoz at domancaps IV\else iv\fi%
+\advance\doz at romct by-5%
+\fi
+\ifnum\doz at romct=6%
+\ifdoz at domancaps V\else v\fi%
+\advance\doz at romct by-6
+\fi
+\fi
+\fi
+\doz at quot{\doz at romct}{1}%
+\loop\ifnum\doz at quotient>0%
+\ifdoz at domancaps I\else i\fi%
+\advance\doz at quotient by-1%
+\advance\doz at romct by-1%
+\repeat
+}
+\protected\def\doman#1{%
+\doz at domancapsfalse%
+\doz at doman{#1}%
+}%
+\protected\def\Doman#1{%
+\doz at domancapstrue%
+\doz at doman{#1}%
+}%
\@ifundefined{nocounters}{%
\@ifundefined{c at page}{}{%
\renewcommand\thepage{\basexii{\value{page}}{\x}{\e}}}
More information about the tex-live-commits
mailing list