这是一个简单的问题,但实际情况可能很复杂。我使用 RStudio 编写作业和考试,使用probsoln
将 R 代码直接嵌入 LaTeX 的软件包。我正在使用knitr
来为我做实际的编织(一键编译)。我有一个很多我从这个组合中受益匪浅,并且非常喜欢使用它。作者值得称赞probsoln
。但有一件事仍然困扰着我,那就是通过 probsoln 包解析代码的方式。
代码中的字符或单词之间添加了额外的空格。
我创建了一个演示代码,展示了输出是什么样子的,我希望它是什么样子的,以及我会满足什么。PDF 可以查看这里。
我可以做些什么来删除这些空格并让代码按正常逐字进行解析,或者更好的是语法高亮的代码?
\documentclass{article}
\usepackage{probsoln}
% Uncomment the following line to generate solution sheet.
\showanswers
% Load problems from external files, grouped type of problem
<<desc,child="samp_prblms.Rnw">>=
@
\begin{document}
Probsoln output. Adds extra spacing between certain characters. \\
\useproblem{test}
Desired output format.
<<warning=FALSE>>=
library(MASS)
f <- subset(survey, Sex=="female")
@
Verbatim output format. Acceptable, but missing syntax highlighting.
\begin{verbatim}
library(MASS)
f <- subset(survey, Sex=="female")
\end{verbatim}
\end{document}
samp_prblms.Rnw 文件定义了以下问题/解决方案对。
\begin{defproblem}{test}[fragile]
Subset the survey data set in the MASS library to only include females.
\begin{onlysolution}[fragile]%
\begin{solution}
<<warning=FALSE>>=
library(MASS)
f <- subset(survey, Sex=="female")
@
\end{solution}
\end{onlysolution}
\end{defproblem}
答案1
我遇到了和你一样的问题。我发现一个部分解决方案是highlight = FALSE
在 knitr 块中设置选项或全局定义它(见下文)。但这不是最佳方案。
<<include = FALSE>>= library(knitr) opts_chunk$set(highlight = FALSE) @