Emacs. Работа с библиографией. Org-cite

Библиография в org-mode на основе org-cite.

Содержание

1 Общая информация

  • Выпущена в 2021 году для нативной поддержки ссылок в org-mode.
  • Задаёт родной синтаксис для цитирования.

2 Цитирование

  • Прежде чем добавлять цитаты, сначала следует задать один или несколько файлов библиографии:

    • глобально с помощью org-cite-global-bibliography:
      1(setq org-cite-global-bibliography '("~/work/bib/bib/main.bib"))
      
    • локально с помощью одного или нескольких ключевых слов bibliography:
      1#+bibliography: SomeFile.bib
      2#+bibliography: /some/other/file.json
      3#+bibliography: "/some/file/with spaces/in its name.bib"
      
  • Цитаты можно вставлять и редактировать с помощью org-cite-insert, или комбинации C-c C-x @.

  • Для цитирования требуется один или несколько ключей цитирования элементов, идентифицирующих ссылку в библиографии:

    1[cite/style:common prefix ;prefix @key suffix; ... ; common suffix]
    
    • Каждая цитата заключена в квадратные скобки и использует ключевое слово cite.
    • Каждый ключ начинается с символа @.
    • Каждый ключ может быть дополнен префиксом (например, см.) и/или суффиксом (например, стр. 123), предоставляя информацию, полезную или необходимую для понимания цитаты, но не включенную в ссылку.
    • Одна цитата может цитировать более одной ссылки; ключи разделены точкой с запятой; форматирование таких групп цитирования определяется стилем.
    • Можно также указать стилистическую вариацию для цитат, вставив ‘/’ и имя стиля между ключевым словом cite и двоеточием.
  • Обязательными элементами являются:

    • ключевое слово cite и двоеточие;
    • символ @, непосредственно предшествующий каждому ключу;
    • скобки, окружающие цитирование.
  • Чтобы вставить куда-либо библиографию, нужно в этом месте задать ключевое слово print_bibliography:

    1#+print_bibliography:
    

3 Обработка цитирования

3.1 Общая информация

  • Важной концепцией org-cite являются экспортные процессоры.
  • Хотя цитаты всегда будут иметь один и тот же формат, экспортируемый текст будет меняться в зависимости от используемого процессора.
  • Основные функции процессоров:
    • вставка и редактирование цитат;
    • связь ссылки и её определения;
    • выделение цитат в буфере;
    • экспорт цитат.

3.2 Процессоры цитирования

3.2.1 Универсальные

  1. basic

    • Когда обратная совместимость не требуется, а потребности в форматировании минимальны.
    • Загрузка:
      1(require 'oc-basic)
      
  1. csl

    • Используется форматирование на основе Citation Style Language (см. Citation Style Language (CSL)).
    • Для этого используется пакет citeproc-el.
    • Конфигурация:
      1(require 'oc-csl)
      2
      3;;; https://github.com/citation-style-language/styles
      4;;; https://www.zotero.org/styles
      5(setq org-cite-csl-styles-dir "~/work/bib/csl")
      
    • csl экспортируется в визуализированный текст.
      • Визуализированный текст — это текст, вид которого будет совпадать с форматированием в org-mode, например, текст, выделенный курсивом org-mode, будет обернут в \emph{} в LaTeX.
      • При экспорте [cite:@bradleyAppearanceRealityMetaphysical2011 82–5;] в файл LaTeX с помощью csl-процессора, используя файл CSL для стиля цитирования Modern Language Association (MLA), в файле LaTeX будет следующая цитата: (Bradley 82–85).
    • При экспорте в LaTeX отрендеренного текста зачастую будет недостаточно.
    • Для получения доступ к более сложным или тонким функциям надо использовать процессор biblatex.

3.2.2 LaTeX

  • Для экспорта в LaTeX.
  1. natbib

    • Для экспорта в BibTeX, исторический библиографический процессор, используемый с LaTeX.
    • Используются команды цитирования из пакета natbib.
    • Загрузка:
      1(require 'oc-natbib)
      
  1. biblatex

    • Для экспорта в BibLaTeX, альтернативного библиографического процессора, используемого с LaTeX (см. bibtex vs biblatex).
    • Загрузка:
      1(require 'oc-biblatex)
      
    • Стиль конечного цитирования будет определяться предоставленными параметрами пакета (например, style=gost).
    • Например, [cite:@bradleyAppearanceRealityMetaphysical2011 82-5;] будет экспортироваться в команду LaTeX \cite[82-5]{bradleyAppearanceRealityMetaphysical2011}.
    • Процессору BibLaTeX можно передать параметры команде \printbibliography:
      1#+print_bibliography: :section 2 :heading subbibliography
      2#+print_bibliography: :keyword abc,xyz :title "Primary Sources"
      

3.3 Задание типа экспорта

3.3.1 Общая информация

  • Стиль цитат и библиография зависят от трех вещей:
    • используемый процессор цитирования;
    • стиль цитирования;
    • стиль библиографии.

3.3.2 Задание типа экспорта в файле

  • Ключевое слово CITE_EXPORT указывает процессор экспорта и стили цитирования (и, возможно, ссылки).
  • Зададим процессор экспорта basic с цитатами, вставленными как имя автора, и ссылками, проиндексированными по имени автора и году.
    1#+cite_export: basic author author-year
    
  • Зададим процессор csl и стиль CSL, который в данном случае определяет числовые цитаты и числовые ссылки в соответствии с ванкуверской спецификацией:
    1#+cite_export: csl /some/path/to/vancouver-brackets.csl
    
  • Зададим процессор natbib со стилем цитирования соответствующим гарвардскому стилю и спецификации издателя Wolkers-Kluwer:
    1#+cite_export: natbib kluwer
    

3.3.3 Глобальное задание типа экспорта

  • Необходимо настроить переменную org-cite-export-processors:
    1(org-cite-export-processors
    2 '((md . (csl "chicago-fullnote-bibliography.csl"))   ; Footnote reliant
    3   (latex . biblatex)                                 ; For humanities
    4   (odt . (csl "chicago-fullnote-bibliography.csl"))  ; Footnote reliant
    5   (t . (csl "modern-language-association.csl"))))      ; Fallback
    

4 Citeproc.el

  • Используется для процессора csl.
  • В настоящее время он поддерживает экспорт в:
    • HTML;
    • LaTeX;
    • Org;
    • Plain text.
  • В настоящее время Citeproc может извлекать библиографическую информацию из следующих форматов:
  • Поддержка Bib(La)TeX и org-bibtex находится в зачаточном состоянии по сравнению с CSL-JSON .
  • Если не задан стиль в org-cite-csl--fallback-style-file, будет использоваться стиль, который по умолчанию соответствует чикагскому стилю автор-дата.

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие