Subject: Configurer Vim pour utiliser Lilypond avec LaTex

From: M4rty <[email-masked]>
Date: Wed, 26 May 2021 03:30:21 -0700 (MST)

Bonjour à tous,

Une question qui s'adresse plus au utilisateurs de Vim, mais qui peut
intéresser ceux qui travaillent avec LaTex et Lilypond.

Je suis plus ou moins débutant avec Vim, et je cherche à configurer un
raccourci clavier ( <Ctrl + m> pour rester proche de Frescobaldi) pour
afficher un pdf compilé à partir d'un fichier .tex contenant
\begin{lilypond}.

Pour le moment, j'ai créé un script inspiré par cette page :
https://martin-thoma.com/how-to-write-music-with-latex/

Dans mon dossier j'ai un fichier ./compile.sh (que je dois adapter à chaque
fois, c'est bien là le problème) qui contient :

lilypond-book --output=out --pdf [NOM DU FICHIER].tex
cd out/
pdflatex [NOM DU FICHIER]
mv [NOM DU FICHIER].pdf ../[NOM DU FICHIER].pdf
cd ..
rm -rf out

Je lance cette commande dans Vim grace à la ligne suivante dans vimrc :

nmap <C-m> :up<cr>:!./compile.sh<cr>;silent

Ce que je cherche à faire c'est directement programmer ce script dans vimrc,
mais je ne sais pas comment créée la variable [NOM DU FICHIER] sans
extension..

Quelqu'un a une idée ?

Merci !! 

Simon

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

---

From: Jacques Menu <[email-masked]>
Date: Wed, 26 May 2021 23:26:06 +0200

Salut Simon,

Que dirais-tu de:

#!/bin/bash

NOM_DU_FICHIER = $1
echo “NOM_DU_FICHIER: ${NOM_DU_FICHIER}“

lilypond-book --output=out --pdf ${NOM_DU_FICHIER}.tex

cd out/
pdflatex ${NOM_DU_FICHIER}
mv ${NOM_DU_FICHIER}.pdf ../${NOM_DU_FICHIER}.pdf

cd ..
rm -rf out

et l’exécuter par :

compile.sh toto

JM

> Le 26 mai 2021 à 12:30, M4rty <[email-masked]> a écrit :
> 
> Bonjour à tous,
>

---

From: M4rty <[email-masked]>
Date: Wed, 26 May 2021 23:57:03 -0700 (MST)

Merci beaucoup pour la réponse !

Je viens de tester mais cela ne fonctionne pas, est-ce que je fais une
erreur ?

./compile.sh: ligne 2: NOM_DU_FICHIER : commande introuvable
“NOM_DU_FICHIER: “

J'ai vu cette commande sur stackoverflow qui, si j'ai bien compris, permet
d'avoir le nom du fichier sans l'extention, mais je ne sais pas
l'utiliser...

NAME=`echo "$FILE" | cut -d'.' -f1`

En tout cas dans un second temps, ce que je souhaiterai c'est ne pas avoir à
créer un fichier compile.sh externe, et intégrer ces commandes à Vim (dans
vimrc). 
Dans vim, j'ai trouvé comment afficher le nom du fichier sans l'extension :
:echo expand('%:r')

Mais comment mélanger cette variable créée par vim dans une commande bash ?
Cela me dépasse un peu...

---

From: Olivier Miakinen <[email-masked]>
Date: Thu, 27 May 2021 10:13:02 +0200

> ./compile.sh: ligne 2: NOM_DU_FICHIER : commande introuvable

Il ne faut pas d'espace pour l'affectation.

Remplacer :
NOM_DU_FICHIER = $1
par :
NOM_DU_FICHIER=$1

---

From: M4rty <[email-masked]>
Date: Thu, 27 May 2021 01:24:05 -0700 (MST)

Super, merci ! Cela fonctionne !

Et dans vimrc j'ai mis :
nmap <C-m> :w!<cr>:!./compile.sh %:r<cr>;silent

Ce qui me permet de compiler directement avec <Ctrl + m> comme dans
Frescobaldi.
Je vais peut être comme ultime étape, insérer ce script directement dans
vimrc pour éviter d'avoir à créer un fichier compile.sh à chaque fois.

Merci à tous pour votre aide !

---

From: M4rty <[email-masked]>
Date: Thu, 27 May 2021 02:09:09 -0700 (MST)

Voilà la solution que j'ai adoptée finalement :

1) Mon fichier compile.sh est le même pour tous les documents, placé dans le
dossier ~/.vim/
Voilà son contenu :

#!/bin/bash

NOM_DU_FICHIER=$1

cd out/

cd ..
rm -rf out

2) mon fichier vimrc (en fait j'ai un texrc pour vim, mais c'est la même
chose) contient la ligne suivante :
nmap <C-m> :w!<cr>:!~/.vim/compile.sh %:r<cr>;silent

Et voilà. Je travaille dans vim en intégrant des parties de lilypond dans du
LaTex, je compile directement avec <Ctrl + m> comme dans Frescobaldi et
j'affiche le pdf (qui s'actualise à chaque fois) dans une fenêtre.
Bon il manque quand même quelques fonctions très pratiques de Frescobaldi
comme le Maj + clic, mais bon on ne peut pas tout avoir !

Un grand merci à tous pour votre aide !

Simon

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 27 May 2021 20:53:04 +0200

> mais je ne sais pas comment créée la variable [NOM DU FICHIER] sans

Bonjour,

Vous avez déjà trouvé une solution, mais personnellement, je recommande 
très fortement l'extension lyLuaTeX :

https://ctan.org/pkg/lyluatex

Il faut simplement passer à LuaLaTeX (plutôt que pdfLaTeX ou autre). 
Ensuite, il s'utilise comme un package LaTeX quelconque, sans nécessiter 
de compilation séparée, si bien que vous pouvez vous servir de n'importe 
quelle extension Vim qui permette l'édition pratique de fichiers LaTeX.

Cordialement,
Jean

---

From: M4rty <[email-masked]>
Date: Thu, 27 May 2021 13:24:43 -0700 (MST)

Bonsoir,

Merci pour cette info, en effet cela semble plus simple... Je vais regarder
!