lstinputlisting 无法识别注释字符

lstinputlisting 无法识别注释字符

我有一些代码想合并到我的 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 = '\"'

相关内容