我想在每一章的开头创建一个自动目录 (ToC)。为此,我使用了 titlesec 和 titletoc 包的组合。我使用\titleformat
包含命令来在章节标题后打印目录。但为了看起来更好,我还希望每一章的目录看起来像文档开头的主要目录,特别是章节和子章节的缩进……因此,我发现我需要使用\titlecontents
。
我的问题来了,这个组合给出了错误! LaTeX Error: Something's wrong--perhaps a missing \item.
。我不明白发生了什么。
以下是一个例子:
\documentclass[onecolumn,twoside,openright,a4paper,11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{titletoc}
\setcounter{secnumdepth}{3}
\AtBeginDocument{
\titlecontents{psection}[2.3em] {} {\contentslabel{2.3em}} {} {\titlerule*[1pc]{.}\contentspage}
\titlecontents{psubsection}[5.5em] {} {\contentslabel{3.2em}} {} {\titlerule*[1pc]{.}\contentspage}
\titlecontents{psubsubsection}[9.6em] {} {\contentslabel{4.1em}} {} {\titlerule*[1pc]{.}\contentspage}
}
\usepackage{titlesec}
\titleformat{\chapter}[hang]{\filright}{}{0pt}{ \Huge \bfseries\raggedleft}
[\vspace*{4pc}%
\startcontents
{\raggedleft\bfseries \large minitoc}\newline\llap
\noindent\hrulefill
\printcontents{p}{1}{\setcounter{tocdepth}{3}}
\noindent\hrulefill]
\begin{document}
\tableofcontents
\chapter{chapter}
\section{title section}
\subsection{subsection}
\subsubsection{subsubsection}
\subsubsection{subsubsection}
\subsubsection{ssubsubection}
\chapter{chapter}
\section{section}
\subsection{subsection}
\subsubsection{subsubsection}
\subsubsection{ssubsubection}
\section{section}
\subsection{subsection}
\end{document}
答案1
这是一个解决方案。
\documentclass[a4paper,11pt]{book}
\usepackage[T1]{fontenc}
\usepackage{titletoc}
\setcounter{secnumdepth}{3}
\AtBeginDocument{
\titlecontents{psection}[2.3em] {} {\contentslabel{2.3em}} {} {\titlerule*[1pc]{.}\contentspage}
\titlecontents{psubsection}[5.5em] {} {\contentslabel{3.2em}} {} {\titlerule*[1pc]{.}\contentspage}
\titlecontents{psubsubsection}[9.6em] {} {\contentslabel{4.1em}} {} {\titlerule*[1pc]{.}\contentspage}
}
\usepackage{titlesec}
\titleformat{\chapter}[hang]{\filright}{}{0pt}{ \Huge \bfseries\raggedleft}
[\vspace*{4pc}%
\startcontents
{\raggedleft\bfseries \large minitoc\endgraf}
\titlerule
\vspace{6pt}
\printcontents{p}{1}{\setcounter{tocdepth}{3}}
\vspace{6pt}
\titlerule]
\begin{document}
\tableofcontents
\chapter{chapter}
\section{title section}
\subsection{subsection}
\subsubsection{subsubsection}
\subsubsection{subsubsection}
\subsubsection{ssubsubection}
\chapter{chapter}
\section{section}
\subsection{subsection}
\subsubsection{subsubsection}
\subsubsection{ssubsubection}
\section{section}
\subsection{subsection}
\end{document}
笔记您需要为带星号的章节定义一种新格式,请参阅 titlesec 文档的第 9 页。