citation-package:biblatex在R bookdown中不起作用

时间:2017-06-19 15:00:42

标签: r bookdown biblatex

编辑:经过一些调查,这个问题实际上是关于输出yml中的以下选项:

citation-package: biblatex

如果没有此选项,bookdown将使用默认的citeproc,并且不清楚如何修改作者的数量。但是,使用此选项时,引用不再起作用,并且我的文档仅包含粗体的引用名而不是内联引用。所以我真的需要知道为什么引用包:biblatex不起作用

=====以下原始问题

我无法记下我的maxcitename = 2设置。我试过使用这个输出yml

output: 
  bookdown::pdf_book:
    includes:
      in_header: preamble.tex
    keep_tex: yes
    toc_depth: 3
    toc_appendix: yes

在preamble.tex文件中使用此行:

\usepackage[backend=bibtex, maxcitenames=2, style=authoryear]{biblatex}

我也试过使用这个输出yml:

bibliography: [likertimputebiblio.bib, packages.bib]
biblatexoptions: [maxcitenames=2]
csl: harvard-university-of-wolverhampton.csl
link-citations: true
nocite: | 
  @R-bookdown

我也试过这个输出yml:

site: bookdown::bookdown_site
documentclass: book
header-includes:
  - \usepackage[backend=bibtex, maxcitenames=2, style=authoryear]{biblatex}

但似乎没有任何效果。

请帮忙。感谢。

1 个答案:

答案 0 :(得分:1)

这个问题的解决方案是在坚持不懈之后找到的!

设置输出yml时,在输出下缩进:etc ...

citation_package: biblatex

...在行引用无法链接到.bib文件,因此引用的名称只是以粗体显示而未能进行任何内联引用。

预期的解决方案应该是使用附加选项:

biblatexoptions: [backend=bibtex, maxcitenames=2]

(maxcitenames = 2是我想使用biblatex的主要原因)但是失败了,错误“选项后端无法识别”。 最后解决方案是修改目录中的默认模板

C:\Program Files\R-3.4.0\library\rmarkdown\rmd\latex

在第100行,来自

\usepackage$if(biblio-style)$[style=$biblio-style$]$endif${biblatex}

\usepackage$if(biblio-style)$[backend=bibtex, style=$biblio-style$]$endif${biblatex}

我想向软件包作者建议这是一个需要修复的bug,因为backend = bibtex是一个有效的选项,应该已通过