自定义 biblatex 引用样式

自定义 biblatex 引用样式

对于引用,我通常使用“authortitle-icomp”样式。现在我需要为作品使用稍微复杂一点的样式,但我不知道如何开始。

对于脚注中第一次引用标题,我需要:

名字、标题、副标题(如有)、地点和年份(如有)、页码(如有)

喜欢: 首次引用

对于标题的每次进一步引用,我都必须使用一个简短的版本:

名称、标题、页码(如有)

喜欢: 简称

我拥有的:

\usepackage[
backend=biber,
style=authortitle-icomp,
sortlocale=de_DE,
natbib=true,
isbn=false,
url=false, 
doi=false,
eprint=false,
dashed=false
]{biblatex}
\addbibresource{Bibliographie.bib}
\DeclareNameAlias{sortname}{last-first}
\DeclareNameAlias{default}{last-first}
\renewcommand*{\multinamedelim}{\addsemicolon\addspace}
\renewcommand{\finalnamedelim}{\addsemicolon\space}
\DefineBibliographyStrings{german}{andothers={et al.},}
\DeclareFieldFormat[incollection]{title}{Art.: \textit{#1}}
\DeclareFieldFormat[incollection,article]{pages}{#1}
\DeclareFieldFormat[article]{title}{\textit{#1}}
\DeclareFieldFormat[incollection]{citetitle}{\textit{#1}}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}

\renewbibmacro*{issue+date}{
    \setunit{\addcomma\space}
    \iffieldundef{issue}
    {\usebibmacro{date}}
    {\printfield{issue}
        \setunit*{\addspace}
        \usebibmacro{date}}
    \newunit}

\renewbibmacro*{date}{\setunit{\addspace}\printdate}

我不指望这个问题能得到解决,但也许你可以提供一些教程或文档的链接。我还是 LaTeX 的初学者,尤其是 BibLaTeX。

答案1

您描述的样式看起来与该verbose系列中的一种样式非常契合。我选择verbose-ibid保留 的“ibidem”功能authoryear-icomp。您可以在 §3.3 中找到所有标准样式的列表标准样式文档biblatex。如果您的版本biblatex是最新版本,该部分将链接到右边距中的样式示例。(您可以在加拿大运输安全局如果边缘没有链接)

使用verbose-inote脚注引用已经有了所需的一般设置:第一个引用很长(与参考书目条目几乎相同),后续引用仅提及作者和标题。

我对 MWE 中剩余的代码进行了稍微现代化处理(通过与之前的代码进行比较并可能在文档中搜索命令,应该可以知道哪一行做了什么,但我很乐意在评论中回答您可能对此提出的任何问题)。我还决定使用ext-verbose-ibid我的biblatex-ext作为基础而不是标准verbose-ibid,因为这样可以更容易地改变一些事情(这里主要是location和之间的空间date)。

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

\usepackage[backend=biber,
  style=ext-verbose-ibid,
  isbn=false, url=false, doi=false, eprint=false,
  dashed=false,
]{biblatex}

\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\subtitlepunct}{\addperiod\space}

\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{given-family}

\renewcommand*{\mkbibcompletename}{\textsc}

\DeclareDelimFormat{multinamedelim}{\addsemicolon\space}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}


\DefineBibliographyStrings{german}{andothers={et al\adddot},}
\DeclareFieldFormat[incollection]{title}{Art\addot\addcolon\space\mkbibitalic{#1}}
\DeclareFieldFormat[incollection,article]{pages}{#1}
\DeclareFieldFormat[article]{title}{\mkbibitalic{#1}}
\DeclareFieldFormat[incollection]{citetitle}{\mkbibitalic{#1}}

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

\renewbibmacro*{issue+date}{%
  \setunit{\addcomma\space}%
  \printfield{issue}%
  \setunit*{\addspace}%
  \usebibmacro{date}%
  \newunit}

\renewcommand*{\locdatedelim}{\addspace}
\letbibmacro{publisher+location+date}{location+date}

\begin{filecontents}{\jobname.bib}
@book{werbick,
  author    = {Jürgen Werbick},
  title     = {Gott verbindlich},
  subtitle  = {Eine theologische Gotteslehre},
  date      = {2007},
  publisher = {Herder},
  location  = {Freiburg},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}


\begin{document}
Lorem\autocite[591]{werbick}
ipsum\autocite{sigfridsson}
dolor\autocite[592]{werbick}
\printbibliography
\end{document}

Jürgen Werbick,上帝保佑。 《神学与上帝的学》,弗莱堡 2007,591。// Werbick,《上帝的学》,592。


长期以来,biblatex样式作者(或对更高级样式修改感兴趣的人)没有中级教程。以下是一些提示自定义 biblatex 样式的指南以及列出的一些资源biblatex 简介(适合初学者)有关于样式修改的部分(例如https://github.com/PaulStanley/biblatex-tutorial/releases),但没有关于样式问题的完整教程。

2008 年,Dominik Waßenhoven 撰写了一篇(德文)两部分文章,科技喜剧关于他的 biblatex风格(https://archiv.dante.de/DTK/PDF/komoedie_2008_2.pdfhttps://archiv.dante.de/DTK/PDF/komoedie_2008_4.pdf)。这几乎是我所知道的唯一biblatex以文章/教程形式介绍更高级内容的资源。请注意,这些文章已有 10 多年历史,从那时起许多细节都发生了变化。总体方法仍然相同,但我预计会有新的、更优雅的界面用于一些事情。

biblatex您将在本网站以及网络上的其他地方发现大量有关各种恶作剧的问题。

在编写样式的过程中,查看源代码以了解其工作原理可能会很有用。(请参阅macOS 上的引用命令文件位于哪里?以获得有关此内容的提示。)

相关内容