首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bib2gls和rmarkdown无法呈现术语表

使用bib2gls和rmarkdown无法呈现术语表
EN

Stack Overflow用户
提问于 2018-05-31 17:04:51
回答 1查看 205关注 0票数 2

我希望在我的rmarkdown文档中使用bib2gls latex包来插入一个.bib文件中的缩略词列表,当我编织到一个pdf文档时。

不工作:

使用.bib文件存储我的缩略语。示例:

abbreviations.bib文件:

代码语言:javascript
复制
@abbreviation{ecoli, 
short={E.~coli},
long={Escherichia coli}
}


@abbreviation{raustralis ,
short ={R.~ australis},
long={Rickettsia australis}
}

preamble.tex

代码语言:javascript
复制
% 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文件:

代码语言:javascript
复制
---
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}]并将我的条目添加到序言中。

代码语言:javascript
复制
% 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中有更好的方法来做到这一点,否则会话信息如下:

代码语言:javascript
复制
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  
EN

回答 1

Stack Overflow用户

发布于 2018-06-01 10:58:45

问题是bib2gls需要运行一个额外的程序,该程序从bib文件中提取术语表条目,但是rmarkdown不知道这一点。一般来说,如果您想在LaTeX方面做一些更复杂的事情,那么很可能latexmk已经知道如何这样做了。我不确定情况是否如此,c.f。https://tex.stackexchange.com/questions/400325/latexmkrc-for-bib2gls。但是,您可以尝试使用

代码语言:javascript
复制
```{r echo=FALSE}

Sys.setenv(RSTUDIO_PDFLATEX = "latexmk")

代码语言:javascript
复制
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50629413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档