使用 \addchap 时未定义控制序列

使用 \addchap 时未定义控制序列

当我编译我的 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)。

相关内容