Subject: Code simplifié pour \markup

From: NOreply <[email-masked]>
Date: Fri, 1 Dec 2017 01:36:34 -0700 (MST)

Bonjour,
Je cherche à simplifié le code \markup {le texte}.
Écrire par exemple \tx { }, mais il faudrait qu'on puisse mettre en forme le
texte ( par exemple \tx \bold {le texte}).
Est-ce que l'un d'entre vous saurais écrire une fonction pour faire ça?
Merci

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

---

From: Olivier Miakinen <[email-masked]>
Date: Fri, 1 Dec 2017 18:11:50 +0100

Bonjour,

Le 01/12/2017 09:36, NOreply a écrit :
>
> Je cherche à simplifier le code \markup {le texte}.
> Est-ce que l'un d'entre vous saurait écrire une fonction pour faire ça?

La réponse m'intéresse aussi. Justement aujourd'hui j'avais besoin
d'insérer des \markup répétés dans un \lyricmode { } et je n'ai pas
réussi à écrire une fonction qui le fasse.

---

From: Gilles Thibault <[email-masked]>
Date: Mon, 04 Dec 2017 09:54:51 +0100

>> Est-ce que l'un d'entre vous saurait écrire une fonction pour faire 

Pour la version 2.19, ceci devrait marcher (j'ai pas pu tester  
parce-qu'il n'y avait pas d'exemple minimum...)

tx = \markup \bold \etc

Pour 2.18, il faut sortir l'artillerie lourde :
tx = #(define-music-function (txt) (markup?)
    #{ \markup \bold \txt #})

Bon tests.

-- 
Gilles

---

From: Gilles Thibault <[email-masked]>
Date: Mon, 04 Dec 2017 14:35:03 +0100

>    #{ \markup \bold \txt #})

Oups, pour 2.18, c'est plutôt :
tx = #(define-music-function (parser location txt) (markup?)
    #{ \markup \bold #txt #})

Pour 2.19
tx = #(define-music-function (txt) (markup?)
    #{ \markup \bold #txt #})

-- 
Gilles

---

From: Jean-Jacques Gerbaud <[email-masked]>
Date: Mon, 4 Dec 2017 16:34:50 +0100

>     #{ \markup \bold #txt #})

Merci Gilles pour ce markup.

Pour moi, en 18.2, le markup fonctionne mais le texte n'est pas en gras !
As tu oublié quelque chose :-)

Et en rajoutant \italic, la fonction n'en tient pas compte non plus. 
Mais bon, on ne va pas faire le difficile, hein ?

--
J-J GERBAUD -  Lutte anti-spams
- Ne JAMAIS cliquer sur le lien de désinscription d'un message
- Ne JAMAIS donner son e-mail sur n'importe quel site internet
- Ne JAMAIS ouvrir les messages douteux ni les faire suivre

---

From: NOreply <[email-masked]>
Date: Mon, 4 Dec 2017 09:31:53 -0700 (MST)

Je ne parviens pas à le faire fonctionner. Je ne dois écrire ce qu'il faut.

---

From: Olivier Miakinen <[email-masked]>
Date: Mon, 4 Dec 2017 23:05:29 +0100

Le 04/12/2017 09:54, Gilles Thibault m'a répondu :
> [...] (j'ai pas pu tester parce-qu'il n'y avait pas d'exemple minimum...)

Je me suis greffé à la question de NOreply, mais je ne sais pas si ma
problématique est la même que la sienne. Quoi qu'il en soit, voici mon
exemple minimum :

=====================================================================
\version "2.18.2"

supt = {}   % #(define-qqch ... )

{ f' f' f' f' }
\addlyrics { C'est \markup \concat { \super 't un } Pi -- card }
\addlyrics { C'est \supt un Pi -- card }
=====================================================================

J'aimerais pouvoir définir une fonction supt de telle sorte que les
deux \addlyrics fassent la même chose.

Cordialement,
-- 
Olivier Miakinen

---

From: Gilles Thibault <[email-masked]>
Date: Tue, 05 Dec 2017 15:20:26 +0100

> As tu oublié quelque chose :-)

Oui, le tiret devant le \markup ! :-)
Pour 2.19, ceci marche

%%%%%%%%%%%%%%%%%

tx = #(define-music-function (txt) (markup?)
     #{ -\markup \italic \bold #txt #})

{ c'4^\tx "salut" }

%%%%%%%%%%%%%%%%

Pour 2.18, ceci devrait marcher (mais pas sûr... :-( )

%%%%%%%%%%%%%%%%%

tx = #(define-music-function (parser location txt) (markup?)
     #{ -\markup \italic \bold #txt #})

{ c'4^\tx "salut" }

%%%%%%%%%%%%%%%%

-- 
Gilles