0
Completed

Add support for bachelor's theses

Till Hofmann 2 years ago updated 1 year ago 4

We would like to display bachelor's and master's theses on our website. Currently, we can display master's theses with @mastersthesis (Example). However, if we use the same entry type for bachelor's thesis, it's also shown as master's thesis, the type field is ignored.

One way to solve this would be to follow how biblatex displays the @thesis type, i.e., use @thesis for all types of theses and distinguish the different types by looking into the type field:

* If the type field is mathesis, display the thesis like @mastersthesis is currently displayed

* Display type bathesis in the same way, but with the string 'Bachelor's Thesis'

* Display type phdthesis just like @phdthesis is currently displayed.

Under review

Hi Till,

Glad you are using BibBase.

Regarding Bachelor's theses, there is no official bibtex type for that. Since we'd like to remain "in spec" with bibtex as much as possible, I'd be hesitant to change the way BibBase interprets bibtex files, e.g., by introducing new entry types.

Fortunately, I think it won't be necessary in this case. You can easily use the Misc type for what you are trying to accomplish (at least from a display point of view):

@Misc{student01_my_bachel,
  key =       {bs},
  author =    {Mary Student},
  title =     {My Bachelor's thesis},
  howpublished = {Bachelor Thesis},
  month =     11,
  year =      2001,
  note =      {This is my BS thesis},
  annote =    {No BS.}
}

will result in:

My Bachelor's thesis. Student, M. Bachelor Thesis, 11 2001. This is my BS thesis

Of course, if anyone was to download the bibtex entry/file, the type would then still be Misc, but I consider that a feature, not a bug, since it will not trip up latex or any other tool they may want to use that entry in.

Does that work?

Hi Fritz,

Thanks for the reply! I totally understand that you don't want to deviate from bibtex. However, @thesis is at least supported by biblatex, and even plain bibtex supports bachelor's theses by setting the type field appropriately:

biblatex

@thesis{Fritz2003DTP,
  title = {Integrating decision-theoretic planning and programming for robot control in highly dynamic domains},
  author = {Fritz, Christian},
  year = {2003},
  school = {RWTH Aachen University},
  type = {mathesis},
  address = {Aachen, Germany},
  attachments = {https://kbsg.rwth-aachen.de/sites/kbsg/files/Fritz2003Integrating.pdf},
}

@thesis{Hofmann2015,
  title = {Continual Planning and Execution Monitoring in the Agent Language Golog on a Mobile Robot},
  author = {Hofmann, Till},
  year = {2015},
  school = {RWTH Aachen University},
  type = {bathesis},
  address = {Aachen, Germany},
}
\documentclass[12pt]{article}

\usepackage[abbreviate=false]{biblatex}
\bibliography{theses}
\nocite{*}
\begin{document}
\printbibliography
\end{document}

The resulting PDF:


bibtex

@mastersthesis{Fritz2003DTP,
  title = {Integrating decision-theoretic planning and programming for robot control in highly dynamic domains},
  author = {Fritz, Christian},
  year = {2003},
  school = {RWTH Aachen University},
  type = {Master's Thesis},
  address = {Aachen, Germany},
  attachments = {https://kbsg.rwth-aachen.de/sites/kbsg/files/Fritz2003Integrating.pdf}
}

@mastersthesis{Hofmann2015,
  title = {Continual Planning and Execution Monitoring in the Agent Language Golog on a Mobile Robot},
  author = {Hofmann, Till},
  year = {2015},
  school = {RWTH Aachen University},
  type = {Bachelor's Thesis},
  address = {Aachen, Germany}
}
\documentclass[12pt]{article}

\begin{document}
\nocite{*}
\bibliography{theses}
\bibliographystyle{plain}
\end{document}

Results in:

However, bibbase ignores the type field completely:

(from here)

So at the end, this boils down to the following suggestion to use the string from the type field instead of the hard-coded string "Master's thesis". That would already solve the issue.

In addition, it would be awesome if you could do the same replacements as biblatex does, namely 'mathesis' -> 'Master's thesis', 'bathesis' -> 'Bachelor's thesis' and so on. Finally, if @thesis was simply an alias for @mastersthesis, then we could use our biblatex files without any modifications!
Completed

Hi Till,

We finally got around implementing this. Thanks for doing the leg-work of checking how bibtex and biblatex handle it. We followed your suggest and now support explicit strings as well as the predefined types bathesis and mathesis. Like you suggested we added @thesis as an alias for @mastersthesis. Your page looks good now I think, but please let me know if you find any issues.

Thanks.

Looks great, thanks for implementing this!