修改(德语)APA 书目以包含 origlocation 和 origpublisher 以及 origyear

修改(德语)APA 书目以包含 origlocation 和 origpublisher 以及 origyear

这是我在这里的第一个问题,所以如果我犯了愚蠢的错误,请多多包涵。我正在使用 overleaf(我也安装了 TexWorks,但更喜欢用 overleaf 在设备之间同步(因为可视化编辑器非常好用)),所以我无法真正看到每个文件。

我使用 apa-syle 作为基础,但想对其进行修改(我不需要遵守指南,但最喜欢 apa)。我的问题是 apa 不包含字段origlocation和。我想将它们包含在参考书目条目末尾的origpublisher括号中,内容如下:origdate

(原件于 1890 年出版)

我想要的是其中之一(我不关心origpublisher显示哪种格式,我会选择任何可行的格式):

(原件于 1890 年出版,汉堡,F. Engels 出版社)

(原件于 1890 年出版,汉堡,弗里德里希·恩格斯 (Hrsg.))

(原件于 1890 年出版,汉堡,恩格斯,F. (Hrsg.))

在我的 MWE 中,我包含了 4 个 bib 条目:第一个(韦伯)只有origdate,所以还不错。第二个(马克思)就是我上面描述的。第三个(熊彼特)有 和origdateorigpublisher并且应该显示为:

(原作于 1942 年,由 E. Salin 编辑)

第四位(皮凯蒂)另外还有origtitle,最好将其包含在括号中。关于这个问题已经有一个回答,但我不太理解,无法实现它,而且它现在对我来说也不那么重要。在 apa 样式中包含series和也是如此,number已在这里回答

这是我的 MWE:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel} 

\usepackage[backend=biber,
                           %citestyle=authoryear-icomp,
                           %bibstyle=apa,
                           style=apa,
                           ]{biblatex} % https://mediatum.ub.tum.de/doc/1315979/1315979.pdf https://mirrors.ibiblio.org/CTAN/macros/latex/contrib/biblatex/doc/biblatex.pdf http://mirrors.ibiblio.org/CTAN/info/translations/biblatex/de/biblatex-de-Benutzerhandbuch.pdf
\ExecuteBibliographyOptions{
    uniquelist=false,   
%    origdate=apalong, %https://github.com/plk/biblatex-apa/blob/master/tex/latex/biblatex-apa/bbx/apa.bbx
}

\renewcommand*{\nameyeardelim}{\addspace} % remove comma in (Beadle and Tautum, 1941) This applies to citation only https://tex.stackexchange.com/questions/452228/modifying-bibliography-with-biblatex-biber-apa-style-locationpublisherdoi

\begin{filecontents}{test.bib}
@InCollection{Weber1972,
  author    = {Weber, Max},
  date      = {1972},
  title     = {Wirtschaft und Gesellschaft: Grundriß der verstehenden Soziologie},
  edition   = {5., rev. Aufl.},
  isbn      = {3165336318},
  language  = {ger},
  location  = {Tübingen},
  publisher = {Mohr},
  origdate  = {1922},
  type      = {Band},
}

@InCollection{Marx1962,
  author         = {Marx, Karl},
  booktitle      = {Das Kapital},
  date           = {1962},
  title          = {Der Produktionsprozeß des Kapitals},
  booksubtitle   = {Kritik der politischen Ökonomie},
  edition        = {Nach der 4. Aufl.},
  location       = {Berlin},
  publisher      = {Dietz},
  volume         = {1},
  origdate       = {1890},
  origlocation   = {Hamburg},
  origpublisher  = {Engels, Friedrich},
}

@Book{Schumpeter1987,
  author         = {Schumpeter, Joseph A.},
  date           = {1987},
  title          = {Kapitalismus, Sozialismus und Demokratie},
  edition        = {6},
  editor         = {Seifert, Eberhard K.},
  isbn           = {3772012981},
  language       = {ger},
  location       = {Tübingen},
  number         = {172},
  pagetotal      = {542},
  publisher      = {Francke},
  series         = {Uni-Taschenbücher},
  address        = {Tübingen},
  origpublisher  = {Salin, Edgar},
  origdate       = {1942},
}

@Book{Piketty2016,
  author       = {Piketty, Thomas},
  date         = {2016},
  title        = {Das Kapital im 21. Jahrhundert},
  edition      = {1. Aufl. als Paperback},
  location     = {München},
  number       = {6236},
  origlanguage = {french},
  publisher    = {C.H.Beck},
  series       = {C.H. Beck Paperback},
  translator   = {Utz, Ilse and Lorenzer, Stefan},
  origdate     = {2013},
  origtitle    = {Le Capital au XXIe Si{\'e}cle},
  ppn_gvk      = {1830858505},
}

\end{filecontents}
\addbibresource{test.bib}

\begin{document}

\section{Test}

Lorem \parencite[190]{Marx1962}. Ipsum \parencite[30]{Weber1972}. Dolor \parencite[60]{Piketty2016}. Sit amet \parencite[391]{Schumpeter1987}.


\section{Bibliography}

\printbibliography[heading=none]

\end{document}

输出:

MWE 的输出

所以感谢您提供的帮助。

答案1

部分答案可以帮助您入门。

origyear打印的定义apa.bbx\newbibmacro而不是\DeclareFieldFormat。如果您想使用该定义作为一种快速(但不一定在语义上正确)的方式来添加位置和发布者,那么您可以更新该宏。

\renewbibmacro*{origyear}{%
  \printtext[parens]{%
       \bibcpstring{origyear}
       \setunit{\addnbspace}%
       \printorigdate%
     \iflistundef{origlocation}%
       {}%
       {\addcomma\addspace \printlist{origlocation}}%
     \iflistundef{origpublisher}%
       {}%
       {\addcomma\addspace Hrsg. von \printlist{origpublisher}}%
     }%
}

结果:

在此处输入图片描述

您可以在宏中看到origlocationorigpublisher的类型为list。这来自.bblBiber 生成的文件:

\entry{Marx1962}{inbook}{}
      \name{author}{1}{}{%
        {{un=0,uniquepart=base,hash=af80d32a7d375e934f94bdfb27bf2999}{%
           family={Marx},
           familyi={M\bibinitperiod},
           given={Karl},
           giveni={K\bibinitperiod},
           givenun=0}}%
      }
      \list{location}{1}{%
        {Berlin}%
      }
      \list{origlocation}{1}{%
        {Hamburg}%
      }
      \list{origpublisher}{1}{%
        {Engels, Friedrich}%
      }
      \list{publisher}{1}{%
        {Dietz}%
      }
      % [...some entries removed...]
      \field{booksubtitle}{Kritik der politischen Ökonomie}
      \field{booktitle}{Das Kapital}
      \field{edition}{Nach der 4. Aufl.}
      \field{origyear}{1890}
      \field{title}{Der Produktionsprozeß des Kapitals}

列表条目按原样打印,不应用名称格式,因此导致人力资源弗里德里希·冯·恩格斯代替人力资源冯·恩格斯你想要什么。

因此,如果 Biber 知道这origpublisher是个人姓名,那么它就可以提取并格式化名字、姓氏和首字母,就像.bbl上面片段中的 Marx 一样。这需要更改数据模型,就像在链接的帖子中所做的那样,通过编写自定义biblatex-dm.cfg。当然,与此同时,您可以更改文件.bib以手动执行出版商名称的格式化。

相关内容