Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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Ↄ".

share|improve this question
    
If a font does not provide CIↃ it can be generated by \usepackage{graphics}...CI\reflectbox{C}. –  Heiko Oberdiek Sep 10 '12 at 12:36
    
Thanks for the hint, this works for my special case. I am still hoping for a more elaborate solution which also incorporates further symbols. –  Peter Sep 10 '12 at 12:41
    
Perhaps of some relevance: Using unicode Roman numerals in XeTeX –  Joseph Wright Sep 10 '12 at 13:45
    
Good find, thanks. –  Peter Sep 10 '12 at 13:59
add comment

1 Answer

up vote 2 down vote accepted

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

share|improve this answer
    
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
    
@egreg Thanks, I have updated the answer. –  Heiko Oberdiek Sep 10 '12 at 14:29
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.