当我使用.Rmd
选项编织bookdown::pdf_document2
文件并在其YAML部分中指定biblio-style
时,我想自定义引用样式。
我看到使用.csl
文件而不是.bst
解决了以前有关格式化bookdown
中引文部分的问题
(例如this或this)。
但是,就我而言,我必须在.bst
的YAML中的biblio-style
行中指定要使用哪个.Rmd
文件,因为没有.csl
文件能满足我的引用风格...
我正在尝试使用jecon-unicode.bst来生成引文部分(由于文件名中的连字符错误,我在工作目录中将文件名更改为jeconunicode.bst
)。通过该文件,我可以引用以APA格式英文出版的文档,同时,我也可以按照日本一些学术团体推荐的格式引用日文文档。我打算进行如下所示的引文部分:
铃木和田中(2032)
铃木・田中(2021)
如您所见,当用日语编写的文档时,“ ・”以文本引用的形式分隔多个作者姓名。
铃木,一郎和田中太郎(2032)“我们的首次调查: 不是第一个,但应该是最后一个。” 某事杂志 第23卷,第5期,第19–176页。
铃木一郎・田中太郎(2021)“われらの発见について:変貌を遂げつつある何とかの将来に关する过去・现在・未来”,『何十华论考』,第42巻,第5号,128–82页。
在参考部分中,jeconunicode.bst还将对日语和英语文档进行不同的处理,而无需为每种语言创建不同的参考部分(即,我要创建的参考章节与this不同)。例如,在同一参考书目部分,日语文档名称应使用“''『』,而英文文档名称则用“”和斜体表示。
为了激活jeconunicode.bst,我写了Test.Rmd
,并在其中插入了myref.bib
。
---
title: "Title"
author: "Name"
date: "`r format(Sys.time(), '%Y年 %B %d日')`"
output:
bookdown::pdf_document2:
latex_engine: lualatex
keep_tex: yes
toc: TRUE
toc_depth: 2
number_sections: TRUE
fig_caption: TRUE
dev: cairo_pdf
extra_dependencies: subfig
citation_package: natbib
link-citations: yes
always_allow_html: yes
documentclass: ltjsarticle
header-includes:
- \RequirePackage{luatexja}
- \usepackage{graphicx}
- \usepackage{float}
- \DeclareGraphicsExtensions{.pdf,.PNG}
# You can unset Japanese font specification
# - \usepackage{luatexja-fontspec}
# - \setmainjfont{YuMincho}[UprightFont=YuMincho-Regular,BoldFont=YuMincho-Demibold]
# - \setmainfont{TeX Gyre Termes}
# - \setsansjfont{YuGothic-Medium}[BoldFont=YuGothic-Bold]
# - \setsansfont{TeX Gyre Heros}
- \setlength\parskip{0mm}
- \setlength\parindent{1\Cwd}
- \usepackage[japanese]{babel}
- \captionsjapanese
- \newdimen\bibindent
- \setlength\bibindent{3\Cwd}
bibliography: myref.bib
biblio-style: jconunicode.bst
editor_options:
chunk_output_type: console
---
# 何とかの考察に関する歴史
@ST-jp は、「なんとかとは何とかだ!」[@ST-jp]と述べた。
しかし、@ST-en では一転して、
「Something should be more significant than something!!」[@ST-en]と
主張している。
# 参考文献 {-}
\leftskip=3\Cwd
\setlength\parindent{-3\Cwd}
<div id="refs"></div>
\leftskip=0pt
\setlength\parindent{1\Cwd}
要使jeconunicode.bst识别用日语撰写的文章,必须添加language = {Ja}
。
@article{ST-jp,
title = {われらの発見について:変貌を遂げつつある何とかの将来に関する過去・現在・未来},
journal = {何十華論考},
volume = 42,
number = 5,
pages = {128 -- 182},
year = {2021},
author = {鈴木, 一郎 and 田中, 太郎},
language = {ja}
}
@article{ST-en,
title = {Our first investigation: this is not the first, but this should be the last},
journal = {Journal of Something},
volume = 23,
number = 5,
pages = {19 -- 176},
year = 2032,
author = {Suzuki, Ichiro and Tanaka, Taro}
}
但是,目前我只得到了不良的结果。 biblio-style
选项中指定的jeconunicode.bst对输出没有任何影响,尽管使用了.Rmd
,.bst
和{{1 }}文件放在同一目录中。
铃木和田中(2032)
铃木和田中(2021)
铃木,一郎和田中太郎。 2032年。“我们的首次调查: 不是第一个,但应该是最后一个。” 某事杂志 23(5):19–176。
铃木,一郎和田中太郎。 2021.“われらの発见について:変貌を遂げつつある何とかの将来に关する过去・现在・未来。” 何十华论考 42(5):128–82。
如上所述,有什么好方法可以和谐地引用日语和英语(或任何带有拉丁字母的语言)?
我在Windows 10下的TeXLive 2018中使用RStudio中的书本,如下所示:
.bib
答案 0 :(得分:1)
我无法通过以下测试文件重现您的问题:
---
title: "Title"
author: "Name"
date: "`r format(Sys.time(), '%Y年 %B %d日')`"
output:
bookdown::pdf_document2:
latex_engine: lualatex
keep_tex: yes
toc: TRUE
toc_depth: 2
number_sections: TRUE
fig_caption: TRUE
dev: cairo_pdf
extra_dependencies: subfig
citation_package: natbib
link-citations: yes
always_allow_html: yes
documentclass: ltjsarticle
header-includes:
- \RequirePackage{luatexja}
- \usepackage{graphicx}
- \usepackage{float}
- \DeclareGraphicsExtensions{.pdf,.PNG}
- \usepackage{luatexja-fontspec}
- \setmainfont{TeX Gyre Termes}
- \setsansfont{TeX Gyre Heros}
- \setlength\parskip{0mm}
- \setlength\parindent{1\Cwd}
- \usepackage[japanese]{babel}
- \captionsjapanese
- \newdimen\bibindent
- \setlength\bibindent{3\Cwd}
bibliography: myref.bib
biblio-style: jeconunicode
editor_options:
chunk_output_type: console
---
# 何とかの考察に関する歴史
@ST-jp は、「なんとかとは何とかだ!」[@ST-jp]と述べた。
しかし、@ST-en では一転して、
「Something should be more significant than something!!」[@ST-en]と
主張している。
# 参考文献 {-}
\leftskip=3\Cwd
\setlength\parindent{-3\Cwd}
<div id="refs"></div>
\leftskip=0pt
\setlength\parindent{1\Cwd}
我的高清硬盘没有产生不希望的输出,而是充满了来自bibtex
的几GB错误消息。除其他外,还有:
is.kanji.str$ is an unknown function---line 1643 of file jeconunicode.bst
is.kanji.str$ is an unknown function---line 1644 of file jeconunicode.bst
is.kanji.str$ is an unknown function---line 1645 of file jeconunicode.bst
is.kanji.str$ is an unknown function---line 1646 of file jeconunicode.bst
我认为我应该使用pbibtex
而不是bibtex
。确实,使用tex
和aux
手动处理生成的pbibtex
和lualatex
文件效果很好。由于找不到配置方法,因此我创建了一个符号链接:
ln -s /usr/bin/pbibtex ~/bin/bibtex
这样,对bibtex
的呼叫实际上会呼叫pbibtex
。
编译该文档之后,即使它在RStudio中花了几次调用“ Knit”来使引用解析:
对我来说,这看起来像所需的输出。我无法解释您为什么看到不同的结果。
> devtools::session_info(('bookdown'))
Session info -----------------------------------------------------------------------------------------
setting value
version R version 3.5.1 (2018-07-02)
system x86_64, linux-gnu
ui RStudio (1.2.830)
language (EN)
collate de_DE.UTF-8
tz Europe/Berlin
date 2018-08-31
Packages ---------------------------------------------------------------------------------------------
package * version date source
backports 1.1.2 2017-12-13 CRAN (R 3.5.0)
base64enc 0.1-3 2015-07-28 CRAN (R 3.5.0)
bookdown 0.7 2018-02-18 CRAN (R 3.5.0)
digest 0.6.16 2018-08-22 CRAN (R 3.5.1)
evaluate 0.11 2018-07-17 CRAN (R 3.5.1)
glue 1.3.0 2018-08-24 Github (tidyverse/glue@4e74901)
graphics * 3.5.1 2018-07-03 local
grDevices * 3.5.1 2018-07-03 local
highr 0.7 2018-06-09 CRAN (R 3.5.0)
htmltools 0.3.6 2017-04-28 CRAN (R 3.5.0)
jsonlite 1.5 2017-06-01 CRAN (R 3.5.0)
knitr 1.20 2018-02-20 CRAN (R 3.5.0)
magrittr 1.5 2014-11-22 CRAN (R 3.5.0)
markdown 0.8 2017-04-20 CRAN (R 3.5.0)
methods * 3.5.1 2018-07-03 local
mime 0.5 2016-07-07 CRAN (R 3.5.0)
Rcpp 0.12.18 2018-07-23 CRAN (R 3.5.1)
rmarkdown 1.10 2018-06-11 CRAN (R 3.5.0)
rprojroot 1.3-2 2018-01-03 CRAN (R 3.5.0)
stats * 3.5.1 2018-07-03 local
stringi 1.2.4 2018-07-20 CRAN (R 3.5.1)
stringr 1.3.1 2018-05-10 CRAN (R 3.5.0)
tinytex 0.8 2018-08-30 CRAN (R 3.5.1)
tools 3.5.1 2018-07-03 local
utils * 3.5.1 2018-07-03 local
xfun 0.3 2018-07-06 CRAN (R 3.5.1)
yaml 2.2.0 2018-07-25 CRAN (R 3.5.1)