# Enlarging tracking (= letter spacing)

I am trying to enlarge letter spacing. I have already tried soul package, but it seems it can enlarge only for a single phrase and i would like to enlarge for entire document.

Soul command was something like this:

\so{phrase with more letter spacing here}


Which is the command to set a higher letter spacing for all the document?

• I am not sure why you'd want to increase tracking for all typeface styles. The microtype package lets you add tracking selectively. For example, the following increases tracking for small caps only: \usepackage[tracking=smallcaps,expansion=alltext,protrusion=true]{microtype}\SetTracking[spacing={25*,166,}]{encoding=*,shape=sc}{50}. (It also adds some other nice options which improve the overall look and feel of you document.:-) – user10274 Dec 28 '12 at 18:04

You can use the microtype package with it's letterspace=<value> option. Legal values are between -1000 and 1000, specified in thousandths of an em, with the value 0 keeping the text as it would normally appear. microtype provides the command \textls{<letterspaced text>} and the switch \lsstyle:

\documentclass{scrartcl}

\usepackage[letterspace=150]{microtype}
\usepackage{kantlipsum}% to provide sample text
\begin{document}
\kant[1]

\lsstyle
\kant[1]

\end{document}


One should not know how to space out letters without knowing the typograhic rules when to apply it. Many LaTeX users will be well aware of them but some might not so I am going to repeat them here. Not covering exceptions the basic rules are:

1. Never space out lowercase letters! Instead of a single word you will get a series of single letters. If you actually want to typeset a series of letters there are better ways than to space out a word.

2. Always (modestly) space out uppercase letters (and maybe small caps, too). Without they usually look too tight and letters like O may cause white holes in a word. Too much spacing again will turn a word into a series of single letters.

• tried this and i got: "pdfTeX error (font expansion): auto expansion is only possible with scalable fonts." – dynamic Jul 6 '12 at 8:04
• @yes123: If you tried exactly this example and got the message your TeXsystem is either very outdated or you changed the default configuration of pdftex. If you added \usepackage[T1]{fontenc}: Install the cm-super fonts (large package) or switch to the lmodern fonts with \usepackage{lmodern} – Ulrike Fischer Jul 6 '12 at 8:16

If you are using XeTeX or LuaTeX you can change the spacing with fontspec:

\documentclass{article}

\usepackage{fontspec}
\defaultfontfeatures{LetterSpace=50}
\setmainfont{Latin Modern Roman}

\usepackage{lipsum}
\begin{document}
\lipsum[1]
\end{document}


But I’m really not sure if it’s a good idea to increase the letter spacing from a typographic and readability enhancement point of view.

• The good thing about using the package microtype is that you don't need to set a fixed spacing before hand, it automatically calculates the best spacing at every region of your text. It also has more advanced features such as protrusion, kerning, tracking... – skan Nov 3 '17 at 16:33
• @skan: Of course, but at the time I wrote the answer microtype was not compatible with Lua- or XeTeX. Furthermore there is also an answer suggesting microtype, so consider mine as addendum ;-) – Tobi Nov 3 '17 at 18:58