Babel sembra rompere la spaziatura delle lettere del pacchetto dell'anima

Aug 18 2020

Questo è un MWE di un libro su cui sto lavorando.

\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}

Questo è essenzialmente quello che voglio avere. Tranne che smette di funzionare una volta rimosso il commento davanti alla seconda riga. (Nota, questo riguarda solo il piè di pagina nelle pagine dispari!) In qualche modo, il babelpacchetto sembra interrompere la spaziatura delle lettere di soul. Cosa fare?

Risposte

3 egreg Aug 18 2020 at 04:02

Con babel, \leftmarkproduce una sequenza di comandi abbastanza complicata e \sosi arrende molto presto.

Puoi usare microtypeinvece.

\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}