latex - 将 bib2gls 与 rmarkdown 一起使用无法呈现词汇表
问题描述
我想bib2gls
在我的 rmarkdown 文档中使用 latex 包在我编织到 pdf 文档时插入 .bib 文件中的首字母缩略词列表。
不起作用:
使用 .bib 文件存储我的首字母缩写词。例子:
abbreviations.bib 文件:
@abbreviation{ecoli,
short={E.~coli},
long={Escherichia coli}
}
@abbreviation{raustralis ,
short ={R.~ australis},
long={Rickettsia australis}
}
序言.tex
% fixes problem with glossaries causing mathspec
% to return an error asking for amsmath to be loaded first
\makeatletter
\let\RequirePackage\original@RequirePackage
\let\usepackage\RequirePackage
\makeatother
% using bib2gls
\usepackage[record,abbreviations,style=index]{glossaries-extra}
\setabbreviationstyle{long-short}
\GlsXtrLoadResources[src={abbreviations},selection={all}]
rmarkdown 文件:
---
output:
pdf_document:
latex_engine: xelatex
includes:
in_header: preamble.tex
title: "mwe"
---
## R Markdown
This is the first instance \gls{ecoli}, \gls{raustralis}. This is the second instance: \gls{ecoli}, \gls{raustralis}.
\printunsrtglossary[title={Abbreviations},type=abbreviations]
什么有效:
删除\GlsXtrLoadResources[src={abbreviations},selection={all}]
我的条目并将其添加到序言中。
% using bib2gls
\usepackage[abbreviations,style=index]{glossaries-extra}
\setabbreviationstyle{long-short}
\newabbreviation{ecoli}{E.~coli}{Escherichia coli}
\newabbreviation{raustralis}{R.~australis}{Rickettsia australis}
如果可能,我想在第一种方法中使用单独的 .bib 文件。除非在 R 中有更好的方法来执行此操作。会话信息如下:
R version 3.5.0 (2018-04-23)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
解决方案
问题是bib2gls
需要运行一个额外的程序,该程序从bib
文件中提取词汇表条目,但rmarkdown
不知道这一点。一般来说,如果你想在 LaTeX 方面做一些更复杂的事情,很有可能latexmk
已经知道如何去做。我不确定是否是这种情况,参见https://tex.stackexchange.com/questions/400325/latexmkrc-for-bib2gls。但是,您可以尝试使用
```{r echo=FALSE}
Sys.setenv(RSTUDIO_PDFLATEX = "latexmk")
```
推荐阅读
- sql - 如何生成字段等于“Dayofweek”、“weekofyear”等的日期表;并且行等于从 2010-01-01 到 current_date 的日期
- php - 如果我想在 PHP 中将一个单词移动到数组的末尾,如何使用函数?
- html - 在背景上水平和垂直居中 DIV
- java - VSCode中如何修复Java文件版本和编译版本不同
- powerbi - 使用 PowerBI 跟踪自定义策略注册/登录到 AD B2C
- python - 使用散列烧瓶应用程序更新密码表单
- r - 如何获取 2018 年第 5 周的天数(2 月份)
- android - 在 Android 的另一个片段中加载一个片段
- c# - 如何通过字符串资源制作格式化字符串
- javascript - 从页面角度动态添加和删除类 7