当我编译我的 thesis.tex 文件时(该文件编译得很好,包括)\addchap
,我注意到我使用了\usepackage{unnumberedtotoc}
。当我想在另一台计算机上使用我的 thesis.tex 文件时,它说超出了 tex 容量,抱歉 [输入堆栈大小 = 5000]。当我取消注释时\usepackage{unnumberedtotoc}
,它说!未定义的控制序列 \addchap
。在这里,我粘贴了我在论文中使用的所有包的开头,但我仍然在编译中遇到一些问题,我不知道为什么,但我想如果我可以编译此代码,那么我就可以解决问题:
\immediate\write18{makeindex \jobname.nlo -s nomencl.ist -o \jobname.nls}
\documentclass[12pt]{report}
\DeclareMathSizes{12}{30}{16}{12}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{lineno}
\usepackage{amsmath}
\usepackage{array, nccmath}
\usepackage[nottoc]{tocbibind}
\newcolumntype{L}{>{$}l<{$}}
\newcolumntype{m}{>{\displaystyle}l}
\usepackage{framed}
\usepackage{cclicenses}
\usepackage{makecell}
\usepackage[french]{babel}
\usepackage{setspace}
\usepackage{mathptmx}
\usepackage{multirow}
\usepackage{gensymb}
\usepackage{empheq}
\usepackage{mathtools}
\usepackage{array}
\renewcommand{\arraystretch}{1.9}
\newcolumntype{P}{>{\centering\arraybackslash$}p{1.6em}<{$}}
\newcolumntype{C}{>{\centering\arraybackslash$}c<{$}}
\usepackage{makecell}
\usepackage{booktabs}
\usepackage{subcaption}
\usepackage[intoc]{nomencl}
\makenomenclature
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\usepackage[justification=centering]{caption}
\usepackage{etoolbox}
\usepackage{unnumberedtotoc} %https://github.com/johannesbottcher/unnumberedtotoc/
\usepackage[automark,
plainheadsepline,
headsepline,
plainfootsepline,
footsepline,
markcase=ignoreupper]{scrlayer-scrpage}
\clearpairofpagestyles
\ihead*{\leftmark}
\cfoot*{\pagemark}
\setkomafont{pageheadfoot}{\scshape}
\usepackage{titlesec}
\graphicspath{{imagesthesis/}}
\def\frenchlistfigurename{Liste des figures}
\usepackage[a4paper,right=20mm,left=25mm,top=26mm, bottom=26mm]{geometry}
\makeatletter
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
% this alters "before" spacing (the second length argument) to 0
\titlespacing*{\chapter}{0pt}{0pt}{20pt}
%\patchcmd{\@makechapterhead}{\vspace*{20\p@}}{}{}{}% Removes space above \chapter head
%\patchcmd{\@makeschapterhead}{\vspace*{20\p@}}{}{}{}% Removes space above \chapter* head
\makeatother
\title {itle of the thesis}
\titleformat{\paragraph}
{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
\titlespacing*{\paragraph}
{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\usepackage[thin, , thinc]{esdiff}
\usepackage{subcaption}
\usepackage{caption}
\usepackage{framed}
\usepackage{nomencl}
\setlength{\nomitemsep}{-\parskip}\usepackage{booktabs,multirow}
\renewcommand{\cellset}{\renewcommand{\arraystretch}{0.5}}
\begin{document}
\renewcommand\arraystretch{0.8}
%\noindent
\doublespacing
\maketitle
\tableofcontents
%\listoffigures
\addchap{Publications et communications}
\section*{$\:$ a. Publications:}
\section*{$\:$ b. Communications:}
\addchap{Remerciements}
\end{document}
答案1
我不知道\addchap
(texdoc unnumberedtotoc
什么都没返回) 是什么,但我猜它会生成一个未编号的\chapter
,并可能将其添加到目录中。执行此操作的一般方法是使用\chapter*{Unnumbered title}
后跟\addcontentsline{toc}{chapter}{Unnumbered title}
。我减少了您的 MWE 并添加了 的示例\addtcontentsline
。
% tocprob3.tex SE 531673 add to ToC???
\documentclass{report}
\begin{document}
\tableofcontents
% \addchap{Publications et communications}
\chapter*{Publications et communications}
\addcontentsline{toc}{chapter}{Publications et communications}
\section*{$\:$ a. Publications}
\addcontentsline{toc}{section}{$\:$ a. Publications}
\section*{$\:$ b. Communications}
% \addchap{Remerciements}
\chapter*{Remerciements}
\addcontentsline{toc}{chapter}{Remerciements}
\end{document}
有关\addcontentsline
一个地方的更多详细信息,其中之一是查看包的文档tocloft
(> texdoc tocloft
)。