From c1213d46c544f3eb84570c25c0a1496e6ce405f3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 30 Nov 2016 22:24:44 +0000 Subject: dozenal (30nov16) git-svn-id: svn://tug.org/texlive/trunk@42608 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/fonts/dozenal/CHANGES | 5 + Master/texmf-dist/doc/fonts/dozenal/dozenal.pdf | Bin 306055 -> 303838 bytes Master/texmf-dist/source/fonts/dozenal/dozenal.dtx | 318 +++++++++++++++++++-- Master/texmf-dist/tex/latex/dozenal/dozenal.sty | 127 +++++++- 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 Binary files a/Master/texmf-dist/doc/fonts/dozenal/dozenal.pdf and b/Master/texmf-dist/doc/fonts/dozenal/dozenal.pdf 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 %\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] %<*driver> \documentclass{ltxdoc} @@ -54,7 +54,7 @@ \end{document} % % \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}}} -- cgit v1.2.3