Biblatex 姓氏,除最后一位作者/编辑外所有作者/编辑的名字

Biblatex 姓氏,除最后一位作者/编辑外所有作者/编辑的名字

我必须对我的参考书目使用一种非常特殊的样式,如下所示:

姓氏,名字;姓氏,名字和名字姓氏(年份^版本):标题。在:姓氏,名字;姓氏,名字和名字姓氏(编辑):书名。位置:出版商,页码范围。

此外,对于期刊文章,卷和期应这样显示:“卷(期)”。

这意味着,以下条目

    @incollection{birkmann_regulation_2011,
                        author = {Birkmann, Jörn},
                        title = {Regulation and Coupling of Society and Nature in the Context of Natural Hazards},
                        booktitle = {Coping with global environmental change, disasters and security: threats, challenges, vulnerabilities and risks},
                        editor = {Brauch, Hans Günter and Oswald Spring, Úrsula and Mesjasz, Czeslaw and Grin, John and Kameri-Mbote, Patricia and Chourou, Béchir and Dunai, Pál and Birkmann, Jörn},
                        date = {2011},
                        location = {Berlin, New York},                  
                        publisher = {Springer, Berghof Foundation},
                        pages = {1103--1128},                } 

               

 

    @collection{oakes_translocal_2005,
                       location = {London, New York},
                       title = {Translocal China: linkages, identities and the reimagining of space},
                     publisher = {Routledge, Taylor \& Francis Group},
                       editor = {Oakes, Tim and Schein, Louisa},
                       date = {2005},} 

   

    @incollection{teye_climate-induced_2022,
          location = {Cham},
          title = {Climate-Induced Migration in West Africa},
          pages = {79--105},
          booktitle = {Migration in West Africa},
          publisher = {Springer International Publishing},
          author = {Teye, Joseph Kofi and Nikoi, Ebenezer G. A.},
          editor = {Teye, Joseph Kofi},
          date = {2022},
          doi = {10.1007/978-3-030-97322-3_5},}


@article{sakdapolrak_migration_2016,
title = {Migration in a changing climate. Towards a translocal social resilience approach},
volume = {147},
doi = {10.12854/erde-147-6},
pages = {81--94},
number = {2},
journaltitle = {{DIE} {ERDE}},
author = {Sakdapolrak, Patrick and Naruchaikusol, Sopon and Ober, Kayly and Peth, Simon and Porst, Luise and Rockenbauch, Till and Tolo, Vera},
date = {2016},}

        @book{kuckartz_qualitative_2018,
        location = {Weinheim},
        edition = {4},
        title = {Qualitative Inhaltsanalyse: Methoden, Praxis, Computerunterstützung},
        publisher = {Beltz},
        author = {Kuckartz, Udo},
        date = {2018},
    }

看起来应该是这样的:

Birkmann J. (2011):自然灾害背景下社会与自然的调节与耦合。收录于:Brauch, HG;Oswald Spring, U;Mesjasz, C.;Grin, J.;Kameri-Mbote;P.;Chourou, B.;Dunai, P. & J. Birkmann (eds.):应对全球环境变化、灾害和安全:威胁、挑战、脆弱性和风险。柏林、纽约:Springer,Berghof Foundation,1103-1128。

Kuckartz,U.(2018⁴):定性内容分析:方法、实践、计算机辅助设计。魏因海姆:贝尔茨。

Oakes, T. & L. Schein (eds.) (2005): 跨地域中国:联系、身份和空间的重新想象。伦敦、纽约:Routledge, Taylor & Francis Group

Teye, JK 和 GA Ebenezer (2022):西非气候引发的移民。收录于:Teye, JK(编辑):西非移民。Cham:Springer International Publishing,79-105。DOI:10.1007/978-3-030-97322-3_5。

Sakdapolrak, P.;Naruchaikusol, S.;Ober, K;Peth, S.;Porst, L.;Rockenbauch T. 和 V. Tolo (2016):气候变化下的移民。迈向跨地域社会复原力方法。收录于:DIE ERDE 147 (2), 81-94。DOI:10.12854/erde-147-6。

我找到了一个解决方案来反转最后一位作者的显示,但如果只有一位作者,则该作者将显示为名字和姓氏。

编辑我发现了另一个相关问题。那里提供的解决方案(另见下文的 MWE)适用于作者。不幸的是,的编辑@incollection仍然以 Given-Family 的形式印刷

最小工作示例包括来自链接解决方案的代码:

         \documentclass[]{scrartcl}
                
                \usepackage{filecontents}
    \usepackage[style=british]{csquotes}
                \begin{filecontents}{\jobname.bib}
                

            @collection{oakes_translocal_2005,
               location = {London, New York},
               title = {Translocal China: linkages, identities and the reimagining of space},
             publisher = {Routledge, Taylor \& Francis Group},
               editor = {Oakes, Tim and Schein, Louisa},
               date = {2005},}

                    @incollection{teye_climate-induced_2022,
                      location = {Cham},
                      title = {Climate-Induced Migration in West Africa},
                      pages = {79--105},
                      booktitle = {Migration in West Africa},
                      publisher = {Springer International Publishing},
                      author = {Teye, Joseph Kofi and Nikoi, Ebenezer G. A.},
                      editor = {Teye, Joseph Kofi},
                      date = {2022},
                      doi = {10.1007/978-3-030-97322-3_5},}
                
                
                    @article{sakdapolrak_migration_2016,
                    title = {Migration in a changing climate. Towards a translocal social resilience approach},
                    volume = {147},
                    doi = {10.12854/erde-147-6},
                    pages = {81--94},
                    number = {2},
                    journaltitle = {{DIE} {ERDE}},
                    author = {Sakdapolrak, Patrick and Naruchaikusol, Sopon and Ober, Kayly and Peth, Simon and Porst, Luise and Rockenbauch, Till and Tolo, Vera},
                    date = {2016},}
                
                    @book{kuckartz_qualitative_2018,
                    location = {Weinheim},
                    edition = {4},
                    title = {Qualitative Inhaltsanalyse: Methoden, Praxis, Computerunterstützung},
                    publisher = {Beltz},
                    author = {Kuckartz, Udo},
                    date = {2018},
                }
                
                \end{filecontents}
                
                \usepackage[
                            backend=biber,
                            style=ext-authoryear,
                            innamebeforetitle=true,
                            sorting=nyt,
                            giveninits=true,
                            citestyle= authoryear-icomp,
                            ibidpage=true,
                            maxbibnames=99,
                            maxcitenames=2,
                            uniquelist=false,
                            isbn=false,
                            doi=true,
                            dashed=false
                            ]{biblatex}
            
            \addbibresource{\jobname.bib}
                
                \renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}} %Small caps for author/editor last name
                
                \DeclareFieldFormat*{title}{#1}                 %Print title without emphasis
                \DeclareFieldFormat*{booktitle}{#1}             %Print booktitle without emphasis
                \DeclareFieldFormat*{journaltitle}{#1}          %Print journaltitle without emphasis
                
                
                
                \DeclareDelimFormat[bib,biblist,parencite]{multinamedelim}{\addsemicolon\space} % use semicolon to seperate authors in bibliography and citation in text
                
                \DeclareDelimFormat[bib,biblist,parencite]{finalnamedelim}{\space\&\space} % use & to seperate last author/editor in bibliography
                
                \DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space} % use colon to seperate (Year) and Title
                
                \DeclareDelimFormat[textcite, parencite]{postnotedelim}{\addcolon\space} % use colon to seperate Year and page in citation
                
                
                %%% Reversing only the last author to given-family %%%
               \DeclareNameFormat{family-given/given-family/last}{%
  \ifboolexpr{test {\ifnumless{\value{listcount}}{\value{listtotal}}} or test {\ifnumequal{\value{listcount}}{1}}} 
    {\ifgiveninits
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}%
     \ifboolexpe{%
       test {\ifdefvoid\namepartgiven}
       and
       test {\ifdefvoid\namepartprefix}}
       {}
       {\usebibmacro{name:revsdelim}}}
    {\ifgiveninits
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}}%
  \usebibmacro{name:andothers}}

  \DeclareNameAlias{sortname}{family-given/given-family/last}
                  
        
        %% Removing p. and pp. from bibliography and citation %%
        \DefineBibliographyStrings{english}{
          page             = {},
          pages            = {},
        } 
        
        
        %% (ed.) and (eds.) %%
        \DeclareFieldFormat{editortype}{\mkbibparens{#1}}
        \DeclareDelimFormat{editortypedelim}{\addspace}
        
        \DeclareFieldAlias{translatortype}{editortype}
        \DeclareDelimAlias{translatortypedelim}{editortypedelim}
                
                \begin{document}
                \nocite{*}
                \printbibliography
                \end{document}

在此处输入图片描述

虽然第二个链接解决方案适用于作者和编辑者(如果@collection引用整体),但编辑者无法正确显示@incollection(参见第一个和最后一个条目)。

附加问题:如何在年份后以上标形式显示版本?

答案1

你快到了在 biblatex 中更改名称顺序ineditor。您只需将打印仍缺失的编辑器的名称格式设置为sortname

\documentclass[]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[style=british]{csquotes}
\usepackage[
  backend=biber,
  style=ext-authoryear-icomp,
  maxbibnames=99,
  maxcitenames=2,
  uniquelist=false,
  giveninits=true,
  innamebeforetitle=true,
  dashed=false,
  isbn=false,
  doi=true,
  ibidpage=true,
]{biblatex}

\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}

\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{booktitle}{#1}
\DeclareFieldFormat*{journaltitle}{#1}

\DeclareDelimFormat[bib,biblist,parencite]{multinamedelim}{\addsemicolon\space}
\DeclareDelimFormat[bib,biblist,parencite]{finalnamedelim}{\space\&\space}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\DeclareDelimFormat[textcite, parencite]{postnotedelim}{\addcolon\space}

\DeclareNameFormat{family-given/given-family/last}{%
  \ifboolexpr{   test {\ifnumless{\value{listcount}}{\value{listtotal}}}
              or test {\ifnumequal{\value{listcount}}{1}}}
    {\ifgiveninits
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}%
     \ifboolexpe{%
       test {\ifdefvoid\namepartgiven}
       and
       test {\ifdefvoid\namepartprefix}}
       {}
       {\usebibmacro{name:revsdelim}}}
    {\ifgiveninits
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}}%
  \usebibmacro{name:andothers}}

\DeclareNameAlias{sortname}{family-given/given-family/last}
\DeclareNameAlias{ineditor}{sortname}


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

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

\DeclareFieldFormat{pages}{#1}

\DeclareFieldFormat{postnote}{\mknormrange{#1}}
\DeclareFieldFormat{volcitepages}{\mknormrange{#1}}
\DeclareFieldFormat{multipostnote}{\mknormrange{#1}}


\begin{filecontents}{\jobname.bib}
@incollection{birkmann_regulation_2011,
  author    = {Birkmann, Jörn},
  title     = {Regulation and Coupling of Society and Nature
               in the Context of Natural Hazards},
  booktitle = {Coping with global environmental change, disasters and security:
               threats, challenges, vulnerabilities and risks} ,
  editor    = {Brauch, Hans Günter and Oswald Spring, Úrsula
               and Mesjasz, Czeslaw and Grin, John and Kameri-Mbote, Patricia
               and Chourou, Béchir and Dunai, Pál and Birkmann, Jörn},
  date      = {2011},
  location  = {Berlin, New York},                  
  publisher = {Springer, Berghof Foundation},
  pages     = {1103--1128},
} 
@collection{oakes_translocal_2005,
  location  = {London, New York},
  title     = {Translocal China:
               linkages, identities and the reimagining of space},
  publisher = {Routledge, Taylor \& Francis Group},
  editor    = {Oakes, Tim and Schein, Louisa},
  date      = {2005},
}
@incollection{teye_climate-induced_2022,
  location  = {Cham},
  title     = {Climate-Induced Migration in West Africa},
  pages     = {79--105},
  booktitle = {Migration in West Africa},
  publisher = {Springer International Publishing},
  author    = {Teye, Joseph Kofi and Nikoi, Ebenezer G. A.},
  editor    = {Teye, Joseph Kofi},
  date      = {2022},
  doi       = {10.1007/978-3-030-97322-3_5},
}
@article{sakdapolrak_migration_2016,
  title        = {Migration in a changing climate.
                  Towards a translocal social resilience approach},
  volume       = {147},
  doi          = {10.12854/erde-147-6},
  pages        = {81--94},
  number       = {2},
  journaltitle = {{DIE} {ERDE}},
  author       = {Sakdapolrak, Patrick and Naruchaikusol, Sopon
                  and Ober, Kayly and Peth, Simon and Porst, Luise
                  and Rockenbauch, Till and Tolo, Vera},
  date         = {2016},
}
@book{kuckartz_qualitative_2018,
  location  = {Weinheim},
  edition   = {4},
  title     = {Qualitative Inhaltsanalyse:
               Methoden, Praxis, Computerunterstützung},
  publisher = {Beltz},
  author    = {Kuckartz, Udo},
  date      = {2018},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

Birkmann, J. (2011):自然灾害背景下社会与自然的调节与耦合。收录于:Brauch, HG;Oswald Spring, Ú.;Mesjasz, C.;Grin, J.;Kameri-Mbote, P.;Chourou, B.;Dunai, P. & J. Birkmann (eds.):应对全球环境变化、灾害和安全:威胁、挑战、脆弱性和风险。柏林、纽约:Springer,Berghof Foundation,1103–1128。

相关内容