How to change to another bibliography style in Bookdown

烈酒焚心 提交于 2019-12-07 08:32:53

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!