尽管我在bibliography.bib
中的条目全部用大写字母写成句子,但我的引用却变成了标题用例(红色下划线)。我该怎么解决?
编辑: @ user2554330的回答表明必须编辑*.csl
文件。由于rmarkdown默认情况下使用Chicago author-date format for citations and references,因此知道要在*.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
答案 0 :(得分:2)
您可以使用YAML标头中的csl
字段指定所需的样式,例如
---
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,则可以使用natbib
或biblatex
来生成书目,并使用与之兼容的任何BibTeX样式。您甚至可以使用命令行命令latex makebst
来定制样式。如果您选择将样式foo.bst
与natbib
一起使用,则您的YAML应该看起来像
---
title: 'Untitled'
output:
pdf_document:
citation_package: natbib
bibliography: "bibliography.bib"
biblio-style: foo
---
与csl
样式相比,它具有一个优势,它会尊重bib
文件中的大写标记,同时允许进行更改以适合您的口味。