Как включить цитаты в статью :: jss-функция - PullRequest
2 голосов
/ 05 апреля 2019

Большое спасибо многим авторам пакета rticles за создание шаблона Rmarkdown, который позволяет мне подготовить свою статью для отправки в журнал статистического программного обеспечения, не выходя из среды Rmarkdown. У меня есть опыт работы с R и Rmarkdown, но у меня мало опыта с LaTex. Изучив обширное руководство по стилю JSS, я удивляюсь, почему в шаблоне Rmarkdown jss нет базовой настройки цитирования.

Поскольку мои источники используют пакет bibLaTex, я хочу использовать этот пакет цитирования для обработки моих ссылок, а не аргумент "natbib" по умолчанию в rticles::jss (). Я могу использовать «bibLaTex», потому что это аргумент в rticles::jss (). Я получаю сообщение об ошибке компиляции с использованием knitr . В документации JSS сказано использовать команды "\ cite {}" вместо стандартных команд Rmarkdown "[@ ...]". Мой файл уценки, который называется «New_Template.Rmd», показан ниже.

---
author:
  - name: FirstName LastName
    affiliation: University/Company
    address: >
      First line
      Second line
    email: \email{name@company.com}
    url: http://rstudio.com
  - name: Second Author
    affiliation: Affiliation
title:
  formatted: "A Capitalized Title: Something about a Package \\pkg{foo}"
  # If you use tex in the formatted title, also supply version without
  plain:     "A Capitalized Title: Something about a Package foo"
  # For running headers, if needed
  short:     "\\pkg{foo}: A Capitalized Title"
abstract: >
  The abstract of the article.
keywords:
  # at least one keyword must be supplied
  formatted: [keywords, not capitalized, "\\proglang{Java}"]
  plain:     [keywords, not capitalized, Java]
preamble: >
  \usepackage{amsmath}
output: 
  rticles::jss_article:
    number_sections: TRUE     #added argument option 
    citation_package: biblatex  #All my citations use biblatex, not natbib. 
biblio-style: jss      #Added Citation style is listed to use in JSS Instructions for Authors.
bibliography: vignette_bib.bib  #Added here from template.
---

# Introduction

This template demonstrates some of the basic latex you'll need to know to create a JSS article.

A citation \citep{braunWhatCanEpidemiological2016} and not the RMarkdown style <!-- [@braunWhatCanEpidemiological2016] --> 

Используя цитату Rmarkdown [@ braunWhatCanEpidemiological2016], вязание New_Template.Rmd генерирует эту ошибку при цитировании.

! Undefined control sequence.
l.53 A citation \autocite
                         {braunWhatCanEpidemiological2016} 

Error: Failed to compile New_Template.tex. See https://yihui.name/tinytex/r/#debugging for debugging tips. See New_Template.log for more info.
Execution halted

Очевидно, синтаксис Rmarkdown не работает. Согласно Руководству для авторов JSS, они предложили использовать `\ citep {...} ~. Используя \ citep {braunWhatCanEpidemiological2016}, я получаю эту ошибку при печати библиографии.

output file: New_Template.knit.md

This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
! Undefined control sequence.
l.112 \printbibliography

Error: Failed to compile New_Template.tex. See https://yihui.name/tinytex/r/#debugging for debugging tips. See New_Template.log for more info.
Execution halted

Here are additional files within my folder in compiling this Rmarkdown document.

Спецификации компьютера, использованного для генерации этого кода с использованием xfun::session_info('rticles')

R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6, RStudio 1.1.463

Locale: en_US.UTF-8 / en_US.UTF-8 / en_US.UTF-8 / C / en_US.UTF-8 / en_US.UTF-8

Package version:
  base64enc_0.1.3 digest_0.6.18   evaluate_0.13   glue_1.3.1      graphics_3.5.2  grDevices_3.5.2
  highr_0.8       htmltools_0.3.6 jsonlite_1.6    knitr_1.22      magrittr_1.5    markdown_0.9   
  methods_3.5.2   mime_0.6        Rcpp_1.0.1      rmarkdown_1.12  rticles_0.7.1   stats_3.5.2    
  stringi_1.4.3   stringr_1.4.0   tinytex_0.11    tools_3.5.2     utils_3.5.2     xfun_0.6       
  yaml_2.2.0     

По предложению из сообщения об ошибке использовать options(tinytex.verbose = TRUE) и tinytex::pdflatex () я получил ту же ошибку, что и выше.

Первые несколько строк New_Template.tex выглядят так:

\documentclass[article]{jss}
\usepackage[utf8]{inputenc}

\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}

Интересно, что согласно «Управление библиографией с помощью biblatex» , в файле LaTech может отсутствовать некоторый код:

\usepackage[utf8]{inputenc}
\usepackage[english]{babel} 

\usepackage{biblatex}
\addbibresource{vignette_bib.bib}  %where "vignette_bib.bib" is the name of bibliography file

Мне не удалось LaTex документа, потому что LaTexIt не смог найти объект jss.cls, выполняющий \usepackage[utf8]{inputenc}.

Я ожидаю, что Rmarkdown скомпилируется и цитаты и библиография будут соответствовать формату JSS. Однако могут существовать некоторые различия в стиле цитирования между использованием bibLaTex и natbib.

Буду признателен за любые предложения по решению этой проблемы. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...