Wikibooks Latex Bibliography Same Page

Learn how to create a bibliography using modern biblatex and biber - A short tutorial.

This will only be a short overview of the main and most often used features of biblatex and biber to create a bibliography. More detailed information can be found in the package documentation.

The database[edit]

Creating a bibliography using biblatex and biber means storing all of your available bibliographic information in a simple text-based database. The name should be as unique as possible, for example . This is helpful when transferring files with your advisor, students or colleagues. biber is used to deal with the database.

A sample database file could look like this:

@article{wombat2016, author = {Walther Wombat and Klaus Koala}, title = {The true meaning of 42}, journal = {Journal of modern skepticism}, date = {2016}, keywords = {trusted}, } @book{lion2010, author = {Laura Lion and Gabrielle Giraffe and Carl Capybara}, title = {The dangers of asking the wrong question}, publisher = {publishing house}, date = {2010}, keywords = {trusted}, } @online{wikibook, title = {Generating Bibliographies with biblatex and biber}, organization = {Wikibooks}, date = {2016}, urldate = {2016-03-07}, url = {}, keywords = {untrusted}, }

Every entry in the database starts with an -sign followed by the entry type. More types are available, the package documentation lists all of them. The bibliographic information for each entry are stored in a pair of braces, beginning with a unique keyword for that entry (bibkey). Least complicated way of presenting the data is every field type in a new line, the content in curly braces, followed by a comma. The order in which you give the information is not important.

Please have a close look at the authors, every individual author is separated by the keyword . All dates are written in YYYY-MM-DD, or just the year if the other information is not available. The file which should have been installed with the package contains some sample entries.

Setting up biber[edit]

Biber is the name of the helper program that sorts the entries and provides all the relevant information to package biblatex. If you are not comfortable using the command line (aka the terminal), you should set up your editor to call biber for you. Setting up my editor to use biber shows how to do it for the different editors.

A simple example[edit]

\documentclass{article}\usepackage[backend=biber]{biblatex}\addbibresource{lauraPhd2016.bib}\begin{document} I doubt that there is any useful information here~\cite{wikibook}. All we know is limited, apart from knowing the answer we all know. Or do we? Wombat and Koala have discovered some interesting things~\cite{wombat2016}. Some people are too nosy. What can happen to them is described by Laura Lion~\cite[9]{lion2010}. \printbibliography\end{document}

Now how does it actually work? Package biblatex is loaded with the option followed by adding your database file to the list of bibliographic files using . Please note that the file extension is mandatory and that this is happening in the preamble of the document.

Within the document you can cite one of your database entries using . Your database can contain hundreds of entries, but only cited references will occur in the final list. You can use to add uncited entries to the list. If you want to add all entries from the database use .

Finally, the list of your references is printed with .

Running LaTeX (no matter if , etc.) on the main document will result in the following output.

LaTeX Warning: Citation 'wikibook' on page 1 undefined on input line 5. LaTeX Warning: Citation 'wombat2016' on page 1 undefined on input line 7. LaTeX Warning: Citation 'lion2010' on page 1 undefined on input line 9. LaTeX Warning: Empty bibliography on input line 11. [1{/usr/local/texlive/2017/texmf-var/fonts/map/pdftex/updmap/}] (./lauraPhd2016Main.aux) LaTeX Warning: There were undefined references. Package biblatex Warning: Please (re)run Biber on the file: (biblatex) lauraPhd2016Main (biblatex) and rerun LaTeX afterwards.

We get several warnings about undefined references, no bibliography and instead of proper citations, we see just the cite key in bold.

In order to really get a bibliography and the citations, and not just the infamous warning, you have to run biber after latex to extract the relevant data from the database. After setting up biber as described in Setting up my editor to use biber you should be able to do it by pressing one button while working on your document. To incorporate the bibliography information into your document, LaTeX then has to process the data biber has generated before. To sum it up, if you have a file you (or your editor) will have to do:

  • latex lauraPhdd2016Main
  • biber lauraPhdd2016Main
  • latex lauraPhdd2016Main

Everytime your database is updated, remember to process the database by calling biber.

The full result can be seen in the picture below. Please note that package biblatex adds some small little details. Can you see things that are printed but have not been defined?

Reference Styles[edit]

Different reference styles are in use within the different disciplines of science. Very broadly speaking, you can divide into a numerical referencing sytem (Vancouver) or an author date referencing system (Harvard).

Package biblatex[1] provides different citation commands that generate different output (in-text citation, footnotes and more). A few examples are given below, the package documentation contains and explains the use of the whole set.

Numerical Referencing[edit]

Numerical referencing is the default style. Numbers within brackets are used in text and in the bibliography. Using makes it easy to change the style into footnotes. gives a bibliography that is sorted chronologically, i.e. the numbers increase to the end of the document.

\documentclass{article}\usepackage[backend=biber,style=numeric,autocite=plain,sorting=none]{biblatex}\addbibresource{lauraPhd2016.bib}\begin{document} I doubt that there is any useful information here.~\cite{wikibook} All we know is limited, apart from knowing the answer we all know. Or do we? \citeauthor{wombat2016} have discovered some interesting things.~\autocite[compare][80]{wombat2016} What can happen to nosy people is described by \textcite[9]{lion2010}. \printbibliography\end{document}

Using gives a diffferent output. Can you spot all the differences?

Author Date Referencing[edit]

If you want an author-date referencing style, you can use when loading biblatex. The option with the option puts parenthesis around the cite genererated with (which is similar to using . In some cases, may come in handy when the citation is the subject and part of the sentence flow.

\documentclass{article}\usepackage[backend=biber,style=authoryear,autocite=inline]{biblatex}\addbibresource{lauraPhd2016.bib}\begin{document} I doubt that there is any useful information here~\cite{wikibook}. All we know is limited, apart from knowing the answer we all know. Or do we?~\cite{wombat2016} Some people are too nosy. What can happen to them is described by Laura Lion~\autocite[9]{lion2010}. Some people are too nosy. What can happen to them is described by \textcite[9]{lion2010}. \printbibliography\end{document}

APA Citing[edit]

The American Psychological Association (APA) defines a very strict author year style. You can access it using and additionally defining the language mapping.


Compare the output with the normal author year style. How many changes can you spot?

Separate Bibliographies by Entry Type[edit]

Suppose you want to have a separate bibliography for all the online resources you are citing. No problem using the optional argument of . You can also change the title (and other stuff).

\documentclass{article}\usepackage[backend=biber,defernumbers=true]{biblatex}\addbibresource{biblatex-examples.bib}\begin{document}\nocite{westfahl:space,aristotle:physics,ctan,baez/online,markey,sigfridsson}\printbibheading\printbibliography[heading=subbibliography,type=online,title={All my online references}]\printbibliography[heading=subbibliography,nottype=online,title={All my non-online references}]\end{document}

Splitting into different topics[edit]

You can split your bibliography into different topics, in trusted and untrusted sources, or in primary and secondary sources. The way to tell biblatex what is what, is by adding a tag to the entries of the database.

@book{lion2010, author = {Laura Lion and Gabrielle Giraffe and Carl Capybara}, title = {The dangers of asking the wrong question}, publisher = {publishing house}, date = {2010}, keywords = {trusted}, }
\documentclass{article}\usepackage[backend=biber,style=authoryear,refsection=section]{biblatex}\addbibresource{lauraPhd2016.bib}\begin{document}\cites[see also][12]{wombat2016}[and][45]{lion2010}\nocite{wikibook}\printbibliography[keyword={trusted},title={All the trusted sources}]\printbibliography[keyword={untrusted},title={All the untrusted sources}]\end{document}

Note, that the entryfield in the dataase is called (plural) because you can have more than one keyword (separated by commas). When calling the command, you have to use the singular. biblatex has a powerful system of filtering data, more can be found in the manual.

Bibliographies per Section or Chapter[edit]

Some people have the need for a reference list at the end of each chapter or section. This can be done using .

\documentclass{article}\usepackage[backend=biber,defernumbers=true,refsection=section]{biblatex}\addbibresource{biblatex-examples.bib}\begin{document}\section{Aster}\cite{ctan,sigfridsson} and some text \printbibliography[heading=subbibliography]\section{Begonia}\cite{aristotle:physics,markey}\printbibliography[heading=subbibliography]\section{Cichorium}\cite{westfahl:space,baez/online}\printbibliography[heading=subbibliography]\end{document}

A bibliography in a presentation[edit]

You can use package with (see the Presentations section) to have citations and a reference list in your presentation. Using full cites right away is recommended, so listeners don't have to wait till the very end to see where information is drawn from.

\documentclass{beamer}\usecolortheme{crane}\usepackage{biblatex}\addbibresource{lauraPhd2016.bib}\begin{document}\begin{frame}{42} Interesting \footfullcite{wombat2016}\end{frame}\nocite{*}\begin{frame}{References}\printbibliography\end{frame}\end{document}

Back to main bibliography page

The main point of writing a text is to convey ideas, information, or knowledge to the reader. The reader will understand the text better if these ideas are well-structured, and will see and feel this structure much better if the typographical form reflects the logical and semantic structure of the content.

LaTeX is different from other typesetting systems in that you just have to tell it the logical and semantical structure of a text. It then derives the typographical form of the text according to the “rules” given in the document class file and in various style files. LaTeX allows users to structure their documents with a variety of hierarchical constructs, including chapters, sections, subsections and paragraphs.

Global structure[edit]

When LaTeX processes an input file, it expects it to follow a certain structure. Thus every input file must contain the commands

\documentclass{...}\begin{document} ... \end{document}

The area between and is called the preamble. It normally contains commands that affect the entire document.

After the preamble, the text of your document is enclosed between two commands which identify the beginning and end of the actual document:

\begin{document} ... \end{document}

You would put your text where the dots are. The reason for marking off the beginning of your text is that LaTeX allows you to insert extra setup specifications before it (where the blank line is in the example above: we'll be using this soon). The reason for marking off the end of your text is to provide a place for LaTeX to be programmed to do extra stuff automatically at the end of the document, like making an index.

A useful side-effect of marking the end of the document text is that you can store comments or temporary text underneath the in the knowledge that LaTeX will never try to typeset them:


Document classes[edit]

When processing an input file, LaTeX needs to know which layout standard to use. Layouts standards are contained within 'class files' which have .cls as their filename extension.


Here, the parameter for the command specifies the .cls file to use for the document. It is recommended to put this declaration at the very beginning. The LaTeX distribution provides additional classes for other layouts, including letters and slides. It is also possible to create your own, as is often done by journal publishers, who simply provide you with their own class file, which tells LaTeX how to format your content. But we'll be happy with the standard article class for now. The parameter customizes the behavior of the document class. The options have to be separated by commas.

Example: an input file for a LaTeX document could start with the line


which instructs LaTeX to typeset the document as an article with a base font size of 11 points, and to produce a layout suitable for double sided printing on A4 paper.

Here are some document classes that can be used with LaTeX:

articleFor articles in scientific journals, presentations, short reports, program documentation, invitations, ...
IEEEtranFor articles with the IEEE Transactions format.
procA class for proceedings based on the article class.
reportFor longer reports containing several chapters, small books, thesis, ...
bookFor real books.
slidesFor slides. The class uses big sans serif letters.
memoirFor changing sensibly the output of the document. It is based on the book class, but you can create any kind of document with it [1]
letterFor writing letters.
beamerFor writing presentations (see LaTeX/Presentations).

The generic document classes that come with LaTeX offer some layout flexibility, which is why they have a lot of options in common. Non-generic classes (those provided by university departments or publication houses) may have different options than those shown below or no options at all. Normally, third-party classes come with their own documentation. The most common options for the generic document classes are listed in the following table:

10pt, 11pt, 12ptSets the size of the main font in the document. If no option is specified, 10pt is assumed.
a4paper, letterpaper,...Defines the paper size. The default size is letterpaper; However, many European distributions of TeX now come pre-set for A4, not Letter, and this is also true of all distributions of pdfLaTeX. Besides that, a5paper, b5paper, executivepaper, and legalpaper can be specified.
fleqnTypesets displayed formulas left-aligned instead of centered.
leqnoPlaces the numbering of formulas on the left hand side instead of the right.
titlepage, notitlepageSpecifies whether a new page should be started after the document title or not. The article class does not start a new page by default, while report and book do.
twocolumnInstructs LaTeX to typeset the document in two columns instead of one.
twoside, onesideSpecifies whether double or single sided output should be generated. The classes article and report are single sided and the book class is double sided by default. Note that this option concerns the style of the document only. The option twoside does not tell the printer you use that it should actually make a two-sided printout.
landscapeChanges the layout of the document to print in landscape mode.
openright, openanyMakes chapters begin either only on right hand pages or on the next page available. This does not work with the article class, as it does not know about chapters. The report class by default starts chapters on the next page available and the book class starts them on right hand pages.
draftmakes LaTeX indicate hyphenation and justification problems with a small square in the right-hand margin of the problem line so they can be located quickly by a human. It also suppresses the inclusion of images and shows only a frame where they would normally occur.

For example, if you want a report to be in 12pt type on A4, but printed one-sided in draft mode, you would use:



While writing your document, you will probably find that there are some areas where basic LaTeX cannot solve your problem. If you want to include graphics, colored text or source code from a file into your document, you need to enhance the capabilities of LaTeX. Such enhancements are called packages. Some packages come with the LaTeX base distribution. Others are provided separately. Modern TeX distributions come with a large number of packages pre-installed. The command to use a package is pretty simple: :


command, where package is the name of the package and options is a list of keywords that trigger special features in the package. For example, to use the color package, which lets you typeset in colors, you would type:

\documentclass{report}\usepackage{color}\begin{document} ... \end{document}

You can pass several options to a package, each separated by a comma.


The document environment[edit]

Top matter[edit]

At the beginning of most documents there will be information about the document itself, such as the title and date, and also information about the authors, such as name, address, email etc. All of this type of information within LaTeX is collectively referred to as top matter. Although never explicitly specified (there is no command) you are likely to encounter the term within LaTeX documentation.

A simple example:

\documentclass[11pt,a4paper]{report}\begin{document}\title{How to Structure a LaTeX Document}\author{Andrew Roberts}\date{December 2004}\maketitle\end{document}

The , , and commands are self-explanatory. You put the title, author name, and date in curly braces after the relevant command. The title and author are usually compulsory (at least if you want LaTeX to write the title automatically); if you omit the command, LaTeX uses today's date by default. You always finish the top matter with the command, which tells LaTeX that it's complete and it can typeset the title according to the information you have provided and the class (style) you are using. If you omit , the title will never be typeset.

Using this approach, you can only create a title with a fixed layout. If you want to create your title freely, see the Title Creation section. You should remember, however, that the goal of LaTeX is to leave formatting to the documentclass designer, and if you wish to submit your work to multiple publishers then you should avoid designing a custom title.


As most research papers have an abstract, there are predefined commands for telling LaTeX which part of the content makes up the abstract. This should appear in its logical order, therefore, after the top matter, but before the main sections of the body. This command is available for the document classes article and report, but not book.

\documentclass{article}\begin{document}\begin{abstract} Your abstract goes here... ... \end{abstract} ... \end{document}

By default, LaTeX will use the word "Abstract" as a title for your abstract. If you want to change it into anything else, e.g. "Executive Summary", add the following line before you begin the abstract environment:

\renewcommand{\abstractname}{Executive Summary}

Sectioning commands[edit]

The commands for inserting sections are fairly intuitive. Of course, certain commands are appropriate to different document classes. For example, a book has chapters but an article doesn't. Here are some of the structure commands found in simple.tex.

\chapter{Introduction} This chapter's content... \section{Structure} This section's content... \subsection{Top Matter} This subsection's content... \subsubsection{Article Information} This subsubsection's content...

Notice that you do not need to specify section numbers; LaTeX will sort that out for you. Also, for sections, you do not need to use and commands to indicate which content belongs to a given block.

LaTeX provides 7 levels of depth for defining sections (see table below). Each section in this table is a subsection of the one above it.

-1not in letters
0only books and reports
1not in letters
2not in letters
3not in letters
4not in letters
5not in letters

All the titles of the sections are added automatically to the table of contents (if you decide to insert one). But if you make manual styling changes to your heading, for example a very long title, or some special line-breaks or unusual font-play, this would appear in the Table of Contents as well, which you almost certainly don't want. LaTeX allows you to give an optional extra version of the heading text which only gets used in the Table of Contents and any running heads, if they are in effect. This optional alternative heading goes in [square brackets] before the curly braces:

\section[Effect on staff turnover]{An analysis of the effect of the revised recruitment policies on staff turnover at divisional headquarters}

Section numbering[edit]

Numbering of the sections is performed automatically by LaTeX, so don't bother adding them explicitly, just insert the heading you want between the curly braces. Parts get roman numerals (Part I, Part II, etc.); chapters and sections get decimal numbering like this document, and appendices (which are just a special case of chapters, and share the same structure) are lettered (A, B, C, etc.).

You can change the depth to which section numbering occurs, so you can turn it off selectively. By default it is set to 3. If you only want parts, chapters, and sections numbered, not subsections or subsubsections etc., you can change the value of the secnumdepthcounter using the command, giving the depth level you wish. For example, if you want to change it to "1":


A related counter is tocdepth, which specifies what depth to take the Table of Contents to. It can be reset in exactly the same way as secnumdepth. For example:

To get an unnumbered section heading which does not go into the Table of Contents, follow the command name with an asterisk before the opening curly brace:


All the divisional commands from to have this "starred" version which can be used on special occasions for an unnumbered heading when the setting of secnumdepth would normally mean it would be numbered.

If you want the unnumbered section to be in the table of contents anyway, use package unnumberedtotoc[1]. It provides the command

which will take care of a proper header as well. and are also available. KOMA classes provide those commands by default.

If you don't want to use package unnumberedtotoc, you have to do everything by hand using and (or even ).


Note that if you use PDF bookmarks you will need to add a phantom section so that hyperlinks will lead to the correct place in the document. The command is defined in the hyperref package, and is Commonly used like this:


For chapters you will also need to clear the page (this will also correct page numbering in the ToC):

\clearpage%or \cleardoublepage\phantomsection\addcontentsline{toc}{chapter}{List of Figures}\listoffigures

Section number style[edit]

See Counters.

Ordinary paragraphs[edit]

Paragraphs of text come after section headings. Simply type the text and leave a blank line between paragraphs. The blank line means "start a new paragraph here": it does not mean you get a blank line in the typeset output. For formatting paragraph indents and spacing between paragraphs, refer to the Paragraph Formatting section.

Table of contents[edit]

All auto-numbered headings get entered in the Table of Contents (ToC) automatically. You don't have to print a ToC, but if you want to, just add the command at the point where you want it printed (usually after the Abstract or Summary).

Entries for the ToC are recorded each time you process your document, and reproduced the next time you process it, so you need to re-run LaTeX one extra time to ensure that all ToC pagenumber references are correctly calculated. We've already seen how to use the optional argument to the sectioning commands to add text to the ToC which is slightly different from the one printed in the body of the document. It is also possible to add extra lines to the ToC, to force extra or unnumbered section headings to be included.

The commands and work in exactly the same way as to automatically list all your tables and figures. If you use them, they normally go after the command. The command normally shows only numbered section headings, and only down to the level defined by the tocdepth counter, but you can add extra entries with the command. For example if you use an unnumbered section heading command to start a preliminary piece of text like a Foreword or Preface, you can write:


This will format an unnumbered ToC entry for "Preface" in the "subsection" style. You can use the same mechanism to add lines to the List of Figures or List of Tables by substituting lof or lot for toc. If the hyperref package is used and the link does not point to the correct chapter, the command in combination with or can be used (see also Labels and Cross-referencing):

\cleardoublepage\phantomsection\addcontentsline{toc}{chapter}{List of Figures}\listoffigures

To change the title of the ToC, you have to paste this command in your document preamble. The List of Figures (LoF) and List of Tables (LoT) names can be changed by replacing the with for LoF and for LoT.


The default ToC will list headings of level 3 and above. To change how deep the table of contents displays automatically the following command can be used in the preamble:

This will make the table of contents include everything down to paragraphs. The levels are defined above on this page. Note that this solution does not permit changing the depth dynamically.

You can change the depth of specific section type, which could be useful for PDF bookmarks (if you are using the hyperref package) :

\makeatletter\renewcommand*{\toclevel@chapter}{-1}% Put chapter depth at the same level as \part.\chapter{Epilogue}\renewcommand*{\toclevel@chapter}{0}% Put chapter depth back to its default value.\makeatother

In order to further tune the display or the numbering of the table of contents, for instance if the appendix should be less detailed, you can make use of the tocvsec2 package (CTAN, doc).

Book structure[edit]

The standard LaTeX book class follows the same layout described above with some additions. By default a book will be two-sided, i.e. left and right margins will change according to the page number parity. Furthermore current chapter and section will be printed in the header.

If you do not make use of chapters, it is barely useful to use the book class.

Additionally the class provides macros to change the formatting of some places of the document. We will give you some advice on how to use them properly.[2]

\begin{document}\frontmatter\maketitle% Introductory chapters\chapter{Preface}% ...\mainmatter\chapter{First chapter}% ...\appendix\chapter{First Appendix}\backmatter\chapter{Last note}
  • The frontmatter chapters will not be numbered. Page numbers will be printed in roman numerals. Frontmatter is not supposed to have sections, so they will be numbered because there is no chapter numbering. Check the Counters chapter for a fix.
  • The mainmatter chapters works as usual. The command resets the page numbering. Page numbers will be printed in arabic numerals.
  • The macro can be used to indicate that following sections or chapters are to be numbered as appendices. Appendices can be used for the article class too:
\appendix\section{First Appendix}

Only use the macro once for all appendices.

  • The backmatter behaves like the frontmatter. It has the same issue with section numbering.

As a general rule you should avoid mixing the command order. Nonetheless all commands are optional, so you might consider using only a few.

Note that the special content like the table of contents is considered as an unnumbered chapter.

Page order[edit]

This is one traditional page order for books.

  1. Half-title
  2. Empty
  3. Title page
  4. Information (copyright notice, ISBN, etc.)
  5. Dedication if any, else empty
  6. Table of contents
  7. List of figures (can be in the backmatter too)
  8. Preface chapter
  1. Main topic
  1. Some subordinate chapters
  1. Bibliography
  2. Glossary / Index

Special pages[edit]

Comprehensive papers often feature special pages at the end, like indices, glossaries and bibliographies. Since this is quite a complex topic, we will give you details in the dedicated part Special Pages.


Any good research paper will have a complete list of references. LaTeX has two ways of inserting your references into a document:

  • you can embed them within the document itself. It's simpler, but it can be time-consuming if you are writing several papers about similar subjects so that you often have to cite the same books.
  • you can store them in an external BibTeX file and then link them via a command to your current document and use a Bibtex style to define how they appear. This way you can create a small database of the references you might use and simply link them, letting LaTeX work for you.

To learn how to add a bibliography to your document, see the Bibliography Management section.

Notes and references[edit]


Leave a Reply

Your email address will not be published. Required fields are marked *