感谢 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}