在标题中添加跟踪(字母间距) - 首次尝试使用 soul

在标题中添加跟踪(字母间距) - 首次尝试使用 soul

感谢 Bernard 对我的最后一个问题的回答,我能够获得我想要的 ToC 页面外观。现在我面临最后一个(希望如此)问题:事实上,我认为我可以随时为大写标题添加一些跟踪(字母间距),但我没有立即意识到在 Bernard 的语法中这并不完全简单。至少使用我在 tex.stackexchange 上进行一些研究后计划的包 soul。这是我的 MWE:

\documentclass[11pt,twoside]{book}
\usepackage[a5paper,inner=14mm,outer=20mm,top=21mm,bottom=22.5mm]{geometry}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{textcomp}
\usepackage{gensymb}
\usepackage{graphicx}
\usepackage{units}
\usepackage{tcolorbox}
\usepackage{fancyhdr}
\usepackage{microtype}
\usepackage{mwe}

\usepackage{soul}
\sodef\myspaced{}{.12em}{.6em plus.1em minus.1em}{.6em plus.1em minus.1em}

\usepackage{titlesec}
\usepackage[rightlabels]{titletoc}
        \titlecontents{chapter}
        [6.55em]
        {\medskip}
        {\contentslabel[\textsf{\itshape\footnotesize\MakeUppercase{\chaptername}~\normalsize\thecontentslabel}]{6.55em}\quad\textbf}
        {\hspace*{-6.55em}\textbf}
        {\hfill\sffamily\contentspage}[\smallskip]

\titleformat{\chapter}[display]
{\normalfont\Large\filcenter\rmfamily}
{\LARGE\sffamily\MakeUppercase{\myspaced{\chaptertitlename}} \huge\thechapter}%  <--- HERE_1
{0.5pc}
{\color{green}\titleline*[c]{\titlerule[3pt]}\color{black}
\vspace{1pc}%
\Huge\bfseries}[\vspace{6pt}]
\setlength{\titlewidth}{0.65\textwidth}

\titleformat{name=\chapter, numberless}[block]
{\thispagestyle{empty}\vspace*{0.7ex}\normalfont\LARGE\filcenter\sffamily}%  <--- HERE_2
{}
{0em}
{\MakeUppercase}[\vspace{-0.8ex}{\color{green}\rule{\titlewidth}{3pt}}]%  <--- HERE_3

\begin{document}

\tableofcontents
\clearpage\thispagestyle{empty}

\chapter{Title of Chapter One}
\lipsum
\chapter{Title of Chapter Two}
\chapter{Title of Chapter Three is longer}
\chapter{Short}
\chapter{Other normal title}
\chapter{Other normal title}
\chapter{Other normal title}

\end{document}

我对标有 HERE_1 的行进行了干预,让我获得了我想要的章节标题。下图比较了引入“myspaced”命令之前和之后的结果:

在此处输入图片描述

现在我想使用目录中的单词“CONTENTS”获得相同的结果:

在此处输入图片描述

但我的尝试失败了。我尝试在 HERE_2 和 HERE_3 行中引入 \myspaced,但我得到的结果是(取决于我添加它的具体位置)从无到影响无衬线,再到编译错误。有人能帮我解决这个问题吗?我必须更换软件包吗?Soul 在第一次使用时非常简单!

谢谢你!

答案1

这是一个解决方案microtype:我设置了加载选项[letterspace=100](意思是100/1000 em)。包定义了命令\textls{#1}和开关\lsstyle

\documentclass[11pt,twoside]{book}
\usepackage[a5paper,inner=14mm,outer=20mm,top=21mm,bottom=22.5mm]{geometry}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{textcomp}
\usepackage{gensymb}
\usepackage{graphicx}
\usepackage{units}
\usepackage{tcolorbox}
\usepackage{fancyhdr}
\usepackage[letterspace=100]{microtype}
\usepackage{mwe}

\usepackage{titlesec}
\usepackage[rightlabels]{titletoc}
        \titlecontents{chapter}
        [6.55em]
        {\medskip}
        {\contentslabel[\textsf{\itshape\footnotesize\MakeUppercase{\chaptername}~\normalsize\thecontentslabel}]{6.55em}\quad\textbf}
        {\hspace*{-6.55em}\textbf}
        {\hfill\sffamily\contentspage}[\smallskip]

\titleformat{\chapter}[display]
{\normalfont\Large\filcenter\rmfamily}
{\LARGE\sffamily\MakeUppercase{\textls{\chaptertitlename}} \huge\thechapter}% <--- HERE_1
{0.5pc}
{\color{green}\titleline*[c]{\titlerule[3pt]}\color{black}
\vspace{1pc}%
\Huge\bfseries}[\vspace{6pt}]
\setlength{\titlewidth}{0.65\textwidth}

\titleformat{name=\chapter, numberless}[block]
{\thispagestyle{empty}\vspace*{0.7ex}\normalfont\LARGE\filcenter\sffamily}% <--- HERE_2
{}
{0em}
{\lsstyle\MakeUppercase}[\vspace{-0.8ex}{\color{green}\rule{\titlewidth}{3pt}}]% <--- HERE_3

\begin{document}

\tableofcontents
\clearpage\thispagestyle{empty}

\chapter{Title of Chapter One}
\lipsum
\chapter{Title of Chapter Two}
\chapter{Title of Chapter Three is longer}
\chapter{Short}
\chapter{Other normal title}
\chapter{Other normal title}
\chapter{Other normal title}

\end{document} 

在此处输入图片描述

相关内容