R 马克唐德:!LaTeX错误:两个\documentclass或\documentstyle命令

R 马克唐德:!LaTeX错误:两个\documentclass或\documentstyle命令,r,pdf,error-handling,latex,markdown,R,Pdf,Error Handling,Latex,Markdown,我试图在Rmarkdown中编制pdf,但我一次又一次地收到相同的错误: ! LaTeX错误:两个\documentclass或\documentstyle命令 我已经使用了不同的方法,如删除一些行、将\begin{document}放在不同的位置或更改加载包的顺序 这是我的代码: --- title: "Feedback" author: "Me" date: "09 02 2021" toc: true toc_depth: 2 t

我试图在Rmarkdown中编制pdf,但我一次又一次地收到相同的错误: ! LaTeX错误:两个\documentclass或\documentstyle命令

我已经使用了不同的方法,如删除一些行、将\begin{document}放在不同的位置或更改加载包的顺序

这是我的代码:

---
title: "Feedback"
author: "Me"
date: "09 02 2021"
toc: true
toc_depth: 2
toc-title: "Verzeichnis"
fig.caption: "Tabelle"
smooth_scroll: false
header-includes: 
  \documentclass{article}
  \PassOptionsToPackage[usenames,dvipsnames]{xcolor}
  \usepackage{fancyhdr}
  \usepackage[T1]{fontenc}
  \usepackage[default]{sourcesanspro}
  \usepackage{tikz}
mainfont: SourceSansPro
output: pdf_document
---
\begin{document}


\addtolength{\headheight}{1.0cm} 
\fancypagestyle{plain}{} 
\thispagestyle{fancy} 
\fancyhead[L]{\includegraphics[width = 500pt]{"/Users/lisak/One Drive/OneDrive/Dokumente/Masterarbeit/Erhebung/Anschreiben/alt/banner.png"}}
\renewcommand{\headrulewidth}{0pt} 


{r, echo = FALSE, message = FALSE}
.onLoad <- function(libname = find.package("kableExtra"), pkgname = "kableExtra") {
  if (knitr::is_latex_output()) {
    load_packages <- getOption("kableExtra.latex.load_packages", default = TRUE)
    if (load_packages) {
      usepackage_latex("booktabs")
      usepackage_latex("longtable")
      usepackage_latex("array")
      usepackage_latex("multirow")
      usepackage_latex("wrapfig")
      usepackage_latex("float")
      usepackage_latex("colortbl")
      usepackage_latex("pdflscape")
      usepackage_latex("tabu")
      usepackage_latex("threeparttable")
      usepackage_latex("threeparttablex")
      usepackage_latex("ulem", "normalem")
      usepackage_latex("makecell")
      usepackage_latex("xcolor")   
      
    }
  }
  auto_format <- getOption("kableExtra.auto_format", default = TRUE)
  if (auto_format) auto_set_format()
  if (!is.null(rmarkdown::metadata$output) &&
      rmarkdown::metadata$output %in% c(
        "ioslides_presentation", "slidy_presentation",
        "gitbook", "bookdown::gitbook", "radix_article", "radix::radix_article",
        "distill_article", "distill::distill_article"
      )) {
    options(kableExtra.html.bsTable = TRUE)
  }
  if (!is.null(knitr::opts_knit$get("rmarkdown.pandoc.to")) &&
      knitr::opts_knit$get("rmarkdown.pandoc.to") %in% c("epub3", "epub")) {
    options(kableExtra.knit_print.dependency = FALSE)
  }
}

stuff....

\end{document}
---
标题:“反馈”
作者:“我”
日期:“09 02 2021”
toc:没错
toc_深度:2
toc标题:“Verzeichnis”
图说明:“塔贝尔”
平滑滚动:错误
标题包括:
\documentclass{article}
\PassOptionsToPackage[usenames,dvipsnames]{xcolor}
\usepackage{fancyhdr}
\usepackage[T1]{fontenc}
\usepackage[默认值]{sourcesanspro}
\usepackage{tikz}
mainfont:SourceSansPro
输出:pdf\U文件
---
\开始{document}
\addtolength{\headheight}{1.0cm}
\fancypagestyle{plain}{}
\thispagestyle{fancy}
\fancyhead[L]{\includegraphics[width=500pt]{/Users/lisak/One-Drive/OneDrive/Dokumente/Masterarbeit/Erhebung/Anschreiben/alt/banner.png}
\更新命令{\headrulewidth}{0pt}
{r,echo=FALSE,message=FALSE}
.onLoad

  • 在将Rmarkdown文档转换为tex文档时,Rmarkdown将自动插入
    \documentclass{article}
    \begin{document}
    等内容。您不能再次插入它

  • \PassOptionsToPackage[usenames,dvipsnames]{xcolor}
    必须在documentclass之前使用。由于rmarkdown剥夺了您自己插入文档类的能力,因此您不能使用此选项

  • rmarkdown太愚蠢了,无法正确解析可选参数的方括号。作为一种解决方法,您可以将这些命令隐藏在单独的.tex文件中

  • r块的语法错误。你必须用背勾把它围起来



在将Rmarkdown文档转换为tex文档时,Rmarkdown将自动插入
\documentclass{article}
\begin{document}
之类的内容。如果省略这些命令,则会出现错误:!LaTeX错误:缺少\begin{document}。感谢您的回答@samcarter_is_在_topanswers.xyz!但我有点困惑:
\PassOptionsToPackage[usenames,dvipsnames]{xcolor}
发生了什么?我在你的答案中找不到它,我应该把代码放在哪里,以便它在documentclass之前?我如何准确地创建这个.tex文件?比如我在哪里,如何输入。对不起,我使用了.tex文件before@psycho95就像我说的,你不能用这个来标记。如果您确实需要这些选项,可以通过
classoption
将它们传递给所有包。我不知道有任何其他软件包使用这些关键字,所以这不会造成太多问题,但不能排除.tex文件的问题。你可以使用任何你喜欢的文本编辑器,甚至rstudio都可以创建新文件。好的,谢谢,我知道了。但是我在哪里保存tex文档呢?我将它放在加载数据集的同一个位置,但在资源路径中找不到
文件preamble.tex
@psycho95请尝试将其放在与.rmd文件相同的位置
---
title: "Feedback"
author: "Me"
date: "09 02 2021"
toc: true
toc_depth: 2
toc-title: "Verzeichnis"
fig.caption: "Tabelle"
smooth_scroll: false
mainfont: SourceSansPro
output: 
  pdf_document:
    keep_tex: true
    includes:
      in_header: preamble.tex
---


```{r, echo = FALSE, message = FALSE}
.onLoad <- function(libname = find.package("kableExtra"), pkgname = "kableExtra") {
  if (knitr::is_latex_output()) {
    load_packages <- getOption("kableExtra.latex.load_packages", default = TRUE)
    if (load_packages) {
      usepackage_latex("booktabs")
      usepackage_latex("longtable")
      usepackage_latex("array")
      usepackage_latex("multirow")
      usepackage_latex("wrapfig")
      usepackage_latex("float")
      usepackage_latex("colortbl")
      usepackage_latex("pdflscape")
      usepackage_latex("tabu")
      usepackage_latex("threeparttable")
      usepackage_latex("threeparttablex")
      usepackage_latex("ulem", "normalem")
      usepackage_latex("makecell")
      usepackage_latex("xcolor")   
      
    }
  }
  auto_format <- getOption("kableExtra.auto_format", default = TRUE)
  if (auto_format) auto_set_format()
  if (!is.null(rmarkdown::metadata$output) &&
      rmarkdown::metadata$output %in% c(
        "ioslides_presentation", "slidy_presentation",
        "gitbook", "bookdown::gitbook", "radix_article", "radix::radix_article",
        "distill_article", "distill::distill_article"
      )) {
    options(kableExtra.html.bsTable = TRUE)
  }
  if (!is.null(knitr::opts_knit$get("rmarkdown.pandoc.to")) &&
      knitr::opts_knit$get("rmarkdown.pandoc.to") %in% c("epub3", "epub")) {
    options(kableExtra.knit_print.dependency = FALSE)
  }
}
```

stuff....
\usepackage{fancyhdr}
\usepackage[T1]{fontenc}
\usepackage[default]{sourcesanspro}
\usepackage{tikz}
\addtolength{\headheight}{1.0cm} 
\fancypagestyle{plain}{} 
\thispagestyle{fancy} 
\fancyhead[L]{\includegraphics[width = 500pt]{example-image}}
\renewcommand{\headrulewidth}{0pt}