2016-11-05 7 views
4

Der Versuch, zu stricken, um pdf von RStudio mit einer benutzerdefinierten mystyles.sty Datei. Dies funktionierte gut, aber jetzt, da ich auf RStudio 1.044 aktualisiert habe, erhalte ich einen Fehler.Kann nicht mit benutzerdefinierten Stilen zu PDF stricken

Beispiel:

--- 
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) 
``` 

Mit dieser Stil-Datei:

\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}{} 

gibt mir diese Fehlermeldung:

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 

Wenn ich an der tex-Datei aussehen es produziert kann ich nicht sehen Sie fehlende Klammern, und es gibt keine Zeile 1290. Dies verwendet die neuesten Versionen von RStudio, R und MacTex. AsI sagen, dies verwendet, um mit einer älteren Version von RStudio zu arbeiten, aber nicht mehr. Wenn ich die Includes nehme: ... bit aus der YAML rendert es ohne Beanstandung. Wer kann helfen?

Antwort

7

Das Problem wird auf die titlesec nicht mag \subparagraph{} in einer Art und Weise neu zu definieren rmarkdown latex template verknüpft, wie bei auf tex.SE durch diese Antwort angedeutet. Dies ist der Teil der Vorlage, die das Problem verursacht:

$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$ 

Da die \subparagraph Neudefinition geschieht nur, wenn es kein Buch Variable gesetzt ist, eine einfache Abhilfe in der yaml Titelei zu setzen wäre. Dies kompiliert fein:

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

Dies könnte nicht die beste Lösung sein, aber: es wäre am besten, die Buchdefinition aus der Vorlage zu beheben.

1

Bitte sehen Sie diese link. Siehe wshs Antwort. Es hat für mich funktioniert. Folgendes ist seine Antwort.

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

Verwandte Themen