Listagens de código ‘bonitas’ são às vezes consideradas desejáveis pelo programador “comum”, mas elas têm um lugar importante na composição de dissertações de estudantes de ciência da computação e outros que devem escrever programas. Simples listagens verbatim e programas são comumente úteis também.
Listagens verbatim são tratadas em outro lugar, assim como o problema de composição tipográfica de especificações de algoritmo.
O pacote listings é amplamente considerado como a melhor aposta para saída formatada (ele é capaz de analisar a fonte do programa, dentro do próprio pacote), mas existem vários pacotes bem estabelecidos que dependem de um pré-compilador de algum tipo. Você pode usar o listings para compor os pedaços que você insere em seu código-fonte:
Ou você pode usá-lo para tipografar arquivos inteiros:\usepackage{listings} \lstset{language=C} ... \begin{document} \begin{lstlisting} #includeint main(int argc, char ** argv) { printf("Hello world!\n"); return 0; } \end{lstlisting} \end{document}
Estes exemplos muito simples podem ser decorados de muitas maneiras diferentes e, é claro, existem outras linguagens no vocabulário do pacote além da C…\usepackage{listings} \lstset{language=C} ... \begin{document} \lstinputlisting{main.c} \end{document}
Durante muito tempo, o listings foi considerado como o suprassumo em matéria de listas no (La)TeX. Nos últimos anos, alternativas viáveis apareceram. O Highlight é atraente se você precisar de mais de um formato de saída para seu programa: assim como a saída em (La)TeX, o highlight produz representações da listagem do seu programa em (X)HTML, RTF e XSL-FO O manual conduz você através dos detalhes da definição de um arquivo de parâmetros para uma “nov” linguagem, bem como dos detalhes de apresentação de uma linguagem.
O pacote minted é outra alternativa que oferece os meios para criar definições de nova linguagem. Ele requer que código seja processado usando um script (python) externo, o Pygments. O Pygments precisa de um “analisador léxico” que conheça a linguagem que você quer processar; muitos destes estão disponíveis para as linguagens mais comumente usados, e existem instruções sobre como fazer o seu no site do Pygments site
O uso do minted pode ser tão simples quanto
que processa o código do programa dinamicamente, na hora da digitação — embora tal uso provavelmente exija que o processamento separado esteja habilitado.\begin
{minted}
{‹language›}
…
\end
{minted}
Por um caminho bem diferente, o pacote showexpl suporta a digitação de código (La)TeX e sua saída tipografada, em ‘painéis’ paralelos. (Isso poderia dar suporte para textos de instrução de (La)TeX , ou para artigos em publicações do grupo de usuários de TeX.) O pacote usa o listings para seu painel de (La)TeX, e compõe o resultado em uma caixa simples para o outro painel.
Sistemas estabelecidos mais antigamente, e muito menos poderosos, incluem:
This answer last edited: 2013-03-28
This question on the Web: http://latex.net.br/faq/FAQ-codelist.html
Do you have any question? Ask on: latex.net.br - we love qood questions!