Как сделать главу *, раздел * и подраздел * в оглавлении
Мне нужно создать PDF-документ, в котором мне нужны некоторые "главы" (вместе с его разделами и подразделами), которые должны быть пронумерованы, но все еще включены в ToC.
Это для моей магистерской диссертации. Я использую класс документа книги, потому что мне не нравятся значения memoir.
Если я использую \chapter*
, то LaTeX удаляет главу из ToC. Но я должен иметь их также в ToC. Кроме того, заголовки (fancy) не изменяются с помощью \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 и для изменения заголовков?
С уважением,
Мануэль.
UPDATE: Я думаю, что я могу использовать некоторые пакеты, которые мешают тому, как генерируются верхние и нижние колонтитулы. Ответ smilingthax содержит ответы на первую часть ответа: теперь у меня есть my\chapter * s в 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
Ответы
Ответ 1
Я не думаю, что для этого существует специализированная команда. Но вы можете использовать
\addcontentsline{toc}{chapter}{#1}
чтобы добавить его в TOC. Кстати, у меня не было проблем с \chapter * и фантазией, поэтому я использовал:
\newcommand\chap[1]{%
\chapter*{#1}%
\addcontentsline{toc}{chapter}{#1}}
Ответ 2
Варианты этого вопроса задавались и отвечались несколько раз на родственном для TeX сайте:
Я собираюсь скопировать ответ Вернера на последний из них, потому что он демонстрирует метод, отличающийся от любого из существующих ответов на этот вопрос: переопределить \section
так что единственный эффект \section*
- пропустить печать номеров разделов., Это будет работать, даже когда команды секционирования выдаются из кишок пакетов, которые вы не контролируете.
[...] Переопределить \section
для захвата и условия при использовании starred-версии. Найдя \section*
, выполните его так же, как и \section
, но удалите механизм печати чисел через соответствующую настройку счетчика secnumdepth
.
xparse
обеспечивает простой интерфейс для (ре), определяющих команд, которые могут иметь s
осмоленный версию, а также как 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
и т.д., secnumdepth
и замените section
соответствующим образом и настройте временное значение, используемое для secnumdepth
.)
Ответ 3
\setcounter{secnumdepth}{-1}
работал у меня как решение, если вы использовали версию не для звездочки \chapter {} и т.д. для класса книги. Hyperref также работает, если вы хотите использовать Link ToC вместе с моим решением. Обязательно скомпилируйте его дважды, чтобы заставить его работать как с ToC, так и с встроенным.
К сожалению, ваша преамбула убила мою попытку TexStudio, чтобы проверить, работает ли это для вашего точного кода, но я верю.
Используется TeXstudio 2.6.2 (SVN 4110M)
Используя Qt Version 4.8.5, скомпилированный с Qt 4.8.5 R
В Windows 7 64-бит
Ответ 4
Проверьте класс мемуаров.
Ответ 5
В нижней части на этой странице есть ссылки на несколько пакетов, которые могут помочь. Я особенно считаю, что anonchap или fncychap пакеты являются для вас возможностями.
Ответ 6
У меня была та же проблема, и я решил ее с улыбкой и ответами. Поскольку это не \leftmark
использовать только \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}}
Ответ 7
Добавьте эту строку под главой * {название главы} \addcontentsline{toc}{chapter}{name of chapter}
это сработало для меня