双引号在列表中产生问题

双引号在列表中产生问题

我正在使用该包在 LaTeX 中编写 R 代码listing。前两行一切正常,代码以纯文本形式编写,注释以斜体形式编写。但是,在此字符串之后quote="\"",所有内容都以纯文本形式显示;我发现这是由双引号引起的(如果这有意义的话,latex 认为一个引号是开放的)。但是这是代码的一部分,无法更改。有什么可能的解决办法吗?

这是代码和输出,请注意注释中的变化(带有#的行)

#pacchetto per realizzazione di raster plots
library(raster)

#apertura e visualizzazione dati
data<-read.table(|\color{DarkGreen}"percorso/nomefile.txt"|, quote="\"", comment.char="")
View(data)

#creazione della matrice di raster
x<-as.matrix(data)
r<-raster(x)

输出文本

编辑:

这里有完整的代码,可以直接在 Latex 中使用

\documentclass[a4paper]{report}
\usepackage[svgnames]{xcolor} % colorare testo
\usepackage[T1]{fontenc} % codifica dei font in uscita
\usepackage[utf8]{inputenc} % lettere accentate da tastiera
\usepackage[italian]{babel} % lingua principale del documento
\usepackage{lipsum} % genera testo fittizio
\usepackage{url} % per scrivere gli indirizzi Internet
\usepackage{packages} % carica il pacchetto
\usepackage{siunitx} % pacchetto per le tabelle
\usepackage{amsmath}
\usepackage{hyperref} % inserisce collegamenti ipertestuali
%\usepackage{geometry}
\usepackage[autostyle,italian=guillemets]{csquotes}
\usepackage{fancyhdr} % intestazioni e piè di pagina
\usepackage{listings} % inserire codici di programmazione

\lstset{language=R,
    basicstyle=\small\ttfamily,
    breaklines=TRUE,
    showspaces=FALSE,
    showstringspaces=false,
    escapechar={|}
    }


\begin{document}

\section{Matrice ASCII}

\begin{lstlisting}[language=R]

#pacchetto per realizzazione di raster plots
library(raster)

#apertura e visualizzazione dati
data<-read.table(|\color{DarkGreen}"percorso/nomefile.txt"|, quote="\"", comment.char="")
View(data)

#creazione della matrice di raster
x<-as.matrix(data)
r<-raster(x)

#clamping dei dati al valore minimo e massimo piu' probabili, per migliorare la visualizzazione
rr<-clamp(r,|\color{blue}0,100|)

#parametrizzazione della matrice raster
xmin=0
xmax=255
ymin=0
ymax=255
extent(rr)<-extent(xmin,xmax,ymin,ymax)

#plot del raster; e' possibile modificare la scala di colori agendo sulla variabile col
plot(rr, |\color{blue}col=hcl.colors(200,"plasma")|,xlab="X",ylab="Y",xlim=c(0,255),ylim=c(0,255))

#salvataggio del plot; e' possibile modificare la scala di colori agendo sulla variabile col
png("raster.png",width=540,height=540,units="px")
plot(rr, |\color{blue}col=hcl.colors(200,"plasma"|),xlab="X",ylab="Y",xlim=c(0,255),ylim=c(0,255))
dev.off()

\end{lstlisting}

\end{document}

答案1

不能 100% 确定为什么会这样,但这里最后两个引号中的第一个引号导致了这种情况:

quote="\""

解决方案是改用:

quote="|\textbackslash"|"

由此产生了如下结果:

在此处输入图片描述

代码在这里:

\documentclass[a4paper]{report}
\usepackage[svgnames]{xcolor} % colorare testo
\usepackage[T1]{fontenc} % codifica dei font in uscita
\usepackage[utf8]{inputenc} % lettere accentate da tastiera
\usepackage[italian]{babel} % lingua principale del documento
\usepackage{lipsum} % genera testo fittizio
\usepackage{url} % per scrivere gli indirizzi Internet
%\usepackage{packages} % carica il pacchetto
\usepackage{siunitx} % pacchetto per le tabelle
\usepackage{amsmath}
%\usepackage{geometry}
\usepackage[autostyle,italian=guillemets]{csquotes}
\usepackage{fancyhdr} % intestazioni e piè di pagina
\usepackage{listings} % inserire codici di programmazione
\usepackage{hyperref} % inserisce collegamenti ipertestuali

\lstset{language=R,
    basicstyle=\small\ttfamily,
    breaklines=TRUE,
    showspaces=FALSE,
    showstringspaces=false,
    escapechar={|}
    }


\begin{document}

\section{Matrice ASCII}

\begin{lstlisting}[language=R]

#pacchetto per realizzazione di raster plots
library(raster)

#apertura e visualizzazione dati
data<-read.table(|\color{DarkGreen}{"percorso/nomefile.txt"}|, quote="|\textbackslash"|", comment.char="")
View(data)

#creazione della matrice di raster
x<-as.matrix(data)
r<-raster(x)

#clamping dei dati al valore minimo e massimo piu' probabili, per migliorare la visualizzazione
rr<-clamp(r,|\color{blue}0,100|)

#parametrizzazione della matrice raster
xmin=0
xmax=255
ymin=0
ymax=255
extent(rr)<-extent(xmin,xmax,ymin,ymax)

#plot del raster; e' possibile modificare la scala di colori agendo sulla variabile col
plot(rr, |\color{blue}col=hcl.colors(200,"plasma")|,xlab="X",ylab="Y",xlim=c(0,255),ylim=c(0,255))

#salvataggio del plot; e' possibile modificare la scala di colori agendo sulla variabile col
png("raster.png",width=540,height=540,units="px")
plot(rr, |\color{blue}col=hcl.colors(200,"plasma"|),xlab="X",ylab="Y",xlim=c(0,255),ylim=c(0,255))
dev.off()

\end{lstlisting}

\end{document}

将来,请始终包含一个最小的工作示例,此外,请将包作为 .sty 文件包含(\usepackage{packages}例如,我不知道它在做什么,也不知道它对我的答案或您的代码的影响)。如果我的或任何答案回答了您的问题,请考虑在答案分数箭头旁边将其勾选为已完成,希望这会有所帮助。

相关内容