semprag / biblatex-sp-unified

An opinionated biblatex implementation of the Unified Stylesheet for Linguistics Journals
LaTeX Project Public License v1.3c
39 stars 13 forks source link

Support for phdthesis as type specifier #13

Closed adamliter closed 8 years ago

adamliter commented 9 years ago

In your unified-test.bib, I see that you have:

@phdthesis{yu:2003,
    Address = {Berkeley, CA},
    Author = {Yu, Alan C. L.},
    School = {University of California},
    Title = {The Morphology and Phonology of Infixation},
    Type = {dissertation},
    Year = {2003}}

In particular, with Type = {dissertation}, this will correctly output the following in order to conform to the Unified Style Sheet guidelines.

Yu, Alan C. L. 2003. The morphology and phonology of infixation. Berkeley, CA: University of California dissertation.

However, I think the better way to do this would be to use Type = {phdthesis}.

This type specifier receives crosslinguistic support, which you can see if you look at the various .lbx files that Biblatex comes with.

Specifically, phdthesis is a supported "bibliography string" whose corresponding output is controlled by the key-value pairs in \DeclareBibliographyStrings in the various .lbx files.

If you encourage people to use Type = {dissertation}, then the .bib file will not be portable crosslinguistically. That is, if you typeset a document in a language other than English, the reference in the References section will still say "dissertation" rather than whatever the appropriate term is in the non-English language.

To get the correct output, you can set phdthesis = {dissertation} in \DefineBibliographyString. I've done this in https://github.com/adamliter/biblatex-sp-unified/commit/f5c6802aea7ba5891e567895816edd0b15181013.

If you wish to continue to support the use of declaring Type = {dissertation} in the entry in the .bib file, I would recommend doing it via a bibliography string, such as what I've done in https://github.com/adamliter/biblatex-sp-unified/commit/5ae9fb7f4e24be52397047e30c0de6704b49a90a.

However, I would recommend the first suggestion over the second for the reason already given: the .bib file will be more portable if you encourage people to use Type = {phdthesis}, which will not be the case if people use Type = {dissertation}.

Moreover, I'd also recommend using the type @thesis rather than @phdthesis. @phdthesis is just an alias for @thesis with the value for Type defaulting to phdthesis. @phdthesis is only supported for backwards compatibility with BibTeX-formatted .bib files. So using @thesis is more in the spirit of Biblatex.

(A further note about @thesis is that the Biblatex data fields for the @thesis entry are supposed to be Institution (not School) and Location (not Address). In Biblatex, School is supported as an alias for Institution for reasons of backward compatibility; likewise with Address and Location. So it perhaps doesn't matter that much, but (i) it would be more in the spirit of Biblatex and (ii) it's conceivable that support for these data fields could be dropped at some point in the future.)

adamliter commented 9 years ago

Just so it's clear, here's an MWE that illustrates what I'm talking about:

% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = arara
% arara: pdflatex
% arara: biber
% arara: pdflatex

\begin{filecontents*}{\jobname.bib}
@thesis{stewart2000-phdthesis,
    Location = {Columbus, OH},
    Author = {Stewart, Jr., Thomas W.},
    Institution = {The Ohio State University},
    Title = {Mutation as Morphology},
    Subtitle = {Bases, Stems, and Shapes in {Scottish Gaelic}},
    Type = {phdthesis},
    Date = {2000}}
@thesis{stewart2000-dissertation,
    Location = {Columbus, OH},
    Author = {Stewart, Jr., Thomas W.},
    Institution = {The Ohio State University},
    Title = {Mutation as Morphology},
    Subtitle = {Bases, Stems, and Shapes in {Scottish Gaelic}},
    Type = {dissertation},
    Date = {2000}}
\end{filecontents*}

\documentclass{article}

\usepackage[
    main=american,
    brazil
]{babel}

\usepackage{csquotes}

\usepackage[
    bibstyle=biblatex-sp-unified,
    citestyle=sp-authoryear-comp,
    maxcitenames=3,
    maxbibnames=99,
    refsection=section
]{biblatex}
\addbibresource{\jobname.bib}

\DefineBibliographyStrings{english}{%
  phdthesis        = {dissertation},
}

\begin{document}

\section{American English}

\autocite{stewart2000-phdthesis,stewart2000-dissertation}

\printbibliography[section=1]

\section{Brazilian Portuguese}
\selectlanguage{brazil}

\autocite{stewart2000-phdthesis,stewart2000-dissertation}

\printbibliography[section=2]

\end{document}

In the first case (i.e., stewart2000-phdthesis) the output in the References section correctly changes from "dissertation" in (American) English to "tese de doutorado" in (Brazilian) Portuguese.

However, in the second case (i.e., stewart2000-dissertation), the output in the References section remains as "dissertation" in both cases.

screen shot 2015-11-01 at 12 48 05 pm

So controlling the output via a bibliography string would allow for the .bib file to be more portable crosslinguistically.

chbrown commented 8 years ago

Thanks @adamliter, for your clear explanation. 75d9f9b merges your phdthesisonly branch (namely f5c6802) and b2c110f changes the unified-test.bib values.

I'm not sure we're ready to go the whole hog and incorporate recommendations for the other changes you mention, namely:

but that's something we can revisit at a future date.

adamliter commented 8 years ago

:+1: