Make PhD citations say "dissertation" rather than thesis


https://tex.stackexchange.com/questions/175106/make-phd-citations-say-dissertation-rather-than-thesis


At my school, PhD works are generally referred to as dissertations rather than theses.

My bibtex file has this entry:

@phdthesis{Alsolami2012Auth,
    title    = {An examination of keystroke dynamics for continuous user authentication},
    school   = {Queensland University of Technology},
    author   = {Alsolami, Eesa},
    year     = {2012}, %other attributes omitted
}

And it gets rendered as:

[2] Eesa Alsolami. An examination of keystroke dynamics for continuous user authentication.
PhD thesis, Queensland University of Technology, 2012.

Is there any way to make it say "PhD dissertation" rather than "PhD thesis"?

On another note, why is this the default in LaTeX? Would it be unusual or poor form to change it?

Edit: I'm using the plain bibliography style. I could probably use ieeetr as well:

\bibliographystyle{plain}
\bibliography{myBibFile1,myBibFile2}

================================================================================

Answers

The text used in plain.bst is hard coded into the file itself, and so isn't customizable from within your document.

What you can do is make a copy of plain.bst and edit it, and then use the copy as your bibliography style.

On a TeX Live system, plain.bst is located in /usr/local/texlive/2013/texmf-dist/bibtex/bst/base/plain.bst. Make a copy of this file and call it plain-diss.bst (or some other name). Save this in the same folder as your document, or put it in your local texmf folder in texmf/bibtex/bst/.

Edit the file and search for "thesis". You will find the following function:

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
}

Change "PhD thesis" to "PhD dissertation" and then save the file.

In your document, use \bibliographystyle{plain-diss} instead of {plain}.

The same general solution will also work for the ieeetr.bst.

A biblatex solution

Another way to do this would be to use biblatex, which provides easy customization of these sorts of things. Here's a schematic document that shows how to do this:

\documentclass{article}
\usepackage[style=numeric]{biblatex}
\usepackage[american]{babel}
\addbibresource{<your-bib-fil>.bib}
\DefineBibliographyStrings{american}{phdthesis = {PhD dissertation}}
\begin{document}
\cite{<cite-key>}
\printbibliography
\end{document}

For a quick fix, you can use the type field, although it makes the file non portable.

\begin{filecontents*}{\jobname.bib}
@phdthesis{Alsolami2012Auth,
    title    = {An examination of keystroke dynamics for continuous user authentication},
    school   = {Queensland University of Technology},
    author   = {Alsolami, Eesa},
    year     = {2012},
    type     = {{PhD} dissertation},
}
\end{filecontents*}

\documentclass{article}

\begin{document}

\cite{Alsolami2012Auth}

\bibliographystyle{plain}
\bibliography{\jobname}

\end{document}

And it gets rendered as:

[1] Eesa Alsolami. An examination of keystroke dynamics for continuous user authentication.
PhD dissertation, Queensland University of Technology, 2012.


posted @ 2017-05-19 18:00  张同光  阅读(177)  评论(0编辑  收藏  举报