我有一些代码想合并到我的 latex 文档中。我设置了美观性,以便代码易于阅读,如下所示
\lstdefinestyle{numbers}{numbers = left,
stepnumber =1,
numberstyle=\tiny\color{gray},
numbersep =5pt}
\lstdefinestyle{common}{tabsize =2,
showspaces =false,
showstringspaces=false,
breakatwhitespace=false,
breaklines=true}
\lstdefinestyle{moreR}{backgroundcolor=\color{white},
showtabs=false,
frame=false,
rulecolor=\color{black},
captionpos=b,
keywordstyle=\color{black},
commentstyle=\ttfamily\color{green!60!black},
escapeinside={\%*}{*)},
morekeywords={*,...} }
\lstdefinestyle{MyRstyle}{language =R,
basicstyle =\footnotesize\ttfamily,
style = numbers,
style = moreR,
style = common}
如果我必须使用下面的代码。第一条注释的颜色正确,但第二条注释的颜色不正确。
\begin{lstlisting}[style=MyRstyle]
## comment 1
Larsen <- read.delim("~/Projects/Mircoarray expressed/Larson/Discovery_GPL15931/Full/Larsen.txt")
PAM50 <- read.table("~/Projects/Mircoarray expressed/Larson/Discovery_GPL15931/PAM50.txt", quote="\"", comment.char="")
## comment2
names=NULL
for (i in 1:183){
x<-paste(colnames(Larsen)[i], PAM50$V4[i], sep = "_")
names <- c(names, x)
}
colnames(Larsen) <-names
\end{lstlisting}
lstinputlisting 函数也存在同样的问题
\lstinputlisting[style=MyRstyle]{code.R}
答案1
注释未被正确调用的原因与我的第二行代码有关。
PAM50 <- read.table("~/Projects/Mircoarray expressed/Larson/Discovery_GPL15931/PAM50.txt", quote="\"", comment.char="")
问题出在哪里quote = "\""
。看起来(虽然不确定) lstlisting 将此点之后的所有内容都称为字符串(未经测试的理论)。如果我仅用\"
单引号关闭,代码仍可在 R 中运行,并且注释问题得到解决。(即quote = '\"'
)