Pular para o conteúdo

minted no Scissor LaTeX

O pacote minted funciona em parte no Scissor LaTeX: \begin{minted}{python} e \mintinline funcionam sem Python nem -shell-escape, com cores de sintaxe de um esquema fixo; opções como linenos, \setminted, \usemintedstyle, a legenda do listing, \mint e \inputminted não são suportados.

O que o pacote faz

O minted colore código-fonte com a biblioteca Pygments. Você escreve \begin{minted}{python} ... \end{minted}, ou \mintinline{python}{code} dentro de uma frase. Opções como linenos e frame=lines mudam o layout, \setminted as define para o documento inteiro, e \usemintedstyle escolhe um tema de cores. Em uma instalação do TeX, o minted precisa de Python com Pygments, e o documento tem de ser compilado com -shell-escape.

O que funciona aqui

RecursoNo Scissor LaTeXObservações
\begin{minted}{lang} ... \end{minted}FuncionaCom cores, sem Python nem shell escape.
\mintinline{lang}{code}FuncionaMonoespaçado, sem cores.
Opções: [linenos, frame=lines, bgcolor=...]IgnoradoIgnoradas sem mensagem.
\setminted{...}, \usemintedstyle{...}IgnoradoIgnorados sem mensagem; as cores são fixas.
Ambiente listing com \captionEm parteO código é mostrado e a legenda é impressa como texto simples, sem "Listing 1"; um \ref a ela mostra "??".
\mint{lang}|code|Não suportadoPulado com uma mensagem; a linguagem e o código são impressos como texto simples.
\inputminted{lang}{file}Não suportadoPulado com uma mensagem.
\newminted, \newmintinlineNão suportadoPulados com uma mensagem, e os argumentos são impressos.

Os nomes de linguagem são os mesmos do listings: Python, C, C++, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML, TeX e muitas outras, em maiúsculas ou minúsculas.

Exemplos

Um bloco minted com uma linguagem:

minted com JavaScript

LaTeXPreâmbulo: \usepackage{minted}Abrir no editor (abre em uma nova aba)
\begin{minted}{javascript}
// greet a list of people
const people = ["Erika", "Hans", "John"];
for (const name of people) {
  console.log(`Hello, ${name}!`);
}
\end{minted}
Renderizado pelo Scissor LaTeX: minted com JavaScript

As opções são aceitas e ignoradas, então este bloco não tem números de linha nem moldura aqui:

linenos e frame são ignorados

LaTeXPreâmbulo: \usepackage{minted}Abrir no editor (abre em uma nova aba)
\begin{minted}[linenos, frame=lines]{rust}
fn main() {
    let total: u32 = (1..=8).sum();
    println!("{}", total + 8); // 44
}
\end{minted}
Renderizado pelo Scissor LaTeX: linenos e frame são ignorados

Para uma legenda numerada, use uma figure em vez do ambiente listing do minted. Aqui a legenda fica "Listing 1", e o \ref dá o número:

Um bloco minted com legenda dentro de uma figura

LaTeXPreâmbulo: \usepackage{minted}Abrir no editor (abre em uma nova aba)
\begin{figure}[h]
\begin{minted}{python}
print(sum(range(44)))
\end{minted}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
Listing~\ref{lst:sum} prints 946.
Renderizado pelo Scissor LaTeX: Um bloco minted com legenda dentro de uma figura

Compatibilidade

  • De uma instalação do TeX para cá: todo bloco minted é mostrado com cores. Opções e estilos não são aplicados; troque \mint por \mintinline e cole no documento o código dos arquivos de \inputminted.
  • Daqui para uma instalação do TeX: os blocos minted compilam lá quando Python, Pygments e -shell-escape estão disponíveis. Lá, uma figure em volta de um bloco minted recebe a legenda "Figure 1".

O manual completo está no CTAN: ctan.org/pkg/minted. Veja também Listagens de código em LaTeX.

Perguntas e respostas

O minted funciona sem shell escape?

Aqui, sim. O Scissor LaTeX colore os blocos minted sozinho, então nem Python nem -shell-escape são necessários. Em uma instalação do TeX, os dois continuam obrigatórios.

Devo usar minted ou listings?

Os dois funcionam igual aqui: a linguagem é lida e as outras opções são ignoradas. Se o documento também precisa compilar em outro lugar sem shell escape, o listings é a escolha mais segura.

Cada exemplo desta página é composto pelo Scissor LaTeX quando o site é gerado. Última atualização: 2026-11-07.