如何在“idem”/“ders.”缩写中获取小写字母?

如何在“idem”/“ders.”缩写中获取小写字母?

引用时@inbook,如果书籍作者与该书中所引用文本的作者相同,则参考书目样式authortitle-dw会识别这一点并显示“idem”。在德语中,这是“Ders。”(或“Dies。”,带有女性或多位作者)。

现在我想知道如何让缩写“Ders。”/“Dies。”以小写字母显示。在下面的 MWE 中,我得到了以下内容:

黑格尔,格奥尔格·威廉·弗里德里希:《下级的法律、义务和宗教理论(1810 年及以后)》,载于:纽伦堡和海德堡出版社 1808-1817 年版,hrsg。 v. Eva Moldenhauer 和 Karl Markus Michel,Werke 4, 2. Aufl.,法兰克福/M. 1993 年,第 204-274 页。

我想要得到的是这个(我只使用粗体字母来突出显示单词;我不希望该单词在引用或参考书目中以粗体显示):

黑格尔,格奥尔格·威廉·弗里德里希:《下级的法律、义务和宗教理论(1810 年至 1810 年)》,载于:德斯:纽伦堡和海德堡书信 1808-1817,hrsg。 v. Eva Moldenhauer 和 Karl Markus Michel,Werke 4, 2. Aufl.,法兰克福/M. 1993 年,第 204-274 页。

这是我的 MWE:

\documentclass[12pt, a4paper, openany]{report}
\usepackage[left=5cm, top=2cm, right=3.5cm, bottom=3.5cm]{geometry}

\usepackage{mystyle}

\begin{document}

Blablabla.\footcite[456]{RPR}

\printbibliography[title={Literaturverzeichnis}, heading=bibnumbered]

\end{document}

以下是我的文件中的内容mystyle.sty

\ProvidesPackage{mystyle}[2020/05/21 FUX's custom LaTeX style]

%Custom preamble

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{betababel}

%Das Nachfolgende ist der Zitationsstil mit allen seinen Optionen:

\usepackage[
    backend=biber,
    style=authortitle-dw,
    useprefix=true,
    sortlocale=de_DE,
    url=false,
    doi=false,
    eprint=false,
    nopublisher=true,
    nolocation=false,
    citedas=true,
    citeauthorname=firstfull,
    firstfull=true,
    acronyms=true,
    idembib=true,
    idembibformat=dash,
    edbyidem=true,
    editorstring=parens,
    ibidtracker=false,
    editionstring=true,
    series=beforeedition,
    seriesformat=standard,
    shorthandinbib=false,
    terselos=true,
    pageref=false,
    loccittracker=true,
    idemtracker=false,
    shorthandwidth=105pt,
    citepages=separate,
    ]{biblatex}

\DeclareFieldFormat
  [article, inbook, incollection]
  {title}{\frqq{}#1\flqq}

%Das Nachfolgende greift auf die literatur.bib Datei zu:

\addbibresource{literatur.bib}

\endinput

以下是我的literatur.bib文件内容:


@inbook{RPR,
  author      = {Hegel, Georg Wilhelm Friedrich},
  editor      = {Moldenhauer, Eva and Michel, Karl Markus},
  title       = {Rechts-, Pflichten- und Religionslehre für die Unterklasse (1810ff.\isdot)},
  options     = {acronym=true},
  shorthand   = {RPR},
  booktitle   = {Nürnberger und Heidelberger Schriften 1808-1817},
  bookauthor  = {Hegel, Georg Wilhelm Friedrich},
  year        = {1993},
  edition     = 2,
  series      = {Werke},
  number      = {4},
  publisher   = {Suhrkamp},
  address     = {Frankfurt/M.},
  pages       = {204-274},
  keywords    = {Hegel},
  }

答案1

这是一个令人惊讶的棘手问题!我花了一些时间进行挖掘,但这里有 (1) 问题出现原因的解释(我称之为 当前版本的一个小错误authortitle-dw)和 (2) 几个可能的解决方案。

错误原因

正如你所指出的,

引用时,@inbook如果该书的作者与该书中引用文本的作者相同,则书目样式authortitle-dw会识别这一点并输出 [bibstring]idem

在德语本地化中,该字符串被实现为“dieselbe”/“dies”。(模数性别)。请注意,该字符串本身是小写的。尽管它正确类型的大写标点(通常位于句首)。

此外,作者似乎authortitle-dw完全考虑到了您的情况,并规定“ders。”等应该在出版物的这个特定位置以小写形式出现inbook。这是来自的代码authortitle-dw.bbx

%% 'Ders.' bei inbook, wenn gleicher Autor
\renewbibmacro*{bybookauthor}{%
  \ifnamesequal{author}{bookauthor}
    {\ifbool{bbx:edbyidem}
      {\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}\addcolon}
      {\printnames[byauthor]{bookauthor}%
       \newunit\newblock}}
    {\printnames[byauthor]{bookauthor}%
     \newunit\newblock}}

注意,当author和相同时,使用bookauthorbistringidem并且之前是命令。其biblatex功能\midsentence(带或不带星号)如下:“此命令后面的本地化字符串将不大写”(biblatex 文档,§4.7.6)。

由于我们是(它似乎) 句子中间,我们期望字符串“dies.”和 friends 应该以小写形式出现。但有趣的事实是:不是。

最终的原因是德国本地化中冒号的处理。具体来说,就是在“ders”之前的冒号。(包含 bibmacroin:以标点命令 结尾\intitlepunct,而该命令又定义为\addcolon\space,正如预期的那样)。

biblatex 的主要本地化版本为德语(german.lbx),通过规则\DeclareCapitalPunctuation(参见文档,§4.7.5) 规定冒号后面的短语必须大写。我们真的不在句子中间。

\DeclareCapitalPunctuation{:.!?}

这与标准(英语)biblatex规范(\DeclareCapitalPunctuation{:.!?})不同。这也是有争议的,而且太宽泛了,因为只有德语完整的句子在冒号后大写(每杜登)——但它仍然是国家的法律。

现在,biblatex-dw从根继承了这一行为biblatex——这意味着作者通过不改变规范的这一部分,有效地\midsentence在当前情况下取消了他们自己的使用。

编辑:公平地说biblatex-dw,此机制在软件包上次更新(2016 年)时有效,并且\midsentence*在宏中biblatex-dw产生了预期的效果。在 2019 年末, v3.15 改变了处理biblatex方式,实际上抵消了此情况下的效果,因为现在出现得太早了。感谢 @moewe 在评论中指出了这一点。\intitlepunct\midsentence*\midsentence*

(为了测试,将 的副本german-dw.lbx放在 Latex 的搜索路径中并添加\DeclareBibliographyExtras{\DeclareCapitalPunctuation{.!?}};大写问题便会消失。)

解决方案

编辑:感谢@moewe 在评论中指出解决方案 (C)。)我可以设想三种解决方案;按通用性增加的顺序,它们是:

(A)编辑/修补宏bybookauthor,使 bibstringidem永远不会大写(为此,biblatex 提供了命令\bibncpstring:“类似于\bibstring但术语永远不会大写。”,§4.8)。

\usepackage{xpatch}
\xpatchbibmacro{bybookauthor}
    {\bibstring[\mkidem]}
    {\bibncpstring[\mkidem]}{}{}

(B)编辑命令\intitlepunct以恢复所需的情况,即\midsentence

\renewcommand*{\intitlepunct}{\addcolon\midsentence\space}

(B) 相对于 (A) 的优势在于它的通用性:它适用于各种情况,而不仅仅是inbook出版物。

(C)恢复 biblatex 的标准标点符号规则并禁用全部和任何自动大写:

\DefineBibliographyExtras{german}{\DeclareCapitalPunctuation{.!?}}

由于其适用范围广泛,此解决方案可能会产生意想不到的后果。如果这是您想要的结果,请注意,您有责任在需要时应用大写字母(根据 Duden)。

在此 MWE 中,取消注释三种解决方案中的任意一种即可获得所需的结果。

\begin{filecontents}[overwrite]{literatur.bib}
@inbook{RPR,
  author      = {Hegel, Georg Wilhelm Friedrich},
  title       = {Rechts-, Pflichten- und Religionslehre für die Unterklasse (1810ff.\isdot)},
  booktitle   = {Nürnberger und Heidelberger Schriften 1808-1817},
  bookauthor  = {Hegel, Georg Wilhelm Friedrich}}
\end{filecontents}

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

\usepackage[style=authortitle-dw]{biblatex}
\addbibresource{literatur.bib}


%% Solution (A)
%\usepackage{xpatch}     % required for \xpatchbibmacro
%\xpatchbibmacro{bybookauthor}
%    {\bibstring[\mkidem]}
%    {\bibncpstring[\mkidem]}{}{}

%% Solution (B)
%\renewcommand*{\intitlepunct}{\addcolon\midsentence\space}

%% Solution (C)
%\DefineBibliographyExtras{german}{\DeclareCapitalPunctuation{.!?}}

\begin{document}
\cite{RPR}
\printbibliography
\end{document}

以正确的小写字母列出的参考书目

相关内容