在 bookdown 中使用 csl 文件进行 pdf 输出

Tho*_*s K 8 r r-markdown bookdown

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

重现步骤:

  1. 使用 RStudio 创建新项目并选择“Book Project using bookdown”作为选项。
  2. .cslhttps://www.zotero.org/styles下载一些文件并复制到项目的根目录。
  3. 添加csl: my_csl_file.cslindex.Rmd.
  4. 将本书构建为pdf和html,并观察参考文献中的差异(在参考文献部分,或在介绍中)

标题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."
---
Run Code Online (Sandbox Code Playgroud)

HTML 输出(正确): 在此处输入图片说明


PDF 输出(不正确): 在此处输入图片说明

在此处输入图片说明

pet*_*tzi 9

我有同样的问题。以下程序对我有用:

  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. 在 _output.yml 行中添加所有格式(gitbook、pdf_book、epub_book) pandoc_args: [ "--csl", "chicago-author-date-de.csl" ]
  5. 删除或注释掉 index.Rmd 中的行 biblio-style: apalike
  6. 将 06-references.Rmd 的内容替换为 # References {-}

这是我的 _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" ]
Run Code Online (Sandbox Code Playgroud)