为什么计数器(\arabic{section}
)将目录中的所有部分都设置为 0?
这是我的 MWE:
\documentclass[10pt]{book}
\usepackage{fontspec}
\usepackage{titlesec}
\usepackage{lipsum}
\renewcommand\thesection{Section~\arabic{section}}
\usepackage{titletoc}
\titlecontents{section}[1.5em]{\large}
{\thesection\hspace{1cm}}
{}
{}
\begin{document}
\tableofcontents
\chapter{1}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\chapter{2}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\end{document}
答案1
解释是,当您\thesection
在 中写入时\titlecontents
,它使用section
代码编写时的计数器值 - 并且该计数器尚未递增。您必须使用写入文件中的值.toc
,并且可以使用 访问该值\thecontentslabel
,如文档中所述。
这是一个有效的代码:
\documentclass[10pt]{book}
\usepackage{fontspec}
\usepackage{titlesec}
\usepackage{lipsum}
\usepackage{titlesec}
\titleformat{\section}{\Large\bfseries}{Section~\thesection}{1em}{}
\usepackage{titletoc}
\titlecontents{section}[1.5em]{\large}
{\thecontentslabel\hspace{1cm}}
{}
{}
\begin{document}
\tableofcontents
\chapter{One}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\chapter{Two}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\section{Here}
\end{document}
顺便问一下,您不想要目录中的章节页码吗?