我的 TOC 遇到了一些问题。
我想知道你们中是否有人可以帮忙将“章节”放在“章节名称”上方,如下所示:
如果这在 TeX 中可行 - 并且不需要 \usepackage{tocloft}?
我感谢任何形式的帮助!
我曾尝试在序言中放入以下代码——但没有成功:
\usepackage{titletoc}
\titlecontents{chapter} [1.5em] % ie, 1.5em (chapter) + 2.3em {} {\contentslabel{2.3em}} {\hspace*{-2.3em}} {}
答案1
这样可以吗?(我在回答你上一篇文章时重复使用了该代码,但修改了的最后一个参数\titlespacing
):
\documentclass[11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{MinionPro}
\usepackage[english]{babel}
\usepackage[pagestyles ,newparttoc, explicit]{titlesec}%
\usepackage{titletoc}
\usepackage{microtype}
\SetTracking[no ligatures = {f}]{encoding = *}{100}
\usepackage[explicit]{titlesec}
\titleformat{name=\chapter}[display]{ \figureversion{lining}\uppercase
\titleformat{name=\chapter, numberless}{\lsstyle\Large}{}{0pt}{\MakeUppercase{#1}}
\titlespacing*{\chapter}{0pt}{2.5ex}{6ex}
\titlecontents{chapter}[0em]{\large\bfseries\protect\addvspace{15pt}}%
{\textssc{\mdseries\MakeLowercase\chaptername~\scalebox{1}[1.333]{\thecontentslabel}}\\\medskip}
{}%
{\hfill\contentspage}%
\AtBeginDocument{\def\contentsname{table of contents}}
\begin{document}
\tableofcontents
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}
\chapter{A first chapter}
\section{A nice little section}
\section{Another section}
\end{document}
答案2
无需加载额外的包。由于classicthesis
已经加载tocloft
,您可以简单地说
\renewcommand\cftchapaftersnumb{\par\noindent}
\makeatletter
\renewcommand\cftchappresnum{\textsc{\@chapapp~}}
\makeatother
\setlength\cftchapnumwidth{0pt}
完整示例:
\documentclass[hidelinks]{scrbook}
\usepackage{classicthesis}
\renewcommand\cftchapaftersnumb{\par\noindent}
\makeatletter
\renewcommand\cftchappresnum{\textsc{\small\@chapapp~}}
\makeatother
\setlength\cftchapnumwidth{0pt}
\begin{document}
\tableofcontents
\chapter{A test chapter}
\chapter{Another test chapter}
\chapter{Yet another test chapter}
\end{document}