summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-11-30 22:24:44 +0000
committerKarl Berry <karl@freefriends.org>2016-11-30 22:24:44 +0000
commitc1213d46c544f3eb84570c25c0a1496e6ce405f3 (patch)
tree07da6b1009e32d0853814d6da7fc6934f6e00c67
parent69f5f1e7becd703e2188781ebc7849053617de0d (diff)
dozenal (30nov16)
git-svn-id: svn://tug.org/texlive/trunk@42608 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/fonts/dozenal/CHANGES5
-rw-r--r--Master/texmf-dist/doc/fonts/dozenal/dozenal.pdfbin306055 -> 303838 bytes
-rw-r--r--Master/texmf-dist/source/fonts/dozenal/dozenal.dtx318
-rw-r--r--Master/texmf-dist/tex/latex/dozenal/dozenal.sty127
4 files changed, 426 insertions, 24 deletions
diff --git a/Master/texmf-dist/doc/fonts/dozenal/CHANGES b/Master/texmf-dist/doc/fonts/dozenal/CHANGES
index 7beee9b10f1..94c81d23747 100644
--- a/Master/texmf-dist/doc/fonts/dozenal/CHANGES
+++ b/Master/texmf-dist/doc/fonts/dozenal/CHANGES
@@ -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
diff --git a/Master/texmf-dist/doc/fonts/dozenal/dozenal.pdf b/Master/texmf-dist/doc/fonts/dozenal/dozenal.pdf
index 9d96bef5a6d..fd0046cef7e 100644
--- a/Master/texmf-dist/doc/fonts/dozenal/dozenal.pdf
+++ b/Master/texmf-dist/doc/fonts/dozenal/dozenal.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/fonts/dozenal/dozenal.dtx b/Master/texmf-dist/source/fonts/dozenal/dozenal.dtx
index 1a911b0d0e3..1d9edc67e2d 100644
--- a/Master/texmf-dist/source/fonts/dozenal/dozenal.dtx
+++ b/Master/texmf-dist/source/fonts/dozenal/dozenal.dtx
@@ -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,21 +297,133 @@
% 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@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@modulus%
+\def\doz@modulo#1#2{%
+ \doz@modulus=#1%
+ \divide\doz@modulus by#2%
+ \multiply\doz@modulus by#2%
+ \multiply\doz@modulus by-1%
+ \advance\doz@modulus by#1\relax%
+}%
+\newcount\doz@quotient%
+\def\doz@quot#1#2{%
+ \doz@quotient=#1%
+ \divide\doz@quotient by#2%
+}%
+% \end{macrocode}
+% Now we can move on to the meat of the operation:
+% \begin{macrocode}
+\newcount\doz@romct%
+\newif\ifdoz@domancaps%
+\def\doz@doman#1{%
+ \doz@romct=#1%
+ \doz@quot{\doz@romct}{1728}%
+ \loop\ifnum\doz@quotient>0%
+ \ifdoz@domancaps M\else m\fi%
+ \advance\doz@quotient by-1%
+ \advance\doz@romct by-1728%
+ \repeat
+ \ifnum\doz@romct>1440
+ \ifnum\doz@romct<1584
+ \ifdoz@domancaps CCM\else ccm\fi%
+ \advance\doz@romct by-1440
+ \else%\ifnum\doz@romct>1583
+ \ifdoz@domancaps CM\else cm\fi%
+ \advance\doz@romct by-1584
+ \fi
+ \fi
+ \ifnum\doz@romct>575%
+ \ifnum\doz@romct<719
+ \ifdoz@domancaps CCD\else ccd\fi%
+ \advance\doz@romct by-576
+ \else
+ \ifnum\doz@romct<864%
+ \ifdoz@domancaps CD\else cd\fi%
+ \advance\doz@romct by-720%
+ \fi
+ \fi
+ \else
+ \ifnum\doz@romct>719
+ \ifdoz@domancaps D\else d\fi%
+ \advance\doz@romct by-719%
+ \fi
+ \fi
+ \doz@quot{\doz@romct}{144}%
+ \loop\ifnum\doz@quotient>0%
+ \ifdoz@domancaps C\else c\fi%
+ \advance\doz@quotient by-1%
+ \advance\doz@romct by-144%
+ \repeat
+ \ifnum\doz@romct>119
+ \ifnum\doz@romct<132
+ \ifdoz@domancaps XXC\else xxc\fi%
+ \advance\doz@romct by-120
+ \else
+ \ifdoz@domancaps XC\else xc\fi%
+ \advance\doz@romct by-132
+ \fi
+ \fi
+ \ifnum\doz@romct>71
+ \ifdoz@domancaps L\else l\fi%
+ \advance\doz@romct by-72
+ \fi
+ \ifnum\doz@romct>47%
+ \ifnum\doz@romct>59%
+ \ifdoz@domancaps XL\else xl\fi%
+ \advance\doz@romct by-60%
+ \else
+ \ifdoz@domancaps XXL\else xxl\fi%
+ \advance\doz@romct by-48%
+ \fi
+ \fi
+ \doz@quot{\doz@romct}{12}%
+ \loop\ifnum\doz@quotient>0%
+ \ifdoz@domancaps X\else x\fi%
+ \advance\doz@quotient by-1%
+ \advance\doz@romct by-12%
+ \repeat
+ \doz@modulo{\doz@romct}{12}%
+ \ifnum\doz@modulus=10
+ \ifdoz@domancaps IIX\else iix\fi%
+ \advance\doz@romct by-10
+ \fi
+ \ifnum\doz@modulus=11
+ \ifdoz@domancaps IX\else ix\fi%
+ \advance\doz@romct by-11
+ \fi
+ \ifnum\doz@romct>5
+ \ifdoz@domancaps V\else v\fi%
+ \advance\doz@romct by-6
+ \fi
+ \ifnum\doz@romct>3%
+ \ifnum\doz@romct=4%
+ \ifdoz@domancaps IIV\else iiv\fi%
+ \advance\doz@romct by-4%
+ \else
+ \ifnum\doz@romct=5%
+ \ifdoz@domancaps IV\else iv\fi%
+ \advance\doz@romct by-5%
+ \fi
+ \ifnum\doz@romct=6%
+ \ifdoz@domancaps V\else v\fi%
+ \advance\doz@romct by-6
+ \fi
+ \fi
+ \fi
+ \doz@quot{\doz@romct}{1}%
+ \loop\ifnum\doz@quotient>0%
+ \ifdoz@domancaps I\else i\fi%
+ \advance\doz@quotient by-1%
+ \advance\doz@romct by-1%
+ \repeat
+}
+\protected\def\doman#1{%
+ \doz@domancapsfalse%
+ \doz@doman{#1}%
+}%
+\protected\def\Doman#1{%
+ \doz@domancapstrue%
+ \doz@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
diff --git a/Master/texmf-dist/tex/latex/dozenal/dozenal.sty b/Master/texmf-dist/tex/latex/dozenal/dozenal.sty
index b2becd88c90..bed19e412d2 100644
--- a/Master/texmf-dist/tex/latex/dozenal/dozenal.sty
+++ b/Master/texmf-dist/tex/latex/dozenal/dozenal.sty
@@ -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 @@ dozchbx10 <12-> dozchbx12 }{}
\doz@multiplier=1%
\doz@total=0%
}%
+\newcount\doz@modulus%
+\def\doz@modulo#1#2{%
+\doz@modulus=#1%
+\divide\doz@modulus by#2%
+\multiply\doz@modulus by#2%
+\multiply\doz@modulus by-1%
+\advance\doz@modulus by#1\relax%
+}%
+\newcount\doz@quotient%
+\def\doz@quot#1#2{%
+\doz@quotient=#1%
+\divide\doz@quotient by#2%
+}%
+\newcount\doz@romct%
+\newif\ifdoz@domancaps%
+\def\doz@doman#1{%
+\doz@romct=#1%
+\doz@quot{\doz@romct}{1728}%
+\loop\ifnum\doz@quotient>0%
+\ifdoz@domancaps M\else m\fi%
+\advance\doz@quotient by-1%
+\advance\doz@romct by-1728%
+\repeat
+\ifnum\doz@romct>1440
+\ifnum\doz@romct<1584
+\ifdoz@domancaps CCM\else ccm\fi%
+\advance\doz@romct by-1440
+\else%\ifnum\doz@romct>1583
+\ifdoz@domancaps CM\else cm\fi%
+\advance\doz@romct by-1584
+\fi
+\fi
+\ifnum\doz@romct>575%
+\ifnum\doz@romct<719
+\ifdoz@domancaps CCD\else ccd\fi%
+\advance\doz@romct by-576
+\else
+\ifnum\doz@romct<864%
+\ifdoz@domancaps CD\else cd\fi%
+\advance\doz@romct by-720%
+\fi
+\fi
+\else
+\ifnum\doz@romct>719
+\ifdoz@domancaps D\else d\fi%
+\advance\doz@romct by-719%
+\fi
+\fi
+\doz@quot{\doz@romct}{144}%
+\loop\ifnum\doz@quotient>0%
+\ifdoz@domancaps C\else c\fi%
+\advance\doz@quotient by-1%
+\advance\doz@romct by-144%
+\repeat
+\ifnum\doz@romct>119
+\ifnum\doz@romct<132
+\ifdoz@domancaps XXC\else xxc\fi%
+\advance\doz@romct by-120
+\else
+\ifdoz@domancaps XC\else xc\fi%
+\advance\doz@romct by-132
+\fi
+\fi
+\ifnum\doz@romct>71
+\ifdoz@domancaps L\else l\fi%
+\advance\doz@romct by-72
+\fi
+\ifnum\doz@romct>47%
+\ifnum\doz@romct>59%
+\ifdoz@domancaps XL\else xl\fi%
+\advance\doz@romct by-60%
+\else
+\ifdoz@domancaps XXL\else xxl\fi%
+\advance\doz@romct by-48%
+\fi
+\fi
+\doz@quot{\doz@romct}{12}%
+\loop\ifnum\doz@quotient>0%
+\ifdoz@domancaps X\else x\fi%
+\advance\doz@quotient by-1%
+\advance\doz@romct by-12%
+\repeat
+\doz@modulo{\doz@romct}{12}%
+\ifnum\doz@modulus=10
+\ifdoz@domancaps IIX\else iix\fi%
+\advance\doz@romct by-10
+\fi
+\ifnum\doz@modulus=11
+\ifdoz@domancaps IX\else ix\fi%
+\advance\doz@romct by-11
+\fi
+\ifnum\doz@romct>5
+\ifdoz@domancaps V\else v\fi%
+\advance\doz@romct by-6
+\fi
+\ifnum\doz@romct>3%
+\ifnum\doz@romct=4%
+\ifdoz@domancaps IIV\else iiv\fi%
+\advance\doz@romct by-4%
+\else
+\ifnum\doz@romct=5%
+\ifdoz@domancaps IV\else iv\fi%
+\advance\doz@romct by-5%
+\fi
+\ifnum\doz@romct=6%
+\ifdoz@domancaps V\else v\fi%
+\advance\doz@romct by-6
+\fi
+\fi
+\fi
+\doz@quot{\doz@romct}{1}%
+\loop\ifnum\doz@quotient>0%
+\ifdoz@domancaps I\else i\fi%
+\advance\doz@quotient by-1%
+\advance\doz@romct by-1%
+\repeat
+}
+\protected\def\doman#1{%
+\doz@domancapsfalse%
+\doz@doman{#1}%
+}%
+\protected\def\Doman#1{%
+\doz@domancapstrue%
+\doz@doman{#1}%
+}%
\@ifundefined{nocounters}{%
\@ifundefined{c@page}{}{%
\renewcommand\thepage{\basexii{\value{page}}{\x}{\e}}}