lstlistings funciona estranhamente

lstlistings funciona estranhamente

Eu tenho algum código-fonte Java e quero exibi-lo em LaTex:

\lstset{language=Java}
\begin{lstlisting}
    IntentFileter intentfilter = new IntentFilter();
    intentfilter.addAction("com.anguanjia.action.download.START_DOWNLOAD");
    intentfilter.addAction("com.anguanjia.action.download.DOWNLOAD_SUCCESS");
    g = new blm(this, null);
    m.registerReceiver(g, intentfilter);
\end{lstlisting}

Mas a saída é realmente feia: insira a descrição da imagem aqui

Fiz algo errado ou é isso que deveria ser?

Responder1

Isso pode servir como ponto de partida para a procrastinação e o embelezamento:

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}

\lstset{language=Java,
    basicstyle=\footnotesize\ttfamily,
    commentstyle=\ttfamily\itshape\color{gray},
    stringstyle=\ttfamily,
    showstringspaces=false,
    breaklines=true,
    frameround=ffff,
    frame=single,
    rulecolor=\color{black},
    tabsize=1,
    keywordstyle=\color{red}\bfseries,
    columns=fullflexible,
    morekeywords={public, class}
}

\begin{document}
\begin{lstlisting}
    IntentFileter intentfilter = new IntentFilter();
    intentfilter.addAction("com.anguanjia.action.download.START_DOWNLOAD");
    intentfilter.addAction("com.anguanjia.action.download.DOWNLOAD_SUCCESS");
    g = new blm(this, null);
    m.registerReceiver(g, intentfilter);
\end{lstlisting}
\end{document}

insira a descrição da imagem aqui

Você pode personalizar ainda mais usando as diretivas internas do arquivo \lstset. Para obter detalhes, consulte listingso manual. Para um embelezamento extremo, você pode usar tcoloboxessa listings onlyopção. Procure tcblistingna tcolorboxdocumentação.

informação relacionada