Le site prof.math.free.fr n'est plus mis à jour. Merci d'utiliser plutôt le site clogique.
J'ai mis au point quelques fichiers de macros permettant d'utiliser Nedit comme éditeur LaTeX.
Vous trouverez d'autres macros beaucoup plus poussées ici.
Cliquez ici pour télécharger l'ensemble de ces macros réunies dans un dossier "Macros" à placer dans votre dossier /home/vous.
Modifiez les macros pour les adapter à votre dossier home.
Les fichiers de macros concernent :
Compiler le document avec LaTeX
Gestion des erreurs de compilation
Voir le fichier DVI produit
Imprimer le résultat
Lancer des programmes utiles
Convertir en d'autres formats (ps, pdf)
Rappel de la dernière commande
Insérer une structure de base
Insérer un environnement
Raccourcis clavier (dans .Xdefaults)
(fichier récupéré sur les archives de macros et légérement modifié)
# Execution de LaTeX version du 22-9-2001
home="/home/vous/"
f = get_range(0, $text_length)
save()
t_print("\nCompilation de "$file_name,"\n",shell_command("latex "$file_name, ""))
load_macro_file(home"Macros/errors.nm")
# ajout pour exécution de xdvi en dehors de nedit 26-5-2001
# création d'un fichier script lançant xdvi que l'on n'exécute
# ... qu'une seule fois
# une alternative à view_dvi.nm qui plante à chaque compilation
# on pourra créer un icône sur son bureau pour lancer .neditres
write_file("#! /bin/sh\n"\
"cd "$file_path"\n"\
"xdvi "substring($file_name,0,length($file_name)-3)\
"dvi",home".neditres")
shell_command("chmod +x "home".neditres","")
# ajout pour lancement de nedit avec le dernier fichier compilé 16-9-2001
# au démarrage de gnome
# Lancer Gnome Control Center et ajouter /home/vous/.neditlast dans
# Startup Programs
write_file("#! /bin/sh\nnedit "$file_path $file_name,home".neditlast")
shell_command("chmod +x "home".neditlast","")
(fichier récupéré sur les archives de macros et légérement modifié)
r=read_file($file_path substring($file_name, 0, length($file_name)-3)"log")
e=search_string(r, "^!", 0, "regex")
if (e!=-1)
{
#get line number of error
ls=search_string(r, "^l.", e, "regex")
if (ls == -1)
dialog(substring(r, e, search_string(r,"^$",e,"regex")))
else
{
l=substring(r, ls+2,search_string(r, " ", ls))
goto_line_number(l)
#output help on terminal et en message
t_print(substring(r, e, search_string(r,"^$",e,"regex"))"\\n")
dialog(substring(r, e, search_string(r,"^$",e,"regex")))
}
}
Cette macro permet l'affichage du fichier produit par latex, dvips, pdflatex, etc... lors de l'utilisation de run_latex.nm ou de run_convert.nm.
t_print("\nAffichage du fichier produit\n",shell_command("/home/vous/.neditres",""))
# Macro de gestion de dvips - Version du 5-10-2001
## Initialisation
# Création du nom de fichier sans suffixe (exemple : toto.tex -> toto)
$g=substring($file_name, 0, length($file_name)-4)
# Initialisation des variables
$parite=""
$opt=""
$numpages="" # par défaut, une seule impression
define imprime{
# Orientation de la page
$ori=""
$or=list_dialog("Orientation de la page (par défaut : portrait)",\
"\nPortrait\nPaysage\n","Imprimer","Pages...", "Options", "Annuler")
if ($or=="Paysage") { $or="paysage"
$ori="-t landscape "
}
if ($or!="Paysage") $or="portrait"
# Gestion des boutons
but=$list_dialog_button
if (but==4) return # sortie
## Boîtes d'options
# Numéros des pages
if (but==2) { $numpages=""
rep=string_dialog("Plage de pages ou numéros de \
pages\nLes possibilités sont illustrées par les exemples suivants :\n\
2 pour la page n°2\n\
3-5 pour les pages de 3 à 5\n\
1,2,4 pour les pages 1,2 et 4\n\
1-3,5,7 pour les pages de 1 à 3 et les pages 5 et 7\n\
ligne vide : toutes les pages","OK","Pages impaires","Pages paires","Annuler")
if (rep!="") $numpages="-pp "rep" "
but_page=$string_dialog_button
if (but_page==4) { $numpages=""
$parite=""
}
if (but_page==2) $parite=" -A "
if (but_page==3) $parite=" -B "
imprime()
}
# Options supplémentaires de dvips
if (but==3) { rep=string_dialog("Entrez votre option\n\
(exemple : -E, voir man dvips):","OK","Annuler")
but_opt=$string_dialog_button
if (but_opt==1) {
if (rep!="") $opt=" "rep" "
}
imprime()
}
if (but==1) {# impression
#dialog("dvips -t a4 "$ori$numpages$parite$opt$g".dvi") pour test !
t_print("\n\nImpression au format "$or" du fichier "$g".dvi\n",\
shell_command("dvips -t a4 "$ori$numpages$parite$opt$g".dvi",""))
return
}
}
imprime()
a=dialog("Outils","Xfig","TeXpict","Killustrator","Nettoyer","Annuler")
if (a==1) shell_command("xfig","")
if (a==2) shell_command("wish /home/vous/texpict/TexPict.tcl","")
if (a==3) shell_command("killustrator","")
if (a==4) shell_command("rm *.aux *.log *.toc *.ind *.ilg *.bak *.prj","")
# Utilisation d'utilitaires de conversion version du 3-10-2001
# Pour réexécuter la commande choisie, tapez F5
home="/home/vous"
save()
or=list_dialog("Orientation","Portrait\nPaysage","PdfTeX","Dvi->PDF","HTML",\
"Postscript","MFPic","Autre","Annuler")
ori=""
if (or=="Paysage") ori=" -t landscape"
a=$list_dialog_button
if (a!=7) {
g=substring($file_name, 0, length($file_name)-4)
t_print("\nApplication de la conversion")
# conversion PDF avec PdfTeX
if (a==1) {com="pdflatex "$file_name
voir="/cheminversAcrobat/bin/acroread "g".pdf"
}
# conversion PDF avec dvips et ghostview
if (a==2) {com="dvips -f"ori" < "g".dvi | gs -sDEVICE=pdfwrite -sPAPERSIZE=a4 \
-sOutputFile="g".pdf -q -"
voir="/cheminversAcrobat/bin/acroread "g".pdf"
}
# conversion HTML
if (a==3) {com="latex2html "$file_name
voir="netscape "g".html"
}
# conversion Postscript
if (a==4) {com="dvips"ori" -o "g".ps "g".dvi"
voir="ghostview "g".ps"
}
# compilation d'un document utilisant MFPic
if (a==5) {com=home"/docs/perso/mfpictex "g
voir="xdvi "g
}
# autre conversion (commande entrée manuellement)
if (a==6) { com=string_dialog("","Exécuter","Annuler")
if ($string_dialog_button==2) com=""
}
# execution et enregistrement de la commande dans .neditcom
shell_command("cd "$file_path,"")
t_print("\nExécution de "com"\n",shell_command(com,""))
write_file("#! /bin/sh\ncd "$file_path"\n"com,home"/.neditcom")
shell_command("chmod +x "home"/.neditcom","")
# commande d'affichage du résultat dans .neditres
write_file("#! /bin/sh\ncd "$file_path"\n"voir,home"/.neditres")
shell_command("chmod +x "home"/.neditres","")
# vérification des erreurs si PdfTeX ou MFPicTeX utilisé
if ((a==1) || (a==5)) load_macro_file(home"/Macros/errors.nm")
}
# Rappel de la dernière commande effectuée par mes macros
# 4-6-2001
# Remarque : il est possible d'associer, dans .Xdefaults, un raccourci clavier
# à execute_command(/home/vous/.neditcom) mais la sortie (les commentaires)
# de (pdf)latex se font dans la fenêtre de l'éditeur !
home="/home/vous/"
shell_command(home".neditcom","")
# s'il s'agit de pdflatex, vérifier les erreurs
e=search_string(read_file(home".neditcom"), "pdflatex", 0)
if (e!=-1) load_macro_file(home"Macros/errors.nm")
# insertion de la structure du document par exemple, taper 2col puis le raccourci
# clavier associé à ce fichier dans .Xdefaults
c = $cursor
backward_word()
select($cursor, c)
s = get_selection()
delete_selection()
if (s=="dm"||s=="ds") {
insert_string("\\documentclass[12pt]{2col}\n")
}
else
{
insert_string("\\documentclass[12pt]{"s"}\n")
}
insert_string("\\begin{document}\n")
if (s=="dm"||s=="ds") {
insert_string("\\grostitre{")
c = $cursor
insert_string("}{\\"s"}{}")
}
else {
insert_string("\\titre{")
c = $cursor
insert_string("}")
}
insert_string("\n\n\\end{document}")
set_cursor_pos(c)
# insertion de begin et de end
# par exemple, taper array puis le raccourci clavier associé à ce fichier dans
# .Xdefaults
c = $cursor
backward_word()
select($cursor, c)
s = get_selection()
delete_selection()
insert_string("\\begin{"s"}\n")
c = $cursor
insert_string("\\end{"s"}")
set_cursor_pos(c)
(à placer à la fin du fichier .Xdefaults situé dans votre dossier /home/vous,
remplacer bien sûr "vous" par votre login)
NEdit*text.Translations: #override \n\
<Key>F2: load_macro_file(/home/vous/Macros/ins_struct.nm)\n\
<Key>F3: load_macro_file(/home/vous/Macros/run_utils.nm)\n\
<Key>F4: load_macro_file(/home/vous/Macros/derncomm.nm)\n\
<Key>F6: load_macro_file(/home/vous/Macros/run_latex.nm)\n\
<Key>F7: load_macro_file(/home/vous/Macros/run_convert.nm)\n\
<Key>F8: load_macro_file(/home/vous/Macros/view.nm)\n\
<Key>F9: load_macro_file(/home/vous/Macros/impress.nm)\n\
Ctrl Alt<Key>a: insert_string("$$\\begin{array}{c|c|c|c|c}\n\\end{array}$$")\n\
Ctrl Alt<Key>b: load_macro_file(/home/vous/Macros/beginend.nm)\n\
Ctrl Alt<Key>d: load_macro_file(/home/vous/Macros/ins_struct.nm)\n\
Ctrl Alt Shift<Key>e : insert_string("\\exer{}") backward_character()\n\
Ctrl Alt<Key>e: insert_string("\\exo")\n\
Ctrl Alt<Key>f: insert_string("\\fract ")\n\
Ctrl Alt<Key>g: insert_string("{\\bf }") backward_character()\n\
Ctrl Alt<Key>h: insert_string("\\hfil")\n\
Ctrl Alt<Key>l: insert_string("\\lis ")\n\
Ctrl Alt<Key>p: insert_string("\\unitlength 5mm\n\\begin{picture}(,)\n\\end{picture}")\n\
Ctrl Alt<Key>q: insert_string("\\qst ")\n\
Ctrl Alt<Key>r: insert_string("\\sqrt{}") backward_character()\n\
Ctrl Alt<Key>s: save()\n\
Ctrl Alt<Key>t: insert_string("\\centerline{%\n\\begin{tabular}{l|c|c|c|c}\
\n\\\\\\hline\n\\end{tabular}}")\n\
Ctrl Alt<Key>u: insert_string("\\usepackage{}") backward_character()\n\
Ctrl <Key>*: insert_string("*")\n\
<Key>*: insert_string("\\ ") delete_previous_character()\n\
Ctrl <Key>Delete: delete_next_word()\n
nedit.remapDeleteKey : False\n