在bookdown中使用csl-file进行pdf-output

时间:2018-02-24 16:53:13

标签: r r-markdown bookdown

我想使用.csl - 文件来格式化带有bookdown的引用。将csl: some-style.csl添加到index.Rmd会影响gitbook的输出,但会影响pdf_book。我知道我可以指定biblio-style,但这只接受一些标准样式而不是csl文件。有适当的解决方法吗?

重现的步骤:

  1. 使用RStudio创建新项目,并选择“使用bookdown预订项目”作为选项。
  2. https://www.zotero.org/styles下载一些.csl文件并复制到项目的根目录。
  3. csl: my_csl_file.csl添加到index.Rmd的标头中。
  4. 将本书构建为pdf和html,并观察参考文献中的差异(参考文献部分或引言中)
  5. index.Rmd中的标题:

    --- 
    title: "A Minimal Book Example"
    author: "Yihui Xie"
    date: "`r Sys.Date()`"
    site: bookdown::bookdown_site
    documentclass: book
    bibliography: [book.bib, packages.bib]
    csl: american-sociological-review.csl
    link-citations: yes
    description: "This is a minimal example of using the bookdown package to write a book. The output format for this example is bookdown::gitbook."
    ---
    

    HTML输出(正确): enter image description here

    PDF输出(不正确): enter image description here

    enter image description here

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。以下程序适用于我:

  1. 使用RStudio创建新项目并选择" Book Project using bookdown"作为选项。
  2. https://www.zotero.org/styles下载一些.csl文件并复制到项目的根目录。就我而言:chicago-author-date-de.csl
  3. 在_output.yml citation_package: none
  4. 中设置
  5. 在_output.yml中添加所有格式(gitbook,pdf_book,epub_book)行pandoc_args: [ "--csl", "chicago-author-date-de.csl" ]
  6. 在index.Rmd行biblio-style: apalike
  7. 中删除或注释掉
  8. 将06-references.Rmd的内容替换为# References {-}
  9. 这是我的_output.yml文件:

    bookdown::gitbook:
      css: style.css
      pandoc_args: [ "--csl", "chicago-author-date-de.csl" ]
      config:
        toc:
          before: |
            <li><a href="./">A Minimal Book Example</a></li>
          after: |
            <li><a href="https://github.com/rstudio/bookdown" target="blank">Published with bookdown</a></li>
        download: ["pdf", "epub"]
    bookdown::pdf_book:
      includes:
        in_header: preamble.tex
      latex_engine: xelatex
      citation_package: none
      pandoc_args: [ "--csl", "chicago-author-date-de.csl" ]
      keep_tex: yes
    bookdown::epub_book:
      pandoc_args: [ "--csl", "chicago-author-date-de.csl" ]