问题
I want to another bibliography style instead of apalike in Bookdown, and when I changed to nature which is number style, and built the book, it prompted me,
����: Failed to build the bibliography via bibtex
Please delete bookdown.Rmd after you finish debugging the error.
ִֹͣ��
Exited with status 1.
Is there a solution? There are some Chinese character in the title author and description, is this the reason?
The YAML header
---
title: "title"
author: "aa"
date: "`r Sys.Date()`"
documentclass: ctexbook
bibliography: [book.bib]
biblio-style: nature
link-citations: yes
colorlinks: yes
lot: no
lof: no
geometry: [b5paper, tmargin=2.5cm, bmargin=2.5cm, lmargin=3.5cm, rmargin=2.5cm]
site: bookdown::bookdown_site
description: "dd。"
github-repo: yihui/bookdown-chinese
#cover-image: images/cover.jpg
---
Session:
R version 3.5.0 (2018-04-23)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Simplified)_China.936 LC_CTYPE=Chinese (Simplified)_China.936
[3] LC_MONETARY=Chinese (Simplified)_China.936 LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_China.936
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] shiny_1.1.0
loaded via a namespace (and not attached):
[1] Rcpp_0.12.16 rstudioapi_0.7 xml2_1.2.0 knitr_1.20 magrittr_1.5 xtable_1.8-2
[7] R6_2.2.2 rlang_0.2.0 bibtex_0.4.2 plyr_1.8.4 httr_1.3.1 stringr_1.3.1
[13] tools_3.5.0 xfun_0.1 miniUI_0.1.1 htmltools_0.3.6 yaml_2.1.19 assertthat_0.2.0
[19] rprojroot_1.3-2 digest_0.6.15 bookdown_0.7 RefManageR_1.2.0 later_0.7.2 promises_1.0.1
[25] curl_3.2 evaluate_0.10.1 mime_0.5 rmarkdown_1.9 stringi_1.1.7 compiler_3.5.0
[31] citr_0.2.0 backports_1.1.2 lubridate_1.7.4 jsonlite_1.5 httpuv_1.4.3
回答1:
- Download your .csl file from https://www.zotero.org/styles?q=nature and copy it to the root of your project.
- Set in _output.yml
citation_package: none
- Add in all formats (gitbook, pdf_book,
epub_book) in _output.yml the line
pandoc_args: [ "--csl", "your-csl-file.csl" ]
- Delete or comment out in index.Rmd the line
biblio-style: apalike
See for the full procedure use csl-file for pdf-output in bookdown
回答2:
You specify the bibtex style nature.bst
, but that is not available on your system. Neither can I find it on CTAN. A search on CTAN gives two things:
- The nature package which includes
naturemag.bst
- The biblatex-nature package which adds nature like citations to biblatex
So either use
biblio-style: naturemag
or (prefered, see below) switch to biblatex using
bookdown::pdf_book:
citation_package: biblatex
in _output.yml
. In both cases you have to make sure that the required TeX packages are installed. This depends on the TeX distribution. In my case (TeXLive packaged for Debian) this meant
sudo apt-get install texlive-publishers texlive-bibtex-extra
For TeXLive proper or TinyTeX you can use on the command line:
tlmgr install nature
tlmgr install biblatex-nature
For TinyTeX you can also do this within R:
library(tinytex)
tlmgr_install('nature')
tlmgr_install('biblatex-nature')
See the maintenance section for more details.
Unfortunately only the bbilatex
solution is compatible with the default citation commands produced by bookdown
. One probably could change insert LaTeX commands for the citations, but that would make producing other formats more complicated. In addition, biblatex
is "the way to go" for many bibliography questions in LaTeX ...
来源:https://stackoverflow.com/questions/50596158/how-to-change-to-another-bibliography-style-in-bookdown