How to write abstract and acknowledgement in book format?
A few weeks ago I tried to add a dedication and an abstract to my book-document and this is what I found on the net and adapted:
dedication.tex
\thispagestyle{empty}
\null\vspace{\stretch {1}}
\begin{flushright}
This is the Dedication.
\end{flushright}
\vspace{\stretch{2}}\null
abstract.tex
\newenvironment{abstract}%
{\cleardoublepage\thispagestyle{empty}\null\vfill\begin{center}%
\bfseries\abstractname\end{center}}%
{\vfill\null}
\begin{abstract}
This is the abstract.
\end{abstract}
acknowledgements.tex
\newenvironment{acknowledgements}%
{\cleardoublepage\thispagestyle{empty}\null\vfill\begin{center}%
\bfseries Acknowledgements\end{center}}%
{\vfill\null}
\begin{acknowledgements}
These are the acknowledgements.
\end{acknowledgements}
main-file.tex
\frontmatter
\include{content/frontmatter/titlepage}
\include{content/frontmatter/dedication}
\include{content/frontmatter/abstract}
\include{content/frontmatter/acknowledgements}
\include{content/frontmatter/preface}
\tableofcontents
... and so on ...
I'd simply do
\begin{document}
\frontmatter
\tableofcontents
\chapter{Abstract}
<text of the abstract>
\chapter{Acknowledgment}
<text of the acknowledgment>
\cleardoublepage
\thispagestyle{empty}
\vspace*{\stretch{1}}
\begin{flushright}
\itshape
Dedicated to my cat\\
and my dog
\end{flushright}
\vspace{\stretch{3}}
\cleardoublepage
\mainmatter
...
If you load the emptypage
package, pages with no text added by explicit or implicit \cleardoublepage
commands will be empty.
Note that there is no need to use \chapter*
in the \frontmatter
: it's instead better to use \chapter
, because the entries will automatically go in the table of contents.
I'd not put the dedication in the table of contents, but feel free to do it with \addcontentsline
.
If you want to use different files and \include
, do it: it doesn't make any difference (but remember that \include
always issues a \clearpage
command).
I had a similar problem when typing up my thesis. I read a few possible work-arounds and ended up with this one. First of all I'm used to not having abstract and acknowledgments in toc, but my solution can be tweaked to accommodate this wish with \addcontentsline
.
To use this solution simply copy the two .sty-files below into an empty text-file and save them as bookabstract.sty
and acknowledgments.sty
in the same folder as your .tex-file and load them with \usepackage{bookabstract}
and \usepackage{acknowledgments}
. Then it's straight forward with \begin{abstract}
, \end{abstract}
, \begin{acknowledgments}
and \end{acknowledgments}
.
Here's what I did: First I made a two new .sty-files. One called bookabstract.sty
and one called acknowledgments.sty
(I should stress that these are not of my own making. I'm much obliged to whoever it was that posted this abstract-definition on another forum.) The only differences between them is that everywhere bookabstracts.sty
contains the word "abstract" acknowledgments.sty
contains the word "acknowledgments", and acknowledgments.sty
contains a line defining \acknowledgmentsname
. My thesis has two abstracts, one in English and one in Norwegian, so instead of defining \abstractname
in the bookabstract.sty
, I simply loaded babel with \usepackage[british,norsk]{babel}
and used \selectlanguage
. \abstractname
is defined in babel, so this way my English abstract is called "Abstract" and my Norwegian abstract is called "Sammendrag" (which, as you may have guessed, is Norwegian for abstract). If you do not want to use babel, then you can simply define the \abstractname
in the .sty-file.
Here is my bookabstract.sty
:
%% Remember to load babel before loading this package or define the command \abstractname!
\makeatletter
\if@titlepage
\newenvironment{abstract}{%
\titlepage
\null\vfil
\@beginparpenalty\@lowpenalty
\begin{center}%
\bfseries \abstractname
\@endparpenalty\@M
\end{center}}%
{\par\vfil\null\endtitlepage}
\else
\newenvironment{abstract}{%
\if@twocolumn
\section*{\abstractname}%
\else
\small
\begin{center}%
{\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
\end{center}%
\quotation
\fi}
{\if@twocolumn\else\endquotation\fi}
\fi
\makeatother
And this is my acknowledgments.sty
:
\newcommand\acknowledgmentsname{Acknowledgments} %%copy this to the other package if you don't want to use babel (replace Acknowledgments with Abstract).
\makeatletter
\if@titlepage
\newenvironment{acknowledgments}{%
\titlepage
\null\vfil
\@beginparpenalty\@lowpenalty
\begin{center}%
\bfseries \acknowledgmentsname
\@endparpenalty\@M
\end{center}}%
{\par\vfil\null\endtitlepage}
\else
\newenvironment{acknowledgments}{%
\if@twocolumn
\section*{\acknowledgmentsname}%
\else
\small
\begin{center}%
{\bfseries \acknowledgmentsname\vspace{-.5em}\vspace{\z@}}%
\end{center}%
\quotation
\fi}
{\if@twocolumn\else\endquotation\fi}
\fi
\makeatother