Могу ли я указать Biblatex, чтобы он указывал тип участника в скобках после имени участника, а не в фразе перед ним со стилем authoryear?

Могу ли я указать Biblatex, чтобы он указывал тип участника в скобках после имени участника, а не в фразе перед ним со стилем authoryear?

Я работаю над проектом и мне нужен определенный стиль Heimildir (т.е. References). У меня есть все, что я хочу:

Рекомендации

За исключением того, что мне нужно, чтобы фраза "Gefið út af" (эквивалентно "Edited by" на английском языке) появилась после имени/имен редактора как "(ritstj.)" (эквивалентно "(ed./eds.)" на английском языке). Я знаю, что могу сделать это с помощью Bibtex и стиля APA, но стиль APA помещает только инициалы, а не полные имена, что мне и нужно. Я использую пакет babel, который заменяет общие фразы (например, "bls." вместо "pp."), поэтому я думаю, что все, что мне действительно нужно, это способ переместить это поле "тип участника".

МВЭ:

\documentclass{article}

\begin{filecontents}{citelist.bib}
@book{enisskola,
    langid = {icelandic},
    options = {useeditor=false},
    year={1986},
    title = {Ensk-íslensk skólaorðabók},
    editor = {{Jón Skaptason}},
    publisher = {Örn og Örlygur},
    location = {Reykjavík}
    }  

@incollection{lucy1997,
    langid = {british},
    address = {Cambridge},
    year = {1997},
    title = {The linguistics of \lq color\rq},
    booktitle = {Color Categories in Thought and Language},
    author = {John A. Lucy},
    editor = {Clyde L. Hardin and Luisa Maffi},
    publisher = {Cambridge University Press},
    location = {Cambridge},
    pages = {320--346}
    }
}
\end{filecontents}

\usepackage[utf8]{inputenc}
\usepackage[LY1]{fontenc}
\usepackage[icelandic]{babel}
\usepackage{csquotes}
\usepackage{lmodern}

\usepackage[sortlocale=auto,backend=biber,style=authoryear]{biblatex}
\addbibresource{citelist.bib}

\begin{document}


citations:  \\
I cited \cite{enisskola}    \\
I cited \cite{lucy1997} \\

\printbibliography

\end{document}

решение1

Вы можете получить то, что вам нужно, скопировав код из editor...макроса в byeditor...макрос.

Начать следует со следующего.

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[icelandic]{babel}
\usepackage{csquotes}
\usepackage{lmodern}

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

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}

\DeclareFieldAlias{translatortype}{editortype}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}

\renewbibmacro*{byeditor}{%
  \ifnameundef{editor}
    {}
    {\printnames{editor}%
     \setunit{\printdelim{editortypedelim}}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}%
  \usebibmacro{byeditorx}}

\newbibmacro*{editorstrg:x}[1]{%
  \printtext[editortype]{%
    \iffieldundef{#1type}
      {\ifboolexpr{
         test {\ifnumgreater{\value{#1}}{1}}
         or
         test {\ifandothers{#1}}
       }
         {\bibstring{editors}}
         {\bibstring{editor}}}
      {\ifbibxstring{\thefield{#1type}}
         {\ifboolexpr{
            test {\ifnumgreater{\value{#1}}{1}}
            or
            test {\ifandothers{#1}}
          }
            {\bibstring{\thefield{#1type}s}}
            {\bibstring{\thefield{#1type}}}}
         {\thefield{#1type}}}}}

\renewbibmacro*{byeditorx}{%
  \ifnameundef{editora}
    {}
    {\printnames{editora}%
     \setunit{\printdelim{editortypedelim}}%
     \usebibmacro{editorstrg:x}{editora}}%
  \ifnameundef{editorb}
    {}
    {\printnames{editorb}%
     \setunit{\printdelim{editortypedelim}}%
     \usebibmacro{editorstrg:x}{editorb}}%
  \ifnameundef{editorc}
    {}
    {\printnames{editorc}%
     \setunit{\printdelim{editortypedelim}}%
     \usebibmacro{editorstrg:x}{editorc}}}

\renewbibmacro*{bytranslator}{%
  \ifnameundef{translator}
    {}
    {\printnames{translator}%
     \setunit{\printdelim{translatortypedelim}}%
     \usebibmacro{translatorstrg}%
     \clearname{translator}}}

\renewbibmacro*{byholder}{%
  \printnames{holder}}

\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames{editor}%
     \setunit{\printdelim{editortypedelim}}%
     \usebibmacro{editor+othersstrg}%
     \clearname{editor}}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}

\renewbibmacro*{bytranslator+others}{%
  \ifnameundef{translator}
    {}
    {\printnames{translator}%
     \setunit{\printdelim{translatortypedelim}}%
     \usebibmacro{translator+othersstrg}%
     \clearname{translator}}%
  \usebibmacro{withothers}}

\begin{filecontents}{\jobname.bib}
@book{enisskola,
    langid    = {icelandic},
    options   = {useeditor=false},
    year      = {1986},
    title     = {Ensk-íslensk skólaorðabók},
    editor    = {{Jón Skaptason}},
    publisher = {Örn og Örlygur},
    location  = {Reykjavík},
}
@incollection{lucy1997,
    langid    = {british},
    address   = {Cambridge},
    year      = {1997},
    title     = {The linguistics of \lq color\rq},
    booktitle = {Color Categories in Thought and Language},
    author    = {John A. Lucy},
    editor    = {Clyde L. Hardin and Luisa Maffi},
    publisher = {Cambridge University Press},
    location  = {Cambridge},
    pages     = {320--346},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
I cited \autocite{enisskola}
I cited \autocite{lucy1997}

\printbibliography
\end{document}

Энск-Исланская школа (1986). Йон Скаптасон (ритст.). Рейкьявик: Örn og Örlygur.//Люси, Джон А. (1997). «Лингвистика «цвета»». Í: Цветовые категории в мышлении и языке. Хардин, Клайд Л. и Луиза Маффи (ритст.). Кембридж: Издательство Кембриджского университета, bls. 320–346.

Связанный контент