TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've got a problem with the soul package while adding a letter-spacing to a result of a command that is defined just like this:

\newcommand{\myCommand}{some text}

In the document I'd like to have the result of that command displayed with letter-spacing:

 \textbf{\myAnotherCommand{} \textsc{\so{\myCommand{}}}}

but I get "Package soul error: Reconstruction failed" and a black square after the text "some text". If I understand soul package documentation properly, it's a problem with "grouping hyphenatable material" or font switching commands, isn't it? Unfortunately, I've no idea how to fix it. Am I supposed to register some command with \soulregister?

I'd be grateful for any advice.

share|improve this question
up vote 5 down vote accepted

With pdflatex the most easy way to get letterspacing is via microtype



 \textbf{\myAnotherCommand{} \textsc{\lsstyle \myCommand}}

This avoids the need to do all the involved tricks of soul. Letterspacing can be obtained via the package letterspace (included with microtype), but it doesn't hurt to load the bigger one (it's very advantageous, actually).

With XeLaTeX a similar effect can be obtained with


(the number can be chosen to suit one's needs):

 \textbf{\myAnotherCommand{} \textsc{\addfontfeature{LetterSpace=2.0} \myCommand}}

This particular combination might fail, because not all fonts family have a boldface small caps font.

share|improve this answer
Thanks for showing me another way to do that. It's really much simpler and works fine for me :) – Paulina R Jul 14 '11 at 12:07

Your Answer


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.