9

I am looking for a latex package which supports roman number symbols. Particularly alternative / ancient roman symbols should be included in this package.

To be more precise, I currently need a symbol for thousand which looks like "(I)" or "CIↃ".

Peter
  • 93
  • 1
  • 1
  • 3

1 Answers1

5

Unicode with LuaLaTeX/XeLaTeX and Linux Libertine

An example with the OpenType font Linux Libertine, tested with LuaLaTeX and XeLaTeX. The characters can be used inside \textroman directly by the right Unicode characters or via macros \textroman....

(Update: Using \encodingdefault instead of EU2 to support XeLaTeX.)

\documentclass{article}
\usepackage{fontspec}

\newfontfamily\fontlibertine{Linux Libertine O}

\DeclareTextFontCommand{\textroman}{\fontlibertine}

% Using \encodingdefault, because LuaLaTeX uses EU2 and XeLaTeX EU1
\DeclareTextSymbol{\textromanOne}{\encodingdefault}{"2160}
\DeclareTextSymbol{\textromanTwo}{\encodingdefault}{"2161}
\DeclareTextSymbol{\textromanThree}{\encodingdefault}{"2162}
\DeclareTextSymbol{\textromanFour}{\encodingdefault}{"2163}
\DeclareTextSymbol{\textromanFive}{\encodingdefault}{"2164}
\DeclareTextSymbol{\textromanSix}{\encodingdefault}{"2165}
\DeclareTextSymbol{\textromanSeven}{\encodingdefault}{"2166}
\DeclareTextSymbol{\textromanEight}{\encodingdefault}{"2167}
\DeclareTextSymbol{\textromanNine}{\encodingdefault}{"2168}
\DeclareTextSymbol{\textromanTen}{\encodingdefault}{"2169}
\DeclareTextSymbol{\textromanEleven}{\encodingdefault}{"216A}
\DeclareTextSymbol{\textromanTwelve}{\encodingdefault}{"216B}
\DeclareTextSymbol{\textromanFifty}{\encodingdefault}{"216C}
\DeclareTextSymbol{\textromanHundred}{\encodingdefault}{"216D}
\DeclareTextSymbol{\textromanFivehundred}{\encodingdefault}{"216E}
\DeclareTextSymbol{\textromanThousand}{\encodingdefault}{"216F}

\DeclareTextSymbol{\textromanone}{\encodingdefault}{"2170}
\DeclareTextSymbol{\textromantwo}{\encodingdefault}{"2171}
\DeclareTextSymbol{\textromanthree}{\encodingdefault}{"2172}
\DeclareTextSymbol{\textromanfour}{\encodingdefault}{"2173}
\DeclareTextSymbol{\textromanfive}{\encodingdefault}{"2174}
\DeclareTextSymbol{\textromansix}{\encodingdefault}{"2175}
\DeclareTextSymbol{\textromanseven}{\encodingdefault}{"2176}
\DeclareTextSymbol{\textromaneight}{\encodingdefault}{"2177}
\DeclareTextSymbol{\textromannine}{\encodingdefault}{"2178}
\DeclareTextSymbol{\textromanten}{\encodingdefault}{"2179}
\DeclareTextSymbol{\textromaneleven}{\encodingdefault}{"217A}
\DeclareTextSymbol{\textromantwelve}{\encodingdefault}{"217B}
\DeclareTextSymbol{\textromanfifty}{\encodingdefault}{"217C}
\DeclareTextSymbol{\textromanhundred}{\encodingdefault}{"217D}
\DeclareTextSymbol{\textromanfivehundred}{\encodingdefault}{"217E}
\DeclareTextSymbol{\textromanthousand}{\encodingdefault}{"217F}

\DeclareTextSymbol{\textromanThousandCD}{\encodingdefault}{"2180}
\DeclareTextSymbol{\textromanFiveThousand}{\encodingdefault}{"2181}
\DeclareTextSymbol{\textromanTenThousand}{\encodingdefault}{"2182}
\DeclareTextSymbol{\textromanCreversed}{\encodingdefault}{"2183}
\DeclareTextSymbol{\textromancreversed}{\encodingdefault}{"2184}


\begin{document}

\newcommand*{\test}[2]{%
  \textsf{U+#1}
  & \textsf{\textbackslash textroman#2}
  & \textroman{\csname textroman#2\endcsname}
  & \textroman{\bfseries\csname textroman#2\endcsname}
  & \textroman{\itshape\csname textroman#2\endcsname}
  \tabularnewline
}

\begin{tabular}{lllll}
\test{2160}{One}   
\test{2161}{Two}   
\test{2162}{Three} 
\test{2163}{Four}   
\test{2164}{Five}   
\test{2165}{Six}    
\test{2166}{Seven}  
\test{2167}{Eight}  
\test{2168}{Nine}   
\test{2169}{Ten}    
\test{216A}{Eleven} 
\test{216B}{Twelve} 
\test{216C}{Fifty}  
\test{216D}{Hundred}
\test{216E}{Fivehundred}
\test{216F}{Thousand}
\test{2170}{one}   
\test{2171}{two}   
\test{2172}{three} 
\test{2173}{four}   
\test{2174}{five}   
\test{2175}{six}    
\test{2176}{seven}  
\test{2177}{eight}  
\test{2178}{nine}   
\test{2179}{ten}    
\test{217A}{eleven} 
\test{217B}{twelve} 
\test{217C}{fifty}  
\test{217D}{hundred}
\test{217E}{fivehundred} 
\test{217F}{thousand}    
\test{2180}{ThousandCD}  
\test{2181}{FiveThousand}
\test{2182}{TenThousand}
\test{2183}{Creversed}
\test{2184}{creversed}
\end{tabular}

\bigskip
\begin{tabular}{ll} 
\multicolumn{2}{l}{Unsupported:}\\[1ex]
\textsf{U+2185} & roman numeral six late form\\
\textsf{U+2186} & roman numeral fifty early form\\
\textsf{U+2187} & roman numeral fifty thousand\\
\textsf{U+2188} & roman numeral one hundred thousand
\end{tabular}      

\end{document}      

Roman numerals with font Linux Libertine

Reversed C with \reflectbox

can be generated using \reflectbox of package graphics:

\documentclass{article}
\usepackage{graphicx}% or graphics
\usepackage{amstext}

\newcommand*{\textCreversed}{\text{\reflectbox{C}}}

\begin{document}

CI\textCreversed\textsuperscript{CI\textCreversed}

\end{document}

Reversed C with \reflectbox

David Carlisle
  • 757,742
Heiko Oberdiek
  • 271,626
  • I can not check this right now, but it seems like a good solution. Too bad that this is not part of a package. – Peter Sep 10 '12 at 14:00
  • You can also use XeLaTeX, provided EU2 is changed into EU1. You can say \DeclareTextSymbol{\textromanOne}{\encodingdefault}{"2160} to make it work for both engines. – egreg Sep 10 '12 at 14:03