2017-07-26 70 views
1

我寫了我自己的標題頁,它通過包含在R標記文件中加載。但是,這與pandoc標題衝突。我試圖在R markdown yaml頭文件中找到設置,以便pandoc不會將以下代碼剪切到tex文件中。如何從R降價到乳膠轉換中刪除緊湊的標題?

% Create subtitle command for use in maketitle 
\newcommand{\subtitle}[1]{ 
    \posttitle{ 
    \begin{center}\large#1\end{center} 
    } 
} 

\setlength{\droptitle}{-2em} 
    \title{} 
    \pretitle{\vspace{\droptitle}} 
    \posttitle{} 
    \author{} 
    \preauthor{}\postauthor{} 
    \date{} 
    \predate{}\postdate{} 

在pandoc文檔或r降價準則中沒有明確指示如何禁用標題生成。任何幫助,將不勝感激。

更新:特別是,我正在尋找解決方案,允許我使用\maketitle命令繼續創建我的標題頁。這就是爲什麼我專注於這個特定的代碼,我想要擺脫。

+1

我的猜測是你必須使用您自己的pandoc乳膠模板,並將標題代碼替換爲您發佈的內容。請參閱:http://pandoc.org/MANUAL.html#templates(以及rmd文檔以防它們覆蓋這些模板) –

+0

謝謝,這聽起來像是一個有效的選項。我真的通過文檔瀏覽,我認爲你是對的。如果您將此作爲答案,我會接受它。 –

+1

的確,添加自己的模板是更靈活的選擇;但仍然考慮從StatnMap下面的答案,因爲它是相當有效的 –

回答

2

我也使用我自己的標題頁與Rmarkdown文件的latex/pdf輸出。要刪除標題,您可以在調用in_header一個文本文件中添加以下命令:

\AtBeginDocument{\let\maketitle\relax} 

header.tex文件RMD文檔中直接構建在reproductible例如:

--- 
title: "RMarkdown No title Test" 
author: "StatnMap" 
date: "July 30, 2017" 
output: 
    pdf_document: 
    includes: 
     in_header: header.tex 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
``` 

```{r rm_title_page, echo=FALSE} 
head <- cat(' 
\\AtBeginDocument{\\let\\maketitle\\relax} 
', file = "header.tex") 

``` 

# Title 1 
**Some text** 

# Title 2 
**Some text** 
+0

謝謝你的回答。但是,這並不是我想要的。特別是,我仍然使用'\ maketitle'來生成我的標題,所以'\ relax'作爲替代品對我不起作用。我會更新這個問題,以反映這個細節。 –

+1

爲什麼不創建一個新的命令來調用你的標題,比如'\ newcommand * {\ mytitle} {\ begingroup .... \ endgroup}'?所以你可以在'before_body' tex文件中用'\ mytitle'來代替'\ maketitle'來調用它。 –