Created
June 21, 2018 15:38
-
-
Save dginev/535b60e6ed9be937b5e3485a1efe8cac to your computer and use it in GitHub Desktop.
An etoolbox-inspired way of printing 1995 (latexml deficient)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\documentclass{article} | |
\makeatletter | |
\newcommand{\ifblank}[1]{% from expl3 | |
\expandafter\ifx\expandafter\relax\detokenize\expandafter{\@gobble#1?}\relax | |
\expandafter\@firstoftwo | |
\else | |
\expandafter\@secondoftwo | |
\fi} | |
\def\etb@rti@prs#1#2{% | |
\ifx% | |
\expandafter\@firstoftwo | |
\else | |
\expandafter\@secondoftwo | |
\fi | |
{#1#2} | |
{\ifx% | |
\expandafter\@firstoftwo | |
\else | |
\expandafter\@secondoftwo | |
\fi | |
{\etb@rti@chk#1+\etb@rti@num#1#2} | |
{\etb@rti@chk#1\etb@rti@chk#2% | |
\ifnum\etb@rti@num#1<\etb@rti@num#2 % | |
\expandafter\@firstoftwo | |
\else | |
\expandafter\@secondoftwo | |
\fi | |
{+\etb@rti@num#2-\etb@rti@num#1\etb@rti@prs} | |
{+\etb@rti@num#1\etb@rti@prs#2}}}} | |
\def\etb@rti@chk#1{% | |
\ifcsname etb@rmn@#1\endcsname | |
\else | |
\expandafter\etb@rti@brk | |
\fi} | |
\def\etb@rti@brk#1&{+\z@&-1} | |
\def\etb@rti@end#1\relax{\ifblank{#2}{#1}{#2}} | |
\def\etb@rti@num#1{\csname etb@rmn@#1\endcsname} | |
\chardef\etb@rmn@i=1 | |
\chardef\etb@rmn@I=1 | |
\chardef\etb@rmn@v=5 | |
\chardef\etb@rmn@V=5 | |
\chardef\etb@rmn@x=10 | |
\chardef\etb@rmn@X=10 | |
\chardef\etb@rmn@l=50 | |
\chardef\etb@rmn@L=50 | |
\chardef\etb@rmn@c=100 | |
\chardef\etb@rmn@C=100 | |
\mathchardef\etb@rmn@d=500 | |
\mathchardef\etb@rmn@D=500 | |
\mathchardef\etb@rmn@m=1000 | |
\mathchardef\etb@rmn@M=1000 | |
\begin{document} | |
% --- example | |
\expandafter\etb@rti@end\number\numexpr\expandafter\etb@rti@prs\detokenize{mcmxcv}&\relax | |
\end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment