2

虽然我的条目bibliography.bib都是句子大小写,但我的参考文献变成了标题大小写(红色下划线)。我怎么能解决这个问题?

编辑: @user2554330 的回答表明该*.csl文件必须进行编辑。由于 rmarkdown 默认使用Chicago author-date 格式作为引文和参考文献,因此了解要编辑*.csl的确切位置会很有帮助'text case'

在此处输入图像描述

降价代码:

---
title: 'Untitled'
output: pdf_document
bibliography: "bibliography.bib"
---

Lorem ipsum dolor sit amet [@einstein_ist_1905; @hawking_thermodynamics_1983].

# References 
<div id="refs"></div>

内容bibliography.bib

@article{einstein_ist_1905,
    title = {Ist die {Trägheit} eines {Körpers} von seinem {Energieinhalt} abhängig?},
    volume = {323},
    url = {https://s3.amazonaws.com/objects.readcube.com/articles/downloaded/wiley/a56a92baf12b80889d9de6f28f51f22f8bec1a2b366de4e8171f0d47e890d37a.pdf?response-content-disposition=attachment%3B%20filename%3D%22Einstein-1905-Annalen_der_Physik.pdf%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIS5LBPCM5JPOCDGQ%2F20170830%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170830T124037Z&X-Amz-Expires=127162&X-Amz-SignedHeaders=host&X-Amz-Signature=3de93a7b9a7edbcc0676232820c448641df14f4a22d339ad07a8cc06200d7632},
    doi = {doi:10.1002/andp.19053231314},
    urldate = {2017-08-30},
    journal = {Ann. Phys.},
    author = {Einstein, Albert},
    year = {1905},
    pages = {639--641},
    file = {a56a92baf12b80889d9de6f28f51f22f8bec1a2b366de4e8171f0d47e890d37a.pdf:C\:\\Users\\jay\\Zotero\\storage\\TTPHSMIX\\a56a92baf12b80889d9de6f28f51f22f8bec1a2b366de4e8171f0d47e890d37a.pdf:application/pdf}
}

@article{hawking_thermodynamics_1983,
    title = {Thermodynamics of black holes in anti-de {Sitter} space},
    volume = {87},
    issn = {0010-3616, 1432-0916},
    url = {http://link.springer.com/10.1007/BF01208266},
    doi = {10.1007/BF01208266},
    language = {en},
    number = {4},
    urldate = {2017-10-13},
    journal = {Communications in Mathematical Physics},
    author = {Hawking, S. W. and Page, Don N.},
    month = dec,
    year = {1983},
    pages = {577--588},
    file = {57cae4b908ae3ac722b1eaa1.pdf:C\:\\Users\\jay\\Zotero\\storage\\DZ38DDCK\\57cae4b908ae3ac722b1eaa1.pdf:application/pdf}
}

会话信息

> sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] compiler_3.5.2  backports_1.1.3 rprojroot_1.3-2 htmltools_0.3.6 tools_3.5.2    
 [6] yaml_2.2.0      Rcpp_1.0.0      rmarkdown_1.8   knitr_1.21      xfun_0.4       
[11] digest_0.6.18   evaluate_0.12  

> rmarkdown::pandoc_version()
[1] ‘1.19.2.1’

# MiKTeX 2.9
4

1 回答 1

4

您可以使用cslYAML 标头中的字段指定您想要的样式,例如

---
title: 'Untitled'
output: pdf_document
bibliography: "bibliography.bib"
csl: the-astronomical-journal.csl
---

大量样式可在http://zotero.org/styles浏览,参考书目处理的更多细节在https://rmarkdown.rstudio.com/authoring_bibliographies_and_citations.html

编辑添加:如果您的csl文件除了大写之外都很好,那么只需删除带有错误处理的字段上的诸如text-case="capitalize-first",text-case="title"和之类的行text-case="lowercase",并且您在bib文件中使用的任何大写字母都将被复制到书目中。

进一步编辑:如果您的目标是 PDF 输出,您可以使用natbibbiblatex生成您的参考书目,并使用任何适用于这些的 BibTeX 样式。您甚至可以使用命令行命令latex makebst来制作自己的自定义样式。如果您选择使用 style foo.bstwith natbib,您的 YAML 应该如下所示

---
title: 'Untitled'
output: 
  pdf_document:
    citation_package: natbib
bibliography: "bibliography.bib"
biblio-style: foo
---

与样式相比,它的优势csl在于它将尊重bib文件中的大写标记,同时允许根据您的喜好进行更改。

于 2019-02-10T10:58:10.837 回答