# Roman numerals not close enough together [duplicate]

Instead of 'III' (three 'I's), I want the numbers to look more like those in the attached image. When using Computer Modern font, is it possible to just remove the horizontal space between letters? a previous post worked around this by defining a new command using /makebox, but some of the dimensions used absolute length units and therefore is not a solution for different fonts, especially when you want to use this in subscripts or superscripts.

## marked as duplicate by Werner, Stefan Pinnow, TeXnician, Mensch, MicoFeb 1 '18 at 7:02

• Which font are you using? – Sigur Jan 31 '18 at 19:05
• To get that sort of effect easily, you will need a typeface that has roman numerals correctly spaced. The only freely available typeface that has them (that I know of though there may well be others) is the Brill typeface available at brill.com/about/brill-typeface/…. – sgmoye Jan 31 '18 at 20:01
• the font you show is a "condensed" font -- letters are much narrower than the usual "book" type. even applying negative letterspacing, the result will not be quite comparable to what you are showing here. – barbara beeton Jan 31 '18 at 21:42

You can insert a negative space between two characters:

\documentclass{article}

\newcommand{\joinR}{\hspace{-.1em}}
\newcommand{\RomanI}{I}
\newcommand{\RomanII}{\mbox{\RomanI\joinR\RomanI}}
\newcommand{\RomanIII}{\mbox{\RomanI\joinR\RomanII}}
\newcommand{\RomanIV}{\mbox{\RomanI\joinR\RomanV}}
\newcommand{\RomanV}{V}
\newcommand{\RomanVI}{\mbox{\RomanV\joinR\RomanI}}
\newcommand{\RomanVII}{\mbox{\RomanV\joinR\RomanII}}
\newcommand{\RomanVIII}{\mbox{\RomanV\joinR\RomanIII}}
\newcommand{\RomanIX}{\mbox{\RomanI\joinR\RomanX}}
\newcommand{\RomanX}{X}

\begin{document}

I \RomanI

II \RomanII

III \RomanIII

IV \RomanIV

V \RomanV

VI \RomanVI

VII \RomanVII

VIII \RomanVIII

IX \RomanIX

X \RomanX

\end{document}


The above should work with all font switches (\tiny, \scriptsize, \footnotesize, ..., \Huge). You can adjust the spacing as needed, if you want them closer together/further apart.

microtype's letterspace package also provides \textls that you can use (the starred version):

\documentclass{article}

\usepackage{letterspace}

\newcommand{\ROMAN}{\textls*[-100]}

\begin{document}

I \ROMAN{I}

II \ROMAN{II}

III \ROMAN{III}

IV \ROMAN{IV}

V \ROMAN{V}

VI \ROMAN{VI}

VII \ROMAN{VII}

VIII \ROMAN{VIII}

IX \ROMAN{IX}

X \ROMAN{X}

\end{document}


The following defines two macros. The first is \tighten which reduces the space between every letter of its argument by a given length (by default 0.25ex). This is intended for manual insertion of roman numerals.

The second is \TightRoman which uses \tighten to set a counter with tightened Roman numbers.

\documentclass[]{article}

\makeatletter
\newlength\tighten@stretch
\newcommand*\tighten[2][0.25ex]{%
\if\relax\detokenize{#2}\relax% detect empty argument
\else
\bgroup
\tighten@stretch=#1
\expandafter\tighten@#2@%
\egroup
\fi}
\def\tighten@#1#2{%
#1%
\tighten@check{#2}{%
\kern-\tighten@stretch
\tighten@#2
}}
\def\tighten@check#1{%
\ifx @#1%
\expandafter\@gobble
\else
\expandafter\@firstofone
\fi}
\newcommand*\TightRoman[2][0.25ex]{%
\edef\TightRoman@tmp{\Roman{#2}}%
\expandafter\TightRoman@i\expandafter{\TightRoman@tmp}{#1}}%
\newcommand*\TightRoman@i[2]{%
\tighten[#2]{#1}}
\makeatother

\begin{document}
\noindent
\newcounter{mycounter}%
\loop\ifnum\value{mycounter}<20
\stepcounter{mycounter}%
\TightRoman{mycounter}\space
\repeat

\tighten{XII}
\end{document}


Results:

I think this post solved my problem: Enlarging tracking (= letter spacing)

\usepackage[letterspace=-150]{microtype}

\textls{III}


gives the desired results.