[Lualatex] Afficher tous les "e" en rouge

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

[Lualatex] Afficher tous les "e" en rouge

Message non lu par MB »

Voici une adaptation de cet exemple, permettant d'afficher en rouge toutes les lettres e (majuscule ou minuscule).

Code : Tout sélectionner

\documentclass{article}
\usepackage{luacode,lipsum}
\begin{luacode}
color_push = node.new(node.id("whatsit"),node.subtype("pdf_colorstack"))
color_pop  = node.new(node.id("whatsit"),node.subtype("pdf_colorstack"))
color_push.command = 1
color_pop.command = 2
function ecolor(head)
  for line in node.traverse_id(node.id("hhead"),head) do
    for n in node.traverse_glyph(line.head) do
      if node.has_attribute(n,luatexbase.attributes.uppercasecolorattr) then
        if (n.char == string.byte("e") or n.char == string.byte("E")) then
          color_push.data = "255 0 0 rg"
          line.head = node.insert_before(line.head,n,node.copy(color_push))
          node.insert_after(line.head,n,node.copy(color_pop))
        end
      end
    end
  end
  return head
end
luatexbase.add_to_callback("post_linebreak_filter",ecolor,"ecolor")
\end{luacode}
\begin{document}
\lipsum[1-1]
\end{document}
lualatex_red_e.png
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message