Como insiro código em um documento LaTeX? Existe algo como:
\begin{code}## Heading ##
...
\end{code}
A única coisa que eu realmente preciso é de indentação e uma fonte de largura fixa. O destaque da sintaxe pode ser bom, embora definitivamente não seja necessário.
Respostas:
Use
listings
pacote.Configuração simples para o cabeçalho LaTeX (antes
\begin{document}
):Você pode alterar o idioma padrão no meio do documento com
\lstset{language=Java}
.Exemplo de uso no documento:
Aqui está o resultado:
fonte
figure
poderia alcançar o efeito.Você também pode usar o ambiente literal
fonte
Aqui está como adicionar código embutido:
Você pode adicionar código embutido com
{\tt code }
ou\texttt{ code }
. Se você deseja formatar o código embutido, é melhor fazer seu próprio comandoAlém disso, observe que os blocos de código podem ser carregados de outros arquivos com
breaklines
não é obrigatório, mas acho útil. Esteja ciente de que você precisará especificar\usepackage{
listagens}
para esta.Atualização: O pacote de listagens também inclui o
\lstinline
comando, que possui os mesmos recursos de sintaxe dos comandos\lstlisting
e\lstinputlisting
(consulte a resposta do Cloudanger para obter detalhes de configuração). Como mencionado em algumas outras respostas, também há o pacote cunhado, que fornece o\mintinline
comando. Como\lstinline
,\mintinline
fornece a mesma sintaxe destacada como um bloco de código cunhado regular:fonte
Pacotes especializados como
minted
, que depende de pigmentos para fazer a formatação, oferecem várias vantagens sobre olistings
pacote. Para citar ominted
manual,fonte
-shell-escape
diretiva é, na melhor das hipóteses, uma pequena modificação nos sistemas de compilação existentes e, na pior das hipóteses, incompatível com as preferências de segurança de alguns usuários.Use Minted .
É um pacote que facilita o destaque expressivo da sintaxe no LaTeX usando a poderosa biblioteca de pigmentos . O pacote também oferece opções para personalizar a saída destacada do código-fonte usando fancyvrb .
É muito mais evoluído e personalizável do que qualquer outro pacote!
fonte
-shell-escape
pode ser uma droga para algumas pessoas.Trabalhos cunhados no Overleaf , TeX Live e MiKTeX.
Exemplo:
Resultado:
fonte
Como ainda não foi mencionado aqui, pode valer a pena adicionar mais uma opção, pacote
spverbatim
(sem destaque de sintaxe):Além disso, se o destaque da sintaxe não for necessário, empacote
alltt
:fonte
Use pigmentos !
fonte