![RStudio 无法导出,而 TeXworks 可以](https://linux22.com/image/456601/RStudio%20%E6%97%A0%E6%B3%95%E5%AF%BC%E5%87%BA%EF%BC%8C%E8%80%8C%20TeXworks%20%E5%8F%AF%E4%BB%A5.png)
问题概述
我想将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:
,因此无法正确加载序言。就是这样。