Guest User

Untitled

a guest
Jun 22nd, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. \documentclass{article}
  2. \makeatletter
  3.  
  4. \newcommand{\ifblank}[1]{% from expl3
  5. \expandafter\ifx\expandafter\relax\detokenize\expandafter{\@gobble#1?}\relax
  6. \expandafter\@firstoftwo
  7. \else
  8. \expandafter\@secondoftwo
  9. \fi}
  10.  
  11. \def\etb@rti@prs#1#2{%
  12. \ifx&#1%
  13. \expandafter\@firstoftwo
  14. \else
  15. \expandafter\@secondoftwo
  16. \fi
  17. {#1#2}
  18. {\ifx&#2%
  19. \expandafter\@firstoftwo
  20. \else
  21. \expandafter\@secondoftwo
  22. \fi
  23. {\etb@rti@chk#1+\etb@rti@num#1#2}
  24. {\etb@rti@chk#1\etb@rti@chk#2%
  25. \ifnum\etb@rti@num#1<\etb@rti@num#2 %
  26. \expandafter\@firstoftwo
  27. \else
  28. \expandafter\@secondoftwo
  29. \fi
  30. {+\etb@rti@num#2-\etb@rti@num#1\etb@rti@prs}
  31. {+\etb@rti@num#1\etb@rti@prs#2}}}}
  32.  
  33. \def\etb@rti@chk#1{%
  34. \ifcsname etb@rmn@#1\endcsname
  35. \else
  36. \expandafter\etb@rti@brk
  37. \fi}
  38.  
  39. \def\etb@rti@brk#1&{+\z@&-1}
  40. \def\etb@rti@end#1&#2\relax{\ifblank{#2}{#1}{#2}}
  41. \def\etb@rti@num#1{\csname etb@rmn@#1\endcsname}
  42.  
  43. \chardef\etb@rmn@i=1
  44. \chardef\etb@rmn@I=1
  45. \chardef\etb@rmn@v=5
  46. \chardef\etb@rmn@V=5
  47. \chardef\etb@rmn@x=10
  48. \chardef\etb@rmn@X=10
  49. \chardef\etb@rmn@l=50
  50. \chardef\etb@rmn@L=50
  51. \chardef\etb@rmn@c=100
  52. \chardef\etb@rmn@C=100
  53. \mathchardef\etb@rmn@d=500
  54. \mathchardef\etb@rmn@D=500
  55. \mathchardef\etb@rmn@m=1000
  56. \mathchardef\etb@rmn@M=1000
  57.  
  58.  
  59. \begin{document}
  60.  
  61. % --- example
  62. \expandafter\etb@rti@end\number\numexpr\expandafter\etb@rti@prs\detokenize{mcmxcv}&\relax
  63.  
  64. \end{document}
Add Comment
Please, Sign In to add comment