RStudio 无法导出,而 TeXworks 可以

RStudio 无法导出,而 TeXworks 可以

问题概述

我想将cancel-package 用于我的 R-Markdown 文件project.rmd。为此,我创建了一个preamble.tex包含以下内容的文件:

\usepackage{amsmath}
\usepackage[makeroom]{cancel}

我将它包含在 RMD 文件的 YAML-Header 中:

output:
  pdf_document:
    include:
      include_header: "preamble.tex"

我想要使​​用的代码如下:

\[x+\cancel{5y}=0\]

然而,当我想要将文件导出为 PDF 时,我收到以下错误消息:

! Undefined control sequence.
l.363 x+\cancel
               {5y}=0 

当从我的文档中查看创建的project.tex文件时,我发现该行\usepackage[makeroom]{cancel}未包含在所述project.tex文件中:

\documentclass[
]{article}
\usepackage{amsmath,amssymb}
\usepackage{lmodern}
\usepackage{iftex}
\ifPDFTeX
...

为什么不将整个内容preamble.tex延续到导出流程?

尝试修复

test.tex我首先创建了一个包含以下内容的新文件:

\documentclass{article}

\usepackage{amsmath}
\usepackage[makeroom]{cancel}

\begin{document}

\[
x+\cancel{5y}=0 
\]

\end{document}

我在 TeXworks 中打开它并尝试将其导出为 PDF。它告诉我缺少一个名为 的包cancel.sty,显然它尚未安装。安装后,我的文件可以毫无问题地导出为 PDF(感谢@DavidCharlisle)。

\usepackage[makeroom]{cancel}在 的前言部分添加这行后project.tex,TeXworks 中的导出到 PDF 也成功了。但是,当我想导出project.rmd到 pdf 时,仍然会出现以下错误:

! Undefined control sequence.
l.364 \[x+\cancel
                 {5y}=0\]

另外,当我想project.tex在 RStudio 中导出(在 TeXworks 中运行的版本)时,仍然收到错误。

为什么 Texworks 可以正常运行而 RStudio 却不能?

语境

我正在使用带有 MikTex 的 Windows 10。我已更新 MikTex 和 RStudio 中的所有软件包。

答案1

好吧,事实证明我很愚蠢:

代替

output:
  pdf_document:
    include:
      include_header: "preamble.tex"

我应该写

output:
  pdf_document:
    include:
      in_header: "preamble.tex"

我写的include_header:是 而不是in_header:,因此无法正确加载序言。就是这样。

答案2

\require不是 latex 命令,它是 mathjax 的等价命令,\usepackage因此您应该安排导出 markdown,只使用其中一个。对于通过 latex 导出的 pdf,您应该生成

\documentclass{article}

\usepackage{amsmath}
\usepackage[makeroom]{cancel}

\begin{document}

\[
x+\cancel{5y}=0 
\]

\end{document}

产生

在此处输入图片描述

相关内容