【问题标题】:How to change to another bibliography style in Bookdown如何在 Bookdown 中更改为另一种参考书目样式
【发布时间】:2018-05-30 03:56:20
【问题描述】:

我想用另一种书目风格代替Bookdown中的apalike,当我改成数字风格的自然并建书时,它提示了我,

����: Failed to build the bibliography via bibtex
Please delete bookdown.Rmd after you finish debugging the error.
ִֹͣ��

Exited with status 1.

有解决办法吗? 标题作者和描述中有一些汉字,是这个原因吗?

YAML 标头

--- 
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
---

会话:

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    

【问题讨论】:

  • 你的例子不包含任何汉字。它编译吗?除了您引用的最后一条错误消息之外,还有其他错误消息吗?如果您不更改参考书目样式,您的文档是否可以编译? minimal reproducible example 在这种情况下最有帮助!
  • @Ralf Stubner 用apalike的时候可以编译成pdf,改成nature的时候会提示错误。
  • @Ralf Stubner 它还提示:顶层辅助文件:bookdown.aux 我无法打开样式文件nature.bst ---文件bookdown.aux的第18行:\bibstyle{nature : } 我跳过了这个命令的任何剩余部分我发现没有样式文件---在阅读文件 bookdown.aux 时(有 2 条错误消息)����: 无法通过 bibtex 构建参考书目 请删除 bookdown.Rmd 之后你完成调试错误。 ִֹͣ�� 以状态 1 退出。
  • 附加错误消息表明您缺少所需的参考书目样式。您使用哪种 TeX 发行版?

标签: r markdown bookdown


【解决方案1】:
  • https://www.zotero.org/styles?q=nature 下载您的 .csl 文件 并将其复制到项目的根目录。
  • 在_output.yml中设置citation_package: none
  • 添加所有格式(gitbook、pdf_book、 epub_book) 在 _output.yml 行 pandoc_args: [ "--csl", "your-csl-file.csl" ]
  • 在 index.Rmd 中删除或注释掉 biblio-style: apalike

查看完整程序use csl-file for pdf-output in bookdown

【讨论】:

    【解决方案2】:

    您指定了 bibtex 样式nature.bst,但这在您的系统上不可用。我也无法在CTAN 上找到它。在 CTAN 上搜索会得到两件事:

    所以要么使用

     biblio-style: naturemag
    

    或(首选,见下文)使用

    切换到 biblatex
    bookdown::pdf_book:
      citation_package: biblatex
    

    _output.yml。在这两种情况下,您都必须确保安装了所需的 TeX 包。这取决于 TeX 分布。在我的情况下(为 Debian 打包的 TeXLive)这意味着

    sudo apt-get install texlive-publishers texlive-bibtex-extra
    

    对于 TeXLive 或 TinyTeX,您可以在命令行上使用:

    tlmgr install nature
    tlmgr install biblatex-nature
    

    对于 TinyTeX,您也可以在 R 中执行此操作:

    library(tinytex)
    tlmgr_install('nature')
    tlmgr_install('biblatex-nature')
    

    有关详细信息,请参阅maintenance section

    不幸的是,只有bbilatex 解决方案与bookdown 生成的默认引用命令兼容。可能会更改引用的插入 LaTeX 命令,但这会使生成其他格式更加复杂。此外,biblatex 是 LaTeX 中许多参考书目问题的“必经之路”...

    【讨论】:

    • 我用的不是Linux系统,而是Windows
    • @MinyiHan 你使用哪个 TeX 发行版? MikTeX、TeXLive、TinyTeX、...?
    • 我安装了 TinyTex
    • @MinyiHan 您可以在哪里安装(之一)所需的 TeX 包?现在可以用了吗?
    • library(tinytex) tlmgr_install('nature') tlmgr_install('biblatex-nature') 被使用,biblio-style: naturemag 被使用。它提示:!包 natbib 错误:参考书目与作者年份引用不兼容。错误:无法编译 bookdown.tex。有关更多信息,请参阅 bookdown.log。请在调试完错误后删除 bookdown.Rmd。执行已停止退出,状态为 1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2017-10-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 2018-12-10
    • 2019-08-14
    相关资源
    最近更新 更多