【问题标题】:Using bib2gls with rmarkdown fails to render glossary将 bib2gls 与 rmarkdown 一起使用无法呈现词汇表
【发布时间】:2018-05-31 17:04:51
【问题描述】:

我想在我的 rmarkdown 文档中使用 bib2glslatex 包在我编织到 pdf 文档时插入 .bib 文件中的首字母缩略词列表。

不起作用:

使用 .bib 文件来存储我的首字母缩略词。示例:

abbreviations.bib 文件:

@abbreviation{ecoli, 
short={E.~coli},
long={Escherichia coli}
}


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

preamble.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]

编织 rmarkdown 文档时的输出如下所示:

什么有效:

删除 \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  

【问题讨论】:

    标签: latex r-markdown knitr


    【解决方案1】:

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

    ```{r echo=FALSE}
    Sys.setenv(RSTUDIO_PDFLATEX = "latexmk")
    ```
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-30
      • 2021-11-20
      • 2022-08-06
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      相关资源
      最近更新 更多