2015-12-22 5 views
0

Я собираюсь писать публикации в rmarkdown. Никаких проблем при создании файлов .html или .docx, но когда я создаю файлы .pdf, цитаты, похоже, не наследуют стиль, определенный в файле .csl.Rmarkdown PDF цитаты не отображаются правильно (csl issue?)

Например, с пронумерованным стиле .csl я ожидаю:

[@Author_Title_2003] ->(1)

Что является успешным в .html и .docx файлов, но в .pdfs я получаю:

[@Author_Title_2003] ->[Автор, 2003]

С квадратными скобками печатных, а также.

Пример:

test.rmd:

--- 
title: 'My Title' 
author: "Me me me me!" 
output: pdf_document 
bibliography: references.bib 
csl: elsevier-vancouver.csl 
--- 

Application written in the R programming language [@RCoreTeam] using the Shiny framework [@Chang2015]. 

# REFERENCES 

references.bib:

@Misc{Chang2015, 
    Title     = {shiny: Web Application Framework for R. R package version 0.12.1}, 
    Author     = {Chang, W. and Cheng, J. and Allaire, JJ. and Xie, Y. and McPherson, J. }, 
    Year      = {2015}, 
    Type      = {Computer Program}, 
    Url      = {http://CRAN.R-project.org/package=shiny} 
} 
@Article{RCoreTeam, 
    Title     = {R: A Language and Environment for Statistical Computing}, 
    Author     = {{R Core Team}}, 
    Year      = {2015}, 
    Type      = {Journal Article}, 
    Url      = {http://www.R-project.org} 
} 

Elsevier-vancouver.csl: link

работает rmarkdown::render("test.Rmd", "pdf_document") дает:

/home/jordan/.cabal/bin/pandoc +RTS -K512m -RTS paper.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output paper.tex --template /home/jordan/R/x86_64-pc-linux-gnu-library/3.2/rmarkdown/rmd/latex/default-1.14.tex --highlight-style tango --latex-engine pdflatex --natbib --variable graphics=yes --variable 'geometry:margin=1in' --bibliography references.bib 

И выходной файл:

Bad PDF output

Смотрите неправильно отформатированные цитаты. Также обратите внимание, что этот формат генерируется независимо от аргумента csl в заголовке. Любая помощь приветствуется.

версия pandoc 1.15.2.1, pandoc-citeproc версия 0.8.1.3.

+0

Не могли бы вы добавить код MWE в свой вопрос с помощью своего пользовательского заголовка yaml? Кроме того, нам нужно знать, как вы скомпилируете PDF (с вязаной кнопкой pdf в rstudio?) – scoa

+0

Компиляция в PDF с помощью кнопки в RStudio. Моим примером является то, что указано в связанном вопросе (для сохранения копии + вставки); перейдите по ссылке, чтобы узнать, как мой результат отличается от ожидаемого. Благодарю. –

+0

Я знаю, что ваш пример связан с связанным вопросом, но вы должны его скопировать. Кроме того, ваш код не совсем то же самое, поскольку вы добавляете что-то в передний вопрос yaml (где вы его точно добавляете?) – scoa

ответ

1

Итак, я понял, что происходит после того, как а) прочитал код пакета rmarkdown и b) лучше узнать латекс. Я думал, что отправлю свой ответ здесь, если у кого-то будет аналогичная проблема.

Вкратце, rmarkdown генерирует .tex-файл из файла .rmd, а затем обрабатывает .tex-файл, используя latexmk (или аналогичный системный вызов R). Латексные двигатели, конечно, фактически не используют файлы стиля .csl, вместо этого bibtex использует .bst файлы.

Короче говоря, для отформатированных ссылок в PDF-документе (сгенерированных из .rmd) либо:

  1. Создать .bst файл в нужный формат, а также конвертировать файл .tex произведенный R (Studio) вручную.

  2. Преобразование файла .tex в pdf с использованием pandoc снова, который может использовать файлы .csl . Это, похоже, удаляет гиперссылку, .

+0

Также см. Это исправление: https://github.com/rstudio/rmarkdown/commit/d23706743e7288339cd1e2c9722b2bcdd4727ac0 –

 Смежные вопросы

  • Нет связанных вопросов^_^