(creo que se me perdió este mensaje al enviarlo a la lista: disculpas si al final llega duplicado). Hola a todos: Sigo trasteando con esto de dibujar rejillas base y Lua, en este caso explorando la posibilidad de añadir también una línea para la altura x y otra para la de las mayúsculas. He robado algunas ideas de aquí https://tex.stackexchange.com/questions/140514/handwriting-drill-sheets, pero a ninguno de este hilo se le ha ocurrido hacerlo mediante Lua, que me parece mucho más sencillo. La cosa quedaría así. Primero definimos estas dos alturas: \newcommand{\alturax}{1ex} % esta habrá que ajustarla según el caso: \newcommand{\alturamay}{1.6ex} Una caja: \newbox\rejillas La consabida funcioncilla en Lua: \directlua{ rejilla = function(head) for linea in node.traverse_id(node.id("hlist"), head) do node.insert_after(linea.list, node.tail(linea.list),node.copy(tex.box.rejillas)) end return head end } Y con xparse este entorno, que toma tres argumentos: el primero opcional es el nombre de la fuente, los otros dos obligatorios son el tamaño y el interlineado: \usepackage{xparse} \usepackage{tikz} \NewDocumentEnvironment{rejilla}{o m m}{% \IfNoValueF{#1}{\fontspec{#1}} \fontsize{#2}{#3}\selectfont \setbox\rejillas=\hbox{% \fontsize{#2}{#3}\selectfont \begin{tikzpicture}[overlay] \draw[green!60] ((-\textwidth,\alturamay) -- ++(\textwidth,0); \draw[red!60] ((-\textwidth,\alturax) -- ++(\textwidth,0); \draw[black!35] ((-\textwidth,0) -- ++(\textwidth,0); \end{tikzpicture}} \directlua{luatexbase.add_to_callback("post_linebreak_filter", rejilla, "rejilla")} } {% \normalfont\par% \directlua{luatexbase.remove_from_callback("post_linebreak_filter", "rejilla")} } Un pantallazo de ejemplo: https://i.imgur.com/8z6GqOB.png Saludos, Juan Manuel ---------------------------------------------------- Los artículos de ES-TEX son distribuidos gracias al apoyo y colaboración técnica de RedIRIS - Red Académica española - (http://www.rediris.es) ------------------------------------------------------