【问题标题】:use csl-file for pdf-output in bookdown在 bookdown 中使用 csl 文件进行 pdf 输出
【发布时间】:2018-02-24 16:53:12
【问题描述】:

我想使用 .csl-file 来格式化带有 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,并观察参考文献中的差异(在参考文献部分或简介中)

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 输出(正确):


PDF 输出(不正确):

【问题讨论】:

    标签: r r-markdown bookdown


    【解决方案1】:

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

    1. 使用 RStudio 创建新项目并选择“使用 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" ]
    

    【讨论】:

    • 谢谢!我正在使用这个解决方案来写我的论文。但是,特殊字符(例如 \oe)不会出现在参考部分中......(尽管它适用于常规 rmarkdown 文档)。你知道为什么吗?
    • 也许 .csl 文件不能使用这些特殊字符?尝试在您的 R 降价文件中使用 HTML 代码(对于 \oe,它是 œ)。
    • 感谢您的帮助。当我在常规(单个)RMardown 文档中使用 .csl 文件时,它可以正常工作,但在书中使用时它不能按预期工作......此外,特殊字符在文本中正确显示,但在参考部分中没有,所以这不是字体问题,它似乎特定于参考管理和预订......
    • (有关详细信息,请参阅此 SO 问题:stackoverflow.com/questions/55342838/…)
    猜你喜欢
    • 1970-01-01
    • 2020-02-12
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多