代码之家  ›  专栏  ›  技术社区  ›  Minyi Han

如何在bookdown中转换成另一种书目样式

  •  3
  • Minyi Han  · 技术社区  · 8 年前

    我想用另一种书目样式代替ApaLike在Bookdown中的样式,当我改为自然的数字样式,并建立了这本书时,它提示我,

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

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

    山药头

    --- 
    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    
    
    2 回复  |  直到 8 年前
        1
  •  5
  •   petzi    8 年前
    • 从下载.csl文件 https://www.zotero.org/styles?q=nature 并将其复制到项目的根目录。
    • 设置为输出.yml citation_package: none
    • 添加所有格式(gitbook、pdf-book, epub_book)输入输出.yml行 pandoc_args: [ "--csl", "your-csl-file.csl" ]
    • 在index.rmd中删除或注释该行 biblio-style: apalike

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

        2
  •  1
  •   Ralf Stubner    8 年前

    指定bibtex样式 nature.bst ,但这在您的系统上不可用。我也找不到 CTAN . 对CTAN的搜索提供了两个方面:

    所以要么用

     biblio-style: naturemag
    

    或(首选,见下文)使用

    bookdown::pdf_book:
      citation_package: biblatex
    

    在里面 _output.yml . 在这两种情况下,都必须确保安装了所需的tex软件包。这取决于tex的分布。在我的例子中(TexLive为Debian打包),这意味着

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

    对于texlive proper或tinytex,可以在命令行上使用:

    tlmgr install nature
    tlmgr install biblatex-nature
    

    对于Tinytex,也可以在r中执行此操作:

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

    查看 maintenance section 了解更多详细信息。

    不幸的是只有 bbilatex 解决方案与生成的默认引文命令兼容 bookdown . 有人可能会更改引文的insert-latex命令,但这会使生成其他格式更加复杂。此外, biblatex 是许多书目问题的“必由之路”…