Estou procurando um pacote LaTeX que realce a sintaxe no código. Por exemplo, agora eu uso o bloco literal para escrever código:
\begin{verbatim}
<html>
<head>
<title>Hello</title>
</head>
<body>Hello</body>
</html>
\end{verbatim}
E isso funciona bem para exibir o código no meu documento. Mas, suponha que eu queira destacar a marcação HTML da maneira que um IDE faria no documento de saída? Existe um pacote que poderia ajudar?
Eu gostaria de fazer o mesmo para várias linguagens como Java, C #, HTML, CSS e assim por diante.
lstlisting
. Ele não destaca o código XML e estraga tudo ao usar caracteres Unicode externos. Também não há suporte para JavaScript, ao que parece. O LGrind pode lidar com essas coisas?Respostas:
Você pode usar o pacote de listagens . Ele suporta muitos idiomas diferentes e há muitas opções para personalizar a saída.
fonte
Depois de fazer uma pergunta semelhante, criei outro pacote que usa pigmentos e oferece muito mais opções do que
texments
. É chamadominted
e é bastante estável e utilizável.Apenas para mostrar, aqui está um código destacado com cunhado:
fonte
PATH
variável e criar um script cmd). Espero convencer os mantenedores de Pigmentos a enviarpygmentize
com um.exe
invólucro para facilitar essa etapa.minted
está instalado e funcionando no ShareLatex e no Overleaf. Salvar-se a dor de cabeça de instalar Pygments;)Eu recomendo pigmentos . Ele aceita um trecho de código em qualquer idioma e gera a sintaxe destacada do código LaTeX. Ele usa pacotes de fantasiavrb e cores para produzir sua saída. Pessoalmente, prefiro-o ao pacote de listagem. Acho fancyvrb cria resultados muito mais bonitos.
fonte
beamer
documento de tipo, essa é aparentemente a única opção funcional. Nemminted
nemlistings
compilar corretamente combeamer
.listings
combeamer
, mas você precisa especificar quais são os quadros que incluem as listagens[fragile]
.LGrind faz isso. É um pacote LaTeX maduro que existe desde que Adam era um cowboy e tem suporte para muitas linguagens de programação.
fonte
Eu usaria o pacote cunhado, como mencionado no desenvolvedor Konrad Rudolph, em vez do pacote de listagem . Aqui está o porquê:
pacote de listagem
O pacote de listagem não suporta cores por padrão. Para usar cores, você precisará incluir o pacote de cores e definir regras de cores sozinho com o comando \ lstset, conforme explicado aqui para o código matlab .
Além disso, o pacote de listagem não funciona bem com o unicode, mas você pode corrigir esses problemas, conforme explicado aqui e aqui .
O código a seguir
produz a seguinte imagem:
pacote cunhado
O pacote cunhado suporta cores, unicode e parece incrível. No entanto, para usá-lo, você precisa ter o python 2.6 e pigmentos . No Ubuntu, você pode verificar sua versão python no terminal com
e você pode instalar pigmentos com
Então, como o minted faz chamadas para pigmentos, você precisa compilá-lo com -shell-escape assim
Se você usar um editor de látex como o TexMaker ou algo assim, eu recomendaria adicionar um comando de usuário, para que você ainda possa compilá-lo no editor.
O código a seguir
produz a seguinte imagem:
fonte
Uso principalmente listas de artigos em papéis, mas para impressões coloridas (para slides), em vez disso, uso pigmentos.
fonte
Eu sugeriria definir seu próprio pacote com base no seguinte código tex; isso lhe dá total liberdade. http://ubuntuforums.org/archive/index.php/t-331602.html
fonte