LaTeX only offers @mastersthesis or @phdthesis, but no bachelor's thesis.

I tried to keep the entry as @misc, but the university name doesn't appear.

So I just used @mastersthesis and typed

type = "{B.S. Thesis}"

Is there another way of doing this -- or could I create a new @bachelorthesis entry type in the .bst file?

  • This should be possible with biblatex (somewhat easily). I suspect if it is at all possible with standard .bst files, it's probably not worth the hassle.
    – moewe
    Sep 25, 2013 at 20:00
  • @moewe - It's not much hassle either to modify a copy of a bibliography style such as plainnat. :-)
    – Mico
    Sep 25, 2013 at 20:57
  • @Mico I did not think it would be that easy. Being a biblatex fan I really underestimated natbib and friends.
    – moewe
    Sep 25, 2013 at 21:00
  • 9
    There are many types of thesis and @mastersthesis provides the field type just for this purpose. I wouldn't bother creating a new entry type just for a couple of citations. Before editing (a copy) of an existing .bst style, consider that for a submission you would have to use @mastersthesis anyway and you can't share your .bib file with your coworkers unless they have the new .bst file: using personally modified styles limits document portability.
    – egreg
    Sep 25, 2013 at 21:56
  • 1
    I had a similar problem and solved with this technique: hci.rwth-aachen.de/materials/bib/?id=kluth2011a
    – user75906
    Apr 9, 2015 at 23:03

3 Answers 3


The simplest way to do so is to use @masterthesis and then setting the type to Bachelor's Thesis which will get printed instead of the default Master's Thesis. That is:

    type={Bachelor's Thesis}

Old Answer

The new way to reference a Bachelor's Thesis is to use @thesis, which also replaces @phdthesis and @mastersthesis (both can still be used).

type={Bachelor's Thesis}

In type you can write whatever you want. But mathesis and phdthesis are predefined for Master's Thesis and PhD Thesis respectively.

  • 4
    Can you provide a source for the @thesis type?
    – andreas
    Mar 22, 2018 at 10:19
  • 8
    This did not work for me, maybe because of an old LaTeX installation at my institution. The type and school were not shown. However, when I changed @thesis to @phdthesis it worked as expected.
    – m00am
    Jan 7, 2019 at 14:06
  • That doesn't work with BibTeX.
    – vonbrand
    Jun 24, 2021 at 2:52
  • Similar to m00am: "Warning--entry type for "joachim2018methodology" isn't style-file defined"
    – 6005
    Jul 26 at 23:09

It's not LaTeX per se but the bibliography style you use that determines, among many things, which types of bibliographic entries are recognized. If you're using a bibliography style such as plainnat, it's not much work at all to create a new entry type named, say, @bachelorsthesis. The following instructions should work not just for plainnat but for many other bibliography styles too, as long as they feature a function called mastersthesis.

  • Find the file plainnat.bst in your TeX distribution. Make a copy of this file and call it, say, myplainnat.bst. (Don't edit an original file of the TeX distribution directly.)

  • Open the file myplainnat.bst in your favorite text editor and locate the function called mastersthesis. (It starts on line 910 in my copy of the .bst file.)

  • Copy the code of the entire function (ca. 16 lines) and paste the copy below the existing function.

    • Change the new function's name from mastersthesis to bachelorsthesis.

    • Change the string "Master's thesis" to "Bachelor's thesis".

  • Save the new .bst file either in the same directory as your main .tex file or somewhere in your TeX distribution's search path. If you choose the latter method, you will probably need to update the filename database in a way that's appropriate for your TeX distribution.

  • Start using the new bibliography style by invoking it via \bibliographystyle{myplainnat), rerun LaTeX, BibTeX, and LaTeX twice more to fully update all references and citation call-outs, and start creating and citing those entries of type @bachelorsthesis. :-)

Happy (Bib)TeXing!


Specifying the type of thesis within @mastersthesis

  type = "Bachelor's thesis"

works for me when using \bibliographystyle{elsarticle-num}.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.