Package listings

39 views
Skip to first unread message

Jair Eugenio

unread,
Apr 17, 2024, 9:28:22 PMApr 17
to Latex-br
Boa noite, Eu já uso o Latex há algum tempo e como agora estou estudando programação, procurei um package que permitisse eu colocar os códigos dos programas no Latex. Achei o package listings. Estou tendo apenas um problema. Na hora de escrever o código se houver palavras acentuadas, com acento agudo, crase, cedilha, til, o Latex dá erro. Por exemplo, se eu quiser escrever Olá Mundo, ele vai dar erro. Agora se eu escrever Ola Mundo não dá. Alguém sabe de algum modo para eu corrigir esse problema? Desde já agradeço.

Emílio Kavamura

unread,
Apr 18, 2024, 9:43:45 AMApr 18
to Latex-br
voce tem de especificar a representação dos caracteres acentuados e do ç Ç:


\documentclass{article}
\usepackage[utf8]{inputenc}  % Permite o uso de caracteres UTF-8
\usepackage[T1]{fontenc}     % Melhora a renderização de caracteres
\usepackage[portuguese]{babel} % Suporte para o português
\usepackage{listings}        % Para listar códigos

\lstset{
  inputencoding=utf8,
  extendedchars=true,
  literate={á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
           {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
           {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
           {À}{{\`A}}1 {È}{{\`E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
           {ã}{{\~a}}1 {õ}{{\~o}}1 {Ã}{{\~A}}1 {Õ}{{\~O}}1
           {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
           {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
           {ç}{{\c{c}}}1 {Ç}{{\c{C}}}1
}

\begin{document}

\begin{lstlisting}[language=Python]
# Exemplo de código em Python com acentuação
def função_teste():
    print("Olá, mundo!")
    print("Função com acentuação: ç, á, é, í, ó, ú")

função_teste()
\end{lstlisting}

\end{document}

Jair Eugenio

unread,
Apr 18, 2024, 9:00:09 PMApr 18
to Latex-br
Muito obrigado, foi de grande valia. Consegui colocar acentuação e escrever o meu Olá Mundo.
Agora preciso inserir esses pacotes aqui:
\usepackage[dvipsnames]{xcolor}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}

\lstdefinestyle{mystyle}{
    backgroundcolor=\color{backcolour},    
    commentstyle=\color{codepurple},
    keywordstyle=\color{NavyBlue},
    numberstyle=\tiny\color{codegray},
    stringstyle=\color {codepurple},
    basicstyle=\ttfamily\bfseries,
    breakatwhitespace=false,          
    breaklines=true,                  
    captionpos=t,                    
    keepspaces=true,                  
    numbers=left,                    
    numbersep=5pt,                  
    showspaces=false,                
    showstringspaces=false,
    showtabs=false,                  
    tabsize =2
}

\lstset{style = mystyle} 
Para poder deixar a formatação igual a do Python.
Pode Me ajudar?
Reply all
Reply to author
Forward
0 new messages