Использование bib2gls с rmarkdown не может отобразить глоссарий - PullRequest
0 голосов
/ 31 мая 2018

Я хотел бы использовать латексный пакет bib2gls в моем документе rmarkdown, чтобы вставить список сокращений из файла .bib, когда я вяжу в документ PDF.

Неработа:

Использование файла .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]

Вывод при IВязать rmarkdown документы выглядит так: enter image description here

Что работает:

Удаление \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}

enter image description here

Я хотел бы использовать отдельный файл .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  

1 Ответ

0 голосов
/ 01 июня 2018

Проблема в том, что bib2gls требует запуска дополнительной программы, которая извлекает записи глоссария из файла bib, но rmarkdown не знает об этом.В общем, если вы хотите сделать что-то более сложное на стороне LaTeX, есть большая вероятность, что latexmk уже знает, как это сделать.Я не уверен, если это здесь, ср https://tex.stackexchange.com/questions/400325/latexmkrc-for-bib2gls. Однако, вы можете попробовать, используя

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