第二个书目的多书目自定义前缀编号

第二个书目的多书目自定义前缀编号

环境:macOS 10.13.4、完整 2018 MacTeX 发行版、TeXworks v0.6.2。

我的MWE

% arara: pdflatex
% arara: bibtex: { files: [ mbib, web ] }
% arara: pdflatex
% arara: pdflatex

\RequirePackage{filecontents}

\begin{filecontents}{biblio.bib}
@incollection{Akallabeth,
  author       = "Tolkien, John Ronald Reuel",
  title        = "Akallabeth---The Downfall of Numenor",
  year         = 2014,
  editor       = "Tolkien, Christopher",
  booktitle    = "The Silmarillion",
  publisher    = "Mariner Books",
  address      = "New York, USA",
  tags         = "MasterThesis",
}
\end{filecontents}

\begin{filecontents}{web.bib}
@misc{wikiicd10,
  author       = "Wikipedia",
  title        = "{ICD-10}",
  year         = 2015,
  url          = "https://en.wikipedia.org/wiki/ICD-10",
  tags         = "master",
}
\end{filecontents}

\documentclass[a4paper,12pt,titlepage,twoside,openright,fleqn]{book}
\usepackage[italian,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{url}
\usepackage[colorlinks,allcolors=blue]{hyperref}
\usepackage{bookmark}

\usepackage[numbers,square,sort&compress]{natbib}
\usepackage[resetlabels]{multibib}
\newcites{web}{Useful websites}

\begin{document}
\tableofcontents

\bigskip
\hrule
\bigskip\noindent
% Generate two citation callouts
\citet{Akallabeth},
\citeweb{wikiicd10}

\cleardoublepage

\addcontentsline{toc}{chapter}{\bibname}
\bibliographystyle{plainnat}
\bibliography{biblio}

\cleardoublepage
\addcontentsline{toc}{chapter}{Useful websites}
\bibliographystyleweb{unsrtnat}
\bibliographyweb{web}

\end{document}

这有效,但我希望第二个参考书目(所有 Web URL)使用字母前缀。换句话说,呈现的引用如“...如所述 [W1]...”,链接参考编号为“W1”,而不是更常见的“1”。

我看过带前缀标签的 Natbib-Multibib 问题引用未使用 multibib 定义的自定义前缀,两者都让我认为这可能是不可能的。我实际上正在使用 ACMstyling(通过 ACM-Reference-Format.bst),尽管链接的文章让我认为这是 natbib/multibib 问题。

我正在arara通过 TexWorks 编译多个 bibtex 传递,因为每次调用都需要不同的目标 bib 文件。

现在我已经让 arara 工作了,如果它能给我所需的输出,我很乐意尝试使用 biblatex/biber,尽管我想我必须自己编写所有样式,因为 ACM 的样式文档尚不兼容 Biblatex(截至 2018 年 6 月)。

答案1

有了biblatex它,将参考书目一分为二并不困难。您甚至不需要使用两个单独的.bib文件(尽管您可以这样做)。

在这里,我们使用这两个.bib文件将添加keyword web到所有源中\jobname-web.bib(参见biblatex:按不同的 .bib 文件分类的多个参考书目)。您可以照常引用所有来源,但当我们按 进行筛选时,参考书目会被拆分keyword。要获取我们需要的 Web 参考书目的前缀\newrefcontext[labelprefix=W](请参阅在 biblatex 中为博士论文和硕士论文提供单独的参考书目)。

您需要在这里运行 Biber 而不是 BibTeX,Biblatex 与 Biber:配置我的编辑器以避免未定义的引用(当然 arara 也可以为您做到这一点)。

\RequirePackage{filecontents}

\begin{filecontents}{\jobname.bib}
@incollection{Akallabeth,
  author       = "Tolkien, John Ronald Reuel",
  title        = "Akallabeth---The Downfall of Numenor",
  year         = 2014,
  editor       = "Tolkien, Christopher",
  booktitle    = "The Silmarillion",
  publisher    = "Mariner Books",
  address      = "New York, USA",
  tags         = "MasterThesis",
}
\end{filecontents}

\begin{filecontents}{\jobname-web.bib}
@misc{wikiicd10,
  author       = "Wikipedia",
  title        = "{ICD-10}",
  year         = 2015,
  url          = "https://en.wikipedia.org/wiki/ICD-10",
  tags         = "master",
}
\end{filecontents}

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[italian,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[backend=biber, style=numeric, sorting=none, defernumbers]{biblatex}

\addbibresource{\jobname.bib}
\addbibresource{\jobname-web.bib}

\DeclareSourcemap{
  \maps[datatype=bibtex, overwrite]{
    \map{
      \perdatasource{\jobname-web.bib}
      \step[fieldset=keywords, fieldvalue=web, append]
    }
  }
}



\begin{document}
\cite{Akallabeth} and
\cite{wikiicd10}

\printbibliography[notkeyword=web]
\newrefcontext[labelprefix=W]
\printbibliography[keyword=web, title={Web references}]
\end{document}

在此处输入图片描述


既然您在问题中提到了 ACM,我必须指出,只有极少数(如果有的话)出版商可以接受biblatex投稿。出版商的内部工作流程通常无法真正处理biblatex书目与 BibTeX 书目之间的差异(一个区别是 BibTeX 书目本质上是预先生成的可排版的 LaTeX 源,仅带有通常的\emph, ... 标记;而biblatexBibTeX 则从原始数据格式动态生成书目输出)。请参阅Biblatex:向期刊投稿。如果您只需要提交 PDF,那就没问题了。但是当他们要求 BibTeX 时,请不要忽略提交指南,并仔细检查他们是否可以接受biblatex。如果您模板预加载,natbib我认为您使用提交的可能性很小biblatex

相关内容