Babel ดูเหมือนจะทำลายตัวอักษรเว้นวรรคของแพ็คเกจวิญญาณ

Aug 18 2020

นี่คือ MWE ของหนังสือที่ฉันกำลังทำอยู่

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

นี่คือสิ่งที่ฉันต้องการเป็นหลัก ยกเว้นว่ามันจะหยุดทำงานเมื่อฉันลบความคิดเห็นที่อยู่หน้าบรรทัดที่สอง (หมายเหตุนี้เป็นเพียงเกี่ยวกับส่วนท้ายบนหน้าแปลก!) อย่างใดที่babelแพคเกจดูเหมือนว่าจะทำลาย letterspacing soulของ จะทำอย่างไร?

คำตอบ

3 egreg Aug 18 2020 at 04:02

ด้วยbabel, \leftmarkผลิตลำดับที่ค่อนข้างซับซ้อนของคำสั่งและ\soให้ขึ้นเร็วมาก

คุณสามารถใช้microtypeแทนได้

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