Biblatex 格式化书目

Biblatex 格式化书目

根据评论,我将从头开始。

我想使用以下格式引用超级分数数字和参考书目中的参考文献列表:

书:

姓氏,名字:标题。副标题,地点年份

杂志:

姓氏,名字:标题。副标题。在:日志,发布日期,页码

多位作者应以反斜杠分隔!

因此参考书目应该是这样的。

乔布斯,史蒂夫/盖茨,比尔:史蒂夫·乔布斯。纪念。摘自:《苹果周刊》,1999 年,第 44-45 页

以下是一个最简单的例子:

\documentclass[a4paper,11pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[style = numeric,backend=biber,autocite = superscript]{biblatex}
\usepackage[babel,german=quotes]{csquotes}

%\usepackage[style = geschichtsfrkl,citeinit = true, mitvn = true, jahrkeineklammern = true, mits = true, ibidpages = true, sorting=nyt, sortcase = true, autopunct=true, url = true, date = long, backend=bibtex8]{biblatex}


\bibliography{Quellen} 

\renewcommand*{\autorenschriftart}{}
\renewbibmacro{in:}{. In:}

\begin{document}
This is a super nice example \autocite{BlaBla:1999}

\printbibliography
\end{document}

这是书目文件:

@Article{BlaBla:1999,
  author = {Jobs, Steve and Gates, Bill},
  title = {Steve Jobs},
  subtitle = {In Memory},
  journal = {Weekly Apple},
  location = {Silicon Valley},
  year = {1999},
  volume = {1},
  pages = {44--45},
  month = {january}
}

提前谢谢您!任何帮助都值得感激!

答案1

下面的代码实现了你对于书目的一些愿望。

许多字段的格式被删除

\DeclareFieldFormat*{citetitle}{#1}
\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat*{maintitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}

姓名格式“名,姓/秒,作者”通过以下方式强制执行:

\DeclareNameAlias{sortname}{last-first}
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}
\renewcommand*{\multinamedelim}{\addslash}
\renewcommand*{\finalnamedelim}{\multinamedelim}

删除月份/卷和数量信息

\AtEveryBibitem{%
  \clearfield{month}%
  \ifentrytype{article}
    {\clearfield{volume}
     \clearfield{number}}
    {}
}

您可以通过将其他字段添加到列表中来删除它们,例如

\AtEveryBibitem{%
  \clearfield{month}%
  \clearfield{series}
  \clearlist{publisher}
  \ifentrytype{article}
    {\clearfield{volume}
     \clearfield{number}}
    {}
}

但请注意,“字段”有多种类型,有field、、listname,并且需要使用适当的\clear[...]宏。

名称与标题之间用冒号分隔,并且删除最后的句号

\renewcommand*{\labelnamepunct}{\addcolon\space}
\renewcommand*{\finentrypunct}{}

这是用于日期格式(删除发布者,并在位置前添加逗号)

\renewbibmacro*{publisher+location+date}{%
  \setunit{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addspace}%
  \usebibmacro{date}%
  \newunit}

\renewbibmacro*{location+date}{%
  \setunit{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addspace}%
  \usebibmacro{date}%
  \newunit}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addcomma\space}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

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

\renewbibmacro*{series+number}{%
  \iffieldundef{series}
    {}
    {\printtext[parens]{%
      \printfield{series}%
      \setunit*{\addspace}%
      \printfield{number}}}}

平均能量损失

\documentclass[a4paper,11pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[style = numeric,backend=biber,autocite = superscript]{biblatex}
\usepackage[babel,german=quotes]{csquotes}
\begin{filecontents*}{\jobname.bib}
@Article{BlaBla:1999,
  author = {Jobs, Steve and Gates, Bill},
  title = {Steve Jobs},
  subtitle = {In Memory},
  journal = {Weekly Apple},
  location = {Silicon Valley},
  year = {1999},
  volume = {1},
  pages = {44--45},
  month = {january},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\DeclareFieldFormat*{citetitle}{#1}
\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat*{maintitle}{#1}
\DeclareFieldFormat*{booktitle}{#1}

\DeclareNameAlias{sortname}{last-first}
\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}
\renewcommand*{\multinamedelim}{\addslash}
\renewcommand*{\finalnamedelim}{\multinamedelim}
\AtEveryBibitem{%
  \clearfield{month}%
  \ifentrytype{article}
    {\clearfield{volume}
     \clearfield{number}}
    {}
}
\renewcommand*{\finentrypunct}{}
\renewcommand*{\labelnamepunct}{\addcolon\space}
\renewbibmacro*{publisher+location+date}{%
  \setunit{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addspace}%
  \usebibmacro{date}%
  \newunit}

\renewbibmacro*{location+date}{%
  \setunit{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addspace}%
  \usebibmacro{date}%
  \newunit}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addcomma\space}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

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

\renewbibmacro*{series+number}{%
  \iffieldundef{series}
    {}
    {\printtext[parens]{%
      \printfield{series}%
      \setunit*{\addspace}%
      \printfield{number}}}}

\begin{document}
Some text\autocite{BlaBla:1999,cicero,wilde,coleridge}
\printbibliography
\end{document}

example output of the MWE above

答案2

这里有一个扩展的起点:

  1. biblatex使用样式加载numeric并且不对任何条目进行排序。因此它们按照引用的顺序出现在参考书目中:

    \usepackage[style = numeric,backend=biber,autocite = superscript,sorting=none]{biblatex}
    
  2. 更改作者之间的分隔符:

    \renewcommand*{\multinamedelim}{\addslash\space}
    

下面是一个例子:

\RequirePackage{filecontents}

\begin{filecontents}{Quellen.bib}
@Article{BlaBla:1999,
author = {Jobs, Steve},
title = {Steve Jobs},
subtitle = {In Memory},
journal = {Weekly Apple},
location = {Silicon Valley},
year = {1999},
volume = {1},
pages = {44--45},
month = {january}
}
\end{filecontents}
\documentclass[a4paper,11pt]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[style = numeric,backend=biber,autocite = superscript,sorting=none]{biblatex}
\usepackage[babel,german=quotes]{csquotes}

%\bibliography{Quellen}
\addbibresource{Quellen.bib}
\addbibresource{biblatex-examples.bib}

\renewcommand*{\multinamedelim}{\addslash\space}

\begin{document}
This is a super nice example\autocite{BlaBla:1999}

This is a super nice example\autocite{companion}

This is a super nice example\autocite{knuth:ct:a}

\printbibliography
\end{document}

enter image description here

相关内容