jul*_*ell 5 r biblatex bookdown
编辑:经过一番调查,这个问题实际上是关于输出yml中的以下选项:
citation-package: biblatex
Run Code Online (Sandbox Code Playgroud)
如果没有此选项,bookdown将使用默认的citeproc,并且尚不清楚如何修改作者数量。但是,使用此选项时,引用不再起作用,并且我的文档仅包含以粗体显示的引用名称,而不是内联引用。所以我真的需要知道为什么引用软件包:biblatex无法正常工作
=====以下是原始问题
我无法预订以遵守我的maxcitename = 2设置。我尝试使用此输出yml
output:
bookdown::pdf_book:
includes:
in_header: preamble.tex
keep_tex: yes
toc_depth: 3
toc_appendix: yes
Run Code Online (Sandbox Code Playgroud)
在preamble.tex文件中的以下行:
\usepackage[backend=bibtex, maxcitenames=2, style=authoryear]{biblatex}
Run Code Online (Sandbox Code Playgroud)
我也尝试使用此输出yml:
bibliography: [likertimputebiblio.bib, packages.bib]
biblatexoptions: [maxcitenames=2]
csl: harvard-university-of-wolverhampton.csl
link-citations: true
nocite: |
@R-bookdown
Run Code Online (Sandbox Code Playgroud)
而且我也尝试了此输出yml:
site: bookdown::bookdown_site
documentclass: book
header-includes:
- \usepackage[backend=bibtex, maxcitenames=2, style=authoryear]{biblatex}
Run Code Online (Sandbox Code Playgroud)
但似乎没有任何效果。
请帮忙。谢谢。
经过不懈的努力终于找到了解决这个问题的方法!
设置输出 yml 时,在输出下缩进:等...
citation_package: biblatex
Run Code Online (Sandbox Code Playgroud)
...内联引用无法链接到 .bib 文件,因此引用名称只是以粗体显示,并且无法进行任何内联引用。
预期的解决方案应该是使用附加选项:
biblatexoptions: [backend=bibtex, maxcitenames=2]
Run Code Online (Sandbox Code Playgroud)
(maxcitenames=2 是我想使用 biblatex 的主要原因)但是失败并出现错误“选项后端无法识别”。最后解决办法是修改目录下的默认模板
C:\Program Files\R-3.4.0\library\rmarkdown\rmd\latex
Run Code Online (Sandbox Code Playgroud)
在第 100 行,从
\usepackage$if(biblio-style)$[style=$biblio-style$]$endif${biblatex}
Run Code Online (Sandbox Code Playgroud)
到
\usepackage$if(biblio-style)$[backend=bibtex, style=$biblio-style$]$endif${biblatex}
Run Code Online (Sandbox Code Playgroud)
我想向包作者建议这是一个需要修复的错误,因为 backend=bibtex 是一个有效的选项,应该已经通过
| 归档时间: |
|
| 查看次数: |
646 次 |
| 最近记录: |