Saltar al contenido

Cómo resaltar la sintaxis de Python en el comando LaTeX Listings lstinputlistings

Solución:

Un buen enfoque es definir nuevos entornos para el lenguaje de programación. La configuración mínima puede estar en torno a esto:

documentclass[a4paper,12pt]{article}
usepackage[utf8]{inputenc}

% Default fixed font does not support bold face
DeclareFixedFont{ttb}{T1}{txtt}{bx}{n}{12} % for bold
DeclareFixedFont{ttm}{T1}{txtt}{m}{n}{12}  % for normal

% Custom colors
usepackage{color}
definecolor{deepblue}{rgb}{0,0,0.5}
definecolor{deepred}{rgb}{0.6,0,0}
definecolor{deepgreen}{rgb}{0,0.5,0}

usepackage{listings}

% Python style for highlighting
newcommandpythonstyle{lstset{
language=Python,
basicstyle=ttm,
morekeywords={self},              % Add keywords here
keywordstyle=ttbcolor{deepblue},
emph={MyClass,__init__},          % Custom highlighting
emphstyle=ttbcolor{deepred},    % Custom highlighting style
stringstyle=color{deepgreen},
frame=tb,                         % Any extra options here
showstringspaces=false
}}


% Python environment
lstnewenvironment{python}[1][]
{
pythonstyle
lstset{#1}
}
{}

% Python for external files
newcommandpythonexternal[2][]{{
pythonstyle
lstinputlisting[#1]{#2}}}

% Python for inline
newcommandpythoninline[1]{{pythonstylelstinline!#1!}}

begin{document}

section{``In-text'' listing highlighting}

begin{python}
class MyClass(Yourclass):
    def __init__(self, my, yours):
        bla="5 1 2 3 4"
        print bla
end{python}

section{External listing highlighting}

pythonexternal{demo.py}

section{Inline highlighting}

Definition pythoninline{class MyClass} means dots

end{document}

Producción:

ingrese la descripción de la imagen aquí

Encontré este paquete de python pythonhighlight en Github

Defínalo así usepackage{pythonhighlight} y utilícelo así:

begin{python}
def f(x):
    return x
end{python}

Consideraría ejecutar su código a través de pigmentos para generar el látex, probablemente usando el paquete acuñado. Puede obtener algunos detalles aquí https://stackoverflow.com/questions/1966425/source-code-highlighting-in-latex#1985330.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *