6

I have to put the report of a research trainig group together, where each former PhD student has to write a report with a list of her/his publications. The publications are contained in seperate .bib files and I am also using bibunits. The .bib files, however, contain their PhD theses (included as an @phdthesis entry) which schould not occour in their publications.

How can I still use \nocite{*} to list their publications and exclude the PhD theses?

4
  • 1
    Pretty sure you can do this in biblatex. Firstly, you can add each student as a 'bibresource', secondly, you can print bibliography of only a certain type of document... tex.stackexchange.com/questions/10427/… use the nottype flag to exclude phdthesis. Dec 6, 2013 at 9:59
  • 2
    @NicholasHamilton Right, with biblatex one can use \printbibliography[nottype=phdthesis].
    – Christoph
    Dec 6, 2013 at 10:02
  • 1
    Welcome to TeX.SX! You can also create a list using \nocite{<key1>,<key2>,...} instead of printing all entries by calling \nocite{*}.
    – Ruben
    Dec 6, 2013 at 10:06
  • When using \nocite{*}, I found the option [resetnumbers=1] to be useful, since otherwise the numbered entries skip the items not included by the filter.
    – JDH
    Nov 10, 2017 at 23:02

1 Answer 1

2

Depending on the bibliography style, you can just redefine the phdthesis and possibly mastersthesis functions. For example, starting from a MWE with plain.bst

\documentclass{article}
\bibliographystyle{plain}
\begin{document}
\nocite*
\bibliography{xampl}
\end{document}

If you copy the original plain.bst to a new file myplain.bst and replace lines 734--747

FUNCTION {mastersthesis}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  "Master's thesis" format.thesis.type output.nonnull
  school "school" output.check
  address output
  format.date "year" output.check
  new.block
  note output
  fin.entry
}

with

FUNCTION {mastersthesis}
{
}

and lines 763--776

FUNCTION {phdthesis}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.btitle "title" output.check
  new.block
  "PhD thesis" format.thesis.type output.nonnull
  school "school" output.check
  address output
  format.date "year" output.check
  new.block
  note output
  fin.entry
}

with

FUNCTION {phdthesis}
{
}

and change the MWE to use myplain.bst

\documentclass{article}
\bibliographystyle{myplain}
\begin{document}
\nocite*
\bibliography{xampl}
\end{document}

gives you the same bibliography without the theses.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .