Este artigo mostra como usar o pacote minted para formatar e destacar o código-fonte de linguagens de programação dentro de um documento LaTeX, começando com um exemplo:
\documentclass{article}\usepackage{minted}\begin{document}\begin{minted}{python}import numpy as npdef incmatrix(genl1,genl2): m = len(genl1) n = len(genl2) M = None #to become the incidence matrix VT = np.zeros((n*m,1), int) #dummy variable #compute the bitwise xor matrix M1 = bitxormatrix(genl1) M2 = np.triu(bitxormatrix(genl2),1) for i in range(m-1): for j in range(i+1, m): [r,c] = np.where(M2 == M1[i,j]) for k in range(len(r)): VT[(i)*n + r[k]] = 1; VT[(i)*n + c[k]] = 1; VT[(j)*n + r[k]] = 1; VT[(j)*n + c[k]] = 1; if M is None: M = np.copy(VT) else: M = np.concatenate((M, VT), 1) VT = np.zeros((n*m,1), int) return M\end{minted}\end{document}
Este exemplo produz a seguinte saída:
Há dois comandos importantes aqui. No preâmbulo, o pacote é importado escrevendo
\usepackage{minted}
e então as tags \begin{minted}{python} e \end{minted} delimitam um ambiente que imprime o texto literalmente em fontes monoespaçadas e também aplica cores a comentários, palavras-chave e funções. O parâmetro python é a linguagem de programação em que o código-fonte está escrito. O minted suporta mais de 150 linguagens de programação e de marcação, além de arquivos de configuração; consulte o guia de referência para ver a lista de linguagens suportadas.Observação: para que o minted funcione com sua distribuição LaTeX local, é necessário instalar um programa adicional chamado Pygments. O Overleaf pode poupar você do trabalho de instalá-lo e de ter que executar comandos especiais para compilar seu documento — no Overleaf, documentos que usam minted funcionam “de imediato”.
Como demonstrado no exemplo a seguir, o ambiente minted pode ser configurado para modificar a apresentação visual do código composto. Aqui, o ambiente minted usa vários parâmetros separados por vírgula no formato key=value:
\documentclass{article}\usepackage{minted}\usepackage{xcolor} % to access the named colour LightGray\definecolor{LightGray}{gray}{0.9}\begin{document}\begin{minted}[frame=lines,framesep=2mm,baselinestretch=1.2,bgcolor=LightGray,fontsize=\footnotesize,linenos]{python}import numpy as npdef incmatrix(genl1,genl2): m = len(genl1) n = len(genl2) M = None #to become the incidence matrix VT = np.zeros((n*m,1), int) #dummy variable #compute the bitwise xor matrix M1 = bitxormatrix(genl1) M2 = np.triu(bitxormatrix(genl2),1) for i in range(m-1): for j in range(i+1, m): [r,c] = np.where(M2 == M1[i,j]) for k in range(len(r)): VT[(i)*n + r[k]] = 1; VT[(i)*n + c[k]] = 1; VT[(j)*n + r[k]] = 1; VT[(j)*n + c[k]] = 1; if M is None: M = np.copy(VT) else: M = np.concatenate((M, VT), 1) VT = np.zeros((n*m,1), int) return M\end{minted}\end{document}
Este exemplo produz a seguinte saída:
Os parâmetros usados neste exemplo são:
frame=lines: desenha duas linhas, uma acima e outra abaixo do código, para emoldurá-lo. Outros valores possíveis são leftline, topline, bottomline e single.
framesep=2mm: a separação da moldura é definida como 2mm. Outras unidades de comprimento podem ser usadas.
baselinestretch=1.2: o espaçamento entre linhas do código é definido como 1.2.
bgcolor=LightGray: a cor de fundo é definida como LightGray. Você precisa importar o pacote xcolor para que isso funcione. Consulte Usando cores no LaTeX para saber mais sobre a manipulação de cores.
fontsize=\footnotesize: o tamanho da fonte é definido como footnotesize. Qualquer outro tamanho de fonte pode ser definido.
linenos: ativa os números de linha.
Outras opções que podem ser úteis são:
mathescape: ativa o modo matemático nos comentários do código.
rulecolor: altera a cor da moldura.
showspaces: ativa um caractere especial para tornar os espaços visíveis.
O código geralmente é armazenado em um arquivo-fonte; por isso, um comando que importa automaticamente o código de um arquivo é muito conveniente, como demonstrado no exemplo a seguir:
\documentclass{article}\usepackage{minted}\title{Importing files using minted}\begin{document}The next code will be directly imported from a file:\inputminted{octave}{BitXorMatrix.m}\end{document}
Este exemplo produz a seguinte saída:O comando \inputminted{octave}{BitXorMatrix.m} importa o código do arquivo BitXorMatrix.m; o parâmetro octave informa ao LaTeX a linguagem de programação do código. Esse comando pode receber dois parâmetros extras para importar apenas parte do arquivo; por exemplo, para importar o código da linha 2 até a linha 12, o comando fica:
Se você precisar inserir apenas uma linha de código, o comando \mint, cuja sintaxe é apresentada no próximo exemplo, resolverá o problema.
One-line code formatting also works with \texttt{minted}. For example, a small fragment of HTML like this:\mint{html}|<h2>Something <b>here</b></h2>|\noindent can be formatted correctly.
Este exemplo produz a seguinte saída:O parâmetro entre chaves define a linguagem de programação (neste caso, a linguagem de marcação html), e o texto a ser formatado é delimitado pelo caractere ’|’.
Se você estiver usando a compilação em sandbox e também um servidor overleaf para implantar o overleaf, o minted pode não funcionar bem. Para informações detalhadas, consulte: issues/131. Você precisa ativar o perfil de instruções arm e algumas chamadas de sistema para que o minted funcione.
Última modificação em 4 de outubro de 2026
Esta página foi útil?
Assistant
Responses are generated using AI and may contain mistakes.