Bibliography With Texmaker

Just the other day I was trying to use BibLaTeX over BibTeX, because I heard good things about it. My primary motivation to give it a try was, that citing web-resources seemed much easier.

The way it is supposed to work is quite straight forward: You include the BibLaTex package, tell it which bibliography backend to use (i.e. Biber or BibTex) and it creates an auxiliary bibliography, which is referenced then in the aux file of your master document.

There were however two things I really wanted to hold on to: I love Texmaker so obviously I want the quick build button to work as usual. Furthermore I hate clutter in my working directory, so a separate build directory is key.

Assume the following example files: The where all my packages are loaded and usually a lot of other stuff is happening. Usually the actual content of my work will be scattered across separate tex files. Additionally there’s the trusty bibliography file, in this case called .

Using the default quick build (set to use pdflatex + bibtex + pdflatex + pdflatex + view) did not work. After some troubleshooting I figured out where the problem lies. Remember I mentioned biblatex references to the auxiliary bibliography file () from the ? Those lines look something like that:

\bibstyle{biblatex} \bibdata{master-blx,bib} \citation{biblatex-control}

The bibliography data, which bibtex will look for are the original bibliography and the auxiliary bibliography generated by BibLaTeX. However, the sits nicely in the build directory as it should, but bibtex looks for both files in the same directory. After skimming over a bunch of pages of the package documentation I found no solution, which enabled me to have this reference manipulated. Neither did bibtex have a command line option to indicate different file locations to look for. Part of the solution is to look at placed we can touch: It’s possible to use  over . Doing that, you need to run the bibtex step from within the build directory.

Problem solved, right? Not quite. Texmaker did not accept any attempts to customize the bibtex command in a way to accept either environment variables or commands or any other stuff I tried. What did end up working though, was writing a shell script that does what I want and put it into a random custom command and choosing the quick build setting to execute it and viewing the resulting PDF as shown in the screenshots.

The shell script ():

pdflatex -output-directory=build -synctex=1 -interaction=nonstopmode master.tex cd build/; bibtex master.aux; cd .. pdflatex -output-directory=build -synctex=1 -interaction=nonstopmode master.tex pdflatex -output-directory=build -synctex=1 -interaction=nonstopmode master.tex

The latex document ():

\documentclass[a4paper]{article} \usepackage[backend=bibtex]{biblatex} \bibliography{../bib.bib} \begin{document} \section{Introduction} LaTeX is a high-quality typesetting system \cite{latex}. \printbibliography \end{document}

The bibliography file with a web reference ():

@online{latex, author = {LaTeX project team}, title = {LaTeX - A document preparation system}, publisher={Frank Mittelbach}, date={2015-04-03}, urldate = {2016-02-13}, url = {https://latex-project.org/} }

That’s it! Additional thoughts might be to place the make.sh somewhere else and point the command to an absolute path to that file, which would then be project independent. The script would have to take parameters (the master file name and the absolute path to the project directory), which you could achieve with Texmakers special characters.

I hope that helps, thanks for reading!

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.

Tweet

[View example on Overleaf]

  1. Creating a .bib file
  2. Using BibTeX
  3. Autogenerate footnotes with BibLaTeX
  4. BibTeX Format
  5. BibTeX Styles

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.

Creating a .bib file

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:

@BOOK{DUMMY:1, AUTHOR="John Doe", TITLE="The Book without Title", PUBLISHER="Dummy Publisher", YEAR="2100", }

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.

Using BibTeX

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.

\documentclass{article} \begin{document} Random citation \cite{DUMMY:1} embeddeed in text. \newpage \bibliography{lesson7a1} \bibliographystyle{ieeetr} \end{document}

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:

pdflatex lesson7a1.tex bibtex lesson7a1 pdflatex lesson7a1.tex pdflatex lesson7a1.tex

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:

\documentclass{article} \usepackage[backend=bibtex,style=verbose-trad2]{biblatex} \bibliography{lesson7a1} \begin{document} Random citation \autocite[1]{DUMMY:1} embeddeed in text. \newpage \printbibliography \end{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:

\usepackage[backend=bibtex,style=verbose-trad2]{biblatex}

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.

Article

@ARTICLE{ARTICLE:1, AUTHOR="John Doe", TITLE="Title", JOURNAL="Journal", YEAR="2017", }

Book

@BOOK{BOOK:1, AUTHOR="John Doe", TITLE="The Book without Title", PUBLISHER="Dummy Publisher", YEAR="2100", }

Inbook (specific pages)

@INBOOK{BOOK:2, AUTHOR="John Doe", TITLE="The Book without Title", PUBLISHER="Dummy Publisher", YEAR="2100", PAGES="100-200", }

Website

@MISC{WEBSITE:1, HOWPUBLISHED = "\url{http://example.com}", AUTHOR = "Intel", TITLE = "Example Website", MONTH = "Dec", YEAR = "1988", NOTE = "Accessed on 2012-11-11" }

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.

BibTeX Styles

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

Abbrv

Alpha

Apalike

IEEEtr

Plain

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

Summary

  • 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: Lesson 8

0 thoughts on “Bibliography With Texmaker”

    -->

Leave a Comment

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