4

I'm writing a paper for my Anthropology class and the American Anthropologist Association citation style is required. I've been reading through the BibLaTeX documentation but I don't believe any of the described citation styles match my requirements.

Aside from building a custom citation style file, using something like custom-bib, is there a possible way I can achieve this citation style?

  • The AAA style guide mentions the Chicago style. So you may take a look at »biblatex-chicago« as a starting point. – Thorsten Donig Feb 19 '14 at 16:54
  • For biblatex no such custom "style builders" (like custom-bib) exist. Normally, one chooses the standard style (or one of the existing styles on CTAN) that comes closest to one's requirements and modifies that style. In your case that's most likely authoryear or biblatex-chicago. – moewe Feb 19 '14 at 17:08
  • Thanks, I will try biblatex-chicago and hopefully that yields the results I am looking for. I will try and touch base again once I have. – Eric Feb 20 '14 at 7:50
  • There are two or three very tricky requirements in your the style guide, but other than that one can get very close with some modifications to authoryear as well. I might post an answer of what I've got so far, if you're interested. – moewe Feb 20 '14 at 8:21
  • @moewe If you could do that it would be greatly appreciated. As I do not have much experience tweaking citation styles! – Eric Feb 20 '14 at 22:11
3

The style the American Anthropologist Association asks for is quite distinct from other styles currently available for biblatex, so there is quite some modification to be done.

Since the basic style seems to bet match a authoryear style, this is the basis style I chose: The style guide refers to the Chicago Manual of Style on some occasions, so we could have used biblatex-chicago, but since that is a style that already applies quite a number of modifications to the standard style, I felt more comfortable modifying authoryear. (Plus, biblatex-chicago did not seem to be much closer to the AAA style compared to authoryear).

We will heavily make use of the wonderful xpatch package.

The basis is the authoryear style; we need maxcitenames=1, the citation to "van Gennep" [Ex. 18 in the AAA guide] led me to suspect useprefix is appropriate.

\usepackage[style=authoryear,backend=biber,maxcitenames=1,useprefix]{biblatex}

The first thing we notice about the AAA style is the name format. We have to patch the macros printing author/editors to add a newline after the names.

\xpatchbibmacro{author}
  {\setunit{\addspace}}
  {\newline}
  {}
  {}
\xpatchbibmacro{bbx:editor}
  {\setunit{\addspace}}
  {\newline}
  {}
  {}
\xpatchbibmacro{bbx:translator}
  {\setunit{\addspace}}
  {\newline}
  {}
  {}

We always have the Oxford comma, and works by the same author are grouped.

\renewcommand*{\finalnamedelim}{\finalandcomma\addspace\bibstring{and}\space}
\renewcommand*{\bibnamedash}{\hspace{\leftmargin}}
\setlength{\bibnamesep}{\itemsep}

The date is indented slightly less than the other lines, also we allow for origdates in square brackets.

\xpatchbibmacro{date+extrayear}
  {\printtext[parens]}
  {\makebox[\bibhang][r]}
  {}
  {}

\DeclareFieldFormat{origdate}{\mkbibbrackets{#1}}
\xapptobibmacro{date+extrayear}
  {\printorigdate
   \bibsentence\nopunct}
  {}
  {}

Titles etc. are set as is (without quotation marks, italics and friends)

\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{subtitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\DeclareFieldFormat*{booksubtitle}{#1}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat*{issuetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[periodical]{issuetitle}{#1}
\DeclareFieldFormat*{maintitle}{#1}

The "in" is printed in italics, but does not come with a colon; no in for articles [Ex. 8 and 10, AAA style guide]

\renewcommand*{\intitlepunct}{\addspace\nopunct}
\renewbibmacro{in:}{%
  \ifentrytype{article}{}{\printtext[emph]{\bibstring{in}\intitlepunct}}}

For book series there is a comma between the series and the number. [Ex. 12, AAA style guide]

\renewbibmacro*{series+number}{%
  \printfield{series}%
  \setunit*{\addcomma\addspace}%
  \printfield{number}%
  \newunit}

Volume and number in articles are set "vol(num)" [Ex. 10, AAA style guide]

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \printfield[parens]{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

Pages in articles are preceded by a colon and lose the "p."/"pp." prefix. [Ex. 10, AAA style guide]

\DeclareFieldFormat{pages}{%
  \ifentrytype{article}
    {#1}
    {\mkpageprefix[bookpagination]{#1}}%
}
\renewcommand*{\bibpagespunct}{%
  \ifentrytype{article}
    {\addcolon}
    {\addperiod\space}%
}

This is for theme issues and the like. We define a new bibstring themeissue. [Ex. 11, AAA style guide]

\NewBibliographyString{%
  themeissue,
}
\DefineBibliographyStrings{american}{%
  themeissue = {theme issue},
}
\renewbibmacro*{issue}{%
  \iffieldundef{issuetitle}
    {}
    {\ifentrytype{article}
       {\bibstring{themeissue}%
        \setunit{\addcomma\space}}%
       {}%
     \printtext[issuetitle]{%
       \printfield[titlecase]{issuetitle}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{issuesubtitle}}}}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{issue}%
  \setunit{\addcomma\space}%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \newunit}

\newbibmacro*{title+issuetitle}{%
  \usebibmacro{issue}%
  \newunit\newblock
  \iffieldundef{issuetitle}
    {}
    {\bibstring{themeissue}%
     \setunit{\addcomma\space}}%
  \usebibmacro{periodical}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \printfield[parens]{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}}

Maintitle and and volume are separated by a comma [Ex. 13, AAA style guide]

\xpatchbibmacro{maintitle+title}
  {\newunit\newblock}
  {\setunit{\addcomma\space}%
  }
  {}
  {}

\xpatchbibmacro{maintitle+booktitle}
  {\newunit\newblock}
  {\setunit{\addcomma\space}%
  }
  {}
  {}

Page references for in... entries need to be moved, so we remove them first and re-add them afterwards. [Ex. 8, AAA style guide]

\xpatchbibdriver{inbook}
  {\newunit\newblock
   \usebibmacro{chapter+pages}}
  {}
  {}
  {}

\xpatchbibdriver{inbook}
  {\printfield{volumes}}
  {\usebibmacro{chapter+pages}%
   \newunit\newblock
   \printfield{volumes}}
  {}
  {}

\xpatchbibdriver{incollection}
  {\newunit\newblock
   \usebibmacro{chapter+pages}}
  {}
  {}
  {}

\xpatchbibdriver{incollection}
  {\printfield{volumes}}
  {\usebibmacro{chapter+pages}%
   \newunit\newblock
   \printfield{volumes}}
  {}
  {}

The following (very nasty code) makes sure to print "Ditor, Eddie, ed." instead of "edited by Eddie Ditor". [Ex. 8, AAA style guide]

\renewbibmacro*{byeditor}{%
  \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytypestrg}{editor}{editor}%
     \newunit}%
  \usebibmacro{byeditorx}}

\renewbibmacro*{byeditorx}{%
  \ifnameundef{editora}
    {}
    {\printnames[byeditor]{editor}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytypestrg}{editor}{editor}%
     \newunit}%
  \ifnameundef{editorb}
    {}
    {\printnames[byeditorb]{editorb}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytypestrg}{editorb}{editor}%
     \newunit}%
  \ifnameundef{editorc}
    {}
    {\printnames[byeditorc]{editorc}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytypestrg}{editorc}{editor}%
     \newunit}}

\renewbibmacro*{bytranslator}{%
  \ifnameundef{translator}
    {}
    {\printnames[bytranslator]{translator}%
     \setunit{\addcomma\space}%
     \bibstring{bytranslator}}}

\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
     \clearname{editor}%
     \setunit{\addcomma\space}%
     \usebibmacro{byeditor+othersstrg}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}

\renewbibmacro*{bytranslator+others}{%
  \ifnameundef{translator}
    {}
    {\printnames[bytranslator]{translator}%
     \clearname{translator}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytranslator+othersstrg}%
     \newunit}%
  \usebibmacro{withothers}}

\renewbibmacro*{bytypestrg}[2]{%
  \iffieldundef{#1type}
    {\bibstring{#2}}
    {\ifbibxstring{\thefield{#1type}}
       {\bibstring{\thefield{#1type}}}
       {\printtext{\thefield{#1type}}}}}
\makeatletter
\newbibmacro*{byeditor+othersstrg}{%
  \iffieldundef{editortype}
    {\def\abx@tempa{editor}}
    {\edef\abx@tempa{\thefield{editortype}}}%
  \let\abx@tempb=\empty
  \ifnamesequal{editor}{translator}
    {\appto\abx@tempa{tr}%
     \appto\abx@tempb{\clearname{translator}}}
    {}%
  \ifnamesequal{editor}{commentator}
    {\appto\abx@tempa{co}%
     \appto\abx@tempb{\clearname{commentator}}}
    {\ifnamesequal{editor}{annotator}
       {\appto\abx@tempa{an}%
        \appto\abx@tempb{\clearname{annotator}}}
       {}}%
  \ifnamesequal{editor}{introduction}
    {\appto\abx@tempa{in}%
     \appto\abx@tempb{\clearname{introduction}}}
    {\ifnamesequal{editor}{foreword}
       {\appto\abx@tempa{fo}%
        \appto\abx@tempb{\clearname{foreword}}}
       {\ifnamesequal{editor}{afterword}
          {\appto\abx@tempa{af}%
           \appto\abx@tempb{\clearname{afterword}}}
          {}}}%
  \ifbibxstring{\abx@tempa}
    {\printtext{\bibstring{\abx@tempa}}\abx@tempb}
    {\usebibmacro{bytypestrg}{editor}{editor}}}

\newbibmacro*{bytranslator+othersstrg}{%
  \def\abx@tempa{translator}%
  \ifnamesequal{translator}{commentator}
    {\appto\abx@tempa{co}%
     \clearname{commentator}}
    {\ifnamesequal{translator}{annotator}
       {\appto\abx@tempa{an}%
        \clearname{annotator}}
       {}}%
  \ifnamesequal{translator}{introduction}
    {\appto\abx@tempa{in}%
     \clearname{introduction}}
    {\ifnamesequal{translator}{foreword}
       {\appto\abx@tempa{fo}%
        \clearname{foreword}}
       {\ifnamesequal{translator}{afterword}
          {\appto\abx@tempa{af}%
           \clearname{afterword}}
          {}}}%
  \bibstring{\abx@tempa}}
\makeatother

Full MWE

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{xpatch}
\usepackage[style=authoryear,backend=biber,maxcitenames=1,useprefix]{biblatex}
\usepackage{hyperref}

\begin{filecontents*}{\jobname.bib}
@book{castles,
  author    = {Castles, Stephen},
  title     = {Here for Good},
  date      = {1990},
  location  = {London},
  publisher = {Pluto Press},
}
@book{bonacich,
  author    = {Bonacich, Edna and John Modell},
  title     = {The Economic Basis of Ethnic Solidarity},
  subtitle  = {Small Business in the Japanese American Community},
  date      = {1975},
  location  = {Berkeley},
  publisher = {University of California Press},
}
@book{gallimore:a,
  author    = {Gallimore, Ronald},
  title     = {A Christmas Feast},
  date      = {1983},
  location  = {New York},
  publisher = {Oxford University Press},
}
@book{gallimore:b,
  author    = {Gallimore, Ronald},
  title     = {Holiday Gatherings in the Pacific Northwest},
  date      = {1983},
  location  = {Berkeley},
  publisher = {University of California Press},
}
@incollection{gallimore:c,
  author    = {Gallimore, Ronald},
  title     = {Qualitative Methods in Research on Teaching},
  date      = {1960},
  booktitle = {Handbook of Research on Teaching},
  edition   = {3},
  editor    = {Margaret C. Wittrock},
  pages     = {119–162},
  location  = {New York},
  publisher = {Macmillan},
}
@incollection{gallimore:d,
  author    = {Gallimore, Ronald},
  title     = {Qualitative Methods in Research on Teaching},
  date      = {1962},
  origdate  = {1960},
  booktitle = {Handbook of Research on Teaching},
  edition   = {Rev. edition},
  editor    = {Margaret C. Wittrock},
  pages     = {119–162},
  location  = {New York},
  publisher = {Macmillan},
}
@inbook{rohlen,
  author        = {Rohlen, Thomas P.},
  date          = {1993},
  title         = {Education: Policies and Prospects},
  booktitle     = {Koreans in Japan},
  booksubtitle  = {Ethnic Conflicts and Accommodation},
  editor        = {Cameron Lee and George De Vos},
  pages         = {182-222},
  location      = {Berkeley},
  publisher     = {University of California Press},
}
@inbook{price,
  author        = {Price, T. Douglas},
  date          = {1984},
  title         = {Issues in Paleolithic and Mesolithic Research},
  booktitle     = {Hunting and Animal Exploitation in the Later Paleolithic and Mesolithic of Eurasia},
  editor        = {Gail Larsen Peterkin and Harvey M. Bricker and Paul Mellars},
  pages         = {241–244},
  series        = {Archeological Papers of the American Anthropological Association},
  number        = {4},
  location      = {Arlington, VA},
  publisher     = {American Anthropological Association},
}

@article{moll,
  author        = {Moll, Luis C.},
  date          = {2000},
  title         = {Writing as Communication},
  subtitle      = {Creating Strategic Learning Environments for Students},
  journal       = {Theory into Practice},
  volume        = {25},
  number        = {3},
  pages         = {202–208},
}
@article{heriot,
  author        = {Heriot, M. Jean},
  date          = {1996},
  title         = {Fetal Rights versus the Female Body: Contested Domains},
  journal       = {Medical Anthropology Quarterly},
  issuetitle    = {The Social Production of Authoritative Knowledge in Pregnancy and Childbirth},
  volume        = {10},
  number        = {2},
  pages         = {176–194},
}
@book{singh,
  author    = {Singh, Balwant},
  date      = {1994},
  title     = {Independence and Democracy in Burma, 1945–1952: The Turbulent Years},
  series    = {Michigan Papers on South and Southeast Asia},
  number    = {40},
  location  = {Ann Arbor},
  publisher = {University of Michigan Press},
}

@collection{cluttbrock:1,
  editor      = {Clutton-Brock, Juliet and Caroline Grigson},
  date        = {1986},
  maintitle   = {Animals and Archaeology},
  volume      = {1},
  title       = {Hunters and Their Prey},
  series      = {BAR International Series},
  number      = {163},
  location    = {Oxford},
  publisher   = {British Archaeological Reports},
}
@collection{giard,
  editor      = {Luce Giard},
  translator  = {Timothy J. Tomasik},
  date        = {1998},
  maintitle   = {The Practice of Everyday Life},
  volume      = {2},
  edition     = {Rev. edition},
  title       = {Living and Cooking},
  location    = {Minneapolis},
  publisher   = {University of Minnesota Press},
}
@collection{diskin,
  editor      = {Martin Diskin},
  date        = {1970},
  title       = {Trouble in Our Backyard},
  subtitle    = {Central America in the Eighties},
  location    = {New York},
  publisher   = {Pantheon Books},
}
@phdthesis{damato,
  author      = {D’Amato, John},
  date        = {1989},
  title       = {\enquote{We Cool, Tha’s Why}: A Study of Personhood and Place in a Class of Hawaiian Second Graders},
  institution = {Department of Education, University of Hawai‘i},
}
@book{vangennep:rep,
  author        = {van Gennep, Arnold},
  title         = {The Rites of Passage},
  date          = 1960,
  origdate      = {1908},
  translator    = {Michaela Vizedom and Mari Caffee},
  publisher     = {University of Chicago Press},
  location      = {Chicago},
}
\end{filecontents*}
\addbibresource{biblatex-examples.bib}
\addbibresource{\jobname.bib}


\xpatchbibmacro{author}
  {\setunit{\addspace}}
  {\newline}
  {}
  {}
\xpatchbibmacro{bbx:editor}
  {\setunit{\addspace}}
  {\newline}
  {}
  {}
\xpatchbibmacro{bbx:translator}
  {\setunit{\addspace}}
  {\newline}
  {}
  {}
\renewcommand*{\finalnamedelim}{\finalandcomma\addspace\bibstring{and}\space}
\renewcommand*{\bibnamedash}{\hspace{\leftmargin}}
\setlength{\bibnamesep}{\itemsep}

\xpatchbibmacro{date+extrayear}
  {\printtext[parens]}
  {\makebox[\bibhang][r]}
  {}
  {}

\DeclareFieldFormat{origdate}{\mkbibbrackets{#1}}
\xapptobibmacro{date+extrayear}
  {\printorigdate
   \bibsentence\nopunct}
  {}
  {}

\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{subtitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\DeclareFieldFormat*{booksubtitle}{#1}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat*{issuetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[periodical]{issuetitle}{#1}
\DeclareFieldFormat*{maintitle}{#1}
\renewcommand*{\intitlepunct}{\addspace\nopunct}
\renewbibmacro{in:}{%
  \ifentrytype{article}{}{\printtext[emph]{\bibstring{in}\intitlepunct}}}

\renewbibmacro*{series+number}{%
  \printfield{series}%
  \setunit*{\addcomma\addspace}%
  \printfield{number}%
  \newunit}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \printfield[parens]{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

\DeclareFieldFormat{pages}{%
  \ifentrytype{article}
    {#1}
    {\mkpageprefix[bookpagination]{#1}}%
}
\renewcommand*{\bibpagespunct}{%
  \ifentrytype{article}
    {\addcolon}
    {\addperiod\space}%
}

\NewBibliographyString{%
  themeissue,
}
\DefineBibliographyStrings{american}{%
  themeissue = {theme issue},
}
\renewbibmacro*{issue}{%
  \iffieldundef{issuetitle}
    {}
    {\ifentrytype{article}
       {\bibstring{themeissue}%
        \setunit{\addcomma\space}}%
       {}%
     \printtext[issuetitle]{%
       \printfield[titlecase]{issuetitle}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{issuesubtitle}}}}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{issue}%
  \setunit{\addcomma\space}%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \newunit}

\newbibmacro*{title+issuetitle}{%
  \usebibmacro{issue}%
  \newunit\newblock
  \iffieldundef{issuetitle}
    {}
    {\bibstring{themeissue}%
     \setunit{\addcomma\space}}%
  \usebibmacro{periodical}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \printfield{volume}%
  \printfield[parens]{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}}

\xpatchbibmacro{maintitle+title}
  {\newunit\newblock}
  {\setunit{\addcomma\space}%
  }
  {}
  {}

\xpatchbibmacro{maintitle+booktitle}
  {\newunit\newblock}
  {\setunit{\addcomma\space}%
  }
  {}
  {}

\xpatchbibdriver{inbook}
  {\newunit\newblock
   \usebibmacro{chapter+pages}}
  {}
  {}
  {}

\xpatchbibdriver{inbook}
  {\printfield{volumes}}
  {\usebibmacro{chapter+pages}%
   \newunit\newblock
   \printfield{volumes}}
  {}
  {}

\xpatchbibdriver{incollection}
  {\newunit\newblock
   \usebibmacro{chapter+pages}}
  {}
  {}
  {}

\xpatchbibdriver{incollection}
  {\printfield{volumes}}
  {\usebibmacro{chapter+pages}%
   \newunit\newblock
   \printfield{volumes}}
  {}
  {}

\renewbibmacro*{byeditor}{%
  \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytypestrg}{editor}{editor}%
     \newunit}%
  \usebibmacro{byeditorx}}

\renewbibmacro*{byeditorx}{%
  \ifnameundef{editora}
    {}
    {\printnames[byeditor]{editor}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytypestrg}{editor}{editor}%
     \newunit}%
  \ifnameundef{editorb}
    {}
    {\printnames[byeditorb]{editorb}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytypestrg}{editorb}{editor}%
     \newunit}%
  \ifnameundef{editorc}
    {}
    {\printnames[byeditorc]{editorc}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytypestrg}{editorc}{editor}%
     \newunit}}

\renewbibmacro*{bytranslator}{%
  \ifnameundef{translator}
    {}
    {\printnames[bytranslator]{translator}%
     \setunit{\addcomma\space}%
     \bibstring{bytranslator}}}

\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
     \clearname{editor}%
     \setunit{\addcomma\space}%
     \usebibmacro{byeditor+othersstrg}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}

\renewbibmacro*{bytranslator+others}{%
  \ifnameundef{translator}
    {}
    {\printnames[bytranslator]{translator}%
     \clearname{translator}%
     \setunit{\addcomma\space}%
     \usebibmacro{bytranslator+othersstrg}%
     \newunit}%
  \usebibmacro{withothers}}

\renewbibmacro*{bytypestrg}[2]{%
  \iffieldundef{#1type}
    {\bibstring{#2}}
    {\ifbibxstring{\thefield{#1type}}
       {\bibstring{\thefield{#1type}}}
       {\printtext{\thefield{#1type}}}}}
\makeatletter
\newbibmacro*{byeditor+othersstrg}{%
  \iffieldundef{editortype}
    {\def\abx@tempa{editor}}
    {\edef\abx@tempa{\thefield{editortype}}}%
  \let\abx@tempb=\empty
  \ifnamesequal{editor}{translator}
    {\appto\abx@tempa{tr}%
     \appto\abx@tempb{\clearname{translator}}}
    {}%
  \ifnamesequal{editor}{commentator}
    {\appto\abx@tempa{co}%
     \appto\abx@tempb{\clearname{commentator}}}
    {\ifnamesequal{editor}{annotator}
       {\appto\abx@tempa{an}%
        \appto\abx@tempb{\clearname{annotator}}}
       {}}%
  \ifnamesequal{editor}{introduction}
    {\appto\abx@tempa{in}%
     \appto\abx@tempb{\clearname{introduction}}}
    {\ifnamesequal{editor}{foreword}
       {\appto\abx@tempa{fo}%
        \appto\abx@tempb{\clearname{foreword}}}
       {\ifnamesequal{editor}{afterword}
          {\appto\abx@tempa{af}%
           \appto\abx@tempb{\clearname{afterword}}}
          {}}}%
  \ifbibxstring{\abx@tempa}
    {\printtext{\bibstring{\abx@tempa}}\abx@tempb}
    {\usebibmacro{bytypestrg}{editor}{editor}}}

\newbibmacro*{bytranslator+othersstrg}{%
  \def\abx@tempa{translator}%
  \ifnamesequal{translator}{commentator}
    {\appto\abx@tempa{co}%
     \clearname{commentator}}
    {\ifnamesequal{translator}{annotator}
       {\appto\abx@tempa{an}%
        \clearname{annotator}}
       {}}%
  \ifnamesequal{translator}{introduction}
    {\appto\abx@tempa{in}%
     \clearname{introduction}}
    {\ifnamesequal{translator}{foreword}
       {\appto\abx@tempa{fo}%
        \clearname{foreword}}
       {\ifnamesequal{translator}{afterword}
          {\appto\abx@tempa{af}%
           \clearname{afterword}}
          {}}}%
  \bibstring{\abx@tempa}}
\makeatother

\begin{document}
  \cite{cicero,bonacich,castles,wilde,gallimore:a,gallimore:b,gallimore:c,gallimore:d,rohlen,price,moll,heriot,singh,cluttbrock:1,giard,diskin,damato,vangennep,vangennep:rep}

  \printbibliography
\end{document}

enter image description here

  • Your response is absolutely stunning. The detail you put in your response is astounding, my head is ready to explode. I thought I had experience with TeX, but I am completely overwhelmed by the required work for this solution. Excellent response, you deserve more gratitude than I can express to you over the internet! This should be officially published as an available citation style through biblatex so no one ever has to go through this work again. Cheers, Eric – Eric Feb 23 '14 at 4:18
  • 1
    Sorry, I know this is a few months old now, but I wholeheartedly agree, this should be published as a citation style in biblatex. I have been unable to get the code to work in my thesis, perhaps because it already has lots of formatting code as well as some Chinese text. Anyone know how to turn this into a biblatex style?? – charles Jul 29 '14 at 19:00
  • @charles Well if you like the answer, you can give it an up-vote. I'm not very likely to turn the code above into a biblatex style for CTAN, because that would require admin and me maintaining the package properly; if someone would like to do that though, I'd be more than happy if they used parts of my code above. Furthermore, I'm not entirely sure whether this code really gives the expected output in all circumstances, releasing it properly might suggest it does. Additionally, this is in no way sanctioned by the AAA. – moewe Jul 29 '14 at 19:41
  • Turning this into a biblatex style would just mean putting the modified code into a .bbx file adding some "control code" (for lack of a better word) lines for LaTeX. If you are just concerned about the wealth of code in your file, you might \input it from a separate file or add it to your biblatex.cfg. The answer would not work better if it were a .bbx file than it does now. So there is no real benefit of turning it into a style. If it doesn't work for you I suggest you ask a new question describing in detail what you did and how it does not work for you, ideally with a concise MWE. – moewe Jul 29 '14 at 19:43
  • @moewe I certainly understand the issues involved with maintaining the package. etc. Also understand the question of being "sanctioned" by AAA. I had not thought of the \input option (so many possibilities with that!). Re: biblatex.cfg that sounds a little more challenging, but will look into that option too. – charles Jul 29 '14 at 21:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.