B.5.4 Definición de nuevas instrucciones de lista de marcado
Las instrucciones de listas de marcado se definen con el macro de
Scheme define-markup-list-command
, que es similar al macro
define-markup-command
descrito en Definición de una instrucción de marcado nueva, excepto que donde éste devuelve un
sello único, aquél devuelve una lista de sellos.
En el siguiente ejemplo se define una instrucción de lista de marcado
\paragraph
, que devuelve una lista de líneas justificadas,
estando la primera de ellas sangrada. La anchura del sangrado se toma
del argumento props
.
#(define-markup-list-command (paragraph layout props args) (markup-list?) #:properties ((par-indent 2)) (interpret-markup-list layout props #{\markuplist \justified-lines { \hspace #par-indent #args } #}))
La versión que usa solamente Scheme es más compleja:
#(define-markup-list-command (paragraph layout props args) (markup-list?) #:properties ((par-indent 2)) (interpret-markup-list layout props (make-justified-lines-markup-list (cons (make-hspace-markup par-indent) args))))
Aparte de los argumentos usuales layout
y props
, la
instrucción de lista de marcados paragraph
toma un argumento de
lista de marcados, llamado args
. El predicado para listas de
marcados es markup-list?
.
En primer lugar, la función toma el ancho del sangrado, una propiedad
llamada aquí par-indent
, de la lista de propiedades
props
. Si no se encuentra la propiedad, el valor
predeterminado es 2
. Después, se hace una lista de líneas
justificadas usando la instrucción incorporada de lista de marcados
\justified-lines
, que está relacionada con la función
make-justified-lines-markup-list
. Se añade un espacio
horizontal al principio usando \hspace
(o la función
make-hspace-markup
). Finalmente, la lista de marcados se
interpreta usando la función interpret-markup-list
.
Esta nueva instrucción de lista de marcados se puede usar como sigue:
\markuplist { \paragraph { El arte de la tipografía musical se llama \italic {grabado (en plancha).} El término deriva del proceso tradicional de impresión de música. hace sólo algunas décadas, las partituras se hacían cortando y estampando la música en una plancha de zinc o lata en una imagen invertida. } \override-lines #'(par-indent . 4) \paragraph { La plancha se tenía que entintar, y las depresiones causadas por los cortes y estampados retienen la tinta. Se formaba una imagen presionando el papel contra la plancha. El estampado y cortado se hacía completamente a mano. } }
Otros idiomas: English, deutsch, français.
Acerca de la selección automática del idioma.