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