Bookown'библиография нескольких языков
Мне нужно поставить два справочных раздела. Список литературы одинаков, но в первом разделе он должен быть на русском, а во втором - на английском (см. Пример в png). Что мне делать, чтобы создавать библиографические ссылки на нескольких языках с помощью R+Bookdown+Zotero/Juris-M?
1 ответ
Частичное решение для вывода LaTeX/PDF.
- Я начал с клона bookdown-start
- В
index.Rmd
а также_output.yml
Я удалил библиографию конкретных вещей - В
index.Rmd
Я определил основной шрифт с кириллическими символами - В
_output.yml
Я указалafter_body
включить для библиографии - Я добавил код LaTeX из решения LaTeX в
01-Introduction.Rmd
,preamble.tex
а такжеbiblio.tex
а также два*.bib
файлы
Вот соответствующий git diff:
diff --git a/01-Introduction.Rmd b/01-Introduction.Rmd
index b94150e..372258d 100644
--- a/01-Introduction.Rmd
+++ b/01-Introduction.Rmd
@@ -2,3 +2,12 @@
This is the first real chapter.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
+eiusmod \mycite{book1} tempor incididunt ut labore et dolore magna
+aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
+laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
+in reprehenderit \mycite{book1, article1} in voluptate velit esse
+cillum \mycite{article1} dolore eu fugiat nulla pariatur. Excepteur sint
+occaecat cupidatat non proident, sunt in culpa qui officia deserunt
+mollit anim id est laborum.
+
diff --git a/_output.yml b/_output.yml
index 112cf5b..a04dcf9 100644
--- a/_output.yml
+++ b/_output.yml
@@ -11,7 +11,8 @@ bookdown::gitbook:
bookdown::pdf_book:
includes:
in_header: preamble.tex
+ after_body: biblio.tex
latex_engine: xelatex
- citation_package: natbib
+ keep_tex: yes
bookdown::epub_book:
stylesheet: style.css
diff --git a/biblio.tex b/biblio.tex
new file mode 100644
index 0000000..ea1eab8
--- /dev/null
+++ b/biblio.tex
@@ -0,0 +1,7 @@
+\chapter{Combined References}
+\bibliographystyle{ugost2008}
+\renewcommand{\bibsection}{\section{Список литературы}}
+\bibliography{biblio_ru}{}
+\bibliographystyleen{ugost2008}
+\renewcommand{\bibsection}{\section{References}}
+\bibliographyen{biblio_en}{}
diff --git a/index.Rmd b/index.Rmd
index ece36fe..e3bba35 100644
--- a/index.Rmd
+++ b/index.Rmd
@@ -4,8 +4,7 @@ author: "Sean Kross"
date: "`r Sys.Date()`"
site: bookdown::bookdown_site
documentclass: book
-bibliography: [book.bib]
-biblio-style: apalike
+mainfont: Noto Serif
link-citations: yes
github-repo: seankross/bookdown-start
url: 'http\://seankross.com/bookdown-start/'
diff --git a/preamble.tex b/preamble.tex
index dfd2e14..c522818 100644
--- a/preamble.tex
+++ b/preamble.tex
@@ -1 +1,8 @@
\usepackage{booktabs}
+
+\usepackage[resetlabels]{multibib}
+\newcites{en}{english}
+\newcommand{\mycite}[1]{\cite{#1}\nociteen{#1}}
+
+\usepackage[square,numbers,sort&compress]{natbib}
+\renewcommand{\bibnumfmt}[1]{#1.\hfill}
К сожалению, когда я использую build book
вторая библиография игнорируется, потому что bibtex
не вызывается на дополнительный en.aux
файл. Я имел обыкновение настраивать RStudio для использования latexmk
через настройки RSTUDIO_PDFLATEX
, но это больше не работает для меня. Временное решение:
- использование
keep_tex: yes
- Скопируйте
*.bib
файлы в выходные каталоги - вызов вручную
latexmk -xelatex ...
в выходной каталог
Результат:
Я бы использовал фильтр multiple-bibliographies.lua. В настоящее время успешно использую Linux, установив:
sudo apt install pandoc-citeproc
В папке bookdown (вы можете протестировать клонирование bookdown-demo) измените свой index.Rmd:
---
title: "book title"
author: "name name"
date: "`r Sys.Date()`"
site: bookdown::bookdown_site
always_allow_html: true
output:
bookdown::word_document2:
pandoc_args: --lua-filter=multiple-bibliographies.lua
bibliography_english: [eng.bib]
bibliography_russian: [rus.bib]
documentclass: book
csl: yourCslFileForFormattingCitesOptional.csl
link-citations: yes
description: "text"
---
В последней главе добавьте:
# English references {-}
::: {#refs_english}
:::
# Russian references {-}
::: {#refs_russian}
:::
Примечание: это создаст html, а также.docx в папке _book.