如何创建我自己的书目引用格式?

如何创建我自己的书目引用格式?

我需要满足大学对论文的要求。我的需求看似简单,但我还没有找到直接的方法来做到这一点。

我需要的

  • 在文中,引用必须以大写形式显示作者姓氏的前三个字母,然后是四位数字格式的年份,全部用方括号括起来。

  • 如果同一作者在同一年有两部作品,则必须添加以A(当组合“ABCYYYY”重复时很有用)。

  • 在参考书目中,参考文献必须显示相同的标签,后跟其定义,表明:
    姓氏、名字、“文档标题用引号和斜体表示”、出版商、年份

例子(粗体仅为了便于可视化):

文本:

Lorem ipsum dolor sit amet, consectetur adipiscing elit
[JON2003]。生命在于自我,而爱在于时间
[WIN2001a]。 Pellentesque ullamcorper sit amet neque a
虎斑猫 [WIN2001b]。

参考书目:

[**JON**2003] **Jon**es, Eric S.,“如何使用 LaTeX”*,
               普伦蒂斯霍尔,1990 年。
[WIN2001a] Wing, Alice B.,“一些关于引用的书”,
               Ra-Ma,2001 年。
[WIN2001b] Wing,Alice B.,《傻瓜引文》,
               Ra-Ma,2001 年。

我拥有的

我的.tex是这样的:

\usepackage{natbib}
...
\begin{document}
...
\cite{label_1}
...
\bibliographystyle{alpha}
\bibliography{bib_file}

以及bib_file.bib具有此格式的文件

@book{label_1,  
  title = {Book title},
  author = {LName,FName},
  series = {series name},
  publisher = {publisher name},
  year = {some year in yyyy format}
}

我得到了什么

引用如下,[ABC...YY]其中 A、B、C... 是作者的姓氏首字母,而 YY 是两位数格式的年份。

最后,感谢您的时间。

答案1

我认为,使用 来完成这项工作并不是一件简单的事情,但使用 Biber 来处理文件natbib却很容易。以下是示例文档:biblatex.bib

\documentclass{article}
\usepackage[style=alphabetic]{biblatex}
\addbibresource{biblatex-examples.bib}


\DeclareLabelalphaTemplate{
 \labelelement{
    \field[final]{shorthand}
    \field{label}
    \field[strwidth=3,strside=left,ifnames=1,uppercase=true]{labelname}
    \field[strwidth=1,strside=left]{labelname}
          }
 \labelelement{
    \field[strwidth=4,strside=right]{year}
          }
}
% Author names Last, First
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}
\begin{document}
\cite{knuth:ct:a,knuth:ct:b,knuth:ct:c,baez/article,baez/online}
\printbibliography
\end{document}

alphabetic样式根据单个作者姓名的前三个字母或多个作者姓名的每个作者的第一个字母生成标签。构建密钥的作者数量由包选项设置maxalphanames。如果将其设置为1,则密钥中只会显示第一个作者的前三个字母。

还请注意,字母样式使用符号+来表示引文包含多个作者。这允许您在引文中区分例如 [AUT2001](单个作者的作品)和 [AUT+2001](多个作者的作品)。如果您设置,maxalphanames=1则所有多个作者的作品都将以加号显示。

\labelalphaothers要删除加号,请在加载后在序言中重新定义宏biblatex

\renewcommand{\labelalphaothers}{}

要在参考书目中完整显示所有作者姓名,请将其添加maxnames=99到您的包选项中。

此解决方案需要使用biber来处理参考书目,bibtex因此您可能需要了解如何让编辑器为您完成此操作,但这应该不难。请参阅以下内容,了解许多流行编辑器的说明。

output of code

相关内容