Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- \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}
Add Comment
Please, Sign In to add comment