如何使章节*,章节*和子章节*出现在目录中

时间:2010-10-23 03:31:57

标签: latex

我需要制作一份PDF文档,其中我需要一些“章节”(及其章节和小节),以便不编号但仍包含在ToC中。

这是我的硕士论文。我正在使用书籍文档课程,因为我不喜欢回忆录默认设置。

如果我使用\chapter*,那么LaTeX会从ToC中删除该章节。但我要求在ToC中也有这些。此外,标题(花式)不会随\chapter*更改。

论文的总体结构是:

\maketitle %% A custom one
\frontmatter
\tableofcontents
\listoftables
\listoffigures

\chapter*{Abstract}
\chapter*{Introduction} %% This "chapter" presents the whole thesis

\mainmatter

%% Here the real chapters are written

\appendix
%% Appendixes here

%% bibliography

如何让\chapter*\section*\subsection*出现在ToC中并修改标题?

祝你好运, 曼努埃尔。

更新:我想我可能正在使用一些干扰页眉和页脚生成方式的软件包。 smilingthax的答案让问题的第一部分得到回应:我现在已经在TOC上了解了我的章节。

这是我的完整序言:

\usepackage[sort&compress,round,semicolon]{natbib}
\usepackage{babel}
\usepackage{setspace}
%% inputenc so we can write in spanish
\usepackage[utf8]{inputenc}

\usepackage{fixltx2e} % LaTeX patches, \textsubscript
\usepackage{cmap} % fix search and cut-and-paste in PDF
\usepackage{ifthen}
%% \usepackage{float} % float configuration
%% \floatplacement{figure}{TH} % place figures here definitely

%% fontenc so we can use TrueType fonts
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{garamond}
\usepackage{graphicx}
\usepackage{titlesec}

\usepackage[table]{xcolor}
%% Custom colors
\definecolor{blue}{rgb}{0.2,0.2,0.95}
\definecolor{green}{rgb}{0.2,0.95,0.2}
\definecolor{red}{rgb}{0.95,0.2,0.2}
\definecolor{cyan}{rgb}{0,0,0.95}
\definecolor{ligthred}{rgb}{1, 0, 0}
\definecolor{black}{rgb}{0, 0, 0}

\definecolor{shade}{HTML}{D4D7FE} %light blue shade

% Margins
\usepackage[left=0.9in,top=1in,right=0.7in,bottom=1in]{geometry}


\usepackage[pdftex, colorlinks=true, citecolor=ligthred,
  urlcolor=blue]{hyperref}

\widowpenalty9000
\clubpenalty7000

\usepackage{titlesec}
\newcommand{\bigrule}{\titlerule[0.5mm]}

\renewcommand{\rmdefault}{bch} 

\titleformat{\chapter}[display]
{\bfseries\Huge}
{\garamond
% DESCOMENTAR PARA SUBIR LOS CAPITULOS
\vspace{-1.125in} \titlerule \filleft
\Large\chaptertitlename\ \Large\thechapter}{0mm}
{\filleft}[\vspace{0.5mm} \bigrule]

\let\cite=\citep

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}  %% Clears all headers

% admonition (specially marked topic)
\providecommand{\DUadmonition}[2][class-arg]{%
  % try \DUadmonition#1{#2}:
  \ifcsname DUadmonition#1\endcsname%
    \csname DUadmonition#1\endcsname{#2}%
  \else
    \begin{center}
      \fbox{\parbox{0.9\textwidth}{#2}}
    \end{center}
  \fi
}

% title for topics, admonitions and sidebar
\providecommand*{\DUtitle}[2][class-arg]{%
  % call \DUtitle#1{#2} if it exists:
  \ifcsname DUtitle#1\endcsname%
    \csname DUtitle#1\endcsname{#2}%
  \else
    \smallskip\noindent\textbf{#2}\smallskip%
  \fi
}

% error admonition title
\providecommand*{\DUtitleerror}[1]{\DUtitle{\color{red}#1}}

% fieldlist environment
\ifthenelse{\isundefined{\DUfieldlist}}{
  \newenvironment{DUfieldlist}%
    {\quote\description}
    {\enddescription\endquote}
}{}

% legend
\ifthenelse{\isundefined{\DUlegend}}{
  \newenvironment{DUlegend}{\small}{}
}{}

%%% Fallback definitions for Docutils-specific commands
% numeric or symbol footnotes with hyperlinks
\providecommand*{\DUfootnotemark}[3]{%
  \hyperlink{#2}{\textsuperscript{#3}}\raisebox{1em}{\label{#1}}%
}

\providecommand{\DUfootnotetext}[4]{%
  \begingroup%
  \renewcommand{\thefootnote}{%
    \protect\hyperlink{#2}{#3}}%
  \protect\raisebox{1em}{\protect\label{#1}}%
  \footnotetext{#4}%
  \endgroup%
}

\usepackage{booktabs}
\usepackage{multirow}
\usepackage{longtable}
\newlength{\DUtablewidth} % internal use in tables


\usepackage{tikz}
\usepackage{bbding}

\usetikzlibrary{arrows,fit}
\usepackage{amsmath,bm,times}
\newcommand{\mx}[1]{\mathbf{\bm{#1}}} % Matrix command
\newcommand{\vc}[1]{\mathbf{\bm{#1}}} % Vector command

5 个答案:

答案 0 :(得分:15)

我认为不存在专门的命令。但你可以使用

  \addcontentsline{toc}{chapter}{#1}

将其添加到TOC。顺便说一句,我没有遇到过“章节”和“幻想”的问题,所以我用过:

\newcommand\chap[1]{%
  \chapter*{#1}%
  \addcontentsline{toc}{chapter}{#1}}

答案 1 :(得分:2)

已在TeX-specific sister site上多次询问并回答了有关此问题的变体:

我将复制Werner's answer到最后一个,因为它展示了与该问题的任何现有答案不同的技术:重新定义\section,以便仅 \section*效果是跳过打印节号。即使从不受控制的软件包中发出分段命令,这也将起作用。


[...]重新定义\section以捕获并限制使用加星标版本的时间。找到\section*后,就可以像\section一样发布它,但是要通过适当设置计数器secnumdepth来删除数字打印机制。

xparse提供了一个简单的界面,用于(重新)定义具有s tar版本和o ptional自变量的命令。

\usepackage{xparse}

\let\oldsection\section
\makeatletter
\newcounter{@secnumdepth}
\RenewDocumentCommand{\section}{s o m}{%
  \IfBooleanTF{#1}
    {\setcounter{@secnumdepth}{\value{secnumdepth}}% Store secnumdepth
     \setcounter{secnumdepth}{0}% Print only up to \chapter numbers
     \oldsection{#3}% \section*
     \setcounter{secnumdepth}{\value{@secnumdepth}}}% Restore secnumdepth
    {\IfValueTF{#2}% \section
       {\oldsection[#2]{#3}}% \section[.]{..}
       {\oldsection{#3}}}% \section{..}
}
\makeatother

(要对\chapter\subsection等执行相同的操作,请适当地搜索并替换section,并调整用于secnumdepth的临时值。 )

答案 2 :(得分:1)

\setcounter{secnumdepth}{-1}

如果您使用图书类的非星号版本的\ chapter {}等,

可以为我提供解决方案。如果您想要一个可链接的ToC以及我的解决方案,Hyperref也可以工作。确保将其编译两次以使其在ToC和inline上都能正常工作。

不幸的是,你的序言杀了我的TexStudio试图检查它是否适用于你的确切代码,但我有信心。

二手TeXstudio 2.6.2(SVN 4110M) 使用Qt版本4.8.5,使用Qt 4.8.5 R编译 在Windows 7 64位

答案 3 :(得分:0)

我遇到了同样的问题,并以smilingthax的回答和评论解决了。由于仅使用\leftmark\rightmark无效,因此可以使用以下命令(i)使章节编号不为(ii)将其添加到目录中,以及(iii )具有正确的页面标题。

\newcommand\chap[1]{
    \chapter*{#1}
    \addcontentsline{toc}{chapter}{#1}
    \markboth{#1}{#1}}

各节(和各小节)的工作原理相同:

 \newcommand\secTOC[1]{
    \section*{#1}
    \addcontentsline{toc}{section}{#1}
    \markboth{#1}{#1}}

答案 4 :(得分:0)

在章节* {章节名称}下添加此行 \addcontentsline{toc}{chapter}{name of chapter}

对我有用