Open rreareyes opened 4 years ago
Controlling relative paths with here::here()
as in
bibliography: "`r here::here('folder/bibliography.bib')`"
also fails for the same reason. (Excellent package, btw.)
Not sure when @crsh will be around to answer this, but it looks like a simple workaround (haven't tested this yet!) may be to change the global citr
options:
bib <- <<path to your bib>>
options(citr.bibliography_path = bib,
citr.update_bib = bib)
And make sure you have the same path set in your YAML.
Assuming that works, it may be that the fix for this is to access the bibliography through rmarkdown::metadata$bibliography
in citr::.onLoad()
.
I was wrong about the fix. It looks like the problem occurs in citr::get_bib_from_yaml()
, which is defined in the script for citr::insert_citation()
, way down on lines 784-802. Specifically, this bit of code:
absolute_bib_file <- sapply(
file.path(rmd_path, yaml::yaml.load(yaml_front_matter)$bibliography)
, tools::file_path_as_absolute
)
The file.path
adds the rmd_path
, which is the path to the directory where the rmarkdown is saved. This is being added to the file path in the YAML, hence C:/Documents/C:/Documents/...
in the above example.
tools::file_path_as_absolute
should add rmd_path
by default if the bibliography is in the same folder as the rmarkdown document, so including file.path(rmd_path, yaml...)
seems unnecessary. Just
absolute_bib_file <- sapply(
yaml::yaml.load(yaml_front_matter)$bibliography,
tools::file_path_as_absolute
)
should work. That said, tools::file_path_as_absolute
is also applied to the result of citr::get_bib_from_yaml()
on line 120, so I'm not sure it's really doing anything useful in the get_bib function. I'm still pretty new to Github, but when I learn how to do pull requests, I might suggest removing that line from the function.
When calling the addin to insert citations, while having an absolute path to a .bib file in the bibliography field from the YAML header, this error is returned in the console:
Example:
I already tried installing the latest version directly from github, I'm running version 0.3.2
Thanks for your help!