2016-11-05 6 views
4

Пытается вязать в pdf от RStudio, используя собственный файл mystyles.sty. Это хорошо работает, но теперь, когда я обновился до RStudio 1.044, я получаю сообщение об ошибке.Невозможно вязать в PDF с помощью пользовательских стилей

Пример:

--- 
title: "Test" 
output: 
    pdf_document: 
    includes: 
     in_header: mystyles.sty 
--- 



## R Markdown 

This is an R Markdown document. Markdown is a simple formatting syntax for    authoring HTML, PDF, and MS Word documents. For more details on using R Markdown  see <http://rmarkdown.rstudio.com>. 

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this: 

```{r cars} 
summary(cars) 
``` 

С помощью этого файла стиля:

\usepackage{titlesec} 

\definecolor{airforceblue}{rgb}{0.36, 0.54, 0.66} 
\definecolor{coolblack}{rgb}{0.0, 0.18, 0.39} 

\titleformat{\title} 
{\color{airforceblue}\normalfont\Large\bfseries} 
{\color{airforceblue}\thesection}{1em}{} 
\titleformat{\section} 
{\color{coolblack}\normalfont\Large\bfseries} 
{\color{coolblack}\thesection}{1em}{} 

дает мне эту ошибку:

output file: test.knit.md 

! Argument of \paragraph has an extra }. 
<inserted text> 
       \par 
l.1290 \[email protected]\paragraph 

pandoc: Error producing PDF 
Error: pandoc document conversion failed with error 43 
Execution halted 

Если я смотрю на файл текс она производит не могу см. любые отсутствующие фигурные скобки, и нет линии 1290. Используются последние версии RStudio, R и MacTex. По словам AsI, это использовалось для работы со старой версией RStudio, но не более того. Если я возьму, включит: ... бит из YAML, который он отображает без жалобы. Любой, кто может помочь?

ответ

7

Проблема связана с rmarkdown latex template переосмысление \subparagraph{} таким образом titlesec не любит, как и намекал на этот ответ на tex.SE. Это часть шаблона, который вызывает проблему:

$if(subparagraph)$ 
$else$ 
% Redefines (sub)paragraphs to behave more like sections 
\ifx\paragraph\undefined\else 
\let\oldparagraph\paragraph 
\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} 
\fi 
\ifx\subparagraph\undefined\else 
\let\oldsubparagraph\subparagraph 
\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} 
\fi 
$endif$ 

Поскольку \subparagraph переопределения происходит только тогда, когда нет подпункта переменной набор, простое решение было бы установить его в YAML передней материи. Это нормально компилируется:

--- 
title: "Test" 
output: 
    pdf_document: 
    includes: 
     in_header: mystyles.sty 
subparagraph: true 
--- 

Это может быть не самым лучшим решением, однако: это могло бы быть лучше, чтобы исправить определение подпункта из шаблона.

1

См. Это link. См. Ответ twsh. Это сработало для меня. Ниже приводится его ответ.

I think that another option is to set the 'subparagraph' variable to true (--variable=subparagraph on the command line). Then titlesec.sty works.

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

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