我需要制作一份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
答案 0 :(得分:15)
我认为不存在专门的命令。但你可以使用
\addcontentsline{toc}{chapter}{#1}
将其添加到TOC。顺便说一句,我没有遇到过“章节”和“幻想”的问题,所以我用过:
\newcommand\chap[1]{%
\chapter*{#1}%
\addcontentsline{toc}{chapter}{#1}}
答案 1 :(得分:2)
已在TeX-specific sister site上多次询问并回答了有关此问题的变体:
\tableofcontents
does not list the unnumbered chapter \section*{something}
without removing it from the Table of Contents? \section*
so it behaves exactly as \section
except leaves out the number 我将复制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}
可以为我提供解决方案。如果您想要一个可链接的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}
对我有用