很难诊断所提供的信息到底出了什么问题。utils::texi2dvi()
在任何情况下,通过(tinytex
未安装 R 包时的默认值)或通过tinytex::latexmk()
(安装 R 包时的默认值)运行 pdfLaTeX时,tinytex
都找不到Sweave.sty
R 基础系统提供的文件。我不清楚哪个 LaTeX 引擎在后台运行:Windows 上的 MikTeX?
有几种策略可以解决这个问题:
- 告诉您的 LaTeX 安装
texmf
R 基础系统提供的目录,以便无论您在系统上的哪个位置调用 pdfLaTeX 都能找到它。
- 使用不同的 LaTeX 安装,例如,通过
tinytex
(R 包)安装 TinyTeX(LaTeX 发行版):tinytex::install_tinytex()
。如果您实际上不是 LaTeX 用户并且只需要它来编译 PDF 考试,这可能会特别有吸引力。
- 避免
Sweave.sty
在自定义模板文件中使用该文件,例如myplain.tex
. 本文末尾包含对此类文件的建议。
此线程中讨论了更多详细信息:https ://tex.stackexchange.com/questions/153193/latex-error-sweave-sty-not-found
至于你的三个问题:
- 如上所述:
exams2pdf()
利用utils::texi2dvi()
或tinytex::latexmk()
。所以这些需要了解 LaTeX 的安装——但这似乎是事实。他们只是找不到texmf
base R提供的。
- 您不必这样做,但它肯定是您可以使用的选项。作为起点,运行
exams_skeleton(markup = "latex", writer = "exams2pdf")
. 除其他外,这会创建一个templates
文件夹,您可以将myplain.tex
模板放在下面。
- 正如我上面所说,很难用提供的信息来回答这个问题。希望这里提供的线索之一能让您向前迈出几步。
内容myplain.tex
:
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{a4wide,graphicx,color,verbatim,url,fancyvrb,ae,amsmath,amssymb,booktabs,longtable,eurosym}
\newenvironment{question}{\item \textbf{Problem}\newline}{}
\newenvironment{solution}{\textbf{Solution}\newline}{}
\newenvironment{answerlist}{\renewcommand{\labelenumi}{(\alph{enumi})}\begin{enumerate}}{\end{enumerate}}
\providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setkeys{Gin}{keepaspectratio}
\DefineVerbatimEnvironment{Sinput}{Verbatim}{fontshape=sl}
\DefineVerbatimEnvironment{Soutput}{Verbatim}{}
\DefineVerbatimEnvironment{Scode}{Verbatim}{fontshape=sl}
\newenvironment{Schunk}{}{}
\begin{document}
\begin{enumerate}
%% \exinput{exercises}
\end{enumerate}
\end{document}