Babel parece quebrar o espaçamento entre letras do pacote soul

Aug 18 2020

Este é um MWE de um livro em que estou trabalhando.

\documentclass[10pt,twoside]{book}
% \usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{soul}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhf{}
\fancyfoot[LE]{\so{\MakeUppercase{Book Title}}}
\fancyfoot[RO]{\so{\MakeUppercase{\leftmark}}}
\fancypagestyle{plain}{\fancyhf{}}

\begin{document}
\chapter{My Chapter Title}
\blindtext[11]
\end{document}

Isso é essencialmente o que eu quero ter. Exceto que para de funcionar assim que removo o comentário na frente da segunda linha. (Observe, isso é apenas sobre o rodapé em páginas ímpares!) De alguma forma, o babelpacote parece quebrar o espaçamento entre letras de soul. O que fazer?

Respostas

3 egreg Aug 18 2020 at 04:02

Com babel, \leftmarkproduz uma sequência de comandos bastante complicada e \sodesiste muito cedo.

Você pode usar microtypeem vez disso.

\documentclass[10pt,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{microtype}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhf{}
\makeatletter
\fancyfoot[LE]{\textls{\MakeUppercase{Book Title}}}
\fancyfoot[RO]{\textls{\MakeUppercase{\leftmark}}}
\fancypagestyle{plain}{\fancyhf{}}

\begin{document}
\chapter{My Chapter Title}
\blindtext[11]
\end{document}