2016-01-05 3 views
1

Использование knitr сделать PDFs, цифры не показывают при использовании опции «центр» fig.align =:knitr не выравнивает фигуры в центре в формате PDF?

require(knitr) 
opts_chunk$set(fig.align='center') 

ИЛИ

```{r chunkname, fig.align='center'} 
...code that makes figure... 
``` 

В любом случае, никакие цифры не вышли на pdf при нажатии кнопки вязания PDF. Но я удаляю опцию fig.align, и цифры появляются, выравниваются влево.

Это была старая проблема, которая должна была быть решена с версии 1.8 knitr, но по-прежнему та же проблема :(

Любые идеи?

Спасибо!

+1

Можете ли вы предоставить [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) этого? Обратите внимание, что глобальные параметры применяются только к кускам * после * того, где они были установлены (AFAIK). –

ответ

0

Вы должны установить . Глобальные параметры для этого у меня есть этот заголовок в качестве стандарта для моих Docs, изменяя его в соответствии с требованиями:

### Set global and markdown global options 

```{r global.options, include = TRUE} 
knitr::opts_chunk$set(
    cache  = TRUE,  # if TRUE knitr will cache the results to reuse in future knits 
    fig.width = 10,  # the width for plots created by code chunk 
    fig.height = 10,  # the height for plots created by code chunk 
    fig.align = 'center', # how to align graphics in the final doc. 'left', 'right', 'center' 
    fig.path = 'figs/', # file path to the directory where knitr shall store the graphics files 
    results  = 'asis', # knitr will pass through results without reformatting them 
    echo  = TRUE,  # in FALSE knitr will not display code in the code chunk above it's results 
    message  = TRUE,  # if FALSE knitr will not display any messages generated by code 
    strip.white = TRUE,  # if FALSE knitr will not remove white spaces at the beg or end of code chunk 
    warning  = FALSE) # if FALSE knitr will not display any warning messages in the final document 
``` 

также, пожалуйста, убедитесь, что вы установили тип выхода в начале документа:

--- 
title: "blah-blah" 
author: "Denis Rasulev" 
date: "November 2015" 
output: pdf_document 
--- 
+0

'knitr :: opts_chunk $ set()' не является более глобальным, чем 'opts_chunk $ set()'. –

1

Проблема решена! Это была довольно «легкая» проблема, возможно, из-за правил laTex (я не могу программировать в laTex, поэтому я не уверен в этом). Проблема была в идентификаторе chancks. Я положил некоторый идентификатор, выполненный из нескольких слов с пробелами между словом и другое:

'''{r #identifier one} #before 
code 
''' 

'''{r #identifier-one} #after 
code 
''' 

Вводом клещ между словом решить эту проблему, позволяя уценки, чтобы сделать файл как pdflatex.

Большое спасибо в любом случае!