Bibliography in latex with bibtex/biblatex, learn how to create a bibliography with bibtex and biblatex in a few simple steps. create references / citations and autogenerate footnotes., creating a .bib file, using bibtex.

  • Autogenerate footnotes with BibLaTeX
  • BibTeX Format

BibTeX Styles

  • New Post! Export Bibliographic Database (BibTeX) Entries from Online Databases

We have looked at many features of LaTeX so far and learned that many things are automated by LaTeX. There are functions to add a table of contents, lists of tables and figures and also several packages that allow us to generate a bibliography. I will describe how to use bibtex and biblatex (both external programs) to create the bibliography. At first we have to create a .bib file, which contains our bibliographic information.

A .bib file will contain the bibliographic information of our document. I will only give a simple example, since there are many tools to generate the entries automatically. I will not explain the structure of the file itself at this point, since i suggest using a bibtex generator (choose one from google). Our example will contain a single book and look like this:

If you don’t want to use a BibTeX generator or a reference management tool like Citavi (which generates BibTeX files automatically for you), you can find more examples of BibTeX formats here.

After creating the bibtex file, we have to tell LaTeX where to find our bibliographic database. For BibTeX this is not much different from printing the table of contents. We just need the commands \bibliography  which tells LaTeX the location of our .bib file and \bibliographystyle which selects one of various bibliographic styles.

By using this code, we will obtain something like this:


I named my .bib file lesson7a1.bib, note that I did not enter the .bib extension. For the style, I’ve choosen the ieeetr style, which is very common for my subject, but there are many more styles available. Which will change the way our references look like. The ieeetr style will mark citations with successive numbers such as [1] in this example. If I choose the style to apalike instead, i will get the following result:


Most editors will let you select, to run bibtex automatically on compilation. In TeXworks (MiKTeX) for example, this should be selected by default.


If you use a different editor, it can be necessary to execute the bibtex command manually. In a command prompt/shell simply run:

It is necessary to execute the pdflatex command, before the bibtex command, to tell bibtex what literature we cited in our paper. Afterwards the .bib file will be translated into the proper output for out references section. The next two steps merge the reference section with our LaTeX document and then assign successive numbers in the last step.

Autogenerate footnotes in \(\LaTeX\) using BibLaTeX

The abilities of BibTeX are limited to basic styles as depicted in the examples shown above. Sometimes it is necessary to cite all literature in footnotes and maintaining all of them by hand can be a frustrating task. At this point BibLaTeX kicks in and does the work for us. The syntax varies a bit from the first document. We now have to include the biblatex package and use the \autocite and \printbibliography  command. It is crucial to move the \bibliography{lesson7a1} statement to the preamble of our document:

The \autocite command generates the footnotes and we can enter a page number in the brackets \autocite[1]{DUMMY:1} will generate a footnote like this:


For BibLaTeX we have to choose the citation style on package inclusion with:

The backend=bibtex  part makes sure to use BibTeX instead of Biber as our backend, since Biber fails to work in some editors like TeXworks. It took me a while to figure out how to generate footnotes automatically, because the sources I found on the internet, didn’t mention this at all.

BibTeX Formats

This is not meant to be a comprehensive list of BibTeX formats, but rather give you an idea of how to cite various sources properly. If you’re interested in an extensive overview of all BibTeX formats, I suggest you to check out the resources on Wikibooks.


Inbook (specific pages)


This is a list of the formats that I have most commonly used. If you think some important format is missing here, please let me know.

Here’s a quick overview of some popular styles to use with BibTeX.


I’m trying to keep this list updated with other commonly used styles. If you’re missing something here, please let me know.

  • Generate a bibliography with BibTeX and BibLaTeX
  • First define a .bib file using: \bibliography{BIB_FILE_NAME} (do not add .bib)
  • For BibTeX put the \bibliography statement in your document , for BibLaTeX in the preamble
  • BibTeX  uses the \bibliographystyle command to set the citation style
  • BibLaTeX chooses the style as an option like:  \usepackage[backend=bibtex, style=verbose-trad2]{biblatex}
  • BibTeX uses the \cite command, while BibLaTeX uses the \autocite command
  • The \autocite command takes the page number as an option: \autocite[NUM]{}

Next Lesson: 08 Footnotes

LaTeX/Bibliography Management

For any academic/research writing, incorporating references into a document is an important task. Fortunately, LaTeX has a variety of features that make dealing with references much simpler, including built-in support for citing references. However, a much more powerful and flexible solution is achieved thanks to an auxiliary tool called BibTeX (which comes bundled as standard with LaTeX). Recently, BibTeX has been succeeded among many users by BibLaTeX , a tool configurable within LaTeX syntax.

BibTeX provides for the storage of all references in a bibliographic information file with the file extension .bib , a kind of flat-file database. (BibLaTeX uses this same file format but with more and different bibliographic entry types and field types than BibTeX.) This database can be referenced in any LaTeX document, and citations made to any record that is contained within the file. This is often more convenient than embedding them at the end of every document written; a centralized bibliography source can be linked to as many documents as desired (write once, read many!). Of course, bibliographies can be split over as many files as one wishes, so there can be a file containing sources concerning topic A ( a.bib ) and another concerning topic B ( b.bib ). When writing about topic AB, both of these files can be linked into the document (perhaps in addition to sources ab.bib specific to topic AB).

  • 1 Embedded system
  • 2.1 Referring more specifically
  • 2.2 Multiple citations
  • 2.3 Bibliography styles
  • 2.4 No cite
  • 2.5.1 Customization
  • 3.1 Authors
  • 3.2 Standard templates
  • 3.3 Non-standard templates
  • 3.4 Preserving case of letters
  • 3.5 A few additional examples
  • 3.6 Getting current LaTeX document to use your .bib file
  • 3.7 Why won't LaTeX generate any output?
  • 3.8 Including URLs in bibliography
  • 3.9 Customizing bibliography appearance
  • 3.10 Localizing bibliography appearance
  • 3.11 Showing unused items
  • 3.12 Getting bibliographic data
  • 3.13 Helpful tools
  • 3.14 Summary
  • 4.1 Using tocbibind
  • 4.2.1 As unnumbered item
  • 4.2.2 As numbered item
  • 5.1 Entry and field types in .bib files
  • 5.2.1 Printing separate bibliographies
  • 5.2.2 Example with prefix keys, subheadings and table of contents
  • 6.1 Using multibib
  • 6.2 Using bibtopic
  • 7 Notes and references

Embedded system [ edit | edit source ]

If you are writing only one or two documents and aren't planning on writing more on the same subject for a long time, you might not want to waste time creating a database of references you are never going to use. In this case you should consider using the basic and simple bibliography support that is embedded within LaTeX.

LaTeX provides an environment called thebibliography that you have to use where you want the bibliography; that usually means at the very end of your document, just before the \end{document} command. Here is a practical example:

OK, so what is going on here? The first thing to notice is the establishment of the environment. thebibliography is a keyword that tells LaTeX to recognize everything between the begin and end tags as data for the bibliography. The mandatory argument, which I supplied after the begin statement, is telling LaTeX how wide the item label will be when printed. Note however, that the number itself is not the parameter, but the number of digits is. Therefore, I am effectively telling LaTeX that I will only need reference labels of one character in length, which ultimately means no more than nine references in total. If you want more than nine, then input any two-digit number, such as '56', which allows up to 99 references.

Next is the actual reference entry itself. This is prefixed with the \bibitem{ cite_key } command. The cite_key should be a unique identifier for that particular reference, and is often some sort of mnemonic consisting of any sequence of letters, numbers and punctuation symbols (although not a comma). I often use the surname of the first author, followed by the last two digits of the year (hence lamport94 ). If that author has produced more than one reference for a given year, then I add letters after, 'a', 'b', etc. But, you should do whatever works for you. Everything after the key is the reference itself. You need to type it as you want it to be presented. I have put the different parts of the reference, such as author, title, etc., on different lines for readability. These linebreaks are ignored by LaTeX. The \textit{} command formats the title properly in italics.

Citations [ edit | edit source ]

To actually cite a given document is very easy. Go to the point where you want the citation to appear, and use the following: \cite{ cite_key } , where the cite_key is that of the bibitem you wish to cite. When LaTeX processes the document, the citation will be cross-referenced with the bibitems and replaced with the appropriate number citation. The advantage here, once again, is that LaTeX looks after the numbering for you. If it were totally manual, then adding or removing a reference would be a real chore, as you would have to re-number all the citations by hand.

Referring more specifically [ edit | edit source ]

If you want to refer to a certain page, figure or theorem in a text book, you can use the arguments to the \cite command:

The argument, "p. 215", will show up inside the same brackets. Note the tilde in [p.~215] , which replaces the end-of-sentence spacing with a non-breakable inter-word space. This non-breakable inter-word space is inserted because the end-of-sentence spacing would be too wide, and "p." should not be separated from the page number. The code \cite[215]{citation01} will produce the same result — in this case p.~ in front of the page number will be added automatically; but it will not be added for \cite[Cor.~2.5]{citation01} .

Multiple citations [ edit | edit source ]

When a sequence of multiple citations is needed, you should use a single \cite{} command. The citations are then separated by commas. Here's an example:

The result will then be shown as citations inside the same brackets, depending on the citation style.

Bibliography styles [ edit | edit source ]

There are several different ways to format lists of bibliographic references and the citations to them in the text. These are called citation styles , and consist of two parts: the format of the abbreviated citation (i.e. the marker that is inserted into the text to identify the entry in the list of references) and the format of the corresponding entry in the list of references, which includes full bibliographic details.

Abbreviated citations can be of two main types: numbered or textual. Numbered citations (also known as the Vancouver referencing system ) are numbered consecutively in order of appearance in the text, and consist in Arabic numerals in parentheses (1) , square brackets [1] , superscript 1 , or a combination thereof [1] . Textual citations (also known as the Harvard referencing system ) use the author surname and (usually) the year as the abbreviated form of the citation, which is normally fully (Smith 2014) or partially enclosed in parenthesis, as in Smith (2014) . The latter form allows the citation to be integrated in the sentence it supports.

Below you can see three of the styles available with LaTeX:

Here are some more often used styles:

However, keep in mind that you will need to use the natbib package to use most of these.

No cite [ edit | edit source ]

If you only want a reference to appear in the bibliography, but not where it is referenced in the main text, then the \nocite{} command can be used, for example:

A special version of the command, \nocite{*} , includes all entries from the database, whether they are referenced in the document or not.

Natbib [ edit | edit source ]

Using the standard LaTeX bibliography support, you will see that each reference is numbered and each citation corresponds to the numbers. The numeric style of citation is quite common in scientific writing. In other disciplines, the author-year style, e.g., (Roberts, 2003), such as Harvard is preferred. The natbib package is one possible way to get such an output. In fact, it can supersede LaTeX's own citation commands, as Natbib allows the user to easily switch between Harvard or numeric.

The first job is to add the following to your preamble in order to get LaTeX to use the Natbib package:

An example of useful options is:

Also, you need to change the bibliography style file to be used, so edit the appropriate line at the bottom of the file so that it reads: \bibliographystyle{plainnat} . Once done, it is basically a matter of altering the existing \cite commands to display the type of citation you want.

Customization [ edit | edit source ]

The main commands simply add a t for 'textual' or p for 'parenthesized', to the basic \cite command. You will also notice how Natbib by default will compress references with three or more authors to the more concise 1st surname et al version. By adding an asterisk (*), you can override this default and list all authors associated with that citation. There are some other specialized commands that Natbib supports, listed in the table here. Keep in mind that for instance abbrvnat does not support \citet* and will automatically choose between all authors and et al..

The final area that I wish to cover about Natbib is customizing its citation style. There is a command called \bibpunct that can be used to override the defaults and change certain settings. For example, I have put the following in the preamble:

The command requires six mandatory parameters.

  • The symbol for the opening bracket.
  • The symbol for the closing bracket.
  • The symbol that appears between multiple citations.
  • n - numerical style.
  • s - numerical superscript style.
  • any other letter - author-year style.
  • The punctuation to appear between the author and the year (in parenthetical case only).
  • The punctuation used between years, in multiple citations when there is a common author. e.g., (Chomsky 1956, 1957). If you want an extra space, then you need {,~} .

Some of the options controlled by \bibpunct are also accessible by passing options to the natbib package when it is loaded. These options also allow some other aspect of the bibliography to be controlled, and can be seen in the table (right).

So as you can see, this package is quite flexible, especially as you can easily switch between different citation styles by changing a single parameter. Do have a look at the Natbib manual , it's a short document and you can learn even more about how to use it.

BibTeX [ edit | edit source ]

I have previously introduced the idea of embedding references at the end of the document, and then using the \cite command to cite them within the text. In this tutorial, I want to do a little better than this method, as it's not as flexible as it could be. I will concentrate on using BibTeX .

A BibTeX database is stored as a .bib file. It is a plain text file, and so can be viewed and edited easily. The structure of the file is also quite simple. An example of a BibTeX entry:

Each entry begins with the declaration of the reference type, in the form of @ type . BibTeX knows of practically all types you can think of, common ones are: book , article , and for papers presented at conferences, there is inproceedings . In this example, I have referred to an article within a journal.

After the type, you must have a left curly brace ' { ' to signify the beginning of the reference attributes. The first one follows immediately after the brace, which is the citation key , or the BibTeX key . This key must be unique for all entries in your bibliography. It is this identifier that you will use within your document to cross-reference it to this entry. It is up to you as to how you wish to label each reference, but there is a loose standard in which you use the author's surname, followed by the year of publication. This is the scheme that I use in this tutorial.

Next, it should be clear that what follows are the relevant fields and data for that particular reference. The field names on the left are BibTeX keywords . They are followed by an equals sign (=) where the value for that field is then placed. BibTeX expects you to explicitly label the beginning and end of each value. I personally use quotation marks ("), however, you also have the option of using curly braces ('{', '}'). But as you will soon see, curly braces have other roles, within attributes, so I prefer not to use them for this job as they can get more confusing. A notable exception is when you want to use characters with umlauts (ü, ö, etc), since their notation is in the format \"{o} , and the quotation mark will close the one opening the field, causing an error in the parsing of the reference. Using \usepackage[utf8]{inputenc} in the preamble to the .tex source file can get round this, as the accented characters can just be stored in the .bib file without any need for special markup. This allows a consistent format to be kept throughout the .bib file, avoiding the need to use braces when there are umlauts to consider.

Remember that each attribute must be followed by a comma to delimit one from another. You do not need to add a comma to the last attribute, since the closing brace will tell BibTeX that there are no more attributes for this entry, although you won't get an error if you do.

It can take a while to learn what the reference types are, and what fields each type has available (and which ones are required or optional, etc). So, look at this entry type reference and also this field reference for descriptions of all the fields. It may be worth bookmarking or printing these pages so that they are easily at hand when you need them. Much of the information contained therein is repeated in the following table for your convenience.

+ Required fields, o Optional fields *1 (Clarification needed) *2 (Clarification needed)

Authors [ edit | edit source ]

BibTeX can be quite clever with names of authors. It can accept names in forename surname or surname, forename . I personally use the former, but remember that the order you input them (or any data within an entry for that matter) is customizable and so you can get BibTeX to manipulate the input and then output it however you like. If you use the forename surname method, then you must be careful with a few special names, where there are compound surnames, for example "John von Neumann". In this form, BibTeX assumes that the last word is the surname, and everything before is the forename, plus any middle names. You must therefore manually tell BibTeX to keep the 'von' and 'Neumann' together. This is achieved easily using curly braces. So the final result would be "John {von Neumann}". This is easily avoided with the surname, forename , since you have a comma to separate the surname from the forename.

Secondly, there is the issue of how to tell BibTeX when a reference has more than one author. This is very simply done by putting the keyword and in between every author. As we can see from another example:

This book has three authors, and each is separated as described. Of course, when BibTeX processes and outputs this, there will only be an 'and' between the penultimate and last authors, but within the .bib file, it needs the and s so that it can keep track of the individual authors.

Standard templates [ edit | edit source ]

Standard templates that can be directly copied and filled in. Optional entries are marked in the core by a ? prefix. Note that the % sign used in LaTeX for commenting lines does not work in BibTeX and creates invalid field name. In BibTeX, valid but unknown field names and names outside of an entry are ignored, leading to a popular commenting method. <--Be careful if you copy the following templates, the % sign is not valid to comment out lines in bibtex files. If you want to comment out a line, you have to put it outside the entry.-->

  • Required fields: author, title, journal, year.
  • Optional fields: volume, number, pages, month, note.
  • Required fields: author/editor, title, publisher, year.
  • Optional fields: volume/number, series, address, edition, month, note.
  • Required fields: title.
  • Optional fields: author, howpublished, address, month, year, note.
  • Required fields: author, title, booktitle, year.
  • Optional fields: editor, volume/number, series, pages, address, month, organization, publisher, note.
  • Required fields: author/editor, title, chapter and/or pages, publisher, year.
  • Optional fields: volume/number, series, type, address, edition, month, note.
  • Required fields: author, title, booktitle, publisher, year.
  • Optional fields: editor, volume/number, series, type, chapter, pages, address, edition, month, note.
  • Optional fields: author, organization, address, edition, month, year, note.
  • Required fields: author, title, school, year.
  • Optional fields: type (eg. "diploma thesis"), address, month, note.
  • Required fields: none
  • Optional fields: author, title, howpublished, month, year, note.
  • Required fields: author, title, year, school.
  • Optional fields: address, month, keywords, note.
  • Required fields: title, year.
  • Optional fields: editor, volume/number, series, address, month, organization, publisher, note.
  • Required fields: author, title, institution, year.
  • Optional fields: type, number, address, month, note.
  • Required fields: author, title, note.
  • Optional fields: month, year.

Non-standard templates [ edit | edit source ]

Preserving case of letters [ edit | edit source ].

In the event that BibTeX has been set by the chosen style not to preserve all capitalization within titles, problems can occur, especially if you are referring to proper nouns, or acronyms. To tell BibTeX to keep them, use the good old curly braces around the letter in question, (or letters, if it's an acronym) and all will be well! It is even possible that lower-case letters may need to be preserved - for example if a chemical formula is used in a style that sets a title in all caps or small caps, or if "pH" is to be used in a style that capitalises all first letters.

However, avoid putting the whole title in curly braces, as it will look odd if a different capitalization format is used:

For convenience though, many people simply put double curly braces, which may help when writing scientific articles for different magazines, conferences with different BibTex styles that do sometimes keep and sometimes not keep the capital letters:

As an alternative, try other BibTex styles or modify the existing. The approach of putting only relevant text in curly brackets is the most feasible if using a template under the control of a publisher, such as for journal submissions. Using curly braces around single letters is also to be avoided if possible, as it may mess up the kerning, especially with biblatex, [1] so the first step should generally be to enclose single words in braces.

A few additional examples [ edit | edit source ]

Below you will find a few additional examples of bibliography entries. The first one covers the case of multiple authors in the Surname, Firstname format, and the second one deals with the incollection case.

If you have to cite a website you can use @misc, for example:

The note field comes in handy if you need to add unstructured information, for example that the corresponding issue of the journal has yet to appear:

Getting current LaTeX document to use your .bib file [ edit | edit source ]

At the end of your LaTeX file (that is, after the content, but before \end{document} ), you need to place the following commands:

Bibliography styles are files recognized by BibTeX that tell it how to format the information stored in the .bib file when processed for output. And so the first command listed above is declaring which style file to use. The style file in this instance is plain.bst (which comes as standard with BibTeX). You do not need to add the .bst extension when using this command, as it is assumed. Despite its name, the plain style does a pretty good job (look at the output of this tutorial to see what I mean).

The second command is the one that actually specifies the .bib file you wish to use. The ones I created for this tutorial were called sample1.bib , sample2.bib , . . ., samplen.bib , but once again, you don't include the file extension. At the moment, the .bib file is in the same directory as the LaTeX document too. However, if your .bib file was elsewhere (which makes sense if you intend to maintain a centralized database of references for all your research), you need to specify the path as well, e.g \bibliography{/some/where/sample} or \bibliography{../sample1} (if the .bib file is in the parent directory of the .tex document that calls it).

Now that LaTeX and BibTeX know where to look for the appropriate files, actually citing the references is fairly trivial. The \cite{ ref_key } is the command you need, making sure that the ref_key corresponds exactly to one of the entries in the .bib file. If you wish to cite more than one reference at the same time, do the following: \cite{ ref_key1 , ref_key2 , ..., ref_keyN } .

Why won't LaTeX generate any output? [ edit | edit source ]

The addition of BibTeX adds extra complexity for the processing of the source to the desired output. This is largely hidden from the user, but because of all the complexity of the referencing of citations from your source LaTeX file to the database entries in another file, you actually need multiple passes to accomplish the task. This means you have to run LaTeX a number of times. Each pass will perform a particular task until it has managed to resolve all the citation references. Here's what you need to type (into command line):

  • latex latex_source_code.tex
  • bibtex latex_source_code.aux

(Extensions are optional, if you put them note that the bibtex command takes the AUX file as input.)

After the first LaTeX run, you will see errors such as:

The next step is to run bibtex on that same LaTeX source (or more precisely the corresponding AUX file, however not on the actual .bib file) to then define all the references within that document. You should see output like the following:

The third step, which is invoking LaTeX for the second time will see more errors like " LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. ". Don't be alarmed, it's almost complete. As you can guess, all you have to do is follow its instructions, and run LaTeX for the third time, and the document will be output as expected, without further problems.

If you want a pdf output instead of a dvi output you can use pdflatex instead of latex as follows:

  • pdflatex latex_source_code.tex

Note that if you are editing your source in vim and attempt to use command mode and the current file shortcut (%) to process the document like this:

  • :! pdflatex %
  • :! bibtex %

You will get an error similar to this:

  • I couldn't open file name 'current_file.tex.aux'

It appears that the file extension is included by default when the current file command (%) is executed. To process your document from within vim, you must explicitly name the file without the file extension for bibtex to work, as is shown below:

  • :! bibtex %:r (without file extension, it looks for the AUX file as mentioned above)

Another option exists if you are running Unix/Linux or any other platform where you have make . Then you can simply create a Makefile and use vim's make command or use make in shell. The Makefile would then look like this:

Frequently occuring errors are:

  • Bibtex is irritated by spaces in the bibliography file's name. Spaces in file names are not allowed with BibTeX, other limitations such as a maximal path length of 40 characters are valid too. Solution: Copy the bib file into your folder or rename folders to names without spaces.
  • Empty bibliography: Did you cite something in the document (search for \cite or similar words)? Otherwise, LaTeX will not generate a bibliography in the PDF. Solutions: Use \nocite{*} to list all entries in the bibliography, without regard to whether they are cited or not. Or simply: Cite something.
  • BibTeX keeps complaining over an entry with quotation marks despite the syntax looks correct? It may be that the quotation marks are similar looking, but wrong characters. (" vs. ''). Solution: Try to exchange the quotation marks with their correct counterparts.

Including URLs in bibliography [ edit | edit source ]

As you can see, there is no field for URLs. One possibility is to include Internet addresses in howpublished field of @misc or note field of @techreport , @article , @book :

howpublished = "\url{}"

Note the usage of \url command to ensure proper appearance of URLs .

Another way is to use special field url and make bibliography style recognise it.

url = ""

You need to use \usepackage{url} in the first case or \usepackage{hyperref} in the second case.

Styles provided by Natbib (see below) handle this field, other styles can be modified using urlbst program. Modifications of three standard styles (plain, abbrv and alpha) are provided with urlbst.

If you need more help about URLs in bibliography, visit FAQ of UK List of TeX .

Customizing bibliography appearance [ edit | edit source ]

One of the main advantages of BibTeX, especially for people who write many research papers, is the ability to customize your bibliography to suit the requirements of a given publication. You will notice how different publications tend to have their own style of formatting references, to which authors must adhere if they want their manuscripts published. In fact, established journals and conference organizers often will have created their own bibliography style (.bst file) for those users of BibTeX, to do all the hard work for you.

It can achieve this because of the nature of the .bib database, where all the information about your references is stored in a structured format, but nothing about style. This is a common theme in LaTeX in general, where it tries as much as possible to keep content and presentation separate.

A bibliography style file ( .bst ) will tell LaTeX how to format each attribute, what order to put them in, what punctuation to use in between particular attributes etc. Unfortunately, creating such a style by hand is not a trivial task. Which is why Makebst (also known as custom-bib ) is the tool we need.

Makebst can be used to automatically generate a .bst file based on your needs. It is very simple, and actually asks you a series of questions about your preferences. Once complete, it will then output the appropriate style file for you to use.

It should be installed with the LaTeX distribution (otherwise, you can download it ) and it's very simple to initiate. At the command line, type:

LaTeX will find the relevant file and the questioning process will begin. You will have to answer quite a few (although, note that the default answers are pretty sensible), which means it would be impractical to go through an example in this tutorial. However, it is fairly straight-forward. And if you require further guidance, then there is a comprehensive manual available. I'd recommend experimenting with it and seeing what the results are when applied to a LaTeX document.

If you are using a custom built .bst file, it is important that LaTeX can find it! So, make sure it's in the same directory as the LaTeX source file, unless you are using one of the standard style files (such as plain or plainnat , that come bundled with LaTeX - these will be automatically found in the directories that they are installed. Also, make sure the name of the .bst file you want to use is reflected in the \bibliographystyle{style} command (but don't include the .bst extension!).

Localizing bibliography appearance [ edit | edit source ]

When writing documents in languages other than English, you may find it desirable to adapt the appearance of your bibliography to the document language. This concerns words such as editors , and , or in as well as a proper typographic layout. The babelbib package can be used here. For example, to layout the bibliography in German, add the following to the header:

Alternatively, you can layout each bibliography entry according to the language of the cited document:

The language of an entry is specified as an additional field in the BibTeX entry:

For babelbib to take effect, a bibliography style supported by it - one of babplain , babplai3 , babalpha , babunsrt , bababbrv , and bababbr3 - must be used:

Showing unused items [ edit | edit source ]

Usually LaTeX only displays the entries which are referred to with \cite . It's possible to make uncited entries visible:

Getting bibliographic data [ edit | edit source ]

Many online databases provide bibliographic data in BibTeX-Format, making it easy to build your own database. For example, Google Scholar offers the option to return properly formatted output, which can also be turned on in the settings page.

One should be alert to the fact that bibliographic databases are frequently the product of several generations of automatic processing, and so the resulting BibTex code is prone to a variety of minor errors, especially in older entries.

Helpful tools [ edit | edit source ]

bibliography reference latex

  • BibDesk BibDesk is a bibliographic reference manager for Mac OS X. It features a very usable user interface and provides a number of features like smart folders based on keywords and live tex display.
  • BibSonomy — A free social bookmark and publication management system based on BibTeX.
  • BibTeXSearch BibTeXSearch is a free searchable BibTeX database spanning millions of academic records.
  • Bibtex Editor - An online BibTeX entry generator and bibliography management system. Possible to import and export Bibtex files.
  • Bibwiki Bibwiki is a Specialpage for MediaWiki to manage BibTeX bibliographies. It offers a straightforward way to import and export bibliographic records.
  • cb2Bib The cb2Bib is a tool for rapidly extracting unformatted, or unstandardized bibliographic references from email alerts, journal Web pages, and PDF files.
  • Citavi Commercial software (with size-limited free demo version) which even searches libraries for citations and keeps all your knowledge in a database. Export of the database to all kinds of formats is possible. Works together with MS Word and Open Office Writer. Moreover plug ins for browsers and Acrobat Reader exist to automatically include references to your project.
  • DokuWiki DokuWiki is a Bibtext plugin that allows for the inclusion of bibtex formatted citations in DokuWiki pages and displays them in APA format. Note: This Plugins is vulnerable to an XSS attack ->
  • Ebib — a BibTeX database manager for Emacs , well resolved and never more than a few keystrokes away.
  • JabRef is a Java program (under the GPL license) which lets you search many bibliographic databases such as Medline, Citeseer, IEEEXplore and arXiv and feed and manage your BibTeX local databases with your selected articles. Based on BiBTeX, JabRef can export in many other output formats such as html, MS Word or EndNote.
  • KBib Another BibTeX editor for KDE. It has similar capabilities, and slightly different UI. Features include BibTeX reference generation from PDF files, plain text, DOI, arXiv & PubMed IDs. Web queries to Google Scholar, PubMer, arXiv and a number of other services are also supported.
  • KBibTeX KBibTeX is a BibTeX editor for KDE to edit bibliographies used with LaTeX. Features include comfortable input masks, starting web queries (e. g. Google or PubMed) and exporting to PDF, PostScript, RTF and XML/HTML. As KBibTeX is using KDE's KParts technology, KBibTeX can be embedded into Kile or Konqueror.
  • Literatur-Generator is a German-language online tool for creating a bibliography (Bibtex, Endnote, Din 1505, ...).
  • Mendeley Mendeley is cost-free academic software for managing PDFs which can manage a bibliography in Open Office and read BibTeX.
  • Qiqqa Qiqqa is a free research manager that has built-in support for automatically associating BibTeX records with your PDFs and a 'BibTeX Sniffer' for helping you semi-automatically find BibTeX records.
  • Referencer Referencer is a Gnome application to organise documents or references, and ultimately generate a BibTeX bibliography file.
  • Synapsen — Hypertextual Card Index / Reference Manager with special support for BiBTeX / biblatex, written in Java.
  • Zotero Zotero is a free and open reference manager working as a standalone application, capable of importing and exporting bib files. Zotero has browser plugins for Chrome and Firefox.

Summary [ edit | edit source ]

Although it can take a little time to get to grips with BibTeX, in the long term, it's an efficient way to handle your references. It's not uncommon to find .bib files on websites that people compile as a list of their own publications, or a survey of relevant works within a given topic, etc. Or in those huge, online bibliography databases, you often find BibTeX versions of publications, so it's a quick cut-and-paste into your own .bib file, and then no more hassle!

Having all your references in one place can be a big advantage. And having them in a structured form, that allows customizable output is another one. There are a variety of free utilities that can load your .bib files, and allow you to view them in a more efficient manner, as well as sort them and check for errors.

Bibliography in the table of contents [ edit | edit source ]

If you are writing a book or report , you'll likely insert your bibliography using something like:

Or, if you are using BibTeX, your references will be saved in a .bib file, and your TeX document will include the bibliography by these commands:

Both of these examples will create a chapter-like (or section-like) output showing all your references. But even though the resulting “References” looks like a chapter or section, it will not be handled quite the same: it will not appear in the Table of Contents.

Using tocbibind [ edit | edit source ]

The most comfortable way of adding your bibliography to the table of contents is to use the dedicated package tocbibind that works with many standard document classes. Simply include this code in the preamble of your document:

This will include the Bibliography in the Table of Contents without numbering. If you want to have proper numbering, include the following code in the preamble:

The tocbibind package can also handle including the List of Figures, List of Tables and the Table of Contents itself in the Table of Contents. It has many options for numbering, document structure etc. to fit almost any scenario. See the tocbibind CTAN page for detailed documentation.

Other methods [ edit | edit source ]

As unnumbered item [ edit | edit source ].

If you want your bibliography to be in the table of contents, just add the following two lines just before the thebibliography environment:

(OR \addcontentsline { toc }{ section }{ Bibliography } if you're writing an article )

The first line just terminates the current paragraph and page. If you are writing a book , use \cleardoublepage to match the style used. The second line will add a line in the Table of Contents (first option, toc ), it will be like the ones created by chapters (second option, chapter ), and the third argument will be printed on the corresponding line in the Table of Contents; here Bibliography was chosen because it's the same text the thebibliography environment will automatically write when you use it, but you are free to write whatever you like. If you are using a separate bib file, add these lines between \bibliographystyle and \bibliography .

If you use hyperref package, you should also use the \phantomsection command to enable hyperlinking from the table of contents to bibliography.

This trick is particularly useful when you have to insert the bibliography in the Table of Contents, but it can work for anything. When LaTeX finds the code above, it will record the info as described and the current page number, inserting a new line in the Contents page.

As numbered item [ edit | edit source ]

If you instead want bibliography to be numbered section or chapter, you'll likely use this way:

Another even easier solution is to use \section inside of the \renewcommand block:

You may wish to use \renewcommand* { \refname }{ \vspace* { -1em }} followed by \vspace* { -1em } to counteract the extra space the blank \refname inserts.

If you are using BibTeX, the \bibliography command, and the book or report class, you will need to redefine \bibname instead of \refname like so.

biblatex [ edit | edit source ]

As we said before, biblatex is widely considered the successor of BibTeX. Intended as a full replacement for BibTeX, it is more configurable in its output and provides a multitude of new styles (for output) and fields (for the database) that can be used in a document. For now, refer to its comprehensive documentation on CTAN .

Entry and field types in .bib files [ edit | edit source ]

The following table shows most field types. Some field types are lists, either lists of person names , others are literal lists . A date can either be given in parts or full, some keys are necessary, page references are provided as ranges and certain special fields contain verbatim code. There are many kinds of titles .

Some entry types are hard to distinguish and are treated the same by standard styles:

  • @article is the same as hypothetic * @inperiodical and therefore encompasses existing @suppperiodical
  • @inbook = @bookinbook = @suppbook
  • @collection = @reference
  • @mvcollection = @mvreference
  • @incollection = @suppcollection = @inreference
  • @online = @electronic = @www
  • @report = @techreport
  • @thesis = @mastersthesis = @phdthesis

Some field types are defined, but the documentation does not say which entry types they can be used with. This is either because they depend on another field being set to be useful or they can always be used in a user-defined manner, but will never be used in standard styles:

  • abstract , annotation
  • entrysubtype
  • origdate , origlocation , origpublisher
  • origtitle , reprinttitle , indextitle
  • pagination , bookpagination
  • shortauthor , shorteditor , shorthand , shorthandintro , shortjournal , shortseries shorttitle

The only field that is always mandatory, is title . All entry types also require either date or year and they specify which of author and editor they expect or whether they can use both. Some field types can optionally be used with any entry type:

  • addendum , note

All physical (print) entry types share further optional field types:

  • eprint , eprintclass , eprinttype

Multimedia entry types

  • @performance

and legal entry types

  • @commentary
  • @jurisdiction
  • @legislation

are defined, but not yet supported (well).

The entry types @bibnote , @set and @xdata are special.

Printing bibliography [ edit | edit source ]

Presuming we have defined our references in a file called references.bib, we add this to biblatex by adding the following to the preamble:

Print the bibliography with this macro (usually at the end of the document body):

Printing separate bibliographies [ edit | edit source ]

We want to separate the bibliography into papers, books and others

If the bib entries are located in multiple files we can add them like this:

We can also filter on other fields, such as entrysubtype. If we define our online resources like this:

we filter with \printbibliography [title={Online resources}, subtype=inet]

Example with prefix keys, subheadings and table of contents [ edit | edit source ]

As the numbering of the bibliographies are independent, it can be useful to also separate the bibliographies using prefixnumbers such as a, b and c. In addition we add a main heading for the bibliographies and add that to the table of contents.

To make Hyperref links point to the correct bibliography section, we also add \phantomsection before printing each bibliography

To add each of the bibliographies to the table of contents as sub-sections to the main Bibliography, replace heading=subbibliography with heading=subbibintoc .

Multiple bibliographies [ edit | edit source ]

Using multibib [ edit | edit source ].

This package is for multiple Bibliographies for different sections in your work. For example, you can generate a bibliography for each chapter. You can find information about the package on CTAN [2]

Using bibtopic [ edit | edit source ]

The bibtopic-Package [3] is created to split the citations among more files, so that you can divide the bibliography into more parts. It generates a separate aux file for each bibliography section, so you will have to run bibtex on each of those (see the package documentation for more details).

Notes and references [ edit | edit source ]

  • ↑ The biblatex manual
  • ↑
  • ↑

This page uses material from Andy Roberts' Getting to grips with LaTeX with permission from the author.

bibliography reference latex

  • Pages using deprecated enclose attributes
  • Outdated pages

Navigation menu

Ask Yale Library

My Library Accounts

Find, Request, and Use

Help and Research Support

Visit and Study

Explore Collections

BibTeX, natbib, biblatex: Managing Citations in LaTeX: Citation Styles in LaTeX

  • LaTeX Bibliography Resources
  • Bibliography Packages
  • Citation Styles in LaTeX
  • Zotero and LaTeX
  • Troubleshooting
  • Workshop Notes

But what about importing from databases?

Some tools, like the Astrophysics Data System (ADS), Inspec, and Google Scholar, make exporting to BibTeX user-friendly. They escape special characters and generate citation keys for you. Other tools are a bit less straightforward. 

In general, the BibTeX export will be located in either an "export" or "cite" menu just above your search results. The cite menu is sometimes activated with an icon that looks like a quotation mark. It can be more effective to use a reference management tool like Zotero to manage your references, so we recommend taking a look at that tab for more information on semi-automated ways to manage your references.

Here are some additional pages with specialized information for you.

  • TeXMed - a BibTeX interface for PubMed TeXMed is just an interface to NCBI PubMed, that allows you to query PubMed and to store references in BibTeX format.
  • Documentation on Web of Knowledge/Web of Science for BibTeX Citations Quick summary: Once you've found a citation you want to save, just go to the bottom of the article information page and export using the options in the Output Record box.
  • Documentation on Exporting to BibTeX in ProQuest Quick summary: Click the Cite button in the light blue bar above your search results. A box will come up that will walk you through citing the resource(s). Select BibTeX as your citation style, then press the orange "Change" button. Copy the citation to your .bib file. NOTE THAT YOU WILL NEED TO PROVIDE THE IDENTIFIERS FOR EXPORTED CITATIONS.

Other Resources

  • Choosing a BibTeX Style Reed College has provided several modified versions of APA, MLA, and Chicago. Click on the name of the style you want to download under the Styles Recommended by Reed section. Place the style in the directory of your paper.
  • Online BibTeX Tidy This tool tidies bibtex files by fixing inconsistent whitespace and special characters, removing duplicates, removing unwanted fields, and sorting entries. It has a lot of options in the right-hand column to help you with messy BibTeX files.
  • Using EndNote with LaTeX [HTML web log] A quick, easy guide to using .bib files and EndNote at the same time.
  • Using Overleaf with RefWorks A quick guide from Overleaf on using RefWorks.

Finding a Citation Style

The LaTeX Bibliography Resources page includes information about LaTeX templates, many of which include a bibliography style and sample bib file to get you started. If you need to locate another style, though, here are some instructions. Please note that templates built for BibTeX + natbib will not always easily translate to ones built for biber/Biblatex if the template is complex.

The search.

We start by searching for filetype:bst and the name of whatever we're looking for. In the example search, I'm looking for the style for Geophysical Research . If you are using biber, you can look for a bbx style file with filetype:bbx .

You should see a variety of results that all have that filetype. Use online savviness to avoid clicking on results that might not be safe — we're dealing with code files, after all. Many people will put style files on GitHub or on their academic personal websites. Often, the creator will upload the style file as a text document that you can copy-paste into Overleaf or save into the directory you're working from on your computer.

Create a New File in Overleaf (or in the directory you're working in).

Please note that many of these styles are generated using command line utilities. Take note of what was used (in this case,  docstrip ) so that you can search for it if you need to debug. Some of the command line-generated style files will cause package conflicts. See the Troubleshooting tab on this guide for a common example.

The specific agu.bst file was generated with a utility called docstrip.

Once you have pasted in the contents, you're fine to add it to the document preamble.

We've pasted in the contents of the file we found online.

  • << Previous: Bibliography Packages
  • Next: Zotero and LaTeX >>
  • Last Updated: Jun 30, 2023 9:11 AM
  • URL:

Yale Library logo

Site Navigation

P.O. BOX 208240 New Haven, CT 06250-8240 (203) 432-1775

Yale's Libraries

Bass Library

Beinecke Rare Book and Manuscript Library

Classics Library

Cushing/Whitney Medical Library

Divinity Library

East Asia Library

Gilmore Music Library

Haas Family Arts Library

Lewis Walpole Library

Lillian Goldman Law Library

Marx Science and Social Science Library

Sterling Memorial Library

Yale Center for British Art



image of the ceiling of sterling memorial library

Yale Library Instagram

Accessibility       Diversity, Equity, and Inclusion      Giving       Privacy and Data Use      Contact Our Web Team    

© 2022 Yale University Library • All Rights Reserved

  • Introduction to BibTex
  • Cite References in LaTex
  • LaTex Resources
  • From Web of Science
  • From Scopus
  • From Engineering Village
  • From MathSciNet
  • From Google Scholar
  • From ACM Digital Library
  • From IEEE Xplore
  • BibTex Entries for Books
  • Export from EndNote
  • Export from Mendeley
  • Export from Zotero

BibTex and LaTex: Cite References in LaTex

How to cite references in latex.

Insert the command below to where you want to cite in your LaTex document:


If you want to create a bibliography of all references, use this command:


How to Create Bibliography in LaTex

The following two commands are used to create bibliography/reference list:



The built-in bibliography styles in LaTex include:

  • plain: references listed in alphabetical order and labeled numerically
  • unsrt: same as plain except references appear in order of citation
  • alpha: same as plain except labeled by entry
  • abbrv: same as plain except use abbreviations for first names and journal names
  • acm: ACM style
  • ieeetr: IEEE style

How to Typeset a LaTex Document

Once you finish writing and citing in Latex, you need to run the following four commands to generate PDF file with bibliography:

Watch the video  on the right to find out how to cite, create bibliography, and typeset LaTex file in TexStudio.

A Sample LaTex File with Citations

In this simple LaTex document, five BibTex entries are cited. The bibliography style used is "plain", and the BibTex entries are from the database "Mybibtex".



\title{About JabRef} \author{Author Name}

JabRef is an open source reference management software for BibTex \cite{BESIIICollaboration2014}. It has graphic interface, which makes it easy to use \cite{Apalkov2013,Libby2014}. This is why we choose it as our preferred reference management software for BibTex\cite{Silveira2014}. We will explain the features in details in this section \cite{Uematsu2015}.

\bibliographystyle{plain} \bibliography{Mybibtex}


Change Bibliography Style in LaTex

Sometimes, you need to change your bibliography styles in LaTex. This can be completed by changing the style name in the command:


The video below gives more details on how to change a bibliography style in LaTex. Click the Full Screen button to enlarge the video.

Video: How to Typeset LaTex Document

This video shows you how to cite, create bibliography, and typeset LaTex file in TexStudio. Click the Full Screen button to enlarge the video.

  • << Previous: JabRef
  • Next: LaTex Resources >>
  • Library A to Z
  • Follow on Facebook
  • Follow on Twitter
  • Follow on YouTube
  • Follow on Instagram

The University of Saskatchewan's main campus is situated on  Treaty 6 Territory and the Homeland of the Métis.

© University of Saskatchewan Disclaimer | Privacy

  • Last Updated: Jan 8, 2024 4:49 PM
  • URL:

SCI Journal

How to Reference in Latex – 7 Steps to Bibliography with BibTeX

Photo of author

This post may contain affiliate links that allow us to earn a commission at no expense to you. Learn more

reference in Latex

Want to learn how to Reference in Latex? Here are 7 Steps to Master Bibliography with BibTeX.

Adding references and citations to any document can be a time-consuming task. You may need to include a single reference multiple times and also ensure each one follows a consistent referencing style.

The good news is that LaTeX’s bibliography management tool BibTeX makes much of the work involved in reference management a breeze. This is because BibTeX bibliography entries are kept within a separate BibTeX database file that can be imported easily into your main document.

Some of the benefits of using BibTeX file for reference in LaTex include:

  • Having to type each reference only once
  • Achieving a consistent citation style throughout your document
  • Easily getting each item you cite to show up as a reference at the end of the document

In general, using bib file for referencing saves a lot of time. This makes it useful for researchers that need to cite or include a large number of references that are presented consistently in their document.

Table of Contents

How to Add a Reference in LaTeX Bibliography Management

Adding a reference in a LaTex bibliography file, or bib file can seem intimidating at first. However, managing a bib file is a relatively simple and straightforward process once you understand the steps involved. We have broken down the procedure into 7 simple steps for this guide.

Step 1 – Begin Document – Making a LaTeX document

Begin document: Create an empty LaTeX document with “.tex” extension in your preferred LaTeX editor. This could be TeXstudio, ShareLaTeX, or Texmaker.

Step 2 – Creating a new reference bib file with “.bib” extension

Create a new empty file and rename it to “citation.bib”. 

The “bib” extension informs the LaTeX compiler that the bib file contains all the references for your document. Each of these files will be formatted in a particular style discussed in later steps.

Step 3 – Locating the paper to be cited in Google Scholar

The next step is to obtain your citation. Look for the paper you wish to cite in  Google Scholar. Once you have located the paper on Google Scholar’s search results, look for a set of inverted commas next to a star symbol. 

bibliography reference latex

Step 4 – Obtaining the citation in BibTeX format for Reference in LaTex 

Select the inverted commas, and a window titled “cite” should appear. 

bibliography reference latex

This Cite window will list a number of different citation styles such as MLA and APA. At the bottom of this window, there should be a set of hyperlinks for BibTeX, EndNote, RefMan, and RefWorks. Select BibTeX and your citation should appear in the following format:


  title={Sleep duration as a risk factor for the development of type 2 diabetes},

  author={Yaggi, H Klar and Araujo, Andre B and McKinlay, John B},

  journal={Diabetes care},





  publisher={Am Diabetes Assoc}

You can also add a second citation by following the same steps for a second paper in Google Scholar.


  title={Chronobiology of aging: temperature, sleep-wake rhythms and entrainment},

  author={Weitzman, Elliot D and Moline, Margaret L and Czeisler, Charles A and Zimmerman, Janet C},

  journal={Neurobiology of aging},






For these citations, “ yaggi2006sleep” and “ weitzman1982chronobiology ” are referred to as the key of their respective papers. You can follow the above steps to add each reference you would like to cite in your document. Once this is complete, you can return to your main LaTeX file and cite your papers individually.

How to Call a Reference in LaTex Bibliography

Step 5 – calling a latex reference.

Calling a reference in the LaTex bibliography is also quite straightforward. In a new line, you can type:

The references for the paper in our example are \cite{yaggi2006sleep} and \cite{weitzman1982chronobiology}.

Remember that the document keys are vital for citing each paper, so ensure you enter them correctly.

[Need example of what this looks like]

Step 6 – Managing and Creating Your Preferred LaTex Bibliography Styles

In the next line, you can choose your preferred bibliography style. For this example, we will be using IEEE referencing style. This is a numbered referencing bibliography style that uses citation numbers provided in square brackets in your document.

Type the following:



You can also add references in the following bibtex styles by simply including the style code in place of ieeetr :

With this bibliography style, references are shown in alphabetical order and are labeled numerically. Use plain in the above code to add citations in this style.

References appear in order of citation and are labeled numerically. Use unsrt in the above code to add citations in this style.

Same as plain, but the references are labeled by entry. Use alpha in the above code to add citations in this style.

Same as plain, but first names and journal names use abbreviations. Use abbrv in the above code to add citations in this style.

This style shows in-text citations as numbers enclosed in square brackets and separated with commas such as [1, 2]. Use acm in the above code to add citations in this style.

Step 7 – Compiling the Code for Reference in LaTex 

Next, compile and run your code. Your document will refresh a few times. You can then view the bibliography at the end of the LaTeX document. The references for our IEETR style example will show up as:

The references for this paper are [1] and [2] . 

[1] and [2] refer to the citations list at the end of the document.

For example:

bibliography reference latex

The above steps are summarized as:

  • Create an empty LaTeX document in the .tex extension.
  • Create a new reference file in the .bib extension.
  • Locate the paper, journal, or book to be cited in Google Scholar.
  • Obtain the citation in BibTeX format
  • Call the reference
  • Select your citation style in LaTex.
  • Compile the code in LaTex.

Additional Tips

As you can see, adding and calling references in LaTeX is a relatively straightforward process. Some tips to keep in mind when working with references in BibTeX and LaTeX include:

  • Running your .tex LaTeX file through LaTeX before running BibTeX as the latter program requires the auxiliary file produced by LaTeX.
  • Noting down the key for your paper, book, or journal properly as they will be vital for calling your reference in the bibliography.
  • Ensuring the code mentioned above is entered with the correct syntax to avoid any compilation errors in LaTex. 

Frequently Asked Questions

Q1: how do you reference equations in latex.

You can reference equations in LaTeX by inserting a label in your equation with an “eqn:” prefix. A typical LaTeX equation resembles the following: \begin{equation} \label{eqn:somelabel} e=mc^2 \end{equation}

Q2: What is Documentclass LaTeX?

The first line of code in a LaTeX document is referred to as the Documentclass declaration command. It resembles the following: \documentclass[options]{class} Documentclass informs LaTex about which layout standard to use. Some common document classes include: article : For articles from scientific journals and presentations. book : For books. letter : For writing letters

Q3: How do you add references in LaTeX without citations?

If you wish to list references without citing them in the text body, you can add a single input using: \nocite{keyname} You can then mark any key within the .bib file by using: \nocite{*} Add this command for each entry in the bib data file or \nocite{key} for a single one that isn’t cited in the text.

Q4: How do you reference labels in LaTeX?

You can reference labels in LaTeX by placing a \label{key} command behind a sectioning command, chapter, or image. You should then assign a unique key to it. Following this, you can use \ref{key} and \pageref{key} commands to reference them.

Q5: How do you change the reference style in LaTeX?

You can change the reference style in LaTeX by altering the \bibliographystyle{ filename} line in your LaTeX document. Filename here should be replaced with your preferred reference style such as plain and ieeetr .

Q6: How do you cite all references in LaTeX?

You can cite all your sources by typing \citeall .

Q7: Where can you get more help with LaTex?

You can get more help with LaTeX by visiting .

Further Reading

LaTex Tutorial

  • 27 Pros and Cons of Using LaTex for Scientific Writing
  • 6 easy steps to create your first Latex document examples
  • How to add circuit diagrams in Latex
  • How to change Latex font and font size
  • How to create a Latex table of contents
  • How to create footnotes in LaTeX and how to refer to them, using the builtin commands
  • How to create Glossaries in LaTeX
  • How to create plots in Latex – codes and examples
  • How to create symbols in LaTeX – commands for Latex greek alphabet  
  • How to create tables in LaTeX – rows, columns, pages and landscape tables
  • How to drawing graphs in Latex – vector graphics with tikz
  • How to highlight source code in LaTeX
  • How to insert an image in LaTeX – Managing Latex figure and picture
  • How to Itemize and Number List – Adding Latex Bullet Points
  • How to make hyperlink in latex – Clickable links
  • How to use Latex Packages with examples
  • How to use LaTeX paragraphs and sections
  • LaTeX Installation Guide – Easy to follow steps to install LaTex
  • Learn to typeset and align Latex equations and math

Photo of author

3 thoughts on “How to Reference in Latex – 7 Steps to Bibliography with BibTeX”

Thanks for this invaluable support to LaTeX users.

I feel you should tell to use \bibliography{} command and refer to the .bib file here.

I want to cite in 4 referencing, for example: [1-4] But, I see: [1], [2], [3], [4]

how can I write: [1-4]

Leave a Comment Cancel reply

Save my name, email, and website in this browser for the next time I comment.

We maintain and update science journals and scientific metrics. Scientific metrics data are aggregated from publicly available sources. Please note that we do NOT publish research papers on this platform. We do NOT accept any manuscript.

bibliography reference latex

2012-2024 ©

BibTeX Guide: Mastering Reference Management for Bibliographies

For those diving into academic or technical writing, BibTeX is an indispensable ally. Despite the intricate details surrounding LaTeX packages, citation styles, and formatting, with a structured approach, BibTeX can be easy to grasp.

Understanding BibTeX ​

Developed in the 1980s by Oren Patashnik and Leslie Lamport, BibTeX has become the go-to software for managing and formatting bibliographies in LaTeX and markdown documents. Its widespread acceptance in academic circles, especially in fields like math, computer science, and physics, is a testament to its efficiency. By storing references in plain text .bib files and associating each with a unique key, BibTeX simplifies citations in the main LaTeX document.

The beauty of BibTeX lies in its versatility. The .bib-file entries can range from articles and books to conference papers, each containing fields like authors, title, journal, volume, and year, tailored to the reference type.

BibTeX eliminates redundancy. Once you've detailed a reference in the '.bib-file', simply use its unique key for citations in the LaTeX or Markdown document. During compilation, BibTeX takes care of the formatting, drawing from the .bib file and the style guidelines in the LaTeX document.

Advantages of Using BibTeX ​

  • Consistency : BibTeX ensures uniform citation styles, minimizing manual errors.
  • Efficiency : Change styles or reuse references without starting from scratch.
  • Flexibility : Compatible with diverse tools, including Pandoc for Markdown.
  • Control : Customize fields and types to fit specific requirements.
  • Reliability : Being text-file based, BibTeX databases are easy to backup and share.

Limitations of BibTeX ​

While BibTeX is harmonious with LaTeX and Markdown, its integration with Microsoft Word, Libre Office, and Google Docs is somewhat patchy. Workarounds exist, like Bibtex4Word (exclusive to Windows). For frequent users of these platforms, Zotero might be more appropriate.

Moreover, the static nature of BibTeX can be a drawback. Its maintenance is sparse, which might leave users wanting more up-to-date fields or types. And while its format is easily readable, minor errors like a missing parenthesis can disrupt your LaTeX/Pandoc flow. To avoid such pitfalls, consider BibTeX tools like CiteDrive or jabRef , which offer features like duplication prevention.

Biber, BibLaTeX ​

Please keep some of the alternatives in mind, especially Biber in conjunction with BibLaTeX. It is a complete reimplementation of BibTeX's bibliographic features; in addition to a large number of supported types and fields, it supports a wide range of customizations, including sorting bibliographies by types, keywords, authors, and other fields, as well as full Unicode and multi-language support and customizations with in-text citations without the need for additional packages, such as natbib. Although BibTeX is still highly regarded for its durability, it should be noted that bibLatex is far more powerful and well-maintained, as many significant BibTeX updates occurred decades ago. Although the tutorial is primarily geared toward BibTeX, much of it also applies to biblatex, making it an excellent place to start. The format remains the same; entries are saved in bib files with additional fields and types. Additional biblatex tutorials can be found on this page.

In a markdown file, you can specify your bibliography '.bib-file'in the YAML section for use with citations and in conjunction with Pandoc, which formats your document using Citation Style Language as a formatter and CiteProc as a processesor as a backend. More information is available on their website, or in our guides.

Quick Start Guide ​

BibTeX, while well-established, is evolving with the rise of Markdown-based systems such as Pandoc, Jupyter, Obsidian, Quarto, and R Markdown. Here's a brief tutorial on integrating BibTeX with LaTeX. Don't forget to check out our sections on BibLaTeX and Pandoc.

Preparations ​

1. install a latex distribution ​.

If you wish to utilize BibTeX, ensure you have a LaTeX distribution installed:

  • TeX Live and MiKTeX are renowned open-source options.
  • Platforms like Overleaf come pre-packaged, removing the need for manual installations.

2. Organize Your Document Structure ​

Your project folder might look like this:

Step-by-Step Guide ​

Step 1: crafting a .bib file ​.

  • Create a .bib file named bibliography.bib . This will house your BibTeX entries.
  • Use text editors like Notepad or specialized tools such as CiteDrive or JabRef .
  • A typical BibTeX entry might resemble:

Key Components :

  • Entry-type : E.g., @book .
  • Entry fields : E.g., title , author .
  • Citation-key : E.g., Hemingway1952 (used as \cite{Hemingway1952} in LaTeX).

Step 2: Picking a Style ​

  • With your .bib file ready, select a citation style.
  • Use the \bibliographystyle{style-name} command in LaTeX to specify your chosen style, omitting the .bst extension.
  • Common styles include: plain , alpha , unsrt , abbrv , ieee , apalike , apa , and acm .

Step 3: Integrating with LaTeX ​

  • Embed your references within a LaTeX document:

Upon compilation, the \cite{Hemingway1952} command will be replaced with a relevant citation.

Tool Recommendations ​

Managing BibTeX entries manually can be cumbersome. Here are some tools to simplify the process:

  • CiteDrive : A web-based, collaborative tool offering seamless export functionalities to Overleaf and R Markdown.
  • Zotero : A powerful, free reference manager. For optimal BibTeX integration, consider the Better BibTeX For Zotero plugin.
  • JabRef : An open-source, BibTeX-centric reference manager available across major operating systems.

Resources ​

Entry types ​.

Next to @book from our example above, BibTeX supports a wide range of reference types, including journal articles, theses, conference papers, and much more. Here's a list of some of the most commonly used reference types in BibTeX:

  • @article : used for articles in journals or magazines
  • @book : used for complete books
  • @inbook : used for chapters in a book
  • @incollection : used for articles in a collection
  • @inproceedings : used for conference or workshop papers
  • @phdthesis : used for PhD theses
  • @mastersthesis : used for Master's theses
  • @techreport : used for technical reports
  • @manual : used for software manuals or guides

Entry fields ​

For each reference type, you'll need to provide a set of fields that describe the reference. The ones you'll need are determined by the type of reference and citation style you're using. For example, a @article reference will typically include fields for the author, title, journal, year, volume, and pages.

  • author : the author of the reference
  • title : the title of the reference
  • journal : the name of the journal or magazine
  • year : the year the reference was published
  • volume : the volume number of the journal or book
  • pages : the page numbers of the reference
  • booktitle : the title of the book in which the reference was published (for @inbook and @incollection references)
  • editor : the editor of the book in which the reference was published (for @book references)
  • series : the series in which the book was published (for @book references)
  • chapter : the chapter number of the reference (for @inbook references)
  • address : the address of the publisher
  • edition : the edition of the book
  • publisher : the name of the publisher
  • school : the name of the school at which the thesis was written (for @phdthesis and @mastersthesis references)
  • institution : the name of the institution that published the report (for @techreport references)
  • howpublished : any special instructions for publishing the reference
  • note : any additional notes about the reference

It is important to note that not all citation styles support all reference types and fields, but you should enter as much information into your BibTeX database as accurately and completely as possible. This ensures that your references are formatted correctly and that the information is correct. Fields that are not supported are simply ignored, so the more, the better. You should double-check any journal requirements.

  • Advantages of Using BibTeX
  • Limitations of BibTeX
  • Biber, BibLaTeX
  • Preparations
  • Step-by-Step Guide
  • Tool Recommendations
  • Entry Types
  • Entry fields

Are you in search of a simple and cost-free online BibTeX manager?

CiteDrive is a bibtex-based collaborative reference manager that integrates seamlessly with Overleaf and RStudio.

Online BibTeX Manager →

Getting Started with LaTeX

  • Installation
  • Creating a document
  • A sample document
  • Library Workshop Files


Since LaTeX is often used to create academic works that will cite many different sources it is important to know how to create a bibliography in LaTeX.  With a little practice and the help of a citation management creating LaTeX bibliographies can be very easy. 

It is strongly recommend that you use a citation management tool, not only to help create LaTeX bibliographies, but to help organize and track articles, books, and other documents throughout your academic career.  For more information about citation management tools take a look at the Citation Management Guide .

Important note:  When creating a bibliography you will need to compile the document twice in order to create properly formatted references.

Creating a Bibliography

There are two parts to creating a bibliography in a LaTeX document.  

Part one is the creation of a separate  .bib file.

This file contains all of the citation information (i.e. title, author, publication date, publisher, etc... ), as will as, a bibID for each citation.  It is strongly recommended to use a citation management tool to create your .bib files.  Those tools will greatly speed up the process and help keep the file organized, generate automatic bibIDs ( which can be edited if desired), and auto fill all relevant data fields which will prevent typos or bugs within the file.  Below is an example of the .bib format for four different common references if you choose to entire them yourself.  Note that not all fields are required and any unused field should be deleted .   The  bibID  is what is used in the main  LaTeX  document to create in-line  references  as well as completed bibliographies.  When  creating  the final  bibliography   LaTeX  will only include citations that were  referenced  in the  document , so its ok to have unused citations in your  .bib  file .

Part two is integrating the information from the.bib file into your main LaTeX document.  

The three ways for doing so are using BibTex , BibTex with natbib , or BibLaTeX .  The hyperlinks will take you to explanation of each method from  Both BibTex with natbib and BibLaTeX have the advantage of optional arguments because they require a  \usepackage[]{} command.  These optional arguments can be used to fine tune how references appear throughout the document and the formatting of the bibliography.   Below is a table that highlights some of the important difference for each method.  

  • << Previous: Templates
  • Next: Exercises >>
  • Last Updated: Oct 10, 2023 12:53 PM
  • URL:

Citation Management and Writing Tools: LaTeX and BibTeX

  • LaTeX and BibTeX
  • Other Citation Tools
  • LaTeX & BibTeX & Overleaf
  • Zotero & BibTeX
  • Mendeley & BibTeX
  • JabRef & BibTeX  

LaTeX & BibTeX (& Overleaf)

What is LaTeX?

LaTeX is a typesetting program that takes a plain text file with various commands in it and converts it to a formatted document based on the commands that it has been given. The source file for the document has a file extension of .tex. It is widely used at MIT for theses and other technical papers due to its prowess with mathematical and foreign characters. For more information on LaTeX, see  LaTeX on Athena Basics , provided by the Athena On-Line Help system.

What is BibTeX?

BibTeX is a bibliographic tool that is used with LaTeX to help organize the user's references and create a bibliography. A BibTeX user creates a bibliography file that is separate from the LaTeX source file, wth a file extension of .bib. Each reference in the bibliography file is formatted with a certain structure and is given a "key" by which the author can refer to in the source .tex file.  For more information on BibTeX, see  see MIT IS&T's page:  How do I Create Bibliographies in LaTeX .

Overleaf at MIT

If you're new to LaTeX/BibTeX, consider using Overleaf ,  an online LaTeX and Rich Text collaborative writing and publishing tool. It includes built-in features to link your Zotero or Mendeley library to your LaTeX document .

MIT Libraries provides Overleaf Pro+ accounts for all MIT faculty, students and staff. Learn more on how to get started with Overleaf.  

Zotero & BibTeX

Export from Zotero to BibTeX:

  • To export all of the references in a certain library to BibTeX, click on the Actions drop-down menu in Zotero and select "Export Library..."
  • To export only certain references, select those references using control-clicks and shift-clicks, then right click one of them and select "Export Selected Items..."
  • From the dialog box that pops up, select the BibTeX format, and click OK.
  • Navigate to the directory where you are storing your manuscript (your .tex file), and save the file. This will generate a file in the appropriate format for BibTeX to read and create a bibliography from.

Auto-syncing from Zotero to BibTeX:

Auto-updating your .bib file when you make changes or additions to your Zotero Library is not available directly in Zotero. You can, however, install and enable a Zotero extension,  Better BibTeX , to enable these features. 

  • Once Better BibTeX is enabled, select the folder/library/items you wish to include in your .bib file as you would do in the basic export process described above.
  • In the export dialog box, you will now see many more options for your export format. Select the “Better BibTeX” option, and, to set up the auto sync, make sure you also check the “Keep updated” box.
  • Click Ok, name your .bib file and save in the same location as your LaTeX file.

You can adjust or remove a .bib auto sync of Zotero records at any time by going to your Zotero preferences and clicking on the Better BibTeX tab, followed by the Automatic export tab.

For more detailed instructions on setting up your Zotero export, see the  Zotero and BibTeX Quick Guide .

Linking with Overleaf:

In Overleaf, you can link your entire library or a Group library to your Overleaf project. This link allows you to have synced records with Zotero while actively accessing them in Overleaf. More information on linking your Zotero and Overleaf accounts may be found on this Overleaf How-To Guide .

Mendeley & BibTeX

Export to BibTeX:

  • Within your Library in Mendeley Reference Manager, select the references that you would like to export to BibTeX.
  • In the dropdown menu in the toolbar at the top of the screen, click File > Export All > BibTeX (*.bib)
  • Make sure you save your BibTeX file to the same location as your LaTeX file.

In Overleaf, you can link your entire library or a subset of your records to your Overleaf project. This link allows you to have synced records with Mendeley while actively accessing them in Overleaf. More information on linking your Mendeley and Overleaf accounts may be found on this Overleaf How-To Guide .

JabRef & BibTeX

If you primarily create documents in LaTeX (versus a word processing software like Microsoft Word) you may want to consider using JabRef as your primary citation management software.

JabRef is a reference manager that acts as an interface to the BibTeX style used by the LaTeX typesetting system. JabRef is open source and is freely downloadable. The graphical interface allows the user to easily import, edit, search, and group citations in the BibTeX format. It also offers automatic citation key generation. JabRef does not offer any citation styles of its own; instead the citation is generated from the BibTeX file by LaTeX. Specifications for each style are given by the chosen style file.

JabRef can be used on Windows, Linux, and Mac.

For more detailed instructions on setting up JabRef as your LaTeX citation management software, see the JabRef Getting Started guidance .

Get help with LaTeX and BibTeX

  • Zotero and BibTeX Quick Guide

LaTeX resources at MIT

LaTeX on Athena, Basics  (IS&T)

How do I create bibliographies in LaTeX?  (IS&T)

  • << Previous: Mendeley
  • Next: Other Citation Tools >>
  • Last Updated: Jan 16, 2024 10:17 AM
  • URL:


Overleaf - LaTeX: Bibliographies and Citing

  • Getting Started
  • Creating a LaTeX Document in Overleaf
  • Structuring and Formatting
  • Lists, Tables, Images, and Labelling
  • Mathematics in LaTeX
  • Bibliographies and Citing
  • Books and Dissertations
  • Submitting from Overleaf

Bibliographies in LaTeX

In order to cite references, you first need to create a separate bibliography file ending with a .bib extension within your LaTeX project.  You can do that by clicking on the New File icon on the upper-left corner of the screen.

bibliography reference latex

Then, enter your file name. Note that the default file extension in LaTeX is .tex. Your bibliography file must end in .bib. Once you create your file, you can add references to it in the BibTeX format.

Exporting references from ProQuest RefWorks

If you use RefWorks to manage your references, you can export your references from RefWorks into the BibTeX format. To export your references from RefWorks, click on the Share  tab. Then, click on Export References  and select the BibTeX  option. You can import the references you exported from RefWorks into LaTeX as a .bib file.

To learn more about RefWorks, visit the  RefWorks e-course module .

Exporting references from a database or Google Scholar

The easiest way to add references to your .bib file, other than exporting them from RefWorks, is to import or copy them directly from Google Scholar or from a database. To cite from Google Scholar, click on the cite  icon underneath the article, which is represented with a quotation sign. Select the option BibTeX  at the bottom of the pop-up screen. You will be directed to another page where you can copy the reference in the BibTeX format. Make sure to check that the relevant fields are entered correctly before copying the reference into your .bib file.

Note that Google Scholar does not include a DOI, which is often needed as part of your reference.

Some databases also provide the option to export a reference in the BibTeX format. The way to export a reference from a database can vary depending on the database being used.

Note: Not all databases allow you to export citation information in the BibTeX format. To work around this, use RefWorks to manage your references which you can then export in the BibTeX format. 

Entering references manually

When entering a reference to BibTeX, the fields that are required to be filled in for each citation will vary depending on the type of the work you are citing. The reference type is specified by using the @ symbol followed by the type. Regardless of the reference type, the first field to be entered in the reference is the label that you want to give to a particular reference. You will later be able to use this label to cite the reference in the main text of the document.

Below is an example of the fields you are required to enter for articles.

Here's another example illustrating the fields required for a Ph.D. thesis.

Visit the page on standard templates for BibTeX to see how other types of works can be included.

Citing in LaTeX

To begin citing sources within your LaTeX document, you can use the biblatex  package. Add  \usepackage { biblatex } to your preamble. Note that there are other packages that you could use for this, including the natbib  package, which is also a popular option.

There are a number of specifications you can enter to the \usepackage { biblatex } command. The first specification you should add within the  square brackets of the command is backend = biber . Biber provides the relevant information needed to implement the biblatex package.

You can also specify the style of your bibliography by using the style  parameter. For instance, style=authoryear  will print your references in the author-year format. Another common variant is style=authoryear-comp , which will only print the author's last name once, and not for the subsequent references. Visit the page on biblatex's citation styles for a full list.

Using biblatex, you can also determine what criteria should be used to sort your bibliography by specifying the sorting  parameter. For instance, sorting=nyt  will sort your bibliography by name, title, and year. The end result of specifying these parameters may look something like this:

To be able to cite the references from your bibliography, you will need to implement a command mapping your BibTeX file to your document. To do that, you can use the \addbibresource {..} command and add your file name in between the curly brackets.

There are many options to call and format your in-text citations in LaTeX. Below is a list of common commands you can use with the corresponding output. For instance, the command \parencite {JonesandSmith1997} will result in (Jones and Smith 1997) in the pdf.   

Adding the \printbibliography command at the end of the document will instruct LaTeX to print your references.

  • << Previous: Mathematics in LaTeX
  • Next: Books and Dissertations >>
  • Last Updated: Mar 14, 2022 9:28 AM
  • URL:

MSU Libraries

  • Need help? Ask a Librarian
  • Writing in LaTeX

Introduction to BibTeX

Creating a bibtex file, adding a bibtex library to your document, using the biblatex package to cite, changing citation styles.

  • Creating Accessible LaTeX Documents
  • Additional Help
  • LaTeX Templates

Using Citation Managers with LaTex

Although some people manage their citations in BibTex, a citation manager can still be extremely helpful for organizing and keeping track of your citations. Zotero, Mendeley, and EndNote all allow you to export citations to BibTex.

For help with choosing a citation manager see:

  • Comparing Citation Managers

For instructions on how to export to BibTex from a citation manager see:

  • University of British Columbia's LaTeX Guide This guide to LaTeX includes instructions on how to export BibTeX files from Zotero, Mendeley, and EndNote.

LaTex allows you to manage citations within your document through the use of a separate bibtex file ( filename.bib ). Bibtex files follow a standard syntax that allow you to easily reference the citations included in that file through the use of a bibliography management package. There are multiple bibliography management packages that you can use to manage citations. This guide will demonstrate how to use biblatex which allows for the most customization.

Example BibTeX file:

@article{grimberg,    author = {Grimberg, Bruna Irene and Hand, Brian},    title = {Cognitive Pathways: Analysis of students' written texts for science understanding},    journal = {International Journal of Science Education},    volume = {31},    number = {4},    pages = {503-521},    ISSN = {0950-0693},    DOI = {10.1080/09500690701704805},    url = {},    year = {2009},    type = {Journal Article} }

You can always create BibTeX files manually. However, many databases and citation managers allow you to export bibtex files that can then be uploaded into your LaTeX environment.

  • Digital Measure's guide to exporting BibTeX files

To add a bibtex file to your LaTex document, you can either create a new file in your Overleaf environment or upload a .bib file to the environment.

bibliography reference latex

To start using the biblatex package to cite, we first need to add the package and establish the BibTex file we are using in the preamble of the document.

\usepackage[backend=biber, style=numeric, citestyle=authoryear]{biblatex}


To create in text citation within your document, we can use the cite command ( \cite{citationkey} ) and include the citation key in the argument. The citation key can be found by looking up the first word included in the relevant citation within the BibTex file. These can always be updated by editing the BibTex file.

You can cite authors in line by using the cite command \cite{grimberg}.

We can then simply print the bibliography at the end of the document.


Biblatex supports most common citation styles. To change the citation style in your document you have to edit the citestyle command of the biblatex package in the preamble.

\usepackage[backend=biber, style=numeric, citestyle=apa ]{biblatex}

You can also update the way the bibliography is sorted by adding a sorting command of the biblatex package.

\usepackage[backend=biber, style=numeric, citestyle=authoryear, sorting=nty ]{biblatex}

For more information on editing biblatex citation styles, see:

  • Overleaf's Guide to Biblatex Citation Styles
  • << Previous: Writing in LaTeX
  • Next: Creating Accessible LaTeX Documents >>
  • Last Updated: Oct 14, 2022 7:57 PM
  • URL:

UNSW Canberra logo

Citations & Referencing: LaTeX

  • Introduction
  • Additional Resources
  • How to reference generitive AI
  • What is LaTex?
  • How to install LaTeX
  • Citing and referencing
  • Reference management programs and BibTeX
  • Inserting the bibliography
  • Additional resources

LaTeX is a document preparation system that is ideal for those who want to produce a thesis of high typographical quality. It can also be used for other documents including assignments, project reports, and questionnaires. 

LaTeX is a document mark-up language. You just create a plain text file, in a text editor, with the extension .tex, and then produce an output file that converts your source text, combined with the markup language, into a high-quality document. No manual graphic designing or formatting is required. LaTeX is widely used by scientists, engineers and other academics because it makes it easy to typeset any complex mathematical formulae.

Below is an example of a simple LaTeX document in its plain text form and the final PDF output. 

bibliography reference latex

To install LaTeX you will need:

  • A TeX distribution and
  • A TeX editor

What is TeX distribution?

The distribution contains the typesetting system as well as many packages that you may use when writing LaTeX documents. The LaTeX distribution is provided by the LaTeX Project and there are different distributions for different operating systems. TeXLive can be installed on most operating systems while others are system specific such as MiKTEX and proTEXt for Windows and MacTEX for MacOSX.

What is TeX editor?

A LaTeX distribution may or may not include an editor. You can choose an editor as you wish. At the very basic level you can use a simple text editor. But there are many good editors available for different Operating Systems and you can select one of them. They provide you with specific functionality such as code highlighting, macros, automatic document generation, auto completion...etc.

How can I obtain and install LateX?

LaTeX software is distributed through the Comprehensive T e X Archive Network ( CTAN ) servers. You can find many easily installable and usable TeX distributions on the CTAN website as well as important support documentation. Please also visit the LaTeX Project website for more information and instructions.

BibTeX generates and formats your bibliography in a LaTeX document.

LaTeX Includes features for you to easily cite references and create bibliographies in your document. The examples below show you  how to do this using a separate BibTeX file to store the details of your references. Your BibTeX file extension is .bib and it should contain all the references that you cite in your document. The .bib file is plain text and it can only be edited using Notepad or your LaTeX editor.

BibTeX example:

You should enter your references in the BibTeX file in the following format. Each reference starts with the document type.

@Book{<user-generated citation key>,

Citation key  is a unique identifier for a given reference. BibTeX scans your document for occurrences of a cite command with a citation key embedded in it, and translates it into a formatted reference. You can use anything you want as the citation key, but it is recommended that you choose something systematic that can easily differentiate between publications. Eg: First author's name and the year of publication.

Example .bib file

bibliography reference latex

You can cite a reference in your .tex document by typing the below command where you want to cite a reference;


To include page numbers in your in text citation put it in square brackets before the citation key as shown below;

\cite[p. 28]{citationkey}

If you only want the references to appear in your bibliography without giving an in text citation, enter the following commands at the end of your text;

\nocite{citationkey} to appear only one citation from the .bib file

\nocite{*} to appear all the citations available in the .bib file

The below command is to cite multiple references within your text. You should include all the citation keys within the curly brackets separated by commas;


Note: Go to Example .tex and Final PDF output to see where it is placed within the source text and how it appears in the final PDF output.

Using other reference management programs with BibTeX

RefWorks, EndNote, Mendeley, JabRef and many other reference management programs can export existing records to your BibTeX file in BibTeX format. With this facility you can get your references exported to your BibTeX file very easily without entering/editing them manually.

The steps below will assist you to export references from EndNote to BibTeX file:

  • Open your EndNote library
  • Select the records that you want to export
  • Go to the "file" menu and select the "Export" option
  • On the export dialog box that appears, choose a file name and location for the exported file on your computer
  • Change the output style to "BibTeX Export" (if you can't see BibteX export option in the bibliographic output style drop down menu, go to "Select another style" option),

bibliography reference latex

   6. Click "Save" button and the EndNote will create the BibTeX file for you

bibliography reference latex

The following commands will insert the bibliography in your .tex document.


\bibliography{bibliography name}

APA example:



See below example to see where it is placed within the source text.

bibliography reference latex

UNSW theses templates

UNSW hosts a mirror of CTAN . The  UNSW theses templates  on CTAN website do almost all the formatting work for you. Please also visit  unswcover  page for more help

  • Go to LaTeX Project Website to read, understand and to obtain LaTeX
  • Andrew Roberts’s tutorials on LaTeX
  • Dickimaw Books
  • The Comprehensive TEX Archive Network (CTAN)

Wikibooks: LaTeX

Useful Documents

  • Bridle, O.; Schultz, K. 2014. Using reference management packages with LaTeX: a brief guide
  • LATEX: An unofficial reference manual
  • LaTeX Cheat sheet
  • Oetiker, T. 2014. The not so short introduction to LaTeX
  • Pößnecker, W. 2013. A gentle introduction to LaTeX (bibliography)
  • Pumphrey, H. C. 2009. Typesetting your MSc dissertation using LaTeX
  • Stitz, T. Using BibTeX: LaTeX Workshop 7

Talbot, N. L. C. 2013. Using LaTeX to write a PhD thesis: version 1.3

​​​​​​​ Videos

  • Installing LaTeX/MiKTeX and Texmaker on a Windows 7 System (Version 2014)
  • Google Scholar and JabRef - BibTeX entry. 2013
  • Bibliography with BibTeX. 2013
  • LaTeX tutorial: How to cite references/paper/articles in LateX. 2011

Need Help? - used on all subject guides - title is hidden via css

Ask Us a Question

Research Consultation

SMS your question to: 61437539020

Call us on: 0434 369 043

See our Citations and Referencing guide.

  • << Previous: EndNote
  • Last Updated: Feb 21, 2024 2:58 PM
  • URL:


Referencing, Citing, and Structuring Bibliographies

  • Referencing Styles
  • EndNote Basic
  • Using Zotero with LaTeX
  • Using Mendeley with LaTeX

Further Useful Links

  • MIT Quick Guide to Zotero & BibTeX
  • Princeton University Guide on Zotero & BibTex
  • University of Melbourne's Guide on Zotero and LaTeX Much thanks and appreciation must go to the University of Melbourne, as much of this guidance has been adapted from their excellent guides!
  • University of Melbourne Guide on Zotero and Overleaf

Rather than having to edit your BibTeX bibliographic entries manually, you can manage your references with a  reference management program , such as Zotero, and then export references in BibTeX format.

Zotero provides LaTeX users with two options for exporting a BibTeX file.

The first is simpler and suitable for users who do not need to make changes to their BibTeX file once generated. The second however enables users to auto-sync their Zotero and BibTeX.

Simple Method:

  • Create your Zotero reference list. If you require help on how to use Zotero, please refer to this  LibGuide . 
  • Select your required references by using the  Ctrl  button and left clicking or select all references by using  Ctrl  and  a  
  • Click the  File  tab, then  Export  Library
  • Change the format to  BibTeX  by clicking the drop down File options
  •  Ensure  Export Notes  is ticked then click  OK
  • The file will automatically add a .bib extension, change the file name as required then save the file into the same folder as your LaTeX document.

The Second Method:

The benefits of this method include being able to keep your .bib file  automatically updating  as new references are added to the Zotero manager. In the simple method, the user has to re download the .bib file each time they need to add a new reference.

This method also allows the user to give the reference a  custom citation key  as the simple method auto generates a very long and sometimes cumbersome key that contains a large amount of characters. 

  • Zotero does not already contain the files needed for this extension method so the user needs to install and enable the  Better BibTeX  add-on. 
  • Installation instructions can be found at the bottom of this step-by-step process.   
  • Download the latest add-on by clicking on the ' latest .xpi file ' link the installation instructions. At the time of writing this guide the full file name is zotero-better-bibtex-1.6.75.xpi but this will change with newer releases. 
  • Install  Better BibTeX  by clicking on the xpi file if it does not automatically start

Zotero Standalone

  • The .xpi file will not automatically run in the standalone Zotero
  • Open Zotero manager
  • Click the  Tools  tab, then  Add-ons
  • Next select  Extensions
  • Click on the gear or the settings icon in the top right hand corner and select  Install Add-on From File
  • Select the .xpi file you just downloaded then click  Install
  • If it does not already prompt you to do so, restart Zotero
  • For both the web and standalone version,  Export  the required references similar to the simple method
  • This time however the  Export  pop up box will have a fourth option for you to tick  Keep Updated . 
  • Tick both the  Keep updated  box and the  Export notes  box and save as a .bib file in the same folder as your LaTeX document
  • << Previous: Referencing using LaTeX
  • Next: Using Mendeley with LaTeX >>
  • Last Updated: Nov 22, 2023 10:38 AM
  • URL:

Creative Commons License

No Search Results

Creating multiple bibliographies in the same document

  • 1 Introduction
  • 2.1 The chapterbib package
  • 2.2 The bibunits package
  • 2.3 The multibib package
  • 3.1 Per-chapter bibliographies
  • 3.2.1 Using keywords
  • 3.2.2 Using categories


This article will discuss how you can create multiple bibliographies in the same L a T e X document using appropriate packages. By default, each LaTeX document can contain only one bibliography or reference list, either with a \begin{thebibliography}\bibitem...\end{thebibliography} list or with \bibligraphystyle{...}\bibliography{...} , or \printbibliography . But there are situations where you may need to create multiple bibliographies . You might want to have a separate bibliography for each chapter, rather than for the entire document. Or you might want to have separate bibliographies for different categories and themes.

If you try to cater for these scenarios by putting multiple \bibliography calls at different locations in your L a T e X document, you'll find that they all contain the same list of items, encompassing all citations in your entire document. Instead, you'll have to use the appropriate L a T e X packages to correctly generate separate bibliographies.

You'll first need to determine if you're using BibTeX or biblatex : they require different packages which cannot be mixed. If you're using a template provided by your publisher or university, check if the sample template .tex file contains \printbibliography or \addbibresource . If so, you're using biblatex , so head on to the section here . Otherwise, you're most probably using BibTeX, so continue reading here .

Packages for BibTeX

The chapterbib package.

If you simply need to have a bibliography at the end of each chapter of your book/thesis, the chapterbib package may be all you need.

  • Each chapter should be in a .tex file of its own. Write \bibliographystyle { ... } \bibliography { ... } at the end of each chapter in each .tex file. You can specify a different .bib file for each chapter in the \bibliography .
  • In your "main document" .tex file, load the chapterbib package. The sectionbib package option is useful if you want the bibliography for each chapter to appear as an unnumbered section instead of an unnumbered chapter after the actual chapter. \usepackage [sectionbib] { chapterbib }
  • Use \include in the main document file to pull in each of your chapter .tex files. \input will not work with chapterbib to produce the per-chapter bibliographies!
  • If compiling on a local machine: Compiling your main document .tex will generate multiple .aux files, one for each chapter .tex file you had included. You must now run bibtex on all these .aux files, before compiling the main document .tex file again. Overleaf's build tool, latexmk , will take care of all these processing steps automatically, so all you need to do is to click the "Recompile" button once.

Note that you must not write \bibliobraphy{...} in your main document .tex file when using chapterbib . Otherwise you may get lots of BibTeX error messages about "Illegal; another \bibdata command" . If you also need to have a "global" bibliography that collects all the citations in the entire document, the bibunits package might be a better choice.

Open an example in Overleaf

The bibunits package

The bibunits package can also be used to create per-chapter bibliographies, and the chapters do not need to be in separate .tex files.

  • Start by writing \usepackage[sectionbib]{bibunits} in your main document .tex 's preamble.
  • To use the same .bib file and bibliography style for all citations in your document, use the \defaultbibliographystyle{...} and \defaultbibliography{...} commands after loading bibunits . For example: \defaultbibliographystyle { unsrt } \defaultbibliography { references } % name of the .bib file without extensions
  • Add \bibliographyunit[\chapter] after \begin{document} .
  • At the end of each chapter, add \putbib . This will then print the bibliography for all instances of \cite that have occurred since the last \chapter . (You can write \bibliographyunit without any arguments at a later point in the document to turn off the automatic bibunit -ing of chapters.)

A few extra tips:

  • If you are using a different .bib file for each chapter/unit, you can specify it as an optional argument to \putbib , e.g. \putbib[chap1refs] —note, no .bib extension.

If you need a different style for a particular bibunit i.e. different to the \defaultbibliographystyle{...} that you had specified, you can pass it as an optional argument to the bibunit : \begin{bibunit} [plain]

  • If you also need a "global" bibliography that includes all citations from all chapters or bibunits, add the globalcitecopy option when loading the bibunits package: \usepackage[sectionbib, globalcitecopy ]{bibunits}

The multibib package

Sometimes you may want to have separate bibliographies for different categories. One way to achieve this is to use the multibib package. For example, to create a bibliography list for chemistry-related references, and one for physics-related references, here are the steps required:

You can use comma-separated values to create multiple bibliography types in the same \newcites{} command; just be sure that you have specified the correct number of bibliography titles, too:

  • \citeMath , \bibliographystyleMath , \bibliographyMath
  • \citePhys , \bibliographystylePhys , \bibliographyPhys

in addition to the default \cite , \bibliographystyle , \bibliography

You can now use \bibliographystyle , \bibliographystyleMath , \bibliographystylePhys to specify the style for each bibliography; and specify the .bib file for each \bibliography , \bibliographyMath , \bibliographyPhys . (The bibliography style is often consistent across all bibliographies, but you might use different .bib files.)

In this example, paper1 and paper2 are defined in references.bib and will be listed in the default bibliography. paper3 will be listed in the "Math Readings" bibliography; paper4 in the "Physics Readings" bibliography; both paper3 and paper4 are defined in refs-etc.bib file.

  • If compiling on a local machine: Compiling your main document .tex will generate multiple .aux files. You must now run bibtex on all these .aux files, before compiling the main document .tex file again. On Overleaf, you just need to click the Recompile button and it will take care of all these steps automatically.

With biblatex

If you're using the biblatex package, then you should not load any of the packages mentioned in the previous sections: this includes natbib , chapterbib , bibunits , multibib .

Per-chapter bibliographies

The biblatex package has a refsection mechanism, similar to a " bibunit ".

  • You can have biblatex automatically start a new refsection when it encounters \chapter , by adding the refsection=chapter option when loading biblatex : \usepackage [natbib,style=authoryear,refsection=chapter] { biblatex } \addbibresource { refs.bib }
  • You can then put a \printbibliography at the end of each \chapter , to list only the citations that had appeared since the last \chapter . In the code sample below, we also use the heading=subbibintoc option for \printbibliography , so that the bibliography is printed at the end of the chapter as an unnumbered section ( subbib ) rather than an unnumbered chapter; and such that it will be included in the table of contents ( intoc ). \chapter { First Chapter } \section { Section Heading } Here's a citation! \citep { latex:companion } \printbibliography [heading=subbibintoc] \chapter { Second Chapter } \section { Section Heading } Here's another citation! \citep { lshort } \printbibliography [heading=subbibintoc]
  • Alternatively, you can put \begin{refsection}...\end{refsection} around each chapter, or around arbitrary blocks of text. Do not use the refsection=chapter option in this case: \usepackage [natbib,style=authoryear] { biblatex } \addbibresource { refs.bib } ... \begin { refsection } \chapter { First Chapter } \section { Section Heading } Here's a citation! \citep { latex:companion } \printbibliography [heading=subbibintoc] \end { refsection } \begin { refsection } \chapter { Second Chapter } \section { Section Heading } Here's another citation! \citep { lshort } \printbibliography [heading=subbibintoc] \end { refsection } %% A list of publications can be created using this approach \begin { refsection } \nocite { paper1,paper2 } %% Here we want an unnumbered chapter, but with a different title \printbibliography [title={List of Publications}] \end { refsection }

Open an example in Overleaf. In this example, main.tex uses the [refsection=chapter] package option, while alt.tex uses the manually-inserted refsection environments.

Bibliographies for different categories

You can use keywords or categories to create separate bibliographies based on different topics.

Using keywords

  • In this approach, you need to add a keywords field to your reference entry in the .bib file. For example: @article { paper4 , title = {High energy colliders as black hole factories...} , ... keywords = {phys} }
  • Cite your references as usual.
  • Then issue several \printbibliography commands while specifying which keyword to include. You can set different title s for each \printbibliography command: % The "main" bibliography \printbibliography [notkeyword={math},notkeyword={phys}] % The Math bibliography \printbibliography [keyword={math},title={Math Readings}] % The Physics Bibliography \printbibliography [keyword={phys},title={Physics Readings}]

Using categories

  • In this approach, you do not need to add any extra fields to your .bib file. Instead, you'll declare the category types and add the references to each category, in your .tex file's preamble: \addbibresource { refs-nokeywords.bib } \DeclareBibliographyCategory { math } \DeclareBibliographyCategory { phys } \addtocategory { math }{ paper3 } \addtocategory { phys }{ paper4 }
  • Then issue several \printbibliography commands, each specifying which category to print. % The "main" bibliography \printbibliography [notcategory={math},notcategory={phys}] % The Math bibliography \printbibliography [category={math},title={Math Readings}] % The Physics Bibliography \printbibliography [category={phys},title={Physics Readings}]
  • Documentation Home
  • Learn LaTeX in 30 minutes

Overleaf guides

  • Creating a document in Overleaf
  • Uploading a project
  • Copying a project
  • Creating a project from a template
  • Using the Overleaf project menu
  • Including images in Overleaf
  • Exporting your work from Overleaf
  • Working offline in Overleaf
  • Using Track Changes in Overleaf
  • Using bibliographies in Overleaf
  • Sharing your work with others
  • Using the History feature
  • Debugging Compilation timeout errors
  • How-to guides
  • Guide to Overleaf’s premium features

LaTeX Basics

  • Creating your first LaTeX document
  • Choosing a LaTeX Compiler
  • Paragraphs and new lines
  • Bold, italics and underlining


  • Mathematical expressions
  • Subscripts and superscripts
  • Brackets and Parentheses
  • Fractions and Binomials
  • Aligning equations
  • Spacing in math mode
  • Integrals, sums and limits
  • Display style in math mode
  • List of Greek letters and math symbols
  • Mathematical fonts
  • Using the Symbol Palette in Overleaf

Figures and tables

  • Inserting Images
  • Positioning Images and Tables
  • Lists of Tables and Figures
  • Drawing Diagrams Directly in LaTeX
  • TikZ package

References and Citations

  • Bibliography management with bibtex
  • Bibliography management with natbib
  • Bibliography management with biblatex
  • Bibtex bibliography styles
  • Natbib bibliography styles
  • Natbib citation styles
  • Biblatex bibliography styles
  • Biblatex citation styles
  • Multilingual typesetting on Overleaf using polyglossia and fontspec
  • Multilingual typesetting on Overleaf using babel and fontspec
  • International language support
  • Quotations and quotation marks

Document structure

  • Sections and chapters
  • Table of contents
  • Cross referencing sections, equations and floats
  • Nomenclatures
  • Management in a large project
  • Multi-file LaTeX projects
  • Lengths in L a T e X
  • Headers and footers
  • Page numbering
  • Paragraph formatting
  • Line breaks and blank spaces
  • Text alignment
  • Page size and margins
  • Single sided and double sided documents
  • Multiple columns
  • Code listing
  • Code Highlighting with minted
  • Using colours in LaTeX
  • Margin notes
  • Font sizes, families, and styles
  • Font typefaces
  • Supporting modern fonts with X Ǝ L a T e X


  • Environments

Field specific

  • Theorems and proofs
  • Chemistry formulae
  • Feynman diagrams
  • Molecular orbital diagrams
  • Chess notation
  • Knitting patterns
  • CircuiTikz package
  • Pgfplots package
  • Typesetting exams in LaTeX
  • Attribute Value Matrices

Class files

  • Understanding packages and class files
  • List of packages and class files
  • Writing your own package
  • Writing your own class

Advanced TeX/LaTeX

  • In-depth technical articles on TeX/LaTeX

Have you checked our knowledge base ?

Message sent! Our team will review it and reply by email.


  1. Bibliography in LaTeX with Bibtex/Biblatex

    bibliography reference latex

  2. Bibliography management with bibtex

    bibliography reference latex

  3. How to Reference in Latex

    bibliography reference latex

  4. Bibliography management in LaTeX

    bibliography reference latex

  5. Bibliography management in LaTeX

    bibliography reference latex

  6. Biblatex bibliography styles

    bibliography reference latex


  1. How to add citation in latex?

  2. How to Add Reference overleaf latex

  3. Bibliography

  4. Research paper writing using LaTeX Overleaf

  5. Write Research paper using Overleaf: LaTex

  6. Bibliography for project file k 🖌️


  1. Bibliography management in LaTeX

    This article explains how to use the biblatex package, to manage and format the bibliography in a LaTeX document. biblatex is a modern option for processing bibliography information, provides an easier and more flexible interface and a better language localization than the other two options.

  2. Bibliography management with bibtex

    Bibliography management with bibtex Contents 1 Advisory note 2 Introduction 3 Bibliography: just a list of \bibitems 3.1 A note on compilation times 4 Enter \ (\mathrm {Bib\TeX}\) 4.1 Some notes on using \ (\mathrm {Bib\TeX}\) and .bib files 5 Taking another look at .bib files 5.1 Multiple authors in \ (\mathrm {Bib\TeX}\)

  3. Bibliography in LaTeX with Bibtex/Biblatex

    Bibliography in LaTeX with Bibtex/Biblatex Learn how to create a bibliography with Bibtex and Biblatex in a few simple steps. Create references / citations and autogenerate footnotes. Creating a .bib file Using BibTeX Autogenerate footnotes with BibLaTeX BibTeX Format BibTeX Styles New Post!

  4. Bibtex bibliography styles

    When using BiBTeX, the bibliography style is set and the bibliography file is imported with the following two commands: \bibliographystyle{ stylename } \bibliography{ bibfile } where bibfile is the name of the bibliography .bib file, without the extension, and stylename is one of values shown in the table below .

  5. LaTeX/Bibliography Management

    Using the standard LaTeX bibliography support, you will see that each reference is numbered and each citation corresponds to the numbers. The numeric style of citation is quite common in scientific writing. In other disciplines, the author-year style, e.g., (Roberts, 2003), such as Harvard is preferred.

  6. PDF Citing and referencing in LaTeX using BibTeX

    command e.g. \bibliography{references} where your reference details are stored in the file references.bib (kept in the same folder as the document). Place the command where you want the reference list to appear. You can refer to multiple .bib files e.g. \bibliography{references1,references2}

  7. Referencing using LaTeX

    You can manage your references and bibliography in LaTex using the BibTex system. BibTex allows you to automatically generate and format a bibliography in a LaTeX document. You can do this by storing them in separate BibTeX database files (.bib extension). Advantages to doing this include:

  8. Citation Styles in LaTeX

    Quick summary: Click the Cite button in the light blue bar above your search results. A box will come up that will walk you through citing the resource (s). Select BibTeX as your citation style, then press the orange "Change" button. Copy the citation to your .bib file. NOTE THAT YOU WILL NEED TO PROVIDE THE IDENTIFIERS FOR EXPORTED CITATIONS.

  9. BibTex and LaTex: Cite References in LaTex

    In this simple LaTex document, five BibTex entries are cited. The bibliography style used is "plain", and the BibTex entries are from the database "Mybibtex". \documentclass{article} \begin{document} \title{About JabRef} \author{Author Name} \maketitle. JabRef is an open source reference management software for BibTex \cite ...

  10. How to Reference in Latex

    Learn more Want to learn how to Reference in Latex? Here are 7 Steps to Master Bibliography with BibTeX. Adding references and citations to any document can be a time-consuming task. You may need to include a single reference multiple times and also ensure each one follows a consistent referencing style.

  11. BibTeX Guide: Mastering Reference Management for Bibliographies

    Understanding BibTeX. Developed in the 1980s by Oren Patashnik and Leslie Lamport, BibTeX has become the go-to software for managing and formatting bibliographies in LaTeX and markdown documents. Its widespread acceptance in academic circles, especially in fields like math, computer science, and physics, is a testament to its efficiency.

  12. Using bibliographies on Overleaf

    It's possible to include references in Overleaf using all of LaTeX 's major bibliography management programs: biblatex, natbib and bibtex. This article explains how to: manually create a new .bib file for storing your bibliography database upload an existing .bib file into your Overleaf project create a .bib file starting from an Overleaf template.

  13. Research Guides: Getting Started with LaTeX: BibTex

    Introduction. Since LaTeX is often used to create academic works that will cite many different sources it is important to know how to create a bibliography in LaTeX. With a little practice and the help of a citation management creating LaTeX bibliographies can be very easy. It is strongly recommend that you use a citation management tool, not ...

  14. Citation Management and Writing Tools: LaTeX and BibTeX

    BibTeX is a bibliographic tool that is used with LaTeX to help organize the user's references and create a bibliography. A BibTeX user creates a bibliography file that is separate from the LaTeX source file, wth a file extension of .bib.

  15. LibGuides: Overleaf

    Bibliographies in LaTeX In order to cite references, you first need to create a separate bibliography file ending with a .bib extension within your LaTeX project. You can do that by clicking on the New File icon on the upper-left corner of the screen. Then, enter your file name. Note that the default file extension in LaTeX is .tex.

  16. Managing Citations in LaTeX

    Bibtex files follow a standard syntax that allow you to easily reference the citations included in that file through the use of a bibliography management package. There are multiple bibliography management packages that you can use to manage citations. This guide will demonstrate how to use biblatex which allows for the most customization.

  17. LaTeX

    BibTeX generates and formats your bibliography in a LaTeX document. LaTeX Includes features for you to easily cite references and create bibliographies in your document. The examples below show you how to do this using a separate BibTeX file to store the details of your references. Your BibTeX file extension is .bib and it should contain all ...

  18. Using Zotero with LaTeX

    Zotero provides LaTeX users with two options for exporting a BibTeX file. The first is simpler and suitable for users who do not need to make changes to their BibTeX file once generated. The second however enables users to auto-sync their Zotero and BibTeX. Simple Method: Create your Zotero reference list.

  19. Renaming the bibliography page using BibTeX

    6 Answers Sorted by: 97 This does not depend on BibTeX, but on the document class. The article class uses the \refname macro (which is defined as References) when typesetting the bibliography heading; the book and report class use \bibname (which is defined as Bibliography ). So try to add e.g. the following to your preamble:

  20. Bibliography Management

    Now, look at the two important lines at the bottom of the above LaTex code: \bibliographystyle{plain} \bibliography{reference} \bibliographystyle{plain}: This command is used to specify the type of styling for your references and can be one of the following: plain, abbrev, acm, apalike, ieeetr, alpha, siam, unsrt \bibliography{reference}: By using this command you specify the name of your ...

  21. Bibliography management with biblatex

    When it comes to bibliography management packages, there are three main options in LaTeX: bibtex, natbib and biblatex. Biblatex is a modern program to process bibliography information, provides an easier and more flexible interface and a better language localization than the other two options.

  22. Creating multiple bibliographies in the same document

    In this example, paper1 and paper2 are defined in references.bib and will be listed in the default bibliography.paper3 will be listed in the "Math Readings" bibliography; paper4 in the "Physics Readings" bibliography; both paper3 and paper4 are defined in refs-etc.bib file.. If compiling on a local machine: Compiling your main document .tex will generate multiple .aux files.