Como posso usar o pacote de listagens com mais de um idioma?

Como posso usar o pacote de listagens com mais de um idioma?

Estou escrevendo um livro que incluirá código em duas linguagens (R e SAS). Eu sei que poderia usar \verbatimor \allttpara definir as seções de código, mas o listingspacote tem alguns recursos interessantes.

Existe uma maneira de usar listingscom dois idiomas?

Responder1

Se você tiver opções diferentes para as duas linguagens, poderá definir dois estilos e usar a opção apropriada style=...para seus lstlistingambientes.

\documentclass{book}
\usepackage{xcolor}
\usepackage{listings}
\lstdefinestyle{SAS}{
  language=SAS,  
  basicstyle=\ttfamily,
  } 
\lstdefinestyle{R}{
  language=R,
  breaklines=true,  
  basicstyle=\ttfamily
}
\begin{document} 
Example of SAS code:
\begin{lstlisting}[style=SAS]
data myoutput;
set myinput;
if myvar = "OK" then output;
run;
\end{lstlisting}
Example of R code:
\begin{lstlisting}[style=R]
# I don't know R, code copied from http://www.rexamples.com/2/Functions
Square <- function(x) {
  return(x^2)
}

print(Square(4))
print(Square(x=4)) # same thing
\end{lstlisting}
\end{document}

insira a descrição da imagem aqui

informação relacionada