同一个人作为作者和编辑排序问题

同一个人作为作者和编辑排序问题

我遇到一个问题,如果我的几本书的作者和编辑是同一个人,Biblatex 会将编辑标签与他的名字联系起来,而不是与特定的书联系起来。

我的意思是:

图像

  1. 这里列出的第一本书是最古老的一本(没关系)

  2. Grillmeier 是这本书的第一本编辑,因此在这本书的名字前应该写上 (Hrsg.),就像他担任编辑的所有其他书一样。

问题是:

**这个(Hrsg.)不应该放在冒号之前,而应该放在冒号之后!**

它不应该是:

Grillmeier,Alois(Hrsg。):

但它应该是:

Grillmeier,Alois: (人力资源):

这样,人们会觉得 Grillmeier 在这里只是作为编辑列出,但事实并非如此,因为对于条目 4-5 以及最后一条条目,他都是作者。

所以我需要找到一种方法在作者名字后面和 (Hrsg.) 前面添加冒号。

\documentclass[a4paper,11pt]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{csquotes}
\usepackage{blindtext}
\usepackage{filecontents}
\usepackage{hyperref}
\hypersetup{
    colorlinks,
     citecolor=black,
     filecolor=black,
     linkcolor=black,
     urlcolor=black
}
\usepackage{chngcntr}
\counterwithin*{footnote}{section}
\begin{filecontents}{\jobname.bib} 
@incollection{grillmeier1992,
    Address = {Innsbruck and Wien},
    Author = {Alois Grillmeier},
    Booktitle = {Chalcedon und die Folgen: Festschrift 60. Geburtstag von Bischof Mesrob K. Krikorian},
    Call-Number = {TH: Dc 1.100},
    Date-Added = {2016-02-03 12:53:52 +0000},
    Date-Modified = {2017-12-08 13:49:43 +0000},
    Editor = {Rudolf Kirchschl{\"a}ger and Alfred Stirnemann},
    Keywords = {secondary},
    Pages = {215-242},
    Publisher = {Tyrolia Verlag},
    Title = {Die Rezeption des Konzils von Chalzedon durch die r{\"o}misch-katholische Kirche},
    Year = {1992}}
@book{grillmeier1989,
    Address = {Freiburg and Basel and Wien},
    Call-Number = {TH: Dq1.175 2/3},
    Date-Added = {2014-07-24 15:28:40 +0000},
    Date-Modified = {2017-12-16 15:00:12 +0000},
    Editor = {Alois Grillmeier},
    Keywords = {secondary},
    Publisher = {Herder},
    Title = {Jesus der Christus im Glauben der Kirche},
    Volume = {2: Die Kirche von Konstantinopel im 6. Jahrhundert},
    Year = {1989}}
@incollection{engberding1953,
    Address = {W{\"u}rzburg},
    Author = {Hieronymus Engberding},
    Booktitle = {Das Konzil von Chalkedon: Geschichte und Gegenwart},
    Call-Number = {TH: Ef VI 14/2},
    Date-Added = {2013-11-01 13:12:17 +0000},
    Date-Modified = {2013-11-01 13:17:37 +0000},
    Editor = {Alois Grillmeier},
    Keywords = {secondary},
    Number = {II},
    Pages = {697-733},
    Publisher = {Echter Verlag},
    Shortauthor = {Engberding},
    Shorttitle = {Das chalkedonische Christusbild},
    Title = {Das chalkedonische Christusbild und die Liturgien der monophysitischen Kirchengemeinschaften},
    Year = {1953}}
@incollection{grillmeier1981,
    Address = {Innsbruck and Wien},
    Author = {Alois Grillmeier},
    Booktitle = {Das gemeinsame Credo: 1600 Jahre seit dem Konzil von Konstantinopel},
    Call-Number = {TH: Dc1.617},
    Date-Added = {2013-08-27 16:30:48 +0000},
    Date-Modified = {2017-12-16 15:01:08 +0000},
    Editor = {Theodor Piffl-Percevic},
    Keywords = {secondary},
    Pages = {48-54},
    Publisher = {Tyrolia Verlag},
    Title = {Das nizaeno-konstantinopolitanische Glaubensbekenntnis},
    Year = {1981}}
@book{grillmeier1951-54,
    Address = {W{\"u}rzburg},
    Call-Number = {TH: Ef VI 14/1-3},
    Date-Added = {2013-08-23 09:57:03 +0000},
    Date-Modified = {2017-12-08 08:06:02 +0000},
    Editor = {Alois Grillmeier},
    Keywords = {nocite},
    Number = {I-III},
    Publisher = {Echter Verlag},
    Title = {Das Konzil von Chalkedon: Geschichte und Gegenwart},
    Year = {1951-54}}
@book{grillmeier1954,
    Address = {W{\"u}rzburg},
    Call-Number = {TH: Ef VI 14/3},
    Date-Added = {2012-02-21 15:06:42 +0100},
    Date-Modified = {2017-12-08 08:05:59 +0000},
    Editor = {Alois Grillmeier},
    Keywords = {secondary},
    Number = {III},
    Publisher = {Echter Verlag},
    Title = {Das Konzil von Chalkedon: Geschichte und Gegenwart},
    Year = {1954}}
@book{grillmeier1975,
    Address = {Freiburg/{\,}Basel/{\,}Wien},
    Author = {Alois Grillmeier},
    Call-Number = {TH: Ef III 97},
    Date-Added = {2010-05-27 17:05:21 +0200},
    Date-Modified = {2010-10-18 14:18:00 +0200},
    Keywords = {secondary},
    Publisher = {Herder},
    Title = {Mit ihm und in ihm: Christologische Forschungen und Perspektiven},
    Year = {1975}}
@book{grillmeier1951,
    Address = {W{\"u}rzburg},
    Call-Number = {TH: Ef VI 14/1},
    Date-Added = {2010-04-21 10:36:53 +0200},
    Date-Modified = {2017-12-08 08:06:05 +0000},
    Editor = {Alois Grillmeier},
    Keywords = {secondary},
    Number = {I},
    Publisher = {Echter Verlag},
    Title = {Das Konzil von Chalkedon: Geschichte und Gegenwart},
    Year = {1951}}
@book{grillmeier1990,
    Address = {Freiburg and Basel and Wien},
    Call-Number = {TH: Dq1.175 1/3},
    Date-Added = {2010-03-12 14:00:25 +0100},
    Date-Modified = {2017-12-16 15:00:07 +0000},
    Edition = {3},
    Editor = {Alois Grillmeier},
    Keywords = {secondary},
    Publisher = {Herder},
    Title = {Jesus der Christus im Glauben der Kirche},
    Volume = {1: Von der Apostolischen Zeit bis zum Konzil von Chalcedon (451)},
    Year = {1990}}
@book{betz1979,
    Address = {Freiburg/{\,}Basel/{\,}Wien},
    Author = {Johannes Betz},
    Call-Number = {TH: Dd 1.040/4,4a.b},
    Date-Added = {2009-01-24 14:09:59 +0100},
    Date-Modified = {2014-08-18 07:47:01 +0000},
    Editor = {Michael Schmaus and Alois Grillmeier and Leo Schefffczyk and Michael Seybold},
    Keywords = {secondary},
    Number = {4},
    Publisher = {Herder},
    Series = {Handbuch der Dogmengeschichte},
    Title = {Eucharistie in der Schrift und Patristik},
    Year = {1979}}
\end{filecontents}
\usepackage[ngerman]{babel}
\usepackage[style=historische-zeitschrift, maxnames=2, hyperref=true, backref=true, backrefstyle=none, backend=bibtex,idemtracker=true]{biblatex}
\bibliography{\jobname}
% HISTORISCHE ZEITSCHRIFT - FIXING "( HRSG.)" TO " (HRSG.)"%
%
\makeatletter%
\renewbibmacro*{editorstrg}{%
  \ifthenelse{\value{editor}>1\OR\ifandothers{editor}}%
    {\bibstring[\mkbibparens]{editors}}%
    {\bibstring[\mkbibparens]{editor}}}%
\makeatother%
%
% HISTORISCHE ZEITSCHRIFT - PUBLISHER IN BIBLIOGRAPHY NOT OMMITED%
%
\makeatletter%
\renewbibmacro*{publisher+location+year}{%
  \printlist{location}:%
  \setunit*{\addspace}%
  \printlist{publisher}\addcomma%
  \setunit*{\addspace}%
  \printfield{year}%
  \newunit}%
\makeatother%
%
% HISTORISCHE ZEITSCHRIFT - NO PAGES IN INCOLLECTION FOOTNOTES BUT PAGES IN BIBLIOGRAPHY%
%
\renewbibmacro*{chapter+pages}{%
    \printfield{chapter}%
    \newunit}%
% 
% HISTORISCHE ZEITSCHRIFT - NO PAGES IN ARTICLE FOOTNOTES BUT PAGES IN BIBLIOGRAPHY%
%
\newbibmacro*{onlypages}{%
  \printfield{chapter}%
  \newunit}
\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author/editor}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \usebibmacro{byauthor}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
%     \newunit\newblock
  \setunit{\addcomma\space}%
  \usebibmacro{in:}%
  \usebibmacro{journal+issuetitle}%
%     \newunit\newblock
  \setunit*{\addcomma\space}%
  \printfield{note}%
%     \newunit\newblock
  \setunit*{\newunitpunct}%
\usebibmacro{onlypages}%
  \newunit\newblock%
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock%
  \printfield{addendum}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}
  \AtBeginBibliography{%
  \renewcommand*{\mkbibnamegiven}[1]{\textsc{#1}}
  \renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
  \renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}
  \renewcommand*{\mkbibnamesuffix}[1]{\textsc{#1}}
  \DeclareNameAlias{upshape}{family-given}
  \renewcommand*{\labelnamepunct}{\addcolon\space}
  \renewcommand*{\multinamedelim}{\addsemicolon\space}
  \renewcommand*{\finalnamedelim}{\multinamedelim}
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}
}
%
% HISTORISCHE ZEITSCHRIFT - ADDING ZITIERT AUF INSTEAD OF SIEHE S. IN BIBLIOGRAPHY
%
\DefineBibliographyStrings{ngerman}{
  backrefpage  = {Zitiert auf S\adddot},
  backrefpages = {Zitiert auf S\adddot},
}
%
\begin{document}
\section{First section}
\blindtext\footcite[See][S. 56]{grillmeier1992}
\blindtext\footcite[See][S. 22]{grillmeier1989}
\blindtext\footcite[See][S. 56]{engberding1953}
\blindtext\footcite[See][S. 56]{grillmeier1990}
\pagebreak
\section{Second section}
\blindtext\footcite[See][S. 56]{grillmeier1981}
\blindtext\footcite[See][S. 56]{grillmeier1951-54}
\blindtext\footcite[See][S. 12]{grillmeier1954}
\blindtext\footcite[See][S. 56]{betz1979}
\pagebreak
\section{Third section}
\blindtext\footcite[See][S. 11]{grillmeier1975}
\blindtext\footcite[See][S. 56]{grillmeier1990}
\blindtext\footcite[See][S. 12]{grillmeier1951}
\pagebreak
\printbibliography
\end{document}

答案1

您想要的输出非常不寻常。尽管人们可能会错误地认为 Grillmeier 是他实际上是作者的作品的编辑,但问题中显示的默认输出并不更清晰。

\makeatletter
\renewbibmacro*{editor}{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\printnames{editor}%
        \setunit{\addcolon\space}% <- ORIGINAL: \addcomma\space
        \usebibmacro{bbx:savehash}}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}
    {\global\undef\bbx@lasthash}}
\makeatother

唯一需要改变的是\setunit{\addcolon\space}而不是\setunit{\addspace}

相关内容