如何从R降价到latex转换中删除压缩标题?
我写了我自己的标题页,它通过R-markdown文件中的一个include加载。然而,这与pandoc的标题冲突。我试图在R markdown yaml头中找到设置,以便pandoc不会将以下代码插入到tex文件中如何从R降价到latex转换中删除压缩标题?,r,latex,r-markdown,pandoc,R,Latex,R Markdown,Pandoc,我写了我自己的标题页,它通过R-markdown文件中的一个include加载。然而,这与pandoc的标题冲突。我试图在R markdown yaml头中找到设置,以便pandoc不会将以下代码插入到tex文件中 % Create subtitle command for use in maketitle \newcommand{\subtitle}[1]{ \posttitle{ \begin{center}\large#1\end{center} } } \setle
% 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
命令不断创建我的标题页。这就是为什么我把重点放在我想要摆脱的这个特定代码上。我还使用我自己的标题页和用于latex/pdf输出的rmarkdown文档。要删除标题,可以将以下命令添加到名为within_header
的文本文件中:
\AtBeginDocument{\let\maketitle\relax}
直接在Rmd文档中构建header.tex
文件的可复制示例:
---
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**
---
标题:“RMarkdown无标题测试”
作者:“StatnMap”
日期:“2017年7月30日”
输出:
pdf\U文件:
包括:
in_头:header.tex
---
```{r设置,include=FALSE}
knitr::opts_chunk$set(echo=TRUE)
```
```{r rm_title_page,echo=FALSE}
头我今天也有同样的问题。这就是我所做的。(当我想出更好的解决方案时,也许我会更新解决方案。)
这个解决方案虽然愚蠢,但很有用。我现在无法在两行之间设置任意空格,因为我使用了\newline
---
title: "\\huge My Smart Title"
author: "\\newline \\Large My Smart Author"
date: "\\newline \\Large 2018-12-25"
output:
pdf_document:
includes:
in_header: preamble.tex
latex_engine: xelatex
---
以下是解决方案前后的输出
之前:
之后:
注:
如果您不知道默认情况下“作者”和“日期”的大小是\large
而不是\large
,那么您可能会对上面两张图片中“作者”和“日期”的不同大小感到困惑
结束在YAML作品中使用紧凑标题:false
---
title: "This title is not compact"
author: "Test"
date: "2019 May 10"
output: pdf_document
compact-title: false
---
我猜你必须使用你自己的pandoc latex模板,并用你发布的内容替换那里的标题代码。请参阅:(以及rmd文档,以防它们覆盖这些模板)谢谢,这听起来是一个有效的选项。我真的浏览了一下文档,我认为你是对的。如果你愿意把它作为一个答案,我会接受它。事实上,添加你自己的模板是更灵活的选择;但是仍然从STATNMAP考虑下面的答案,因为它是相当有效的是一个有趣的选择,但遗憾的是它不是我所寻找的。我仍然会尝试创建我自己的模板。谢谢你的回答。然而,这并不是我想要的。特别是,我仍在使用\maketitle
生成我的标题,因此\relax
作为替代品对我不起作用。我将更新问题以反映此细节。为什么不创建一个新命令来调用标题,如\newcommand*{\mytitle}{\begingroup….\endgroup}
?这样您就可以在正文
tex文件之前的\mytitle
中调用它,而不是\maketitle
。谢谢。这是这个问题最简洁、最简单的答案。您好……在rmarkdown文件的yaml头中添加一行compact title:false
(true
或false
)似乎没有任何效果。两次显示相同的标题。有什么收获吗@JaschaGrübel你能澄清一下你到底想要什么吗?knitr编译器增加了一些设置,现在使标题在标准情况下看起来相同,但特定的调用与我当时所做的冲突。请注意,如果将knitr设置为保留latex文件,则可以使用compact title:false验证我在问题中提到的代码段是否未生成,是否使用了标准maketitle。