semprag / biblatex-sp-unified

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

Remove "p." from postnote? #49

Open andrasbarany opened 4 years ago

andrasbarany commented 4 years ago

As is, a command like \textcite[xx]{citekey} outputs "Author (Year: p. xx)", where "p." is part of the postnote in biblatex.

As far as I can tell, the Unified Style Sheet does not mention this, but a cursory look at two recent, random papers from Language and Semantics and Pragmatics suggests that adding "p." before a page reference is not actually what usually happens. In Bruening (2018: 3) and Sharvit (2017: 31), references to page numbers do not involve "p." but simply follow the year after colon, that is ‟(Year: xx)”. To me this seems more in line with the style sheet's credo of avoiding superfluous punctuation and font-styles.

In terms of the implementation, this seems to be a matter of specifying

\DeclareFieldFormat{postnote}{#1}

which removes "p." from the postnote. Could this change be considered?

References

Bruening 2018. Language, DOI: https://dx.doi.org/10.1353/lan.2018.0000 Sharvit 2017. Semantics & Pragmatics, DOI: https://dx.doi.org/10.3765/sp.10.1

carbeck commented 3 years ago

Wouldn't this also omit any other type of pagination (columns, sections, etc.) defined in the pagination field in bibliography entries, though?

fintelkai commented 3 years ago

As @carbeck says, this is too blunt a solution. You can certainly use that locally in your preamble, if you prefer it this way. BTW: the example from Sharvit (2017: p.3) was (erroneously, perhaps) typeset with the leftover \pgcitealt command.

If we can figure out how to just disable the "p./pp." prefix and keep the other pagination options, we might consider it. Reading the manual and the source code, I couldn't figure it out immediately.

sieversMartin commented 3 years ago

I agree that there is no high-level option. However, when looking a bit lower, one could redefine the macro \blx@imc@mkpageprefix by setting the default to none instead of page and by adding an extra test for cases, when page is set explicitly in the bib file. This way other values for pagination can still be used:

\renewrobustcmd*{\blx@imc@mkpageprefix}[1][pagination]{%
   \begingroup
  %%%\def\blx@tempa{\blx@mkpageprefix{page}}%
   \def\blx@tempa{\blx@mkpageprefix@i}% <-- default 'none' instead of 'page'
   \iffieldundef{#1}
   {}
   {\ifboolexpr{ test { \iffieldequalstr{#1}{none} }%
         or      test { \iffieldequalstr{#1}{page} }}% <-- if page is set in bib file
      {\def\blx@tempa{\blx@mkpageprefix@i}}
      {\iffieldbibstring{#1}
         {\edef\blx@tempa{\blx@mkpageprefix{\thefield{#1}}}}
         {\blx@warning@entry{%
               Unknown pagination type '\strfield{#1}'}}}}%
   \@ifnextchar[%]
   {\blx@tempa}
   {\blx@tempa[\@firstofone]}}