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 '13 at 20:00
  • @moewe - It's not much hassle either to modify a copy of a bibliography style such as plainnat. :-) – Mico Sep 25 '13 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 '13 at 21:00
  • 6
    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 '13 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 '15 at 23:03

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!


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 '18 at 10:19
  • 5
    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 '19 at 14:06

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.