使用任何包创建两个书目时出现问题

使用任何包创建两个书目时出现问题

我需要为我的论文创建两个书目。一个用于文章,一个用于书籍。我必须将 .bib 文件分开。我尝试使用几个软件包,但都不起作用。不幸的是,我不能使用 biblatex,因为我正在使用与 biblatex 不兼容的 bibulous。我阅读了几篇与在一个文档中创建两个独立书目相关的论坛帖子,但它们都很旧了,所以我不确定在创建两个书目的众多软件包中哪一个效果最好。

我正在使用多方位方法添加 MWE。

\documentclass[11pt, a4papter] {scrartcl}
\usepackage{natbib}
\usepackage{multibib}

\usepackage{filecontents}
\begin{filecontents*}{test.bst}
TEMPLATES:
book =  <au>. {<title>} [<address> <year>.]
article = <au>. {<title>} [\textit{<journal>,] [<year>,] [<number>,}] [<pages>.]

SPECIAL-TEMPLATES:
citelabel = <authorlist.0.last>, <year>
sortkey = <authorlist.0.last><year>

OPTIONS:
namelist_format = last_name_first
use_firstname_initials = False
\end{filecontents*}

\begin{filecontents}{books.bib}
@Book{sicherheit2018,
  chapter   = {10. Armee als Spiegelbild der Gesellschaft},
  pages     = {170},
  title     = {Sicherheit 2018},
  publisher = {Tresch, Szvircsev Tibor; Wenger, Andrea.},
  year      = {2018},
}

\end{filecontents}

\begin{filecontents}{articles.bib}
@Article{asmz,
  author  = {Tresch, Tibor Szvircsev and Sokoli, Evgjenije},
  title   = {Schweizer Rekruten mit Migrationshintergrund : motiviert und leistungsbereit},
  journal = {Allgemeine schweizerische Militärzeitschrift},
  year    = {2013},
  number  = {12},
  pages   = {40-41},
}


\end{filecontents}

\newcites{ltex}{\TeX\ and \LaTeX\ References}

\begin{document}
Lorem ipsum dolor sit amet, \citet{asmz} consetetur sadipscing elitr, 
\cite{sicherheit2018}. 




\bibliographystyleltex{test}
\bibliographyltex{books}
\renewcommand{\refname}{articles}
\bibliographystyle{test}
\bibliography{articles}


\end{document}

如果有人能帮助我我将非常感激。

答案1

Bibulous 是 BibTeX 的替代品,因此multibib与 Bibulous 的配合使用应该与与 BibTeX 的配合使用完全相同。由于 BibTeX 的工作流程在设计时并没有真正考虑过多个参考书目,因此multibib使用起来可能有点不方便。请查看multibib文档了解更多详情。特别是 LaTeX 需要为.aux您想要创建的每个单独的参考书目编写一个单独的文件,并且您必须在每个文件上运行 BibTeX/Bibulous。

假设你的文档

\documentclass[11pt, a4papter, nswissgerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{natbib}
\usepackage{multibib}


\usepackage{filecontents}
\begin{filecontents*}{test.bst}
TEMPLATES:
book =  <au>. <title> [<address> <year>.]
inbook =  <au>. \enquote{<title>} in \textit{<booktitle>}[ <address> <year>][, <chapter>], S. <pages>.
article = <au>. <title> \textit{<journal>,[ <year>,][ <number>]}[, <pages>.]

SPECIAL-TEMPLATES:
authorlist = <author.to_namelist()>
editorlist = <editor.to_namelist()>
authorname.n = [<authorlist.n.prefix> ]<authorlist.n.last>[, <authorlist.n.first>][,  <authorlist.n.suffix>.]
editorname.n = [<editorname.n.prefix> ]<editorname.n.last>[, <editorname.n.first>][,  <editorname.n.suffix>.]
au = <authorname.0>; ...; <authorname.999>
ed = <editorname.0>; ...; <editorname.999>

citelabel = <authorlist.0.last>, <year>
sortkey = <authorlist.0.last><year>

OPTIONS:
namelist_format = last_name_first
use_firstname_initials = False
\end{filecontents*}

\begin{filecontents}{books.bib}
@inbook{sicherheit2018,
  author    = {Tibor Szvircsev Tresch and Andreas Wenger and Stefano De Rosa 
               and Thomas Ferst and Mauro Giovanoli and Eva Moehlecke de Baseggio
               and Olivia Schneider and Jennifer Victoria Scurrell},
  title     = {Armee als Spiegelbild der Gesellschaft},
  chapter   = {10},
  pages     = {161-184},
  booktitle = {Sicherheit 2018},
  editor    = {Tresch, Szvircsev Tibor and Wenger, Andrea.},
  year      = {2018},
}

\end{filecontents}

\begin{filecontents}{articles.bib}
@Article{asmz,
  author  = {Tresch, Tibor Szvircsev and Sokoli, Evgjenije},
  title   = {Schweizer Rekruten mit Migrationshintergrund : motiviert und leistungsbereit},
  journal = {Allgemeine schweizerische Militärzeitschrift},
  year    = {2013},
  number  = {12},
  pages   = {40-41},
}
\end{filecontents}

\newcites{ltex}{Books}

\begin{document}
Lorem ipsum dolor sit amet, \citet{asmz} consetetur sadipscing elitr. Lorem ipsum dolor sit amet. \citeltex{sicherheit2018}

\bibliographystyleltex{test}
\bibliographyltex{books}
\renewcommand{\refname}{Articles}
\bibliographystyle{test}
\bibliography{articles}
\end{document}

叫做test.tex

使用以下方法编译

  1. pdflatex test
  2. python bibulous.py test.aux
  3. python bibulous.py ltex.aux
  4. pdflatex test
  5. pdflatex test

获得

包含两个参考书目的文档屏幕截图

请注意,我修复了注释中提到的语法错误(名称必须用 分隔),并对您的样式和文件and进行了其他外观上的更改。.bib

相关内容