是否有与 DIN 1505 标准的 BibTeX 样式“alphadin”等效的 BibLaTeX

是否有与 DIN 1505 标准的 BibTeX 样式“alphadin”等效的 BibLaTeX

之前有人在这里问过类似的问题,我发现符合 DIN 1505 的 .bbx 和 .cbx但它看起来不像alphadin。遗憾的是,BibLaTeX 字母样式不适合我的目的。

因此我尝试修改文件但失败了。

我的目标是像这样的外观。它基本上是喧闹.bbx,并.cbx与字母风格相结合。

在此处输入图片描述

此外,没有作者的条目的标签应该是引用键的前 3 个字符 - 就像alphadin会这样做但字母不会一样。

有人知道如何修改文件或解决此问题的方法吗?

答案1

当然,需要更多信息来指定字母样式,但下面的文档给出了一个开始。它需要 biber 作为后端。

这里\DeclareLabelalphaTemplate指定了一个字母标签格式,它大致对应于下列之一,按优先级排序:

  • shorthand场地
  • label字段加上最后两位数字year
  • (截断)列表中姓氏的前三个字母(labelname当列表中只有一个项目时)加上姓氏的最后两位数字year
  • (截断)中每个姓氏的首字母labelname,加上year
  • 输入键的前三个字母

如果 的长度labelname超过 ,maxalphanames它将被截断为长度 的列表minalphanames。默认选项设置为minalphanames=1maxalphanames=3。截断在标签中通过字符指示\labelalphaothers

\newcommand*{\labelalphaothers}{+}
\newcommand*{\sortalphaothers}{\labelalphaothers}

这些可以用 重新定义\renewcommand*\sortalphaothers变体仅用于排序,如果\labelalphaothers使用任何格式化命令,则应重新定义。有关\DeclareLabelalphaTemplate和 的详细信息\defbibenvironment可以在 biblatex 手册中找到。

\documentclass{article}
\usepackage[backend=biber,citestyle=alphabetic,bibstyle=din]{biblatex}

% Use cite/entry key as fallback label
\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field{label}
    \field[strwidth=3,strside=left,ifnames=1]{labelname}
    \field[strwidth=1,strside=left]{labelname}
    \field[final,strwidth=3]{citekey}
  }
  \labelelement{
    \field[strwidth=2,strside=right]{year}    
  }
}

% Add labels to bibliography - taken from alphabetic.bbx
\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}
\defbibenvironment{bibliography}
  {\list
     {\printtext[labelalphawidth]{%
        \printfield{prefixnumber}%
        \printfield{labelalpha}%
        \printfield{extraalpha}}}
     {\setlength{\labelwidth}{\labelalphawidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{##1\hss}}
  {\endlist}
  {\item}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{bit:kiel,
  title = {Arbeitsgruppe Angewandte Informatik (Wirtschaftsinformatik)},
  url = {http://www.informatik.uni-kiel.de/bit/},
  year = 2012}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{knuth:ct,companion,aksin,cms,kant:ku,bit:kiel}
\printbibliography
\end{document}

在此处输入图片描述

答案2

[style=alphabetic]导入时使用,如:

\usepackage[style=alphabetic]{biblatex}

请注意,他的解决方案不符合 DIN 1505。它只是实现了与

\bibliographystyle{alphadin}

所以这并不能回答上面提出的问题,但是因为我在尝试找到我的答案提供的解决方案时发现了这个问题(我以某种方式弄明白了),它可能会对其他人到这里有所帮助。

相关内容