[ << Notació musical ] | [Part superior][Continguts][Índex] | [ Notació especialitzada >> ] |
[ < Text separat ] | [ Amunt : Text ] | [ Introducció al marcatge de text > ] |
1.8.2 Donar format al text
Aquesta secció presenta els formats bàsics i avançats de text,
usant la sintaxi específica del modo de \markup
.
[ << Notació musical ] | [Part superior][Continguts][Índex] | [ Notació especialitzada >> ] |
[ < Donar format al text ] | [ Amunt : Donar format al text ] | [ Selecció del tipus de lletra i la seva mida > ] |
Introducció al marcatge de text
S’usa un bloc \markup
per gravar text amb una sintaxi
ampliable que es denomina “modo de marcatge”.
La sintaxi del marcatge és semblant a la sintaxi usual del
LilyPond: una expressió \markup
s’envolta entre claus
{ … }
. Una sola paraula es considera com una
expressió mínima, i per tant no li cal estar envoltada entre
claus.
A diferència de les indicacions de “text entre cometes”
simples, els blocs \markup
poden contenir expressions
niuades o ordres de marcatge, que s’introdueixen utilitzant el
caràcter de barra invertida \
. Aquestes ordres sols
afecten a l’expressió que segueix immediatament.
\relative { a'1-\markup intenso a2^\markup { poco \italic più forte } c e1 d2_\markup { \italic "string. assai" } e b1^\markup { \bold { molto \italic agitato } } c }
Un bloc \markup
pot contenir també cadenes de text entre
cometes. Aquestes cadenes es tracten com a expressions de text
mínimes, i per tant qualsevol ordre de marcatge o caràcter
especial (com \
i #
) s’imprimeixen literalment
sense afectar el fomat del text. Es poden fer que s’imprimeixin
les pròpies cometes si se les anteposa una barra invertida.
\relative { a'1^"\italic markup..." a_\markup { \italic "... imprimeix lletres \"cursives\" !" } a a }
Perquè es tractin com a una expressió diferent, cal que les
llistes de paraules estiguin envoltades entre cometes o precedides
d’una ordre. La forma en la qual estan definides les expressions
de marcatge afecta com es sobreposen, se centren i s’alineen
aquestes expressions; a l’exemple següent, la segona expressió
\markup
es tracta igual que la primera:
\relative c'' { c1^\markup { \center-column { a bbb c } } c1^\markup { \center-column { a { bbb c } } } c1^\markup { \center-column { a \line { bbb c } } } c1^\markup { \center-column { a "bbb c" } } }
Els marcatges es poden emmagatzemar dins de variables. Aquests variables es poden adjuntar directament a les notes:
allegro = \markup { \bold \large Allegro } { d''8.^\allegro d'16 d'4 r2 }
Es pot trobar una llista exhaustiva de les ordres específiques
\markup
a Ordres de marcatge de text.
Vegeu també
Referència de la notació: Ordres de marcatge de text.
Fragments de codi: Text.
Fitxers d’inici: ‘scm/markup.scm’.
Advertiments i problemes coneguts
Els missatges d’error de sintaxi per al mode de marcatge sovint produeixen confusió.
[ << Notació musical ] | [Part superior][Continguts][Índex] | [ Notació especialitzada >> ] |
[ < Introducció al marcatge de text ] | [ Amunt : Donar format al text ] | [ Alineació de text > ] |
Selecció del tipus de lletra i la seva mida
Es pot canviar de forma bàsica el tipus de lletra al mode de marcatge:
\relative { d''1^\markup { \bold { Più mosso } \italic { non troppo \underline Vivo } } r2 r4 r8 d,_\markup { \italic quasi \smallCaps Tromba } f1 d2 r }
La mida del tipus de lletra es pot alterar en relació a la mida global del pentagrama de diverses maneres, com es veu a continuació.
Es pot fixar a una mida predefinida:
\relative b' { b1_\markup { \huge Sinfonia } b1^\markup { \teeny da } b1-\markup { \normalsize camera } }
Es pot establir a un amida relativa a la mida anterior:
\relative b' { b1_\markup { \larger Sinfonia } b1^\markup { \smaller da } b1-\markup { \magnify #0.6 camera } }
Es pot augmentar o disminuir de forma relativa al valor fixat per la mida global del pentagrama:
\relative b' { b1_\markup { \fontsize #-2 Sinfonia } b1^\markup { \fontsize #1 da } b1-\markup { \fontsize #3 camera } }
També es pot establir a una mida de punts fix, independentment de la mida global del pentagrama:
\relative b' { b1_\markup { \abs-fontsize #20 Sinfonia } b1^\markup { \abs-fontsize #8 da } b1-\markup { \abs-fontsize #14 camera } }
Si el text inclou espais, és millor escriure tot entre cometes, de forma que la mida de cada espai sigui correcte per a la mida dels altres caràcters.
\markup \fontsize #6 \bold { Sinfonia da camera } \markup \fontsize #6 \bold { "Sinfonia da camera" }
El text es pot imprimir com subíndex o com superíndex. De forma predeterminada s’imprimeix en una mida menor, però també es pot usar una mida normal:
\markup { \column { \line { 1 \super st movement } \line { 1 \normal-size-super st movement \sub { (part two) } } } }
El mode de marcatge ofereix una manera fàcil d’escollir famílies de tipus de lletra alternatives. A no ser que s’especifiqui d’un altre mode, se selecciona automàticament el tipus de lletra predeterminada amb serifa, de tipus romà: en l’última línia de l’exemple següent, no hi ha diferència entre la primera i la segona paraula.
\markup { \column { \line { Act \number 1 } \line { \sans { Scene I. } } \line { \typewriter { Verona. An open place. } } \line { Enter \roman Valentine and Proteus. } } }
Algunes d’aquestes famílies, usades per elements específics com números o matisos, no ofereixen tots els caràcters, com s’explica a Indicacions dinàmiques contemporànies i Marques de repetició manual.
Si s’usen dins d’una paraula, algunes instruccions de canvi de tipus de lletra o de format poden produir un espai buit no desitjat. Això es pot solucionar concatenant a un de sol els diferents elements de text:
\markup { \column { \line { \concat { 1 \super st } movement } \line { \concat { \dynamic p , } \italic { con dolce espressione } } } }
Es pot trobar una llista exhaustiva d’ordres de canvi i utilització personalitzada dels tipus de lletres a Tipus de lletra.
També es possible definir conjunts personalitzats de tipus de lletra, tal i com s’explica a Explicació dels tipus de lletra.
Instruccions predefinides
\teeny
,
\tiny
,
\small
,
\normalsize
,
\large
,
\huge
,
\smaller
,
\larger
.
Vegeu també
Referència de la notació: Tipus de lletra, Indicacions dinàmiques contemporànies, Marques de repetició manual, Tipus de lletra.
Fitxers d’inici: ‘scm/define-markup-commands.scm’.
Fragments de codi: Text.
Referència de funcionament intern: TextScript.
Advertiments i problemes coneguts
La utilització de les ordres de mida de text
\teeny
, \tiny
, \small
, \normalsize
,
\large
i \huge
condueixen a un espaiat de les línies
inconsistent comparat amb l’ús de \fontsize
.
Alineació de text
Aquesta subsecció tracta sobre com col·locar text al mode de marcatge. Els objecte de marcatge també es poden moure com un tot, usant la sintaxi que es descriu a Moviment d'objectes.
Els objectes de marcatge es poden alinear de diferents maneres. De forma predeterminada, una indicació de text s’alinea sobre la vora esquerra: a l’exemple següent, no hi ha diferència entre els marcatges primer i segon.
\relative { d''1-\markup { poco } f d-\markup { \left-align poco } f d-\markup { \center-align { poco } } f d-\markup { \right-align poco } }
Es pot realitzar un ajust fi de l’alineació horitzontal usant un valor numèric:
\relative { a'1-\markup { \halign #-1 poco } e' a,-\markup { \halign #0 poco } e' a,-\markup { \halign #0.5 poco } e' a,-\markup { \halign #2 poco } }
Certs objectes poden posseir els seus propis procediments d’alineació, i per tant no resulten afectats per aquestes ordres. És possible moure aquests objectes de marcatge com un tot, com es mostra per exemple a Indicacions de text.
L’alineació vertical és una mica més complexa. Com s’ha dit més a dalt, els objectes de marcatge es poden moure com un tot; tanmateix, també és possible moure element específics dins d’un bloc de marcatge. En aquest cas, l’element a moure s’ha de precedir d’un punt d’ancoratge, que pot ser un altre element de marcatge o un objecte invisible. L’exemple següent exemplifica aquestes dues possibilitats; l’últim marcatge en aquest exemple no té punt d’ancoratge i per això no resulta mogut.
\relative { d'2^\markup { Acte I \raise #2 { Scène 1 } } a' g_\markup { \null \lower #4 \bold { Très modéré } } a d,^\markup { \raise #4 \italic { Une forêt. } } a'4 a g2 a }
Algunes ordres poden afectar tant a l’alineació horitzontal com a la vertical dels objectes de text en el mode de marcatge. Qualsevol objecte afectat per aquestes instruccions s’han de precedir d’un punt d’ancoratge:
\relative { d'2^\markup { Acte I \translate #'(-1 . 2) "Scène 1" } a' g_\markup { \null \general-align #Y #3.2 \bold "Très modéré" } a d,^\markup { \null \translate-scaled #'(-1 . 2) \teeny "Une forêt." } a'4 a g2 a }
Un objecte de marcatge pot incloure diverses línies de text. A l’exemple següent, cada element o expressió se situa a la seva pròpia línia, ja sigui alineada per l’esquerra o centrada:
\markup { \column { a "b c" \line { d e f } } \hspace #10 \center-column { a "b c" \line { d e f } } }
De forma semblant, una llesta d’elements o expressions es pot repartir de forma que ompli per complet l’amplada de la línia horitzontal (si hi ha un sol element, se centra al paper). Al seu cop, aquestes expressions poden incloure text de diverses línies o qualsevol altre expressió de marcatge:
\markup { \fill-line { \line { William S. Gilbert } \center-column { \huge \smallCaps "The Mikado" or \smallCaps "The Town of Titipu" } \line { Sir Arthur Sullivan } } } \markup { \fill-line { 1885 } }
Les indicacions de text llargues es poden també ajustar automàticament segons una amplada de línia donada. Estaran alineades per l’esquerra o justificades, com es mostra a l’exemple següent:
\markup { \column { \line \smallCaps { La vida breve } \line \bold { Acto I } \wordwrap \italic { (La escena representa el corral de una casa de gitanos en el Albaicín de Granada. Al fondo una puerta por la que se ve el negro interior de una Fragua, iluminado por los rojos resplandores del fuego.) } \hspace #0 \line \bold { Acto II } \override #'(line-width . 50) \justify \italic { (Calle de Granada. Fachada de la casa de Carmela y su hermano Manuel con grandes ventanas abiertas a través de las que se ve el patio donde se celebra una alegre fiesta) } } }
Hi ha una llista exhaustiva d’ordres d’alineació de text a Align.
Vegeu també
Manual d’aprenentage: Moviment d'objectes.
Referència de la notació: Align, Indicacions de text.
Fitxers d’inici: ‘scm/define-markup-commands.scm’.
Fragments de codi: Text.
Referència de funcionament intern: TextScript.
[ << Notació musical ] | [Part superior][Continguts][Índex] | [ Notació especialitzada >> ] |
[ < Alineació de text ] | [ Amunt : Donar format al text ] | [ Notació musical dins d'elements de marcatge > ] |
Notació gràfica dins d’elements de marcatge
Es poden afegir diversos objectes gràfics a una partitura, utilitzant ordres de marcatge.
Certes ordres de marcatge permeten la decoració d’elements de text amb gràfics, com es mostra a l’exemple següent.
\markup \fill-line { \center-column { \circle Jack \box "in the box" \null \line { Erik Satie \hspace #3 \bracket "1866 - 1925" } \null \rounded-box \bold Prelude } }
Algunes poden requerir un augment del farciment al voltant del text: això es pot aconseguir amb algunes instruccions de marcatge descrites exhaustivament a Align.
\markup \fill-line { \center-column { \box "Charles Ives (1874 - 1954)" \null \box \pad-markup #2 "THE UNANSWERED QUESTION" \box \pad-x #8 "A Cosmic Landscape" \null } } \markup \column { \line { \hspace #10 \box \pad-to-box #'(-5 . 20) #'(0 . 5) \bold "Largo to Presto" } \pad-around #3 "String quartet keeps very even time, Flute quartet keeps very uneven time." }
Es poden imprimir altres símbols o elements gràfics sense que es requereixi cap altre text. De igual manera que al cas de les expressions de marcatge, aquests objectes es poden combinar:
\markup { \combine \draw-circle #4 #0.4 ##f \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1 \hspace #5 \center-column { \triangle ##t \combine \draw-line #'(0 . 4) \arrow-head #Y #DOWN ##f } }
Entre les funcionalitats gràfiques avançades es troben la possibilitat d’incloure fitxers d’imatge externs convertits als format PosScript Encapsulat (eps), i la inclusió directa de gràfics dins del fitxer d’entrada, usant codi PostScript nadiu. En tal cas pot ser d’utilitat l’especificació explícita de la mida del dibuix, com s’exemplifica a continuació:
c'1^\markup { \combine \epsfile #X #10 "./context-example.eps" \with-dimensions #'(0 . 6) #'(0 . 10) \postscript " -2 3 translate 2.7 2 scale newpath 2 -1 moveto 4 -2 4 1 1 arct 4 2 3 3 1 arct 0 4 0 3 1 arct 0 0 1 -1 1 arct closepath stroke" } c'
Hi una llista exhaustiva d’ordres específiques de gràfics a Graphic.
Vegeu també
Referència de la notació: Align, Dimensions, Anotacions editorials, Graphic.
Fitxers d’inici: ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm’.
Fragments de codi: Text.
Referència de funcionament intern: TextScript.
Notació musical dins d’elements de marcatge
Es poden afegir a la partitura diversos elements de notació musical, dins d’una objecte de marcatge.
Les notes i les alteracions es poden escriure utilitzant ordres de marcatge:
a'2 a'^\markup { \note {4} #1 = \note-by-number #1 #1 #1.5 } b'1_\markup { \natural \semiflat \flat \sesquiflat \doubleflat } \glissando a'1_\markup { \natural \semisharp \sharp \sesquisharp \doublesharp } \glissando b'
Altres objectes de notació es poden també imprimir al mode de marcatge:
\relative { g1 bes ees\finger \markup \tied-lyric "4~1" fis_\markup { \dynamic rf } bes^\markup { \beam #8 #0.1 #0.5 } cis d-\markup { \markalphabet #8 \markletter #8 } }
De forma més general, qualsevol símbol musical disponible es pot incloure per separat dins d’un objecte de marcatge, com s’exemplifica a continuació; hi ha una llista exhaustiva d’aquests símbols i els seus noms a El tipus de lletra Emmentaler.
\relative { c''2 c'^\markup { \musicglyph "eight" } c,4 c,8._\markup { \musicglyph "clefs.G_change" } c16 c2^\markup { \musicglyph "timesig.neomensural94" } }
Una altra forma d’imprimir glifs que no són de text es troba descrita a Explicació dels tipus de lletra. Serveix per imprimir claus de diferents mides.
El mode de marcatge també contempla diagrames per a instruments específics:
\relative { c''1^\markup { \fret-diagram-terse "x;x;o;2;3;2;" } c^\markup { \harp-pedal "^-v|--ov^" } c c^\markup { \combine \musicglyph "accordion.discant" \combine \raise #0.5 \musicglyph "accordion.dot" \raise #1.5 \musicglyph "accordion.dot" } }
Aquests diagrames es troben documentats a Instrument Specific Markup.
Es pot incloure fins i tot una partitura completa dins d’un
objecte de marcatge. En tal cas, el bloc niuat \score
ha
de contenir un bloc \layout
, com es mostra aquí:
\relative { c'4 d^\markup { \score { \relative { c'4 d e f } \layout { } } } e f | c d e f }
Hi ha una llista exhaustiva d’ordres relacionades amb la notació musical a Music.
Vegeu també
Referència de la notació: Music, El tipus de lletra Emmentaler, Explicació dels tipus de lletra.
Fitxers d’inici: ‘scm/define-markup-commands.scm’, ‘scm/fret-diagrams.scm’, ‘scm/harp-pedals.scm’.
Fragments de codi: Text.
Referència de funcionament intern: TextScript.
[ << Notació musical ] | [Part superior][Continguts][Índex] | [ Notació especialitzada >> ] |
[ < Notació musical dins d'elements de marcatge ] | [ Amunt : Donar format al text ] | [ Tipus de lletra > ] |
Elements de marcatge de diverses pàgines
Tot i que els objectes de marcatge estàndard no es poden dividir, una sintaxi específica fa possible la introducció de línies de text que poden abastar diverses pàgines:
\markuplist { \justified-lines { Un text molt llarg de línies justificades. ... } \wordwrap-lines { Un altre paràgraf molt llarg. ... } ... }
Aquesta sintaxi accepta una llista d’elements de marcatge, que poden ser
- el resultat d’una ordre de llista de marcatge,
- una llista de marcatges,
- o una llista de llistes de marcatge.
Hi una llista exhaustiva de les ordres de llista de marcage a Ordres de llistes de marcatge de text.
Vegeu també
Referència de la notació: Ordres de llistes de marcatge de text.
Fitxers d’inici: ‘scm/define-markup-commands.scm’.
Manual de extensió: Definició de noves ordres de llista de marcatge.
Fragments de codi: Text.
Referència de funcionament intern: TextScript.
Instruccions predefinides
\markuplist
.
[ << Notació musical ] | [Part superior][Continguts][Índex] | [ Notació especialitzada >> ] |
[ < Notació musical dins d'elements de marcatge ] | [ Amunt : Donar format al text ] | [ Tipus de lletra > ] |