Closed jperon closed 1 year ago
Mwouais... J'avais dit python, bash perl ou rust parce que ce sont des langages que soit tout le monde a, soit qu'il ne me ferait pas de mal d'apprendre.
Il me faudrait une liste de commandes pour obtenir l'exécutable de moonscript dans le répertoire /path/to/là/où/je/veux. De telle sorte que je puisse faire, en python,
subprocess.call(["/path/to/là/où/je/veux/moonscript sort_ind.moon", fichier_orig, fichier_dest])
Il y a moyen d’éviter la dépendance à moonscript, en utilisant sort_ind.lua
(produite à partir de sort_ind.moon
, et disponible sur le lien ci-dessus). C’est même préférable, puisque cela évite l’étape de transpilation qu’effectuerait de toute manière moonscript. Sur une distribution de LaTeX incluant les binaires de LuaTeX, il y a un interpréteur lua intégré : texlua
. Dès lors, en python, cela donnerait :
(Edit : désolé pour cette version non testée et fausse, cf. ma réponse plus bas).
subprocess.call(("/chemin/vers/texlua sort_ind.lua", fichier_orig, fichier_dest))
Désolé pour le retard; j'étais sur d'autres trucs.
J'ai testé avec ceci dans test.ind
:
\begin{theindex}
\item \( q\)-orthogonal, \hyperpage{121}
\indexspace
\item matrice
\subitem orthogonale, \hyperpage{90}
\item matrices semblables, \hyperpage{139}
\item matrices équivalentes, \hyperpage{139}
\item multiindice, \hyperpage{38}
\indexspace
\item noyau
\subitem d'une forme bilinéaire, \hyperpage{120}
\end{theindex}
Ensuite je lance
texlua sort_ind.lua test.ind out.ind
Et ça mouline sans fin. Du coup ben heu... je sais pas. Des idées ?
Le script lit sur l’entrée standard et écrit sur la sortie standard. Il faut donc faire :
texlua sort_ind.lua <test.ind >out.ind
Ou encore intégrer le script au sein d’un "pipe" :
cat test.ind | texlua sort_ind.lua | tee out.ind
D’ailleurs, autant pour moi, cela donne en Python :
#!/usr/bin/env python
import subprocess
myinput = open('test.ind')
myoutput = open('out.ind', 'w')
p = subprocess.Popen(("texlua", "sort_ind.lua"), stdin=myinput, stdout=myoutput)
p.wait()
myoutput.flush()
Avec plaisir !
En réponse à la demande exprimée sur linuxfr, voici un script permettant de trier
mazhe.ind
en tenant compte des accents (programmé en moonscript, avec la version lua disponible) : https://gist.github.com/jperon/5ed64195ebfd998b6db139ab4e4fb403