~ BIBLIO.BCK BIBLIO.BCK(BACKUP/NOCRC [...]*.* [-]BIBLIO.BCK/SAVE DANA sCV5.4 _AMON::  _$1$DUA11: V5.4 ~  *[DANA.BIBLIO]ASKVAL.C;6+,W&.K/ 4TKK-b%0123KPWOL56 5?7`?8`H4ǔ9GHJz#include /* * Modify this according to your system */ #define VMS 1 #define UNIX 0 #define PC 0 #define RAINBOW 0 /* * askval.c - Prompt for a number with default value * * Author: J-F VIBERT 29-aug-85 * CHU St-Antoine PARIS * * Date: 26-juillet-89 Version 2.0 line edition * 29-aout-89 Version 2.1 line recalls * 5-sept-89 Version 2.2 domains added * 12-sept-89 Version 2.3 change stdout dynamically * 9-oct-89 Version 2.4 support 8 bits CSI prefix * 14-janvier-89 Version 2.5 bug si redirection corrige * 19-mars-1990 Version 2.6 modification de position * du (? for help) * * * Auteur: Dr J-F VIBERT * Laboratoire de Physiologie * CHU Saint-Antoine * 27 rue Chaligny * 75571 Paris cedex 12 * France * * Copyright Dr JF Vibert * All rights reserved * Access limited to authorized persons * This software was developped only for resarch purpose * and is in any way usable for commercial purpose. * */ #ifdef DOCUMENTATION title askval - Prompt for a value with default value and line edition index Prompt for a value with default value and line edition Synopsis #include /* ask*val simple form */ int valeur; valeur = askival(prompt, default); char *prompt; int default; char valeur; valeur = askcval(prompt, default); char *prompt; char default; float valeur, askfval(); valeur = askfval(prompt, default); char *prompt; float default; int nb_car; nb_car = asksval(prompt, default, reponse); char *prompt, *default, *reponse; /* ask*valh help form */ int valeur; valeur = askivalh(prompt, default, help); char *prompt; int default; char *help; char valeur; valeur = askcvalh(prompt, default, help); char *prompt; char default; char *help; float valeur, askfval(); valeur = askfvalh(prompt, default, help); char *prompt; float default; char *help; int nb_car; nb_car = asksvalh(prompt, default, reponse, help); char *prompt, *default, *reponse, *help; /* ask*valf full form */ int valeur; valeur = askivalf(prompt,default,field, ligne,col,help,h_ligne,h_col); char *prompt; int default, field, ligne, col; char *help; int h_ligne, h_col; char valeur; valeur = askcvalf(prompt, default,ligne,col, help,h_ligne,h_col); char *prompt; char default; int ligne, col; char *help; int h_ligne, h_col; float valeur, askfval(); valeur = askfvalf(prompt, default,field, ligne,col,help,h_ligne,h_col); char *prompt; float default; int field, ligne, col; char *help; int h_ligne, h_col; int nb_car; nb_car = asksvalf(prompt, default, reponse,field,ligne,col, help,h_ligne,h_col); char *prompt, *default, *reponse; int field, ligne, col; char *help; /* related fonctions */ askidomain(min,max) int min, max; askfdomain(min,max) float min, max; ask_speak(langue) char langue; ask_tirets(ok) int ok; ask_out(def_std) FILE *def_std; Description {\bf WARNING}: To use askval, the programs must be linked or compiled with the {\tt -laskval} option on UNIX, the ASKVAL.LIB library on MS/DOS or the ASKVAL.OLB on VMS. ASKVAL V2 is a collection of C functions allowing to get integers, floats, characters and strings from the keyboard with editing, history and help possibilities. It should be installed as a library. Askival() prompts on stderr for an integer value on stdin, and returns the given value. If no value is entered (only the carriage return key depressed), the default value is returned. The min and max limits are tested, and the value refused if not inside the right domain. Askfval() follows the same principle, but waits for a real number. Askcval() follows the same principle, but waits for a character. In both cases, no control is performed concerning the range of entered values, only the validity of characters is checked. Asksval() follows the same principle, but waits for a string. The number of characters in the "reponse" string is returned, or NULL on error or end of file. The forms ask*valh() are the same functions but with the possibility to provide an help message that will be printed if needed on the first top line of the screen. The existence of an help possibility is flagged by a small message at the end of the line. By default this message is in english, but the langage can be choosen by ask_speak(). The forms ask*valf() are the same functions but in full form with the possibility to indicate the field length (indicated physically on the screen by underscores), the position of the prompt beginning in line and column on the screen, an help message and its position (line and column) on the screen. If lines and columns are both 0, the prompt is written at the current position. If the line and columns corresponding to the help message are both 0, the help message is written at the current position, but is not flagged as existing, otherwise it behaves as in ask*valh(). The forms fask*val() are the same functions reading from a file and thus without prompt. Askval sends to the stderr the prompt followed by the default value (on stdout under VMS). An immediate $<$CR$>$ sends this default value. A movement with one of the editing keys (see below) allows to edit this default value in order to change it. Any other new entry annulates the default value and takes the new key strokes as the beginning of a new value. Editing keys can be used at any moment. The authorized field length can be indicated by underscore characters (9 for int -6 on MS/DOS- and 14 for float), by a call to ask_tirets(1) [to get the undersores] or to ask_tirets(0) [to eliminate them]. By default, the underscores are off for ask*val() forms and ask*valh() forms. For ask*valf() forms, underlines are always on. For ask*valh() and ask*valf(), a message flagging the existence of an help message is printed. The language of this message can be choosen by ask_speak(langue). The possible values of langue are: {\obeylines a for american (default) f for french e for spanish (espa\~{n}a) d for deutsh i for italian } The domain limits can be modified by askidomain() and askfdomain(). The domain defaults are set according to the word length. The global variables ask_i_min, ask_i_max, ask_f_min and ask_f_max hold the current int and float domains. To enable a new domain, ask*domain() must be called before the ask*val(), and becomes the new default domain. To reset the default value to the full range, ask*domain() must be call with two identical arguments as in askidomain(0,0). Normally the default output is on stderr (on stdout on VMS), but can be reset on stdout if needed using ask_out(stdout) (not implemented under VMS); \underline{Editing keys and external user manual.} For all the functions, askval provides an on-screen editor. The arrow keys have their natural role: left arrow to go backward character by character, rigtharrow to go forward character by character. The special VT100/VT2xx/VT3xx PFn keys are significant: {\obeylines LEFT ARROW: backward one character RIGHT ARROW: forward one character PF1: backward to beginning of line (HOME key on PCs) PF2: backward one word (CTRL LEFT ARROW key on PCs) PF3: forward one word (CTRL RIGHT ARROW key on PCs) PF4: forward to end of line (END key on PCs) UP ARROW: backward in history DOWN ARROW: forward in history CTRL R or Find: find previous string (F2 key on PCs) ? or Help: help (F1 key on PCs) CTRL G: abort entry CTRL L: repaint entry } PF2 and PF3 are only valid when entering strings. Literal characters are refused (with beep) when integer or floating values are awaited (eE are permitted for floats). Integer or float values are refused if they are external to given limits. If so, a message is given with the authorized limits, and a replacement value awaited. CTRL G aborts the entry and calls back the default value. CTRL L repaints the line if an external message is received. The 10 last values entered for int, float or string (no single characters) are memorized in a ring buffer. UP ARROW recalls back in the backward direction the strings memorized in the ring buffer corresponding to the same type of askval function. DOWN ARROW recalls back in the forward direction the strings memorized in the ring buffer corresponding to the same type of askval function. CTRL R or the Find Key (or F2 on PCs) considers the string already typed as the beginning of a memorized string, and recalls the full string if any, or beeps if not. ? or the HELP key (or F1 on PCs) gives an help text in reverse video characters, generaly at the top of the screen, or a very fugace message {\bf No Help} at the current position. ASKVAL V2 is fully compatible with ASKVAL V1, thus any program previously compiled with ASKVAL V1 can be recompiled with ASKVAL V2 in order to get the editing facilities, without any code modification. The behavior is the same, without help, and without any place holders. Bugs If a string was read from stdin by using scanf("%s",string) before using one of the askval() fonctions, the LF character is left in stdin buffer, and is considered as the terminator (default value) if askival(), askcval() or askfval() are called after the scanf(), while gets(string) remove the LF and thus empties the stdin buffer. It is thus necessary to read in string using gets() instead of scanf(). Moreover, gets() is more performant than scanf(). Author Dr Jean-Francois Vibert CHU Saint-Antoine Paris 12 #endif #define NB_HIST 10 #if VMS # define STD stdout # define std_ask stdout #endif #if UNIX || PC || RAINBOW # define STD stderr #endif /* macros et definitions */ # define CTRL_L ('\014') # define CTRL_G ('\007') # define CTRL_R ('\022') # define ESC ('\033') # define QUESTION ('?') # define REVERSE ("\033[7m") # define NORMAL ("\033[m") # define REDRAW CTRL_L # define BEEP putchar('\007') # define A_GAUCHE putc('\b',std_ask) # define a_droite(nb) fprintf(std_ask,"\033[%dC",nb) # define ask_tirets(ok) ask_traits = ok; # define curseur(l,c) fprintf(std_ask,"\033[0%d;%dH",l,c) #if UNIX # define GETCH getchar() # define ASK_I_MIN (-2147483648) # define ASK_I_MAX (2147483647) # define ASK_F_MIN ((float)-1.701411733192644299e+38) # define ASK_F_MAX ((float)1.701411733192644299e+38) #endif #if VMS # define GETCH getchar_vms() # define ASK_I_MIN (-2147483648) # define ASK_I_MAX (2147483647) # define ASK_F_MIN ((float)-1.701411733192644299e+38) # define ASK_F_MAX ((float)1.701411733192644299e+38) #endif #if PC || RAINBOW # define GETCH getch() # define ASK_I_MIN (-32768) # define ASK_I_MAX (32767) # define ASK_F_MIN ((float)-1.701411733192644299e+38) # define ASK_F_MAX ((float)1.701411733192644299e+38) #endif #if UNIX || VMS || RAINBOW # define HAUT ('A') /* ^ */ # define BAS ('B') /* v */ # define DROITE ('C') /* -> */ # define GAUCHE ('D') /* <- */ # define DEBUT ('P') /* PF1 */ # define FIN ('S') /* PF4 */ # define AVANCE_MOT ('R') /* PF3 */ # define RECULE_MOT ('Q') /* PF2 */ # define TROUVE ('1') /* Touche Find : Esc[1~ */ # define HELP ('2') /* Touche Help : Esc[28~ */ # define save_curs() fputs("\0337",std_ask) # define rest_curs() fputs("\0338",std_ask) #endif #if PC # define HAUT (72) /* ^ */ # define BAS (80) /* v */ # define DROITE (77) /* -> */ # define GAUCHE (75) /* <- */ # define DEBUT (71) /* home */ # define FIN (79) /* end */ # define AVANCE_MOT (116) /* ctrl -> */ # define RECULE_MOT (115) /* ctrl -> */ # define HELP (59) /* F1 */ # define TROUVE (60) /* F2 */ # define save_curs() fputs("\033[s",std_ask) # define rest_curs() fputs("\033[u",std_ask) #endif #if UNIX || VMS # define I_MAX 9 # define SLEEP sleep(1) #endif #if PC || RAINBOW # define I_MAX 6 # define SLEEP for(i = 0; i < 100; i++); #endif char *ask_i_previous[NB_HIST], /* Les chaines i d'avant */ *ask_f_previous[NB_HIST], /* Les chaines f d'avant */ *ask_s_previous[NB_HIST], /* Les chaines s d'avant */ with_help[20] = {' ','(','?',' ','f','o','r',' ','h','e','l','p',')',0}, /* la chaine d'help par defaut */ no_help[15] = {'N','o',' ','h','e','l','p','\007',0}, /* la chaine no help */ bad_val[30] = {'B','a','d',' ','v','a','l','u','e',0}; /* * la chaine de mauvaise valeur par * defaut */ int ask_i_min = ASK_I_MIN, /* le domaine des int */ ask_i_max = ASK_I_MAX; float ask_f_min = ASK_F_MIN, /* le domaine des float */ ask_f_max = ASK_F_MAX; int nb_i_hist, /* le nb de chaines i memorisees */ nb_f_hist, /* le nb de chaines f memorisees */ nb_s_hist, /* le nb de chaines s memorisees */ p_i_stack, /* et leurs "pointeurs" */ p_f_stack, p_s_stack; int ask_traits = 0; /* faut-il ou non des tirets */ /* les fonctions */ #if UNIX || PC || RAINBOW FILE *std_ask = STD; /* The default output */ #endif static int max_texte, /* longueur max de texte ecrit */ len_texte; /* longueur de texte ecrit */ /* * ASKIDOMAIN() permet de mettre le domaine a une nouvelle valeur */ askidomain(min,max) int min, max; { if (min == max) /* reset aux valeurs par defaut */ { ask_i_min = ASK_I_MIN; ask_i_max = ASK_I_MAX; } /* fin du if */ else { ask_i_min = min; ask_i_max = max; } } /* fin du askidomain */ /* * ASKFDOMAIN() permet de mettre le domaine a une nouvelle valeur */ askfdomain(min,max) float min, max; { if (min == max) /* reset aux valeurs par defaut */ { ask_f_min = ASK_F_MIN; ask_f_max = ASK_F_MAX; } /* fin du if */ else { ask_f_min = min; ask_f_max = max; } } /* fin du askfdomain */ /* * ASK_SPEAK() permet de choisir la langue utilisee * a = anglais (defaut) * f = francais * i = italien * e = espagnol * d = allemand (deutsh) */ ask_speak(langue) char langue; { switch (langue) { case 'f': strcpy(with_help," (? pour aide)"); strcpy(no_help,"Pas d'aide\007"); strcpy(bad_val,"Mauvaise valeur"); break; case 'i': strcpy(with_help," (? per aiuto)"); strcpy(no_help,"No aiuto\007"); strcpy(bad_val,"Cattiva valora"); break; case 'd': strcpy(with_help," (? fur Hilfe"); strcpy(no_help,"Nicht Hilfe\007"); strcpy(bad_val,"Nicht Gut"); break; case 'e': strcpy(with_help," (? por ayudad)"); strcpy(no_help,"No ayudad\007"); strcpy(bad_val,"No bueno"); break; case 'a': default: strcpy(with_help," (? for help)"); strcpy(no_help,"No help\007"); strcpy(bad_val,"Bad value"); } /* fin du switch (langue) */ } /* fin du ask_speak */ #if UNIX || PC || RAINBOW /* * ASK_OUT() permet de rediriger la sortie vers stderr ou stdout */ ask_out(std) FILE *std; { std_ask = std; } /* fin du ask_out */ #endif /* * * ASKIVAL & FASKIVAL & ASKIVALF & ASKIVALH * prompte pour une valeur entiere sur stdin * retourne cette valeur entiere, ou bien une * valeur par defaut si return seul est entre */ askival(prompt,defaut) char *prompt; int defaut; { char ch_recu[10], hors_lim[30]; int recu; do { fputs(prompt,std_ask); sprintf(ch_recu,"%d",defaut); ask_edite(I_MAX,ch_recu,'i',ask_i_previous,no_help,0,0); if (strlen(ch_recu)) recu = atoi(ch_recu); else recu = defaut; if (ask_i_min == ask_i_max) break; if (recu < ask_i_min || recu > ask_i_max) { sprintf(hors_lim,"%s (%d-%d)",bad_val,ask_i_min,ask_i_max); a_droite(79-strlen(hors_lim)); fprintf(std_ask,"\007%s%s%s\r",REVERSE,hors_lim,NORMAL); } /* fin du if */ } while (recu < ask_i_min || recu > ask_i_max); return(recu); } askivalh(prompt,defaut,help) char *prompt; int defaut; char *help; { char ch_recu[10], hors_lim[30]; int recu; do { fputs(prompt,std_ask); sprintf(ch_recu,"%d",defaut); ask_edite(I_MAX,ch_recu,'i',ask_i_previous,help,1,1); if (strlen(ch_recu)) recu = atoi(ch_recu); else recu = defaut; if (ask_i_min == ask_i_max) break; if (recu < ask_i_min || recu > ask_i_max) { sprintf(hors_lim,"%s (%d-%d)",bad_val,ask_i_min,ask_i_max); a_droite(79-strlen(hors_lim)); fprintf(std_ask,"\007%s%s%s\r",REVERSE,hors_lim,NORMAL); } /* fin du if */ } while (recu < ask_i_min || recu > ask_i_max); return(recu); } askivalf(prompt,defaut,field,ligne,col,help,h_l,h_c) char *prompt; int defaut, field, ligne, col; char *help; int h_l, h_c; { char ch_recu[10], hors_lim[30]; int recu; ask_traits = 1; do { if (ligne && col) curseur(ligne,col); if (field > I_MAX) field = I_MAX; fputs(prompt,std_ask); sprintf(ch_recu,"%d",defaut); ask_edite(field,ch_recu,'i',ask_i_previous,help,h_l,h_c); if (strlen(ch_recu)) recu = atoi(ch_recu); else recu = defaut; if (ask_i_min == ask_i_max) break; if (recu < ask_i_min || recu > ask_i_max) { if (ligne && col) curseur(ligne,col); sprintf(hors_lim,"%s (%d-%d)",bad_val,ask_i_min,ask_i_max); a_droite(79-strlen(hors_lim)-col); fprintf(std_ask,"\007%s%s%s\r",REVERSE,hors_lim,NORMAL); } /* fin du if */ } while (recu < ask_i_min || recu > ask_i_max); return(recu); } faskival(pf,defaut) FILE *pf; int defaut; { char ch_recu[15]; fgets(ch_recu,15,pf); if (strlen(ch_recu)) return(atoi(ch_recu)); return(defaut); } /* * * ASKCVAL & FASKCVAL & ASKCVALF & ASKFVALH * prompte pour un caractere ou un string sur stdin * retourne ce caractere ou la 1ere lettre du string, * ou bien une valeur par defaut si return seul est entre */ char askcval(prompt,defaut) char *prompt; char defaut; { char ch_recu[3]; fputs(prompt,std_ask); ch_recu[0] = defaut; ch_recu[1] = 0; ask_edite(1,ch_recu,'c',0,no_help,0,0); if (strlen(ch_recu)) return(ch_recu[0]); return(defaut); } char askcvalh(prompt,defaut,help) char *prompt; char defaut; char *help; { char ch_recu[3]; fputs(prompt,std_ask); ch_recu[0] = defaut; ch_recu[1] = 0; ask_edite(1,ch_recu,'c',0,help,1,1); if (strlen(ch_recu)) return(ch_recu[0]); return(defaut); } char askcvalf(prompt,defaut,ligne,col,help,h_l,h_c) char *prompt; char defaut; int ligne, col; char *help; int h_l, h_c; { char ch_recu[3]; ask_traits = 1; if (ligne && col) curseur(ligne,col); fputs(prompt,std_ask); ch_recu[0] = defaut; ch_recu[1] = 0; ask_edite(1,ch_recu,'c',0,help,h_l,h_c); if (strlen(ch_recu)) return(ch_recu[0]); return(defaut); } char faskcval(pf,defaut) FILE *pf; char defaut; { char ch_recu[15]; fgets(ch_recu,15,pf); if (strlen(ch_recu)) return(ch_recu[0]); return(defaut); } /* * * ASKFVAL & FASKFVAL & ASKFVALF &ASKFVALH * prompte pour une valeur reelle sur stdin * retourne cette valeur reelle, ou bien une * valeur par defaut si return seul est entre. * */ float askfval(prompt,defaut) char *prompt; float defaut; { float f_val; char ch_recu[15], hors_lim[30]; do { fputs(prompt,std_ask); sprintf(ch_recu,"%f",defaut); ask_edite(14,ch_recu,'f',ask_f_previous,no_help,0,0); if (strlen(ch_recu)) sscanf(ch_recu,"%f",&f_val); else f_val = defaut; if (ask_f_min == ask_f_max) break; if (f_val < ask_f_min || f_val > ask_f_max) { sprintf(hors_lim,"%s (%.1f-%.1f)",bad_val,ask_f_min,ask_f_max); a_droite(79-strlen(hors_lim)); fprintf(std_ask,"\007%s%s%s\r",REVERSE,hors_lim,NORMAL); } /* fin du if */ } while (f_val < ask_f_min || f_val > ask_f_max); return(f_val); } float askfvalh(prompt,defaut,help) char *prompt; float defaut; char *help; { float f_val; char ch_recu[15], hors_lim[30]; do { fputs(prompt,std_ask); sprintf(ch_recu,"%f",defaut); ask_edite(14,ch_recu,'f',ask_f_previous,help,1,1); if (strlen(ch_recu)) sscanf(ch_recu,"%f",&f_val); else f_val = defaut; if (ask_f_min == ask_f_max) break; if (f_val < ask_f_min || f_val > ask_f_max) { sprintf(hors_lim,"%s (%.1f-%.1f)",bad_val,ask_f_min,ask_f_max); a_droite(79-strlen(hors_lim)); fprintf(std_ask,"\007%s%s%s\r",REVERSE,hors_lim,NORMAL); } /* fin du if */ } while (f_val < ask_f_min || f_val > ask_f_max); return(f_val); } float askfvalf(prompt,defaut,field,ligne,col,help,h_l,h_c) char *prompt; float defaut; int field, ligne, col; char *help; int h_l, h_c; { float f_val; char ch_recu[15], hors_lim[30]; ask_traits = 1; do { if (ligne && col) curseur(ligne,col); if (field > 14) field = 14; fputs(prompt,std_ask); sprintf(ch_recu,"%f",defaut); ask_edite(field,ch_recu,'f',ask_f_previous,help,h_l,h_c); if (strlen(ch_recu)) sscanf(ch_recu,"%f",&f_val); else f_val = defaut; if (ask_f_min == ask_f_max) break; if (f_val < ask_f_min || f_val > ask_f_max) { if (ligne && col) curseur(ligne,col); sprintf(hors_lim,"%s (%.1f-%.1f)",bad_val,ask_f_min,ask_f_max); a_droite(79-strlen(hors_lim)-col); fprintf(std_ask,"\007%s%s%s\r",REVERSE,hors_lim,NORMAL); } /* fin du if */ } while (f_val < ask_f_min || f_val > ask_f_max); return(f_val); } float faskfval(pf,defaut) FILE *pf; float defaut; { float f_val; char ch_recu[15]; fgets(ch_recu,15,pf); if (strlen(ch_recu)) { sscanf(ch_recu,"%f",&f_val); return(f_val); } return(defaut); } /* * * ASKSVAL & FASKSVAL & ASKSVALF & ASKSVALH * prompte pour une chaine de caracteres sur stdin * retourne le buffer, ou bien une * valeur par defaut si return seul est entre */ asksval(prompt,defaut,renvoi) char *prompt, *defaut, *renvoi; { char ch_recu[81]; int nb_car; fputs(prompt,std_ask); sprintf(ch_recu,"%s",defaut); ask_edite(79 - strlen(prompt),ch_recu,'s',ask_s_previous,no_help,0,0); if (nb_car=strlen(ch_recu)) { strcpy(renvoi,ch_recu); return(nb_car); } strcpy(renvoi,defaut); nb_car=strlen(defaut); return(nb_car); } asksvalh(prompt,defaut,renvoi,help) char *prompt, *defaut, *renvoi, *help; { char ch_recu[81]; int nb_car; fputs(prompt,std_ask); sprintf(ch_recu,"%s",defaut); ask_edite(79-strlen(prompt)-strlen(with_help),ch_recu,'s',ask_s_previous,help,1,1); if (nb_car=strlen(ch_recu)) { strcpy(renvoi,ch_recu); return(nb_car); } strcpy(renvoi,defaut); nb_car=strlen(defaut); return(nb_car); } asksvalf(prompt,defaut,renvoi,field,ligne,col,help,h_l,h_c) char *prompt, *defaut, *renvoi; int field, ligne, col; char *help; int h_l, h_c; { char ch_recu[81]; int nb_car; ask_traits = 1; if (ligne && col) curseur(ligne,col); if (field > 80) field = 80; fputs(prompt,std_ask); sprintf(ch_recu,"%s",defaut); ask_edite(field,ch_recu,'s',ask_s_previous,help,h_l,h_c); if (nb_car=strlen(ch_recu)) { strcpy(renvoi,ch_recu); return(nb_car); } strcpy(renvoi,defaut); nb_car=strlen(defaut); return(nb_car); } fasksval(pf,defaut,renvoi) FILE *pf; char *defaut, *renvoi; { char ch_recu[81]; int nb_car; fgets(ch_recu,80,pf); if (nb_car=strlen(ch_recu)) { strcpy(renvoi,ch_recu); return(nb_car); } strcpy(renvoi,defaut); nb_car=strlen(defaut); return(nb_car); } #if UNIX #include static short cooked; static struct sgttyb tbuf; static void setcbreak() { if(ioctl(0,TIOCGETP,&tbuf) == -1) { printf("askval: Impossible to get the terminal characteristics\n"); printf("You probably redirect the stdin... (not allowed)\n"); exit(); } cooked = tbuf.sg_flags; tbuf.sg_flags = CBREAK; if (ioctl(0,TIOCSETP,&tbuf) == -1) { printf("askval: Impossible to put the terminal in CBREAK mode\n"); exit(); } } static void restore() { tbuf.sg_flags = cooked; if (ioctl(0,TIOCSETP,&tbuf) == -1) printf("Impossible to restore the terminal characteristics\n"); } #endif #if VMS #include #include #include #include #include static int ttchannel, cooked[3]; static void setcbreak() { int status; short iosb[4]; int ttchar[3]; $DESCRIPTOR(ttdesc,"TT:"); status = sys$assign ( &ttdesc, &ttchannel, 0 , 0 ); if (status != SS$_NORMAL) { fprintf(stderr,"%%ASKVAL: Error %d on ASSIGN TT:\n",status); exit(status); } status = sys$qiow ( 0 , ttchannel, IO$_SENSEMODE, iosb , 0 , 0 , cooked , 12 , 0 , 0 , 0 , 0 ); if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) { fprintf(stderr,"%%ASKVAL: Error %d on QIO SENSEMODE\n",status); exit(status); } ttchar[0] = cooked[0]; ttchar[1] = cooked[1] | TT$M_NOECHO; ttchar[2] = cooked[2] | TT2$M_PASTHRU; status = sys$qiow ( 0 , ttchannel, IO$_SETMODE, iosb , 0 , 0 , ttchar , 12 , 0 , 0 , 0 , 0 ); if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) { fprintf(stderr,"%%ASKVAL: Error %d on QIO SETMODE\n",status); exit(status); } } static void restore() { int status; short iosb[4]; status = sys$qiow ( 0 , ttchannel, IO$_SETMODE, iosb , 0 , 0 , cooked , 12 , 0 , 0 , 0 , 0 ); if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) { fprintf(stderr,"%%ASKVAL: Error %d on QIO SETMODE\n",status); exit(status); } status = sys$dassgn(ttchannel); } static char getchar_vms() { char c; short iosb[4]; int status; status = sys$qiow ( 0 , ttchannel, IO$_READVBLK, iosb , 0 , 0 , &c , 1 , 0 , 0 , 0 , 0 ); return(c); } #endif /* * ASK_EDITE() permet de faire de l'edition pleine page de la reponse * avant de la sauver. */ static ask_edite(field_length,texte,type,history,aide,h_ligne,h_col) int field_length; /* length of the field to edit */ char *texte, /* the filled text */ type, /* i, f, c, s */ *history[NB_HIST]; char *aide; /* texte du help */ int h_ligne, /* ligne et colonne du help */ h_col; { int col_crte, /* colonne courante */ keep = 1, /* flag */ deplcmt = 0, /* flag */ hist_ptr, /* pointeur sur l'historique */ current_stack, /* indice du ring buffer en cours */ nb_hist, /* nb de chaines stockees */ help, /* is help needed */ i, k; /* indices */ char c, /* le charactere lu */ place, /* * ce qui s'imprime a la place d'un caractere * vide si ask_traits est a 1 */ defaut[81], /* la valeur par defaut */ corrige[81]; /* buffer de correction */ #if UNIX || PC || RAINBOW if (!isatty(0)) /* si c'est redirige, l'edition n'a pas de sens */ { fgets(texte,80,stdin); return; } /* fin du if */ #endif #if UNIX || VMS setcbreak(); /* met le terminal en cbreak */ #endif texte[field_length] = 0; /* limite le champ ecrit au champ alloue */ max_texte = 0; save_curs(); col_crte = 0; /* On ecrit d'abord le valeur par defaut */ strcpy(defaut,texte); strcpy(corrige,texte); fprintf(std_ask,"%s",texte); /* suivie ou non de place holders */ len_texte = strlen(texte); if ( len_texte > max_texte) max_texte = len_texte; if (ask_traits) place = '_'; else place = ' '; if (h_ligne && h_col) help = 1; else help = 0; if (help || ask_traits) for (i = strlen(texte); i < field_length; i++) putc(place,std_ask); if (help) { curseur(h_ligne,h_col); fputs(with_help,std_ask); } /* fin du if */ rest_curs(); /* on pointe sur la bonne reponse en fonction du type */ switch(type) { case 'i': current_stack = p_i_stack; nb_hist = nb_i_hist; break; case 'f': current_stack = p_f_stack; nb_hist = nb_f_hist; break; case 's': current_stack = p_s_stack; nb_hist = nb_s_hist; } /* fin du switch(type) */ if (type != 'c') hist_ptr = current_stack; while (1) { c = GETCH; if (c == '\015') /* c'est fini, on a fait CR */ { fputs("\n\r",std_ask); break; } /* fin du if */ #if UNIX || VMS || RAINBOW if ((c & 0177) == ESC) /* c'est le debut dune touche speciale */ { if ( (c == '\233') || (c = GETCH) == '[' || c == 'O') { #endif #if PC if (c == 0) /* c'est le debut dune touche speciale */ { #endif c = GETCH; switch (c) { case HAUT: if (type == 'c' || !nb_hist) break; if (hist_ptr) hist_ptr--; else hist_ptr = nb_hist-1; strcpy(texte,history[hist_ptr]); re_ecrit(field_length,texte,place,help,h_ligne,h_col); col_crte = 0; break; case BAS: if (type == 'c' || !nb_hist) break; if (hist_ptr < nb_hist-1) hist_ptr++; else hist_ptr = 0; strcpy(texte,history[hist_ptr]); re_ecrit(field_length,texte,place,help,h_ligne,h_col); col_crte = 0; break; case DROITE: col_crte++; if (col_crte == strlen(texte)+1) { BEEP; col_crte--; break; } a_droite(1); deplcmt = 1; break; case GAUCHE: col_crte--; if (col_crte < 0) { BEEP; col_crte++; break; } A_GAUCHE; deplcmt = 1; break; case DEBUT: /* debut de ligne */ rest_curs(); col_crte = 0; deplcmt = 1; break; case RECULE_MOT: /* back par mot */ if (type != 's') { BEEP; break; } /* fin du if */ while(texte[col_crte] != ' ') { if (col_crte) { col_crte--; } /* fin du if */ else { BEEP; break; } /* fin du else */ } /* fin du while */ rest_curs(); if (col_crte) { col_crte--; a_droite(col_crte); } /* fin du if */ deplcmt = 1; break; case AVANCE_MOT: /* forward par mot */ if (type != 's') { BEEP; break; } /* fin du if */ while(texte[col_crte] != ' ') { if (col_crte < strlen(texte)) { col_crte++; } /* fin du if */ else { BEEP; break; } /* fin du else */ } /* fin du while( */ col_crte++; rest_curs(); a_droite(col_crte); deplcmt = 1; break; case FIN: /* fin de ligne */ a_droite(strlen(texte)-col_crte); col_crte = strlen(texte); deplcmt = 1; break; #if PC case HELP: /* aide */ if (help) { curseur(h_ligne,h_col); fprintf(std_ask,"%s\007%s%s",REVERSE,aide,NORMAL); rest_curs(); } /* fin du if */ else { rest_curs(); fprintf(std_ask,"%s\007%s%s",REVERSE,aide,NORMAL); rest_curs(); len_texte = strlen(texte); if ( len_texte > max_texte) max_texte = len_texte; fprintf(std_ask,"%s",texte); len_texte = strlen(texte); if ( len_texte > max_texte) max_texte = len_texte; for(i = 0; i < max_texte; i++) putc(' ',std_ask); rest_curs(); if (ask_traits) for (i = strlen(texte); i < field_length; i++) putc(place,std_ask); rest_curs(); if (col_crte) a_droite(col_crte); } /* fin du else */ break; case TROUVE: /* recherche dans l'histoire */ if (type == 'c' || !nb_hist) break; for (i = 0; i < nb_hist; i++) { if (his ~ BIBLIO.BCKW&b%[DANA.BIBLIO]ASKVAL.C;6TK>t_ptr) hist_ptr--; else hist_ptr = nb_hist-1; if (strncmp(history[hist_ptr],texte,strlen(texte))) continue; else { strcpy(texte,history[hist_ptr]); re_ecrit(field_length,texte,place,help,h_ligne,h_col); col_crte = 0; break; } /* fin du else */ } /* fin du for */ BEEP; /* pas trouve */ break; #endif #if UNIX || VMS || RAINBOW case TROUVE: c = GETCH; if ( c == '~') /* touche Find */ { if (type == 'c' || !nb_hist) break; for (i = 0; i < nb_hist; i++) { if (hist_ptr) hist_ptr--; else hist_ptr = nb_hist-1; if (strncmp(history[hist_ptr],texte,strlen(texte))) continue; else { strcpy(texte,history[hist_ptr]); re_ecrit(field_length,texte,place,help,h_ligne,h_col); col_crte = 0; break; } /* fin du else */ } /* fin du for */ BEEP; /* pas trouve */ } /* fin du if */ break; case HELP: /* aide */ c = GETCH; if ( c == '8') /* touche Help ? */ { c = GETCH; if ( c == '~') /* touche Help */ { if (help) { curseur(h_ligne,h_col); fprintf(std_ask,"%s\007%s%s",REVERSE,aide,NORMAL); rest_curs(); } /* fin du if */ else { rest_curs(); fprintf(std_ask,"%s\007%s%s",REVERSE,aide,NORMAL); fflush(std_ask); rest_curs(); len_texte = strlen(texte); if ( len_texte > max_texte) max_texte = len_texte; SLEEP; len_texte = strlen(texte); if ( len_texte > max_texte) max_texte = len_texte; for(i = 0; i < max_texte; i++) putc(' ',std_ask); rest_curs(); fprintf(std_ask,"%s",texte); if(ask_traits) for (i = strlen(texte); i < field_length; i++) putc(place,std_ask); rest_curs(); if (col_crte) a_droite(col_crte); } /* fin du else */ } /* fin du if */ } /* fin du if */ break; #endif default: BEEP; } #if UNIX || VMS || RAINBOW } #endif } else { if ( c == '\177' || c == '\010') /* delete ou BS */ { if (col_crte == 0) { BEEP; continue; } for (i = 0; i < 80; i++) corrige[i] = 0; k = col_crte; strncpy(corrige,texte,k-1); strcat(corrige,&texte[k]); strcpy(texte,corrige); col_crte--; fprintf(std_ask,"\b%s%c",&texte[k-1],(place)?place:' '); rest_curs(); if (col_crte) a_droite(col_crte); continue; } /* On annule et on reprend le defaut */ if ( c == CTRL_G ) { BEEP; keep = 1; rest_curs(); col_crte = 0; strcpy(texte,defaut); strcpy(corrige,texte); fprintf(std_ask,"%s",texte); if (ask_traits || help) for (i = strlen(texte); i < field_length; i++) putc(place,std_ask); if (help) { curseur(h_ligne,h_col); fputs(with_help,std_ask); } rest_curs(); } /* fin du if */ if ( c == REDRAW ) { BEEP; re_ecrit(field_length,texte,place,help,h_ligne,h_col); if (col_crte) a_droite(col_crte); continue; } /* fin du if */ if (c == QUESTION ) { if (help) { curseur(h_ligne,h_col); fprintf(std_ask,"%s\007%s%s",REVERSE,aide,NORMAL); rest_curs(); if (col_crte) a_droite(col_crte); } /* fin du if */ else { rest_curs(); fprintf(std_ask,"%s\007%s%s",REVERSE,aide,NORMAL); fflush(std_ask); rest_curs(); SLEEP; len_texte = strlen(texte); if ( len_texte > max_texte) max_texte = len_texte; for(i = 0; i < max_texte; i++) putc(' ',std_ask); rest_curs(); fprintf(std_ask,"%s",texte); if (ask_traits) for (i = strlen(texte); i < field_length; i++) putc(place,std_ask); rest_curs(); if (col_crte) a_droite(col_crte); } /* fin du else */ continue; } /* fin du if */ if (c == CTRL_R ) { if (type == 'c' || !nb_hist) continue; for (i = 0; i < nb_hist; i++) { if (hist_ptr) hist_ptr--; else hist_ptr = nb_hist-1; if (strncmp(history[hist_ptr],texte,strlen(texte))) continue; else { strcpy(texte,history[hist_ptr]); re_ecrit(field_length,texte,place,help,h_ligne,h_col); col_crte = 0; break; } /* fin du else */ } /* fin du for */ BEEP; /* pas trouve */ continue; } /* fin du if */ #if VMS /* CTRL C et CTRL Y ne sont pas reconnus en mode cbreak */ if (c == '\003' || c == '\031') { restore(); exit(); } /* fin du if */ #endif if ( c < ' ') { BEEP; continue; } if (keep && !deplcmt) { keep = 0; rest_curs(); for(i = 0; i < max_texte; i++) putc(' ',std_ask); rest_curs(); if (ask_traits || help) for (i = 0; i < field_length; i++) putc(place,std_ask); if (help) { curseur(h_ligne,h_col); fputs(with_help,std_ask); } /* fin du if */ rest_curs(); col_crte = 0; texte[0] = 0; /* on elimine le defaut */ } /* fin du if */ if (col_crte == field_length) { BEEP; continue; } /* fin du if */ if( type == 'i') { if (!strchr("1234567890-+",c)) { BEEP; continue; } /* fin du if */ } if( type == 'f') { if (!strchr("1234567890-+.eE",c)) { BEEP; continue; } /* fin du if */ } for (i = 0; i < 80; i++) corrige[i] = 0; strncpy(corrige,texte,col_crte); corrige[col_crte] = c; corrige[col_crte+1] = 0; strcat(corrige,&texte[col_crte]); corrige[field_length] = 0; strcpy(texte,corrige); fprintf(std_ask,"%s",&texte[col_crte]); col_crte++; rest_curs(); a_droite(col_crte); if (col_crte > field_length) { col_crte--; A_GAUCHE; BEEP; } /* fin du if */ } } #if UNIX || VMS restore(); /* repasse en mode cooked */ #endif if (type != 'c') { history[current_stack] = (char *)malloc((strlen(texte)+1)); strcpy(history[current_stack],texte); if (current_stack < NB_HIST-1) current_stack++; else current_stack = 0; if (nb_hist < NB_HIST) nb_hist ++; /* on restocke en fonction du type */ switch(type) { case 'i': p_i_stack = current_stack; nb_i_hist = nb_hist; break; case 'f': p_f_stack = current_stack; nb_f_hist = nb_hist; break; case 's': p_s_stack = current_stack; nb_s_hist = nb_hist; } /* fin du switch(type) */ } /* fin du if */ } /* * RE_ECRIT() reecrit la ligne et se met au debut */ static re_ecrit(field_length,texte,place,help,h_ligne,h_col) int field_length; char *texte, place; int help, h_ligne, h_col; { int i; rest_curs(); len_texte = strlen(texte); if (len_texte > max_texte) max_texte = len_texte; for(i = 0; i < max_texte; i++) putc(' ',std_ask); rest_curs(); fprintf(std_ask,"%s",texte); if (ask_traits || help) for (i = strlen(texte); i < field_length; i++) putc(place,std_ask); if (help) { curseur(h_ligne,h_col); fputs(with_help,std_ask); } /* fin du if */ rest_curs(); fflush(std_ask); } *[DANA.BIBLIO]ASKVAL.H;3+,]&./ 4Nr-b%0123KPWO56;7D;8/ǔ9GHJ/*** A S K V A L . H*$* Corresponds to askval.c V2.26* Header to include to each program calling the** /usr/local/lib/libaskval.a library*D* Entete pour askval.c V2.0 a inclure dans tous les programmes1* faisant appel a la librairie libaskval.ar*4* programs to compile with the option -laskval*4* programmes a compiler avec l'option -laskval*I* askval.c - Prompt for a number, char or string with default value** Date: 29-Aout-89** Auteur: Dr J-F VIBERT** Laboratoire de Physiologie!* CHU Saint-Antoine* 27 rue Chaligny$* 75571 Paris cedex 12* France** Copyright Dr JF Vibert* All rights reserved,* Access limited to authorized persons=* This software was developped only for resarch purpose8* and is in any way usable for commercial purpose.**/#define NB_HIST 10'#define ask_tirets(ok) (ask_traits=ok)Kextern char *ask_i_previous[NB_HIST], /* Les chaines i d'avant */K *ask_f_previous[NB_HIST], /* Les chaines f d'avant */K *ask_s_previous[NB_HIST], /* Les chaines s d'avant */N with_help[20], /* la chaine d'help par defaut*/G no_help[15], /* la chaine no help */2 bad_val[30]; /*H  * la chaine de mauvaiseD * valeur par defaut3 */8extern int ask_i_min, /* le domaine des int */ ask_i_max;:extern float ask_f_min, /* le domaine des float */ ask_f_max;Cextern int nb_i_hist, /* le nb de chaines i memorisees */C nb_f_hist, /* le nb de chaines f memorisees */C nb_s_hist, /* le nb de chaines s memorisees */: p_i_stack, /* et leurs "pointeurs" */ p_f_stack, p_s_stack;Jextern int ask_traits; /* faut-il ou non des tirets */B /* les fonctions */>extern int askival(), askivalh(), askivalf(), faskival(),> asksval(), asksvalh(), asksvalf(), fasksval();>extern float askfval(), askfvalh(), askfvalf(), faskfval();>extern char askcval(), askcvalh(), askcvalf(), faskcval();@extern FILE *std_ask; /* The default output */*[DANA.BIBLIO]BIB.DIR;1+,;./ 4-b%0123 KPWO56M7a8P. Ŕ9GHJI N PACE C_ABBREV.BIB7 C_AUTEUR.BIBPC_AUTEUR_INDEX.BIB&4 C_CODCLE.BIB C_FICHES.BIB C_MOTCLE.BIBC_MOTCLE_INDEX.BIBP$C_SUPER_CLE.BIB)"*[DANA.BIBLIO.BIB]C_ABBREV.BIB;1+,7./ 4-;0123KPWO56>7`>8@\Ŕ9GHJ*[DANA.BIBLIO.BIB]C_AUTEUR.BIB;1+,P./ 4-;0123KPWO5 6Έ>7 8qŔ9GHJ%*[DANA.BIBLIO.BIB]C_AUTEUR_INDEX.BIB;8+,&4. / 4 $-;0123KPWO 56F 7X8uŔ9GHJ*[DANA.BIBLIO.BIB]C_CODCLE.BIB;8+,./ 4-;0123KPWO56@ 7` 8PŔ9GHJ0INFOLABORESEAUXINFORMATIQUEP~ BIBLIO.BCK;[DANA.BIBLIO.BIB]C_CODCLE.BIB;8*[DANA.BIBLIO.BIB]C_FICHES.BIB;1+,./ 4-;0123KPWO5 6ȥ>7` 8`ZŔ9GHJ SBCDTYYYYRYKJjyjhg ljkk.jhkuh klFD58Mon Jun 24SSSAIRIALXle titrePP70Mon Jun 24SIBERTZMYFLes reseaux de neurones biologiquesPP-5Mon Jun 24*[DANA.BIBLIO.BIB]C_MOTCLE.BIB;1+,./ 4-;0123KPWO5 6@v9>7` 8`*gŔ9GHJ%*[DANA.BIBLIO.BIB]C_MOTCLE_INDEX.BIB;8+,P$./ 4D-;0123KPWO56 7{ 8Ŕ9GHJ "*[DANA.BIBLIO.BIB]C_SUPER_CLE.BIB;1+,)"./ 4-;0123KPWO56_>7@L.>8GŔ9GHJ!*[DANA.BIBLIO]BIBLIO$STARTUP.COM;1+,xo./ 4<-b%0123KPWO56b97~Q8; Ŕ9GHJ0$ define/system bib sys$envroot:[biblio_general]$ define/system bibedit edit<$ define/system/exec sys$biblio_bin sys$envroot:[biblio_bin]*[DANA.BIBLIO]BIBLIO.COM;1+,./ 4.|-b%0123KPWO56 Rq7`Q8`O Ŕ9GHJ,$corrige_fiches :== $ BIB_EXE:corrige_fiches($edite_fiches :== $ BIB_EXE:edite_fiches&$kill_fiches :== $ BIB_EXE:kill_fiches$$form_refer :== $ BIB_EXE:form_refer($liste_fiches :== $ BIB_EXE:liste_fiches$$ini_biblio :== $ BIB_EXE:ini_biblio($modif_abbaut :== $ BIB_EXE:modif_abbaut"$modif_cle :== $ BIB_EXE:modif_cle.$modif_super_cle :== $ BIB_EXE:modif_super_cle$$new_fiches :== $ BIB_EXE:new_fiches"$thesaurus :== $ BIB_EXE:thesaurus*$trouve_auteur :== $ BIB_EXE:trouve_auteur$$trouve_cle :== $ BIB_EXE:trouve_cle($trouve_texte :== $ BIB_EXE:trouve_texte#$define /user SYS$INPUT SYS$COMMAND$run BIB_EXE:menu_bib_vms *[DANA.BIBLIO]BIBLIO.DIR;1+,k$./ 4-b%0123 KPWO56 =L񏩔7 p񏩔8 Ŕ9GHJI N PACE C_ABBREV.BIBk( C_AUTEUR.BIB43C_AUTEUR_INDEX.BIB C_CODCLE.BIB0  C_FICHES.BIB C_MOTCLE.BIB*C_MOTCLE_INDEX.BIBC_SUPER_CLE.BIBٚ"*[DANA.BIBLIO.BIBLIO]C_ABBREV.BIB;2+,k(./ 4-k$0123KPWO56M’7Œ80 Ŕ9GHJ"*[DANA.BIBLIO.BIBLIO]C_AUTEUR.BIB;2+,43./ 4X-k$0123KPWO56*9Ò7 '8 MRƔ9GHJ(*[DANA.BIBLIO.BIBLIO]C_AUTEUR_INDEX.BIB;5+,. / 4 $-k$0123KPWO 56j 7Nу8FPŔ9GHJ"*[DANA.BIBLIO.BIBLIO]C_CODCLE.BIB;5+,0 ./ 4-k$0123KPWO5667 C8MNŔ9GHJPRFORMECAOVLSILAYOUTSYMBOLIQUE~ BIBLIO.BCK0 k$"[DANA.BIBLIO.BIBLIO]C_CODCLE.BIB;5U"*[DANA.BIBLIO.BIBLIO]C_FICHES.BIB;2+,./ 4Z-k$0123KPWO5 6{’7ʙ'8 RƔ9GHJSNAVINEREAN FRANCDUFOURDJEAN FJEAN CHistoire de la Prforme et de ses avatars- TRANSACTION ON CAD FOR VLSI1234-56nonMon Jun 24"*[DANA.BIBLIO.BIBLIO]C_MOTCLE.BIB;2+,*./ 4-k$0123KPWO56’7'82RƔ9GHJ(*[DANA.BIBLIO.BIBLIO]C_MOTCLE_INDEX.BIB;5+,./ 4D-k$0123KPWO56BO7@8@pOŔ9GHJ %*[DANA.BIBLIO.BIBLIO]C_SUPER_CLE.BIB;2+,ٚ./ 4-k$0123KPWO56Ò7ԭŒ8#Ŕ9GHJ*[DANA.BIBLIO]BIBLIO.H;1+,.. / 4I :-b%0123KPWO 56!(7 R8 Ŕ9GHJ/**>* BIBLIO.H est le header file dans lequel sont definies toutes9* les variables globales necessaires au logiciel C_biblio** UNIX, VMS, MS/DOS* ** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**/ /*A * Appel des definitions OS dependantes ( noms de fichiers et de5 * directories, editeur, ordres de lecture ecriture) */#include "sys_bib.h" /* Numero de version */ #ifdef UNIX# define VERSION "V4.2-u"#endif #ifdef VMS# define VERSION "V4.2-v"#endif #ifdef MS_DOS# define VERSION "V4.2-m"#endif#define NB_KEY_AUT 30#define NB_ABBREV 30#define CORR_ORTOG 2=char cle[1000][13]; /* le tableau de pointeur des mot_cles */;short key_fiche[100], /* les numeros des fiches indexees */5 aut_fiche[100],/* les numeros des fiches indexees */ *p_aut_fiche,/ *p_key_fiche, /* et des pointeurs sur elles */) nb_cles, /* le nb de mots cles actuel */1 nb_key_act; /* nb de mots cles dans la fiche */ ?int motcle_last_bloc, /* le 1er bloc libre dans c_motcle.bib */< auteur_last_bloc; /* le 1er bloc libre dans c_auteur.bib */ )short simple, /* flag (fiche simple ) */& killed, /* flag (fiche supprimee) */3 wrong_numero; /* flag (mauvais numero de fiche) */ -char tmp_ok; /* flag (on pourra corriger) */struct auteur_index{- short nb_fiches, /* nb de fiches indexees */1 nb_elimine, /* nb de fiches supprimee (a -1) */9 first_bloc, /* numero du 1er bloc dans c_auteurs.bib *// num_next; /* numero du prochain mot libre */} auteur[676], *p_auteur;struct motcle_index{- short nb_fiches, /* nb de fiches indexees */1 nb_elimine, /* nb de fiches supprimee (a -1) */8 first_bloc, /* numero du 1er bloc dans c_motcle.bib *// num_next; /* numero du prochain mot libre */} motcle[1000], *p_motcle;Ichar key_auteurs[NB_KEY_AUT][13], /* les auteurs a mettre en mots cles */ nb_key_aut, /* leur nombre */) nb_abbrev; /* le nb d'abbreviations */ struct abbrev{% char bref[10], /* le titre abrege */" full[37]; /* et le full title */} revue[NB_ABBREV], *p_revue;/struct S_reference /* une reference Simple */{ char type; short numero, nb_auteurs; char nom[5][19], prenom[5][7], titre[4][81], journal[37], volume[5], pages[11]; short annee; char t_a_p[11]; short uic_mb; char jour[10]; short keys[10]; } *p_S_fiche;/struct D_reference /* une reference Double */{ char type; short numero, nb_auteurs; char nom[10][19], prenom[10][7], titre[4][81], livre[81], editeurs[81], publisher[40], ville[40], journal[37], volume[5], pages[11]; short annee; char t_a_p[11]; short uic_mb; char jour[10]; short keys[10];};Funion /* une Union pour simplifer les choses et gagner dela place */{ struct S_reference Simple; struct D_reference Double; struct S_reference A_lire[2]; 5} fiche, *p_fiche; /* fiche.Simple et fiche.Double */1FILE *c_motcle_index, /* index de c_motcle.bib */! *c_motcle, /* c_motcle.bib C */! *c_codcle, /* c_codcle.bib C */! *c_fiches, /* c_fiches.bib C *// *c_auteur_index, /* index de c_auteur.bib C */! *c_auteur, /* c_auteur.bib C */! *c_abbrev, /* c_abbrev.bib C */1 *c_super; /* le fichier texte des super_cles */*[DANA.BIBLIO]BIBLIOTEX.COM;1+,2./ 4.|-b%0123KPWO56@Sq7@@R8@ Ŕ9GHJ,$corrige_fiches :== $ BIB_EXE:corrige_fiches($edite_fiches :== $ BIB_EXE:edite_fiches&$kill_fiches :== $ BIB_EXE:kill_fiches$$form_refer :== $ BIB_EXE:form_refer($liste_fiches :== $ BIB_EXE:liste_fiches$$ini_biblio :== $ BIB_EXE:ini_biblio($modif_abbaut :== $ BIB_EXE:modif_abbaut"$modif_cle :== $ BIB_EXE:modif_cle.$modif_super_cle :== $ BIB_EXE:modif_super_cle$$new_fiches :== $ BIB_EXE:new_fiches"$thesaurus :== $ BIB_EXE:thesaurus*$trouve_auteur :== $ BIB_EXE:trouve_auteur$$trouve_cle :== $ BIB_EXE:trouve_cle($trouve_texte :== $ BIB_EXE:trouve_texte#$define /user SYS$INPUT SYS$COMMAND$run BIB_EXE:biblioTeX_vms*[DANA.BIBLIO]BIBLIOTEX_VMS.C;2+,"$'./ 4Y-b%0123KPWO56 77Ud78٬Ɣ9GHJI/************************************************************************ * *5* biblioTeX_VMS.C *I* **I* Menu_bib.c programme permettant de faire un menu dans lequel on peut seG* deplacer avec les fleches ou donner une lettre correspondant au choix* voulu.* * Version C pour VMS * * 4 Novembre 1988 * *//**+* Auteur: Dr J-F VIBERT et Beatrice COINTOT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**/+#include /* standard I/O files */#include H#include /* macro et globales pour fonctions classification de caracteres */#include "askval.h"#include "ecran.h"#include "sys_bib.h"#define VERSION "V4.2-v"#define ESC 0x1b#define RETURN 0x0d #ifdef VMS#include #include #include #include #include int ttchannel;#endif0/* definition et initialisation des variables *//int champ_deb = 9, /* premiere ligne du menu */( champ_fin, /* derniere ligne du menu */, col_deb = 15, /* premiere colonne du menu*/0 pas = 1, /* nombre de ligne entre deux choix */ champ ; /* ligne courante */char dir_bib[60], prompt[80]; /* MENU GENERAL */char *menu_1[] = {" " entree de nouvelles Fiches ", " recherche par Auteur ", " recherche par mot-Cle "," " recherche Globale de texte ", " Thesaurus "," " choix du fichier par Defaut ",- " Preparation d'une liste de references ",) " Edition d'une liste de references ",( " creation d'un fichier pour BibTeX ",% " \033[1m SOUS-MENUS \033[m",* " Modification/correction du fichier ", ""," " Quitter - Abandonner BIBLIO " };void new_fich(), trouve_a(), trouve_c(), trouve_t(), thesauru(), ch_dir(), edite_fi(), form_ref(), reftex(), no_op(), modif_cor(), fin(); void (*action_1[])() = { new_fich, trouve_a, trouve_c, trouve_t, thesauru, ch_dir, edite_fi, form_ref, reftex, no_op, modif_cor, no_op, fin };int lettre_1[] = { 'f', 'a', 'c', 'g', 't', 'd', 'p', 'e', 'b', '\0', 'm', '\0', 'q', }; /* SOUS MENU de modif */char *menu_2[] = {& " Correction de fiches existantes ", " Elimination de fiches ",0 " modification des Abreviations/Auteurs-cle ",! " modification des mots-Cles ",$ " adjonction de Super mots-cles ", " Liste des fiches ",* " Initialisation d'un nouveau fichier ",& " Quitter - retour au menu general " };void corrige(), kill_fic(), modif_ab(), modif_cl(), modif_su(), liste_fi(), ini_bibl(), retour();void (*action_2[])() =  { corrige, kill_fic, modif_ab, modif_cl, modif_su, liste_fi, ini_bibl, retour };int lettre_2[] = { 'c', 'e', 'a', 'c', 's', 'l', 'i', 'q' };int cooked[3];void setcbreak(){ int status; short iosb[4]; int ttchar[3]; $DESCRIPTOR(ttdesc,"TT:"); status = sys$assign ( &ttdesc,  &ttchannel,  0 , 0 ); if (status != SS$_NORMAL) {8 fprintf(stderr,"%%Erreur %d sur ASSIGN TT:\n",status); exit(status); } status = sys$qiow ( 0 ,  ttchannel,  IO$_SENSEMODE, iosb ,  0 , 0 , cooked ,  12 ,  0 ,  0 ,  0 ,  0 ); if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) {; fprintf(stderr,"%%Erreur %d sur QIO SENSEMODE\n",status); exit(status); } ttchar[0] = cooked[0];, ttchar[1] = cooked[1] | TT$M_NOECHO;. ttchar[2] = cooked[2] | TT2$M_PASTHRU; status = sys$qiow ( 0 ,  ttchannel,  IO$_SETMODE, iosb ,  0 ,  0 , ttchar ,  12 ,  0 ,  0 ,  0 ,  0 );  if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) {9 fprintf(stderr,"%%Erreur %d sur QIO SETMODE\n",status); exit(status); }}void restore(){ int status; short iosb[4]; curseur(24,1); status = sys$qiow ( 0 ,  ttchannel,  IO$_SETMODE, iosb ,  0 ,  0 , cooked ,  12 ,  0 ,  0 ,  0 ,  0 );  if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) {9 fprintf(stderr,"%%Erreur %d sur QIO SETMODE\n",status); exit(status); } status = sys$dassgn(ttchannel);}char getchar_vms(){ char c; short iosb[4]; int status; status = sys$qiow ( 0 ,  ttchannel,  IO$_READVBLK, iosb ,  0 ,  0 ,  &c ,  1 ,  0 ,  0 ,  0 ,  0 ); return(c);}3FILE *bib_def; /* fichier du fichier par defaut! */main(){; if ((bib_def = fopen("sys$login:biblio.cfg","r")) == NULL) strcpy(dir_bib,GENERAL);# else fscanf(bib_def,"%s",dir_bib); /* appel programme menu */A menu(menu_1,"\033[1m MENU \033[m",13,action_1,lettre_1);}I/************************************************************************ * ** MENU * * *I************************************************************************//*' sous-programme de creation du menu *//menu(menu_choix,titre,nb_actions,action,lettre)char **menu_choix, *titre;int lettre[];int nb_actions;void (*action[])();{' char c; /* touche tapee au clavier */ int i; champ = champ_deb;( champ_fin = champ_deb + nb_actions - 1;  /* construction du menu */K const_menu(menu_choix,titre,champ_deb,champ_deb+nb_actions-1,col_deb,pas);& /* premiere ligne en video inverse */ curseur (champ,col_deb);1 inverse(menu_choix,champ_deb,col_deb,champ,pas); /* inverse le premier champ */& /* traitement des entrees claviers */ setcbreak();# while ((c = getchar_vms()) != '.') {9 if ( c == ESC) /* si touche autre que alphanumerique */ {E if ( (c = getchar_vms() ) == '[' || c == 'O') { & switch ( c = getchar_vms()) {0 case 'B' : /* fleche vers le bas */< normal(menu_choix,champ_deb,col_deb,champ,pas);* /* remise champ en normal*/: champ+=pas; /* on passe au champ suivant*/F if ( champ > champ_deb+nb_actions-1 ) champ = champ_deb;% curseur (champ,col_deb);= inverse(menu_choix,champ_deb,col_deb,champ,pas); break;1 case 'A' : /* fleche vers le haut */< normal(menu_choix,champ_deb,col_deb,champ,pas);) /* remise champ en normal*/: champ-=pas; /* on passe au champ suivant*/J if ( champ < champ_deb ) champ = champ_deb + nb_actions - 1;% curseur (champ,col_deb);= inverse(menu_choix,champ_deb,col_deb,champ,pas); break; default : ;! } /* fin du switch */ } } /* fin du if */% else /* si une touc@~ BIBLIO.BCK"$'b%[DANA.BIBLIO]BIBLIOTEX_VMS.C;2Yphe est tapee */ {, if ( c == RETURN ) /* si touche RETURN */ { restore();+ (*action[((champ - champ_deb)/pas)])(); curseur(24,20);? printf("\033[1mTaper RETURN pour retourner au menu\033[m");. askcval("",0); setcbreak(); } /* fin du if */! else /* si une autre touche */ {, for ( i = 0; i < nb_actions; i++)! if (lettre[i] == tolower(c)) { restore();8 (*action[i])(); curseur(24,20);A printf("\033[1mTaper RETURN pour retourner au menu\033[m");0 askcval("",0); setcbreak();) } } /* fin du else */ /* construction menu */M const_menu(menu_choix,titre,champ_deb,champ_deb+nb_actions-1,col_deb,pas);( /* premiere ligne en video inverse */ curseur (champ,col_deb);3 inverse(menu_choix,champ_deb,col_deb,champ,pas);! /* inverse le premier champ */ } /* fin du else */ } /* fin du while */ if(c == '.') restore(); erase();} /* fin du programme menu */curseur(nl,nc){ printf("\033[%d;%dH",nl,nc);}erase(){ printf("%s%s",CLRAS,HOME);}I/************************************************************************ * ** CONST-MENU * * *I************************************************************************/'/* programme de construction du menu */<const_menu(menu_choix,titre,champ_deb,champ_fin,col_deb,pas)+int champ_deb, /* premiere ligne du menu */( champ_fin, /* derniere ligne du menu */( col_deb , /* premiere colonne du menu*/. pas ; /* nombre de ligne entre deux choix */char *menu_choix[], *titre;{ int i; erase();#include "TeX_titre_bib.h" curseur (3,1); printf("Fichier de travail:"); curseur (4,1);) printf("%s%s%s",REVERSE,dir_bib,NORMAL); curseur (2,45);9 printf("Selectionner avec les %sFleches%s",BOLD,NORMAL); curseur (3,45);< printf(" puis valider avec %s\"Return\"%s",BOLD,NORMAL); curseur (4,45);? printf("Ou taper une des %sLettres Majuscules%s",BOLD,NORMAL); curseur (7,col_deb); printf("%s",titre);9 for ( i = 0 ; i <= ((champ_fin - champ_deb )/pas) ; i++) {/ curseur ( (champ_deb + (i * pas)) , col_deb);! printf ( "%s", menu_choix [i]); }}I/************************************************************************ * ** INVERSE * * *I************************************************************************/#/* inversion de la video d'un champ normal => inverse */0inverse (menu_choix,champ_deb,col_deb,champ,pas)+int champ_deb, /* premiere ligne du menu */' col_deb, /* premiere colone du menu */- pas , /* nombre de ligne entre deux choix */ champ ; /* ligne courante */char *menu_choix[];{ curseur ( champ , col_deb-5);P printf ("===> %s%s%s", REVERSE, menu_choix [ (champ - champ_deb)/pas], NORMAL);}I/************************************************************************ * ** NORMAL * * *I************************************************************************/#/* inversion de la video d'un champ inverse => normal *//normal (menu_choix,champ_deb,col_deb,champ,pas)+int champ_deb, /* premiere ligne du menu */' col_deb, /* premiere colone du menu */- pas , /* nombre de ligne entre deux choix */ champ ; /* ligne courante */char *menu_choix[];{ curseur ( champ , col_deb-5);; printf (" %s", menu_choix [ (champ - champ_deb)/pas]);} /* les fonctions */void spawn(prg,arg) char *prg, *arg;{ int status;! sprintf(prompt,"%s %s",prg,arg); system(prompt);}void new_fich(){ spawn ("new_fiches" , dir_bib);}void trouve_a(){# spawn ("trouve_auteur" , dir_bib);}void trouve_c(){ spawn ("trouve_cle" , dir_bib);}void trouve_t(){" spawn ("trouve_texte" , dir_bib);}void thesauru(){ spawn ("thesaurus" , dir_bib);} void ch_dir(){ curseur(23,0); if (!strcmp(dir_bib,GENERAL)) strcpy(dir_bib,BIBLIO); else strcpy(dir_bib,GENERAL);? printf("Directory du fichier bibliographique [%s]: ",dir_bib); asksval("",dir_bib,dir_bib);; if ((bib_def = fopen("sys$login:biblio.cfg","w")) == NULL) { curseur(23,0);E printf("impossible de sauvegarder le nom du fichier par defaut\n"); } else {" fprintf(bib_def,"%s\n",dir_bib); fclose(bib_def); }}void edite_fi(){" spawn ("edite_fiches" , dir_bib);}void form_ref(){ spawn ("form_refer" , dir_bib);} void reftex(){ spawn ("reftex" , dir_bib);} void fin(){ erase(); exit(1);} /* sous menu 1 */ void no_op(){ return;}void modif_cor(){Y menu(menu_2,"\033[1mSOUS-MENU de corrections/modifications\033[m",8,action_2,lettre_2);}void corrige(){$ spawn ("corrige_fiches" , dir_bib);}void kill_fic(){! spawn ("kill_fiches" , dir_bib);}void modif_ab(){" spawn ("modif_abbaut" , dir_bib);}void modif_cl(){ spawn ("modif_cle" , dir_bib);}void modif_su(){% spawn ("modif_super_cle" , dir_bib);}void liste_fi(){" spawn ("liste_fiches" , dir_bib);}void ini_bibl(){ spawn ("ini_biblio" ,"");}void retour(){B menu(menu_1,"\033[1m MENU \033[m",13,action_1,lettre_1);} *[DANA.BIBLIO]BIBLIOTEX_VMS.EXE;2+,k .$/ 4$%-b%0123 KPWO%56@v@7 cWv@8 Bǔ9GHJH0DX0205(Wu@,<h  BIBLIOTEX_VMSV1.0 Wu@05-05   ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 entree de nouvelles Fiches recherche par Auteur recherche par mot-Cle recherche Globale de texte Thesaurus choix du fichier par Defaut Preparation d'une liste de references Edition d'une liste de references creation d'un fichier pour BibTeX  SOUS-MENUS  Modification/correction du fichier Quitter - Abandonner BIBLIO Correction de fiches existantes Elimination de fiches modification des Abreviations/Auteurs-cle modification des mots-Cles adjonction de Super mots-cles Liste des fiches Initialisation d'un nouveau fichier Quitter - retour au menu general TT:%%Erreur %d sur ASSIGN TT: %%Erreur %d sur QIO SENSEMODE %%Erreur %d sur QIO SETMODE %%Erreur %d sur QIO SETMODE sys$login:biblio.cfgrBIB:%s MENU Taper RETURN pour retourner au menuTaper RETURN pour retourner au menu[%d;%dH%s%s%s%s %s b i b l i o T e X %s %s (c)jfv V4.2-vFichier de travail:%s%s%sSelectionner avec les %sFleches%s puis valider avec %s"Return"%sOu taper une des %sLettres Majuscules%s%s%s===> %s%s%s %s%s %snew_fichestrouve_auteurtrouve_cletrouve_textethesaurusBIB:[.BIBLIO]BIB:Directory du fichier bibliographique [%s]: sys$login:biblio.cfgwimpossible de sauvegarder le nom du fichier par defaut %s edite_fichesform_referreftexSOUS-MENU de corrections/modificationscorrige_ficheskill_fichesmodif_abbautmodif_clemodif_super_cleliste_fichesini_biblio MENU  (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH84l D|L,dBad value facgtdpebmqceacsliq4LiuCDb>No help (? for help)<8^SRwU,Ta|~ePP\\\ed<,\#,|~|~ c|~߭'e P\\2\\\d+\+cɏ|~|~ ߭|~߭#e P\\2\\\ d+\+P^RPPgz+|~|~ |~߭#Y P\\2\\\½S+0+\+^|~|~|~߭1 P^*SR@\*PbM*>b*g 2P^T[UZSSkS RRRRSݬݬkSSg*XhЬYWRkUVRUSRSghąWUVUEiĀth)|~|~|~߭1j îww.1<p)Xެ ά΀p)|W)Έ΄ΤΨW)xw1|~|~|~߭1j ޠRR[ RO1|~|~|~߭1j ޠRRA1RB1WЬYLWMRkUSVRUSRSghWUVUEiĉh+k ެRRkRkkSSghЬYWRkUVRUSRSghąWUVUEiĀth1ЬYWRkUVRUSRSghWUVUEiĉhukkUMެRRkkSDSghЬY)W*RkU0VRUSRSghąWUVUEiĀth1P1w 1SSgh|~|~ |~߭#j ްPRR2RRRĽ0'ވRތjވ{kRR޼SBcRbSSghh:ެި1PSެ1ЬVwUU|CfP1QQgh|~|~ |~߭#j ްPRR2RRRĽn&ވRތjވ޼PC`P`QQgh;hfެިSSެ1[q޴RRRcݬݬ>kSUSghЬY:W;RkUAVRUSRSghąWUVUEiĀth|~|~|~߭1j ޠww.1w.fSSgD%|~|~ |~߭#j PRR2RRRĽ!%$R$jzup$^9Rݬݬg$^\zup$^Szup}$Tdû÷òîé~dRRgddRRgddR-Rgd dR-Rgd94dR-Rgdje=dެZRjRgdݬndWެ @þ@Rެ[kRWR@о@YkX#U޼TYVXVޤRXWQYQjQgebqeRVW ^RЬQ ~Qg6#…ìQƬQ޼PA€t# ^mRЬQ ~Qg"ìQƬQ޼PA‰" ^-RݬI"<" ^R—PP‘v"M" ^R¢PP‘>"" ^R°PP‘"! ^QR»PqP‘i!\! ^RP9P‘1!$m!<(^URTP~PgX!dW!PdB! d3!d!Scdd ( PeP~Pgc*cPdbݥ   ^!RfPAP‘9 ,u  ^RsP P‘f =  ^R~PP‘.   ^y\zup^P^E\x̅E ^R³P9P‘1$m ^RPP‘^5 ^RPP‘& ^qRPP‘| ^9RPYP‘QD ^RP!P‘~ U ^RP PF^\ 4^ѬЏЏЬ^q Pyvtv e|^RVUwTPPa^~>1J?PbdNScߢecߢfcߢ+d-Scߢ:ecߢDfcߢSd ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^(RUT ZWVo[,YYXfݬ$ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edK߭k߭iPO~fh߭fhSd1^Se1VSPPμ^+RUTYV[{Z8XeWfݬ0k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?edX߭j߭hPO~fg߭fgSd1_Se1WSPP^8RXWTVU[|Z9Yfլݬf deѬ  dݬk߭jݬ ݬݬ(i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg! ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭8߭&P ߭P^Yݬ|~c~߭ϋ߭PPP^ ݬݬ c~߭<߭PPP^-Rլ լݬݬ Ctݬ<ݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^RTScWVU[ZYXeݬ|pk~M߭j|~gff~߭߭iP߭P߭DPvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^xRTS+[WUZY|XVeݬtpj~z߭iݬgf~߭߭hP߭}߭9PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^pRWV[SެUTZYiXeլݬe§cdѬcݬGpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~H߭i߭hPOPìP~cd߭cdQf1Qg1PP ^!Rݬ߭U߭CP߭߭>PPvP ^Seݬݬ߭2|~Hs~߭ݬPO~z߭PR߭ݬ RPݬ ^HTݬݬ߭ݬs~߭ݬEScPORgcPR~߭cPR߭ݬ ORPݬݬ > ^SdլլݬݬѬPPݬݬ߭ݬ$ݬ ݬs~߭ݬ߭cPR߭ݬ RPݬݬ 5^ݬP~߭%߭PR߭ݬ ARPݬݬ 08^S"T_R|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\hТ ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id'\ ^SjR|~|~ ߢ |~߭#ݢ P\\2\\\l\^ R|~|~|~߭1ݢ PT^WYZ,΀CЬSЬRBcjiǏVSk>S1SǒiSPѪjЪjM _·P ·լլ ΈPΈΈ0ݬPRެTRdSiSyRRdΈ"ݬݬǕiyiqBiǟ5 PPf 9WW)WWWWWWWWWI9P&?Pn[n[n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬu ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVViu  P޼PF` iǮQ VVVDZid ΀1l si* 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ< ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬir i= 1rPi+ ݬi; i i ݬ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi /ݬo PRެTRdSiSe RRdiI V1zVi[ 1hi- 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTCdTV· ·XP XX~SCd iiV1Vi1PΆ1iW,i>VkЬRR_RRRi7Έ/RPRެTRdSiSRRdΈ"ݬݬiii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2i^RbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjimyݬpi/ݬKPRެTRdSiSARRdis%V1VVvi71DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i~1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlmJR1ݪ Ά i1+Pծ,1΀1Ԯ,i|Rji RRjiΈ%RެTRdSiSRRdΈ"ݬݬǂii}NinjAVVi31` i%Ά~ǏPi 17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcrެTdRBSFcǬiViǯRVDzikVd1sVi6i+1X|~|~ ߪ |~߭#ݪ PRR2RRRl+Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn][nI[nA[(^WRVTfǸݬPѤdФdRdPf RRdfǻݬǾfլ.ݬPRެURe SfSyRReլ"ݬݬfzfrCf6f9@@Lt|dLtL4l<|D, 8 : @VAXCRTLLIBRTLMTHRTL:: BIBLIOTEX_VMS setcbreakrestore{| getchar_vms, mainx menucurseur erase  const_menuC@inverseH normal@ spawn4new_fich84trouve_a8ltrouve_c8trouve_t8thesauru8 ch_diredite_fi8 form_ref8 Dreftex8 |fin+ no_op modif_cor,corrige8kill_fic8Lmodif_ab8modif_cl8modif_su8liste_fi8,ini_bibl8 dretour,     ٔ    q ASKVAL askidomain8 askfdomain4 ask_speakaskival askivalh!askivalf9#faskival3P#askcvalP#askcvalhL#askcvalfl$faskcval,$askfval%askfvalh&askfvalfP'faskfvalD<(asksval(asksvalhp)asksvalf,*fasksvalP|* setcbreakx+restoreh+ getchar_vms0, ask_edite?P:re_ecrit            -} *[DANA.BIBLIO]BIBLIO_README.1ST;1+,5./ 4A-b%0123KPWO56f7R8& Ŕ9GHJABIBLIO is a full package to BIBLIO est un progiciel complet pour create creer manage maintenir edit editer?bibliographic databases. des bases de donnees bibliographiques@See in the [.doc] directory Voir dans le directory [.doc] pour?for full manual (in french, pour un manuel complet en francais.sorry) and explanations et des explications. (bilingual). JF VIBERT CHU St Antoine Paris France*[DANA.BIBLIO]CLINK.OPT;1+,@./ 4-b%0123KPWO56 p=7@AR8@H Ŕ9GHJsys$library:vaxcrtl/share*[DANA.BIBLIO]CORRIGE_FICHES.C;1+,v0.~/ 4~}-b%0123KPWO~56@$7S8z Ŕ9GHJ/*O * CORRIGE_FICHES.C permet de corriger des fiches dans le fichier c_fiches.bib I * avec gestion des mots cles, des abrevaitions, fiches killees etc....  * * Version C pour ULTRIX * * 29 Juin 1988 *! * Version pour fiche avec livres * 22 sep 88 *# * Version avec edition pleine page * 12 juillet 90 * *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**/#include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#define ELIMINE -1#include "biblio.h"#include "show_fiche.c" #ifdef VMS#include #include #include #include #include int ttchannel;#endif8FILE *p_pre_fiche; /* fichier temporaire d'edition */ struct D_reference pre_fiche;8int a_killer; /* flag a 1 si la fiche devient double */main(argc,argv) int argc; char **argv;{ char nom_fichier[80], ordre[80], nom_dir[60], rep, *zero; int i, j, k; short nb_fiches, act_fiche, *nb_c, *nb_f, put_fiche();# include "titre_bib.h" if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_MOTCLE_INDEX);; if((c_motcle_index = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_AUTEUR_INDEX);; if((c_auteur_index = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_ABBREV);5 if((c_abbrev = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);7 if((c_fiches = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_MOTCLE);7 if((c_motcle = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_AUTEUR);7 if((c_auteur = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);S printf("\007Actuellement, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches);@ /* Lecture des auteurs mots cles et abreviations */- fread(&nb_key_aut,sizeof(short),1,c_abbrev);, fread(&nb_abbrev,sizeof(short),1,c_abbrev);3 fread(key_auteurs,sizeof(key_auteurs),1,c_abbrev);' fread(revue,sizeof(revue),1,c_abbrev); fclose(c_abbrev);d printf("\007Actuellement, il y a %d auteurs-mots cles et %d abreviations\n",nb_key_aut, nb_abbrev);: /* Lecture du fichier index de mots cles */  p_motcle = motcle;8 fread(&motcle_last_bloc, sizeof(int),1,c_motcle_index);0 fread(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index);8 /* Lecture du fichier index des auteurs */  p_auteur = auteur;8 fread(&auteur_last_bloc, sizeof(int),1,c_auteur_index);0 fread(auteur, sizeof(auteur),1,c_auteur_index); fclose(c_auteur_index); do {- /* Remise a 0 de la pre_fiche precedente */ zero = &pre_fiche.type;6 for (i = 0; i < sizeof(pre_fiche); i++) *zero++ = 0; zero = &fiche.Double.type;9 for (i = 0; i < sizeof(fiche.Double); i++) *zero++ = 0;I act_fiche = (short)askival("Numero de la fiche a corriger [fin]: ",-1); if (act_fiche == -1) break;$ if (read_fiche(act_fiche) == NULL) {% printf("\007Numero inexistant\n"); continue; } if (killed) {# printf("\007Fiche supprimee\n"); continue; } if (wrong_numero) {! printf("\007Numero errone\n"); continue; }  show_fiche();O rep = askcval("\nDesirez-vous corriger cette fiche ([o] ou n): ",'o'); if (strchr("oOyY",rep)) {: put_fiche(act_fiche); /* met la fiche dans pre_fiche */4 rm_auteur(act_fiche); /* desindexe les auteurs */5 rm_motcle(act_fiche); /* desindexe les mot_cles */0 re_get_fiche(act_fiche);/* prepare l'ecran */H rep = askcval("\nDesirez-vous ajouter des auteurs (o ou [n]): ",'n'); if (strchr("oOyY",rep)) { corrige(act_fiche); } if (a_killer) { fiche.Double.type = 'K'; write_fiche(act_fiche); fiche.Double.type = 'D'; act_fiche = ++~ BIBLIO.BCKv0b%[DANA.BIBLIO]CORRIGE_FICHES.C;1~-| nb_fiches;, printf("\nNouveau numero: %s %d %s\n\n", REVERSE,act_fiche,NORMAL); } }N rep = askcval("Desirez-vous changer les mots-cles (o ou [n]): ",'n'); if (strchr("oOyY",rep)) {/ change_mots(act_fiche); }/ transfert_pre_fiche(act_fiche); write_fiche(act_fiche); #ifdef DEBUG show_fiche();#endif! write_motcle(act_fiche);! write_auteur(act_fiche);Z printf("\007La fiche %s %d %s est corrigee\n\n",REVERSE,act_fiche,NORMAL);M rep = askcval("Voulez-vous en corriger une autre (o ou [n]): ",'n'); } while(strchr("oOyY",rep)); fclose(c_fiches); fclose(c_motcle); fclose(c_auteur); strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);7 if((c_codcle = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); }+ /* Reecriture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;' fwrite(nb_c,sizeof(short),1,c_codcle);' fwrite(nb_f,sizeof(short),1,c_codcle);$ fwrite(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);Q printf("\007Maintenant, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches); strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_MOTCLE_INDEX);= if((c_motcle_index = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } p_motcle = motcle;9 fwrite(&motcle_last_bloc, sizeof(int),1,c_motcle_index);1 fwrite(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index); strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_AUTEUR_INDEX);= if((c_auteur_index = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } p_auteur = auteur;9 fwrite(&auteur_last_bloc, sizeof(int),1,c_auteur_index);1 fwrite(auteur, sizeof(auteur),1,c_auteur_index); fclose(c_auteur_index);}/**;* WRITE_MOTCLE ecrit les mots-cles dans le fichier c_motcle**/write_motcle(numero) short numero;{ int i, j, k; short nu_key; long offset, act_offset; p_key_fiche = key_fiche; for (i = 0; i < 10; i++) {@ nu_key = (simple)? fiche.Simple.keys[i]: fiche.Double.keys[i]; if (nu_key == 0) break;$ nu_key--; /* car demarre a zero */ #ifdef DEBUG1> printf("\n*****\nNb fiches %d\n", motcle[nu_key].nb_fiches);4 printf("Mot_cle %d -> %s\n", nu_key, cle[nu_key]);#endif if (motcle[nu_key].nb_fiches) {3 key_fiche[99] = (int) motcle[nu_key].first_bloc;t dog {. for (j = 0; j < 99; j++) key_fiche[j] = 0;; offset = (long)key_fiche[99] * (long)sizeof(key_fiche);. fseek(c_motcle,offset,0);R: if( ! fread(p_key_fiche,sizeof(key_fiche),1,c_motcle)) {*8 printf("Pb de lecture au fread de c_motcle.bib\n");^ printf("\nFiche %d\ncle -> %d\nNb fiches %d\n", numero, nu_key,motcle[nu_key].nb_fiches);, printf("Mot_cle -> %s\n", cle[nu_key]); }s #ifdef DEBUG1 , printf("lu... (offset = %ld)\n",offset); for (k = 0; k < 20; k++) printf("%d ",key_fiche[k]);1 printf("key_fiche[99] = %d\n",key_fiche[99]);e#endif } while(key_fiche[99] != 0);a k = motcle[nu_key].num_next;t key_fiche[k] = numero; motcle[nu_key].num_next ++; motcle[nu_key].nb_fiches++;% if (motcle[nu_key].num_next == 99)d { motcle[nu_key].num_next = 0;% key_fiche[99] = motcle_last_bloc;S fseek(c_motcle,offset,0);<5 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle);c/ /* ecriture preparatoire de bloc suivant */E/ for (j = 0; j < 100; j++) key_fiche[j] = 0; > offset = (long)motcle_last_bloc * (long)sizeof(key_fiche); motcle_last_bloc++;d } fseek(c_motcle,offset,0);4 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle); #ifdef DEBUG10 printf("reecrit... (offset = %ld)\n",offset); for (k = 0; k < 20; k++)  printf("%d ",key_fiche[k]);_ printf("\n");#endif }  else {. for (j = 0; j < 100; j++) key_fiche[j] = 0; motcle[nu_key].nb_fiches = 1;0 motcle[nu_key].first_bloc = motcle_last_bloc; motcle[nu_key].num_next = 1;m key_fiche[0] = numero;[= offset = (long)motcle_last_bloc * (long)sizeof(key_fiche);; fseek(c_motcle,offset,0);4 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle); #ifdef DEBUG1 / printf("1ere fois (offset = %ld)\n",offset); for (k = 0; k < 20; k++)n printf("%d ",key_fiche[k]);_ printf("\n");#endifB motcle_last_bloc++; /* le suivant sera sur le bloc d'apres */  } #ifdef DEBUG1r: printf("Nb fiches %d next %d Bloc %d Last block %d\n",  motcle[nu_key].nb_fiches,o motcle[nu_key].num_next,1 motcle[nu_key].first_bloc, motcle_last_bloc);  for (k = 0; k < 20; k++) printf("%d ",key_fiche[k]);2 printf("\n key_fiche[99] = %d\n",key_fiche[99]);#endif }}I/**:* WRITE_AUTEUR ecrit les auteurs dans le fichier a_auteurs*{*/write_auteur(numero) short numero; {t register i, j, k; char initiale,) lettre_2;o short nu_key, nb_aut;c long offset;( p_aut_fiche = aut_fiche;L. for (i = 0; i < fiche.Simple.nb_auteurs; i++) { j = 0; do {_0 initiale = (simple)? fiche.Simple.nom[i][j]: fiche.Double.nom[i][j];h initiale = toupper(initiale); j ++; } while (! isupper(initiale)); : do /* traite les noms du genre D'Alembert ou M'bamako */ {0 lettre_2 = (simple)? fiche.Simple.nom[i][j]: fiche.Double.nom[i][j];n lettre_2 = toupper(lettre_2); j ++; } while (! isupper(lettre_2)); 4 nu_key = (initiale - 'A') * 26 + (lettre_2 - 'A');* /* donc AA = zero, AB = 1 et BB = 2 */ #ifdef DEBUG1> printf("\n*****\nNb fiches %d\n", auteur[nu_key].nb_fiches);#endif if (auteur[nu_key].nb_fiches)f {n3 aut_fiche[99] = (int) auteur[nu_key].first_bloc;t doc {. for (j = 0; j < 99; j++) aut_fiche[j] = 0;; offset = (long)aut_fiche[99] * (long)sizeof(aut_fiche);  fseek(c_auteur,offset,0);): if( ! fread(p_aut_fiche,sizeof(aut_fiche),1,c_auteur)) { 8 printf("Pb de lecture au fread de c_auteur.bib\n");_ printf("\nFiche %d\n--> cle %d\nNb fiches %d\n", numero,nu_key, auteur[nu_key].nb_fiches);fQ printf("Auteur %s \n", ((simple)? fiche.Simple.nom[i]:fiche.Double.nom[i]));m } #ifdef DEBUG1m, printf("lu... (offset = %ld)\n",offset); for (k = 0; k < 20; k++) printf("%d ",aut_fiche[k]);1 printf("aut_fiche[99] = %d\n",aut_fiche[99]);c#endif } while(aut_fiche[99] != 0);x k = auteur[nu_key].num_next;, aut_fiche[k] = numero; auteur[nu_key].num_next ++; auteur[nu_key].nb_fiches++;% if (auteur[nu_key].num_next == 99)e { auteur[nu_key].num_next = 0;% aut_fiche[99] = auteur_last_bloc;s fseek(c_auteur,offset,0);;5 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur); / /* ecriture preparatoire de bloc suivant */h/ for (j = 0; j < 100; j++) aut_fiche[j] = 0;+> offset = (long)auteur_last_bloc * (long)sizeof(aut_fiche); auteur_last_bloc++;) } fseek(c_auteur,offset,0);4 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur); #ifdef DEBUG1i0 printf("reecrit... (offset = %ld)\n",offset); for (k = 0; k < 20; k++)N printf("%d ",aut_fiche[k]);u printf("\n");#endif } else {0. for (j = 0; j < 100; j++) aut_fiche[j] = 0; auteur[nu_key].nb_fiches = 1;0 auteur[nu_key].first_bloc = auteur_last_bloc; auteur[nu_key].num_next = 1;p aut_fiche[0] = numero;c= offset = (long)auteur_last_bloc * (long)sizeof(aut_fiche);o fseek(c_auteur,offset,0);4 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur); #ifdef DEBUG1u/ printf("1ere fois (offset = %ld)\n",offset);r for (k = 0; k < 20; k++)d printf("%d ",aut_fiche[k]);i printf("\n");#endifB auteur_last_bloc++; /* le suivant sera sur le bloc d'apres */  }] #ifdef DEBUG1i: printf("Nb fiches %d next %d Bloc %d Last block %d\n",  auteur[nu_key].nb_fiches,i auteur[nu_key].num_next,1 auteur[nu_key].first_bloc, auteur_last_bloc);; for (k = 0; k < 20; k++) printf("%d ",aut_fiche[k]);2 printf("\n aut_fiche[99] = %d\n",aut_fiche[99]);#endif }} /**F* RM_MOTCLE() elimine les mots cles d'une fiche dans le fichier indexe0* (en fait, met ELIMINE (-1) en numero de fiche)* */rm_motcle(numero) short numero;e{t int i, j, k; short nu_key; long offset, act_offset;c p_key_fiche = key_fiche;_ for (i = 0; i < 10; i++)  {@ nu_key = (simple)? fiche.Simple.keys[i]: fiche.Double.keys[i]; if (nu_key == 0) break;$ nu_key--; /* car demarre a zero */ #ifdef DEBUG1r> printf("\n*****\nNb fiches %d\n", motcle[nu_key].nb_fiches);4 printf("Mot_cle %d -> %s\n", nu_key, cle[nu_key]);#endif if (motcle[nu_key].nb_fiches)_ {s3 key_fiche[99] = (int) motcle[nu_key].first_bloc;_ doo {. for (j = 0; j < 99; j++) key_fiche[j] = 0;; offset = (long)key_fiche[99] * (long)sizeof(key_fiche);s fseek(c_motcle,offset,0);t: if( ! fread(p_key_fiche,sizeof(key_fiche),1,c_motcle)) {n( printf("Pb de lecture au fread\n"); }z for (k = 0; k < 99; k++) {f if(key_fiche[k] == numero)r { key_fiche[k] = ELIMINE;s" motcle[nu_key].nb_elimine++; fseek(c_motcle,offset,0);c7 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle);i } }o #ifdef DEBUG1E, printf("lu... (offset = %ld)\n",offset); for (k = 0; k < 20; k++) printf("%d ",key_fiche[k]);1 printf("key_fiche[99] = %d\n",key_fiche[99]);(#endif } while(key_fiche[99] != 0);_ }) #ifdef DEBUG1c: printf("Nb fiches %d next %d Bloc %d Last block %d\n",  motcle[nu_key].nb_fiches,_ motcle[nu_key].num_next,1 motcle[nu_key].first_bloc, motcle_last_bloc);h for (k = 0; k < 20; k++) printf("%d ",key_fiche[k]);2 printf("\n key_fiche[99] = %d\n",key_fiche[99]);#endif }}t/**s7* RM_AUTEUR enleve les auteurs du le fichier a_auteurst0* (en fait, met ELIMINE (-1) en numero de fiche)**/rm_auteur(numero)E short numero;-{s register i, j, k; char initiale,r lettre_2;m short nu_key, nb_aut;i long offset;s p_aut_fiche = aut_fiche;c. for (i = 0; i < fiche.Simple.nb_auteurs; i++) { j = 0; do {0 initiale = (simple)? fiche.Simple.nom[i][j]: fiche.Double.nom[i][j]; initiale = toupper(initiale); j ++; } while (! isupper(initiale)); : do /* traite les noms du genre D'Alembert ou M'bamako */ {d0 lettre_2 = (simple)? fiche.Simple.nom[i][j]: fiche.Double.nom[i][j]; lettre_2 = toupper(lettre_2); j ++; } while (! isupper(lettre_2)); 4 nu_key = (initiale - 'A') * 26 + (lettre_2 - 'A'); ( /* donc AA = zero, AB = 1 et BB = 2 */ #ifdef DEBUG1e> printf("\n*****\nNb fiches %d\n", auteur[nu_key].nb_fiches);#endif if (auteur[nu_key].nb_fiches)u { 3 aut_fiche[99] = (int) auteur[nu_key].first_bloc;e dob {. for (j = 0; j < 99; j++) aut_fiche[j] = 0;; offset = (long)aut_fiche[99] * (long)sizeof(aut_fiche);d fseek(c_auteur,offset,0);o: if( ! fread(p_aut_fiche,sizeof(aut_fiche),1,c_auteur)) {(8 printf("Pb de lecture au fread de c_auteur.bib\n"); }[ for (k = 0; k < 99; k++) {9 if(aut_fiche[k] == numero). { aut_fiche[k] = ELIMINE;" auteur[nu_key].nb_elimine++; fseek(c_auteur,offset,0); 7 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur);] } } #ifdef DEBUG19, printf("lu... (offset = %ld)\n",offset); for (k = 0; k < 20; k++) printf("%d ",aut_fiche[k]);1 printf("aut_fiche[99] = %d\n",aut_fiche[99]);#endif } while(aut_fiche[99] != 0);] #ifdef DEBUG1s0 printf("reecrit... (offset = %ld)\n",offset); for (k = 0; k < 20; k++)d printf("%d ",aut_fiche[k]);0 printf("\n");#endif }f #ifdef DEBUG1_: printf("Nb fiches %d next %d Bloc %d Last block %d\n",  auteur[nu_key].nb_fiches,k auteur[nu_key].num_next,1 auteur[nu_key].first_bloc, auteur_last_bloc);  for (k = 0; k < 20; k++) printf("%d ",aut_fiche[k]);2 printf("\n aut_fiche[99] = %d\n",aut_fiche[99]);#endif }}t/*@* PUT_FICHE() permet de mettre une fiche dans prefiche.tmp*/short put_fiche(numero)c short numero;({g int i;i char *zero,c prompt[81],0 ligne[81]; e tmp_ok = TRUE;A if ((p_pre_fiche = fopen("prefiche.tmp",ECRIRE)) == NULL)\ {S printf("\007pb sur prefiche.tmp: la correction sera impossible\n");e tmp_ok = FALSE;l }# pre_fiche.type = (simple)?'S':'D';  pre_fiche.numero = numero ; b c if (simple) {1 pre_fiche.nb_auteurs = fiche.Simple.nb_auteurs;hB for (i = 0; i < fiche.Simple.nb_auteurs; i++) /* nb d'auteurs */ {_" fprintf(p_pre_fiche,"%s\n%s\n", fiche.Simple.nom[i], fiche.Simple.prenom[i]); }9 fprintf(p_pre_fiche,"\S----------------------------------- T I T R E --------------------------------\n");- for (i = 0; i < 4; i++) /* nb de lignes */t {g% if (strlen(fiche.Simple.titre[i]))t { fprintf(p_pre_fiche,"%s\n",n fiche.Simple.titre[i]); } } fprintf(p_pre_fiche,"\S------------------------------ R E F E R E N C E -----------------------------\n");l3 fprintf(p_pre_fiche,"%s\n",fiche.Simple.journal);i2 fprintf(p_pre_fiche,"%s\n",fiche.Simple.volume);1 fprintf(p_pre_fiche,"%s\n",fiche.Simple.pages);g1 fprintf(p_pre_fiche,"%d\n",fiche.Simple.annee); 1 fprintf(p_pre_fiche,"%s\n",fiche.Simple.t_a_p);b /* Mots cles */l for (i = 0; i < 10; i++), pre_fiche.keys[i] = fiche.Simple.keys[i]; } elsey {1 pre_fiche.nb_auteurs = fiche.Double.nb_auteurs;nB for (i = 0; i < fiche.Double.nb_auteurs; i++) /* nb d'auteurs */ { " fprintf(p_pre_fiche,"%s\n%s\n", fiche.Double.nom[i], fiche.Double.prenom[i]); }t fprintf(p_pre_fiche,"\S----------------------------------- T I T R E --------------------------------\n");- for (i = 0; i < 4; i++) /* nb de lignes */( {i% if (strlen(fiche.Double.titre[i])) { fprintf(p_pre_fiche,"%s\n",f fiche.Double.titre[i]); } }P fprintf(p_pre_fiche,"\S------------------------------ R E F E R E N C E -----------------------------\n");," if(strlen(fiche.Double.journal))4 fprintf(p_pre_fiche,"%s\n",fiche.Double.journal); else {o4 fprintf(p_pre_fiche,"\n%s\n",fiche.Double.livre);5 fprintf(p_pre_fiche,"%s\n",fiche.Double.editeurs);6 fprintf(p_pre_fiche,"%s\n",fiche.Double.publisher);2 fprintf(p_pre_fiche,"%s\n",fiche.Double.ville); }e2 fprintf(p_pre_fiche,"%s\n",fiche.Double.volume);1 fprintf(p_pre_fiche,"%s\n",fiche.Double.pages);+1 fprintf(p_pre_fiche,"%d\n",fiche.Double.annee);u1 fprintf(p_pre_fiche,"%s\n",fiche.Double.t_a_p);m /* Mots cles */_ for (i = 0; i < 10; i++), pre_fiche.keys[i] = fiche.Double.keys[i]; } fclose(p_pre_fiche);h}1/*:* TEST_ABREV() regarde si il y a une abbreviation de titre*/test_abrev(abrege) char *abrege;[{= int i;  char input[37]; _ strcpy(input,abrege); strupper(input);u for (i = 0; i < nb_abbrev; i++) {F if (strcmp(input,revue[i].bref)) continue; /* -1 ou 1 -> pas egal */ else {i strcpy(abrege,revue[i].full);9 printf("\007%s %s %s\n",REVERSE,revue[i].full,NORMAL);" break;c }) }}p/*?* TEST_AUTEUR() regarde si il y a un auteur a mettre en mot cle)3* retourne le nombre d'auteurs trouves en mot_cles.*/ test_auteur()i{_ int i, j, k;a b k = 0;a+ for (i = 0; i < pre_fiche.nb_auteurs; i++)  { strupper(pre_fiche.nom[i]);r" for (j = 0; j < nb_key_aut; j++) { S if (strcmp(key_auteurs[j],pre_fiche.nom[i])) continue; /* -1 ou 1 -> pas egal */d elseu {5 pre_fiche.keys[k] = trouve_key(pre_fiche.nom[i]); 4 printf("Mot-cle %d: %s\n",k+1,pre_fiche.nom[i]); k ++;\ break; } }_ } return (k);}u/*+* TROUVE_KEY() trouve le mot cle ou le creeD*/trouve_key(le_mot) char *le_mot; {c int i, j, k;% char rep, *isinstr();n int nb_related, i_related[20], mot_len, dif_len; r strupper(le_mot); mot_len = strlen(le_mot); if (isdigit(le_mot[0])) { i = atoi(le_mot);"; i--; /* car le numero connu commence a 1 et non a zero */C printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ",n REVERSE,cle[i],NORMAL,i+1);) rep = askcval("",'n');& if (strchr("oOyY",rep)) return(i+1); else return(-1); }  nb_related = 0; for ( i = 0; i < nb_cles; i++)= {& dif_len = dif_string(cle[i],le_mot);- if (!dif_len) return(i+1); /* mot trouve */f9 if (dif_len <= CORR_ORTOG) /* est-ce qu'il ressemble */  {rD printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ", REVERSE,cle[i],NORMAL,i+1); rep = askcval("",'n');n' if (strchr("oOyY",rep)) return(i+1);e else continue;_ }  if (isinstr(cle[i],le_mot))l {k2 if (nb_related < 20) i_related[nb_related] = i; nb_related++; } . } /* n'existe pas on propose un approchant */ if (nb_related == 1)  {C printf("Vous voulez dire \007%s %s %s (Mot cle %d) ([o] ou n): ",,7 REVERSE,cle[(i_related[0])],NORMAL,i_related[0]+1);\ rep = askcval("",'o');1 if (strchr("oOyY",rep)) return(i_related[0]+1);u else return(-1); } if (nb_related > 1) { if(nb_related <= 20) {+/ printf("\007Vous avez le choix parmi...\n");e# for (i = 0; i < nb_related; i++)t printf("\t%4d --> %s\n", i_related[i]+1, cle[(i_related[i])]); return(-1); }0 else {)I printf("\007%d mot-cles possibles avec %s %s %s, precisez mieux...\n",i& nb_related,REVERSE,le_mot,NORMAL); return(-1); }i  }= printf("\007%s %s %s est un nouveau mot-cle (le %d eme).\n", $ REVERSE,le_mot,NORMAL,nb_cles+1);5 rep = askcval("\007Le garde-t-on (o ou [n]): ",'n');, if (strchr("oOyY",rep)) { strcpy(cle[nb_cles],le_mot); nb_cles++; return(nb_cles); } else return (-1);}c/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string;u{r while(*string)e { *string = toupper (*string); string++;t }}e/*'* CORRIGE() permet de reediter la fiche*/corrige(numero)e short numero;t{_ int i, started; char ligne[80], old_simple, /* type initial */ * fgetss();c S a_killer = FALSE;7 old_simple = simple; /* on memorise le type initial */c if (!tmp_ok) return; * sprintf(ligne,"%s prefiche.tmp",EDITEUR); system(ligne);;? if ((p_pre_fiche = fopen("prefiche.tmp",LIRE)) == NULL)e {uS printf("\007pb sur prefiche.tmp: la correction sera impossible\n");j tmp_ok = FALSE; return;_ } /*(+ * evite les lignes blanches de debut det * fichier  */ i = 0;e do' { fgetss(ligne,80,p_pre_fiche);d i ++;z }while (!strlen(ligne)); i --; rewind(p_pre_fiche);*) while(i--) fgetss(ligne,80,p_pre_fiche);s e simple = TRUE;r for (i = 0; i < 4; i++) {- pre_fiche.nom[i][0] = 0; /* inialisation */l0 pre_fiche.prenom[i][0] = 0; /* inialisation */ } i = 0;  while(i < 10) { fgetss(ligne,80,p_pre_fiche);( if (strlen(ligne)) {uB if (strncmp(ligne,"----------",10)) /* si pas egal c'est bon */ { ligne[18] = 0; strupper(ligne); #ifdef DEBUG printf("Aut: %s",ligne);#endif# strcpy(pre_fiche.nom[i],ligne);h! fgetss(ligne,80,p_pre_fiche);_ ligne[6] = 0; strupper(ligne); #ifdef DEBUG printf(" Pre: %s\n",ligne); #endif& strcpy(pre_fiche.prenom[i],ligne); i++; } else { pre_fiche.nb_auteurs = i;o if (i > 5) simple = FALSE; break; } } } if (i == 10)u { pre_fiche.nb_auteurs = i;h simple = FALSE;iP fgetss(ligne,80,p_pre_fiche); /* pour sauter le delimiteur qu'on n'a pas vu */ } /* fin du if */ /* titre */F for (i = 0; i < 4; i++) pre_fiche.titre[i][0] = 0; /* inialisation */ i = 0;; while(i < 4) { ligne[0] = 0;n fgetss(ligne,80,p_pre_fiche);  if (strlen(ligne)) {eB if (strncmp(ligne,"----------",10)) /* si pas egal c'est bon */ { ligne[80] = 0; #ifdef DEBUG printf("T: %s\n",ligne);#endif% strcpy(pre_fiche.titre[i],ligne);c } else break; }] i++; } fgetss(ligne,80,p_pre_fiche);? if (!strncmp(ligne,"----------",10)) /* c'est le delimiteur */( fgetss(ligne,80,p_pre_fiche);t if (strlen(ligne))e { #ifdef DEBUG printf("J: %s\n",ligne);#endif test_abrev(ligne); ligne[36] = 0;" strcpy(pre_fiche.journal,ligne); } else { simple = FALSE;f pre_fiche.journal[0] = 0;  fgetss(ligne,80,p_pre_fiche); ligne[80] = 0; strcpy(pre_fiche.livre,ligne); fgetss(ligne,80,p_pre_fiche);e ligne[80] = 0;# strcpy(pre_fiche.editeurs,ligne);. fgetss(ligne,39,p_pre_fiche);u ligne[39] = 0;$ strcpy(pre_fiche.publisher,ligne); fgetss(ligne,39,p_pre_fiche);f ligne[39] = 0; strcpy(pre_fiche.ville,ligne); #ifdef DEBUG) printf("LIVRE: %s\n",pre_fiche.livre);,#endif } fgetss(ligne,80,p_pre_fiche); #ifdef DEBUG printf("V: %s",ligne);)#endif ligne[4] = 0; strcpy(pre_fiche.volume,ligne); fgetss(ligne,80,p_pre_fiche); #ifdef DEBUG printf("P: %s",ligne);\#endif ligne[10] = 0;i strcpy(pre_fiche.pages,ligne);_+ pre_fiche.annee = faskival(p_pre_fiche,0);R fgetss(ligne,80,p_pre_fiche); #ifdef DEBUG printf("Tap: %s",ligne);,#endif ligne[10] = 0;a strcpy(pre_fiche.t_a_p,ligne);"% pre_fiche.type = (simple)? 'S': 'D';_ #ifdef DEBUG; printf("Fiche %s relue\n",((simple)?"Simple":"Double"));l#endif fclose(p_pre_fiche);h}%/*D* TRANSFERT_PRE_FICHE() transfert final de la prefiche dans la fiche*/transfert_pre_fiche(numero)m short numero;}{e#include . register i; long tim, *p_tim; n if (simple) { fiche.Simple.type = 'S'; fiche.Simple.numero = numero;f1 fiche.Simple.nb_auteurs = pre_fiche.nb_auteurs;m- for (i = 0; i < 5; i++) /* nb d'auteurs */i {_ if (strlen(pre_fiche.nom[i])) {1 strcpy(fiche.Simple.nom[i],pre_fiche.nom[i]);-7 strcpy(fiche.Simple.prenom[i],pre_fiche.prenom[i]);  } elsee { fiche.Simple.nom[i][0] = 0;p" fiche.Simple.prenom[i][0] = 0; } }i- for (i = 0; i < 4; i++) /* nb de lignes */ {-" if (strlen(pre_fiche.titre[i]))5 strcpy(fiche.Simple.titre[i],pre_fiche.titre[i]);(! else fiche.Simple.titre[i][0];p }f1 strcpy(fiche.Simple.journal,pre_fiche.journal); / strcpy(fiche.Simple.volume,pre_fiche.volume);;- strcpy(fiche.Simple.pages,pre_fiche.pages);i' fiche.Simple.annee = pre_fiche.annee;i- strcpy(fiche.Simple.t_a_p,pre_fiche.t_a_p);" p_tim = &tim;e tim = time(0);) strcpy(fiche.Simple.jour,ctime(p_tim));u #ifdef UNIXt! fiche.Simple.uic_mb = getuid();a#endif #ifdef VMS fiche.Simple.uic_mb = 0;#endif #ifdef MS_DOS_ fiche.Simple.uic_mb = 0;#endif- for(i = 0; i < 10; i++) /* les mots cles */+ { , fiche.Simple.keys[i] = pre_fiche.keys[i]; }l } elsei { fiche.Double.type = 'D'; fiche.Double.numero = numero; 1 fiche.Double.nb_auteurs = pre_fiche.nb_auteurs;=. for (i = 0; i < 10; i++) /* nb d'auteurs */ {e if (strlen(pre_fiche.nom[i])) {1 strcpy(fiche.Double.nom[i],pre_fiche.nom[i]);r7 strcpy(fiche.Double.prenom[i],pre_fiche.prenom[i]);  } elser { fiche.Double.nom[i][0] = 0;\" fiche.Double.prenom[i][0] = 0; } } #ifdef DEBUG3* printf("Noms transferes..\n");#endif- for (i = 0; i < 4; i++) /* nb de lignes */d {u" if (strlen(pre_fiche.titre[i]))5 strcpy(fiche.Double.titre[i],pre_fiche.titre[i]);;% else fiche.Double.titre[i][0] = 0;  }p #ifdef DEBUG3m" printf("Titres transferes..\n");#endif- strcpy(fiche.Double.livre,pre_fiche.livre);m3 strcpy(fiche.Double.editeurs,pre_fiche.editeurs);5 strcpy(fiche.Double.publisher,pre_fiche.publisher);i- strcpy(fiche.Double.ville,pre_fiche.ville);h #ifdef DEBUG3 " printf("Livres transferes..\n");#endif1 strcpy(fiche.Double.journal,pre_fiche.journal);e/ strcpy(fiche.Double.volume,pre_fiche.volume);c- strcpy(fiche.Double.pages,pre_fiche.pages);i #ifdef DEBUG3# printf("Journal transferes..\n");e#endif' fiche.Double.annee = pre_fiche.annee;m- strcpy(fiche.Double.t_a_p,pre_fiche.t_a_p);l p_tim = &tim;/ tim = time(0);) strcpy(fiche.Double.jour,ctime(p_tim));f #ifdef DEBUG3i' printf("References transferees..\n");"#endif #ifdef UNIX]! fiche.Double.uic_mb = getuid();'#endif #ifdef VMS fiche.Double.uic_mb = 0;#endif #ifdef MS_DOS  fiche.Double.uic_mb = 0;#endif- for(i = 0; i < 10; i++) /* les mots cles */e {e, fiche.Double.keys[i] = pre_fiche.keys[i]; }* } fclose(p_pre_fiche);_})/*.* CHANGE_MOTS permet de modifier les mots cles*/ lchange_mots(numero)( short numero;o{n int i, k, num_key, nb_keys; char ligne[80], prompt[80], rep; h /* Mots cles */ while(TRUE) { i = 0; while(i < nb_key_act)( {] k = pre_fiche.keys[i]-1;e strcpy(ligne,cle[k]); if (strlen(ligne)) + printf("\nMot-cle %d: %s\n",i+1,ligne);n else break; i++;e }  nb_keys = nb_key_act;sk rep = askcval("\nVoulez-vous Ajouter, Supprimer, Modifier ou [Q]uitter\nReponse (A, S, M ou [Q]): ",'q');)  switch(tolower(rep)) {f case 'a': i = nb_key_act;tG sprintf(prompt,"\nMot-cle %d: ____________\rMot-cle %d: ",i+1,i+1);a asksval(prompt,"\0",ligne);V if (strlen(ligne)) {e ligne[12] = 0;n+ pre_fiche.keys[i] = trouve_key(ligne);,9 /* on redemande sans incrementer si -1 en retour */r. if (pre_fiche.keys[i] > 0) nb_key_act++;  }p break; case 'm':C sprintf(prompt,"Numero du mot cle a changer (1-%d) :",nb_keys);r& num_key = askival(prompt,nb_keys); i = num_key - 1;G sprintf(prompt,"\nMot-cle %d: ____________\rMot-cle %d: ",i+1,i+1);v asksval(prompt,"\0",ligne);  if (strlen(ligne)) {p ligne[12] = 0;nF if (trouve_key(ligne) > 0) pre_fiche.keys[i] = trouve_key(ligne); } break; case 's':E sprintf(prompt,"Numero du mot cle a supprimer (1-%d) :",nb_keys);t& num_key = askival(prompt,nb_keys); i = num_key - 1;2 pre_fiche.keys[i] = pre_fiche.keys[nb_keys-1];" pre_fiche.keys[nb_keys-1] = 0; nb_key_act--;; break; case 'q': return; }p  }}//*2 * FGETSS() mime celui de RSX (enleve le \n final) */e# char * fgetss(buffer,maxbytes,iop) char *buffer; int maxbytes; FILE *iop;e { char *status; s& status = fgets(buffer,maxbytes,iop); buffer[strlen(buffer) - 1] = 0; return(status); }/*2* DIF_STRING() renvoi le nb de lettres differentes*/dif_string(str_a,str_b) char *str_a, *str_b;{ int dif;_ char *str_c; dif = 0; 7 str_c = (strlen(str_a) > strlen(str_b))? str_a: str_b;= while(*str_c++) {" if (*str_a++ != *str_b++) dif++; } return(dif);l}e/*$* READ_FICHE() relit la fiche numero*/read_fiche(numero) short numero;{e long offset;E  simple = TRUE;4 killed = wrong_numero = FALSE;  p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);2 if(fseek(c_fiches,offset,0) == -1) return(FALSE);0 fread(p_fiche,sizeof(fiche.A_lire),1,c_fiches); switch(fiche.A_lire[0].type)0 { case 'S':  simple = TRUE; break;8 case 'D':t simple = FALSE; break; case 'K':: killed = TRUE;f break;y default :m wrong_numero = TRUE;l } return(TRUE);}/*%* WRITE_FICHE() relit la fiche numeroi*/write_fiche(numero)P short numero;){ long offset;c p p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);2 if(fseek(c_fiches,offset,0) == -1) return(FALSE);1 fwrite(p_fiche,sizeof(fiche.A_lire),1,c_fiches);_ return(TRUE);}i/*:* ISINSTR() regarde si une sous chaine est dans une chaine*/char *isinstr(string,substring) (char *string, /* La chaine incluante */) *substring; /* la sous chaine incluse */]{0 int diff_len, sub_len; {$ sub_len = strlen(substring);% diff_len = strlen(string) - sub_len;  A if (diff_len < 0) return(0); /* souschaine trop grande */M diff_len++; /* pour aller jusqu'au bout (poteaux et intervalles) */  while (diff_len--) {9 if(!strncmp(string,substring,sub_len)) return (string);0 string++;; } return(FALSE);,}-curseur(nl,nc){e printf("\033[%d;%dH",nl,nc);l}eerase()i{) printf("%s%s",CLRAS,HOME);}d/*2* RE_GET_FICHE() permet de rentrer une fiche*/re_get_fiche(numero) short numero;e{c int i,g! num_ligne; /* ligne courante */L char *zero,. rep, prompt[81],t ligne[81]; _ if (simple) {) pre_fiche.numero = fiche.Simple.numero; % pre_fiche.type = fiche.Simple.type;[) pre_fiche.numero = fiche.Simple.numero;)1 pre_fiche.nb_auteurs = fiche.Simple.nb_auteurs; / for (i = 0; i < fiche.Simple.nb_auteurs; i++)s {e0 strcpy(pre_fiche.nom[i],fiche.Simple.nom[i]);6 strcpy(pre_fiche.prenom[i],fiche.Simple.prenom[i]); } /* fin du for */ for (i = 0; i < 4; i++),4 strcpy(pre_fiche.titre[i],fiche.Simple.titre[i]);1 strcpy(pre_fiche.journal,fiche.Simple.journal);u/ strcpy(pre_fiche.volume,fiche.Simple.volume);f- strcpy(pre_fiche.pages,fiche.Simple.pages);g' pre_fiche.annee = fiche.Simple.annee;n- strcpy(pre_fiche.t_a_p,fiche.Simple.t_a_p);)) pre_fiche.uic_mb = fiche.Simple.uic_mb;D+ strcpy(pre_fiche.jour,fiche.Simple.jour);l for (i = 0; i < 10; i++), pre_fiche.keys[i] = fiche.Simple.keys[i]; } /* fin du if */ elseG {) pre_fiche.numero = fiche.Double.numero;e% pre_fiche.type = fiche.Double.type;i) pre_fiche.numero = fiche.Double.numero;n1 pre_fiche.nb_auteurs = fiche.Double.nb_auteurs;f/ for (i = 0; i < fiche.Double.nb_auteurs; i++)c {<0 strcpy(pre_fiche.nom[i],fiche.Double.nom[i]);6 strcpy(pre_fiche.prenom[i],fiche.Double.prenom[i]); } /* fin du for */ for (i = 0; i < 4; i++) 4 strcpy(pre_fiche.titre[i],fiche.Double.titre[i]);1 strcpy(pre_fiche.journal,fiche.Double.journal);[- strcpy(pre_fiche.livre,fiche.Double.livre);f3 strcpy(pre_fiche.editeurs,fiche.Double.editeurs);_5 strcpy(pre_fiche.publisher,fiche.Double.publisher);p- strcpy(pre_fiche.ville,fiche.Double.ville);0/ strcpy(pre_fiche.volume,fiche.Double.volume); - strcpy(pre_fiche.pages,fiche.Double.pages);.' pre_fiche.annee = fiche.Double.annee;[- strcpy(pre_fiche.t_a_p,fiche.Double.t_a_p);t) pre_fiche.uic_mb = fiche.Double.uic_mb;o+ strcpy(pre_fiche.jour,fiche.Double.jour);m for (i = 0; i < 10; i++), pre_fiche.keys[i] = fiche.Double.keys[i]; } erase();p9 printf("%s Fiche Numero %d %s\n",REVERSE,numero,NORMAL);r+ for (i = 0; i < pre_fiche.nb_auteurs; i++)e { num_ligne = i+3; curseur(num_ligne,1);J printf("%s Auteur %2d %s %sNom: __________________ Prenom: ______%s\n",$ REVERSE,i+1,NORMAL,BOLD,NORMAL); curseur(num_ligne,18); printf("%s",pre_fiche.nom[i]); curseur(num_ligne,46);# printf("%s",pre_fiche.prenom[i]);  } num_ligne = i+3;l curseur(num_ligne,1); /* efface la fin de la ligne */ puts("\033[K"); /* titre */& num_ligne = pre_fiche.nb_auteurs + 4; curseur(num_ligne,1);& printf("%s Titre %s",REVERSE,NORMAL); num_ligne++;] curseur(num_ligne,1); print~ BIBLIO.BCKv0b%[DANA.BIBLIO]CORRIGE_FICHES.C;1~LhJf("%s\P_____________________________________________________________________________\n\P_____________________________________________________________________________\n\P_____________________________________________________________________________\n\S_____________________________________________________________________________%s\n",) BOLD,NORMAL);e curseur(num_ligne,1); for (i = 0; i < 4; i++)$ printf("%s\n",pre_fiche.titre[i]); D num_ligne += 4; num_ligne++;. if (strlen(pre_fiche.journal))u { curseur(num_ligne,1);E printf("%s Journal: %s %s____________________________________%s\n",u REVERSE,NORMAL,BOLD,NORMAL);) curseur(num_ligne,12);! printf("%s",pre_fiche.journal);B } elsen { curseur(num_ligne,1); puts("\033[K");c fflush(stdout);r curseur(num_ligne,1);c printf("%s Livre: %s\n%s\cS_____________________________________________________________________________%s\n",f REVERSE,NORMAL,BOLD,NORMAL); printf("%s Edite par: %s\n%s\cS_____________________________________________________________________________%s\n", REVERSE,NORMAL,BOLD,NORMAL);K printf("%s Publie par: %s %s_______________________________________%s\n", REVERSE,NORMAL,BOLD,NORMAL);G printf("%s Ville: %s %s________________________________________%s\n",e REVERSE,NORMAL,BOLD,NORMAL); simple = FALSE;d /* Livre */ num_ligne++; curseur(num_ligne,1); printf("%s",pre_fiche.livre);h /* Edite par */ num_ligne += 2;h curseur(num_ligne,1);M" printf("%s",pre_fiche.editeurs); /* Publie par */u num_ligne ++;e curseur(num_ligne,15);# printf("%s",pre_fiche.publisher); /* Ville */ num_ligne++; curseur(num_ligne,10); printf("%s",pre_fiche.ville);y } num_ligne ++; curseur(num_ligne,1);? printf("%s Volume: %s %s____%s\n",REVERSE,NORMAL,BOLD,NORMAL);o curseur(num_ligne,11);) printf("%s",pre_fiche.volume);  curseur(num_ligne,20);D printf("%s Pages: %s %s__________%s\n",REVERSE,NORMAL,BOLD,NORMAL); curseur(num_ligne,29);Q printf("%s",pre_fiche.pages); curseur(num_ligne,45);:* printf("%s Annee: %s \n",REVERSE,NORMAL); curseur(num_ligne,54);_ printf("%d",pre_fiche.annee); num_ligne++;0 curseur(num_ligne,1);E printf("%s T-a-P: %s %s__________%s\n",REVERSE,NORMAL,BOLD,NORMAL);v curseur(num_ligne,11);o printf("%s",pre_fiche.t_a_p); curseur(23,1); G printf("%sDesirez-vous corriger la fiche ([o] ou n):%s ",BOLD,NORMAL);  rep = askcval("",'o'); if (strchr("oOyY",rep))b { edite(); } tmp_ok = TRUE;A if ((p_pre_fiche = fopen("prefiche.tmp",ECRIRE)) == NULL)r { S printf("\007pb sur prefiche.tmp: la correction sera impossible\n");l tmp_ok = FALSE;e } if (tmp_ok) {, for (i = 0; i < pre_fiche.nb_auteurs; i++) {  strupper(pre_fiche.nom[i]);! strupper(pre_fiche.prenom[i]);)0 fprintf(p_pre_fiche,"%s\n",pre_fiche.nom[i]);3 fprintf(p_pre_fiche,"%s\n",pre_fiche.prenom[i]);r }h fprintf(p_pre_fiche,"\S----------------------------------- T I T R E --------------------------------\n");  for (i = 0; i < 4; i++)( {e" if (strlen(pre_fiche.titre[i]))3 fprintf(p_pre_fiche,"%s\n",pre_fiche.titre[i]);f else break; } fprintf(p_pre_fiche,"\S------------------------------ R E F E R E N C E -----------------------------\n"); if (strlen(pre_fiche.journal))1 fprintf(p_pre_fiche,"%s\n",pre_fiche.journal);t else {r1 fprintf(p_pre_fiche,"\n%s\n",pre_fiche.livre); 2 fprintf(p_pre_fiche,"%s\n",pre_fiche.editeurs);3 fprintf(p_pre_fiche,"%s\n",pre_fiche.publisher); / fprintf(p_pre_fiche,"%s\n",pre_fiche.ville);) }e/ fprintf(p_pre_fiche,"%s\n",pre_fiche.volume);e. fprintf(p_pre_fiche,"%s\n",pre_fiche.pages);. fprintf(p_pre_fiche,"%d\n",pre_fiche.annee);. fprintf(p_pre_fiche,"%s\n",pre_fiche.t_a_p); } show_pre_fiche();/*+* Manque l'identification et la date u* sont mises a la finc*/% pre_fiche.type = (simple)? 'S': 'D';c! if (tmp_ok) fclose(p_pre_fiche);e return(numero);}E #ifdef UNIX8#include l short cooked;bstatic struct sgttyb tbuf; evoid setcbreak(){ a" if(ioctl(0,TIOCGETP,&tbuf) == -1) {" printf(" sortir par set break"); exit();f } cooked = tbuf.sg_flags; tbuf.sg_flags = CBREAK;# if (ioctl(0,TIOCSETP,&tbuf) == -1)h { exit();n } r})void restore(){e tbuf.sg_flags = cooked; )6 if (ioctl(0,TIOCSETP,&tbuf) == -1) printf("warning"); }c/*H* EDITE() permet de faire de l'edition pleine page de la fiche, avant deF* la sauver. On ne peut ni rajouter une ligne de titre, ni un auteur.* */edite()a{ # define CTRL_F ('\006')# define ESC ('\033')0# define HAUT ('A')# define BAS ('B')# define DROITE ('C')e# define GAUCHE ('D')# define BEEP putchar('\007')b struct  { char *texte; int ligne, debut,h longueur; } champ[32];  int ligne_crte, col_crte,s chp_crt, chp_an,i bas, haut, i, k; char c, corrige[81], annee[20]; g- setcbreak(); /* met le terminal en cbreak */ t BEEP; curseur(1,30);(7 printf("%s%sEDITION%s finir par %sCrtl F%s (%sF%sin)",i1 REVERSE,BLINK,NORMAL,BOLD,NORMAL,BOLD,NORMAL);  /* mise a jour des champs */u f chp_crt = 0;t ligne_crte = 2;? for (i = 0; i < pre_fiche.nb_auteurs; i++) /* nb d'auteurs */L { ligne_crte++; * champ[chp_crt].texte = pre_fiche.nom[i];% champ[chp_crt].ligne = ligne_crte; c champ[chp_crt].debut = 18; champ[chp_crt].longueur = 18;r chp_crt++;- champ[chp_crt].texte = pre_fiche.prenom[i];s% champ[chp_crt].ligne = ligne_crte; = champ[chp_crt].debut = 46; champ[chp_crt].longueur = 6; chp_crt++; }' ligne_crte += 2; /* saute 2 lignes */m, for (i = 0; i < 4; i++) /* nb de lignes */ { ligne_crte ++;, champ[chp_crt].texte = pre_fiche.titre[i];% champ[chp_crt].ligne = ligne_crte; j champ[chp_crt].debut = 1;u champ[chp_crt].longueur = 80;. chp_crt++; } ligne_crte ++;e ligne_crte ++;l a if (strlen(pre_fiche.journal)). {+ champ[chp_crt].texte = pre_fiche.journal;m% champ[chp_crt].ligne = ligne_crte; e champ[chp_crt].debut = 12; champ[chp_crt].longueur = 36; chp_crt++; } else) { ligne_crte++;]) champ[chp_crt].texte = pre_fiche.livre;/% champ[chp_crt].ligne = ligne_crte; e champ[chp_crt].debut = 1;. champ[chp_crt].longueur = 80;_ chp_crt++; ligne_crte++;e ligne_crte++;., champ[chp_crt].texte = pre_fiche.editeurs;% champ[chp_crt].ligne = ligne_crte; + champ[chp_crt].debut = 1;. champ[chp_crt].longueur = 80;s chp_crt++; ligne_crte++;.- champ[chp_crt].texte = pre_fiche.publisher; $ champ[chp_crt].ligne = ligne_crte; champ[chp_crt].debut = 15; champ[chp_crt].longueur = 40;l chp_crt++; ligne_crte++;c) champ[chp_crt].texte = pre_fiche.ville; % champ[chp_crt].ligne = ligne_crte; e champ[chp_crt].debut = 10; champ[chp_crt].longueur = 40;) chp_crt++; } ligne_crte++;) champ[chp_crt].texte = pre_fiche.volume;,$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;) champ[chp_crt].longueur = 4;o chp_crt++;( champ[chp_crt].texte = pre_fiche.pages;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 29;j champ[chp_crt].longueur = 10; chp_crt++;0% sprintf(annee,"%d",pre_fiche.annee);l champ[chp_crt].texte = annee;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 54;  champ[chp_crt].longueur = 4;i chp_an = chp_crt; chp_crt++;u ligne_crte++;( champ[chp_crt].texte = pre_fiche.t_a_p;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;; champ[chp_crt].longueur = 10; bas = ligne_crte; haut = champ[0].ligne;i ligne_crte = haut;, col_crte = champ[0].debut;n chp_crt = 0;l curseur(ligne_crte,col_crte);" while ((c = getchar()) != CTRL_F) { if (c == ESC)r {* if ((c = getchar()) == '[' || c == 'O') { c = getchar(); switch (c) {, case HAUT:l if (chp_crt == 0)g {p BEEP; break;_ }_ chp_crt--;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);_ break; case BAS: if (ligne_crte == bas) {_ BEEP; break;_ }_ ligne_crte++;_ chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);] break; case DROITE:lC if (col_crte == champ[chp_crt].debut+champ[chp_crt].longueur)) {n BEEP; break;_ }_ col_crte++;\# curseur(ligne_crte,col_crte);) break; case GAUCHE:n+ if (col_crte == champ[chp_crt].debut) {( BEEP; break;K }f col_crte--;u# curseur(ligne_crte,col_crte);v break; default:_ BEEP;_ }_ } }_ else {_6 if ( c == '\177' || c == '\010') /* delete ou BS */ {, for (i = 0; i < 80; i++) corrige[i] = 0;( k = col_crte - champ[chp_crt].debut;. strncpy(corrige,champ[chp_crt].texte,k-1);- strcat(corrige,&champ[chp_crt].texte[k]);_) strcpy(champ[chp_crt].texte,corrige);  col_crte--;B4 printf("\b%s%s_%s",&(champ[chp_crt].texte[k-1]), BOLD,NORMAL);! curseur(ligne_crte,col_crte);,6 if (chp_crt == chp_an)! {rF pre_fiche.annee = atoi(annee);! }s) continue;u } if ( c < ' ') { if ( c == '\n' || c == '\r') {u if (ligne_crte == bas)  { BEEP;u chp_crt = 0;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);N continue;) } elseg { chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);r continue;) } }" else {; BEEP; continue; }t }+ for (i = 0; i < 80; i++) corrige[i] = 0;l' k = col_crte - champ[chp_crt].debut;;+ strncpy(corrige,champ[chp_crt].texte,k);p corrige[k] = c; corrige[k+1] = 0;, strcat(corrige,&champ[chp_crt].texte[k]);( strcpy(champ[chp_crt].texte,corrige); col_crte++;) printf("%s",&champ[chp_crt].texte[k]); curseur(ligne_crte,col_crte); if (chp_crt == chp_an); {" pre_fiche.annee = atoi(annee); } }t }( restore(); /* repasse en mode cooked */ }=#endif #ifdef VMS int cooked[3];void setcbreak(){b int status; short iosb[4];n int ttchar[3];n $DESCRIPTOR(ttdesc,"TT:");= status = sys$assign ( &ttdesc,  &ttchannel, i 0 , t 0 );  if (status != SS$_NORMAL) {8 fprintf(stderr,"%%Erreur %d sur ASSIGN TT:\n",status); exit(status);h } status = sys$qiow ( 0 , " ttchannel,  IO$_SENSEMODE, iosb ,  0 , 0 , - cooked ,  12 ,  0 ,  0 , - 0 , - 0 );- if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) {; fprintf(stderr,"%%Erreur %d sur QIO SENSEMODE\n",status);e exit(status); } ttchar[0] = cooked[0];, ttchar[1] = cooked[1] | TT$M_NOECHO;. ttchar[2] = cooked[2] | TT2$M_PASTHRU; status = sys$qiow ( 0 , e ttchannel,  IO$_SETMODE, iosb ,  0 , r 0 , e ttchar ,  12 ,  0 ,  0 , n 0 , f 0 );n r if (status == SS$_NORMAL) status = iosb[0];, if (status != SS$_NORMAL) {9 fprintf(stderr,"%%Erreur %d sur QIO SETMODE\n",status);_ exit(status);p }}evoid restore(){( int status; short iosb[4];g status = sys$qiow ( 0 , e ttchannel,  IO$_SETMODE, iosb ,  0 , e 0 , cooked ,  12 ,  0 ,  0 , q 0 , t 0 );  l if (status == SS$_NORMAL) status = iosb[0];t if (status != SS$_NORMAL) {9 fprintf(stderr,"%%Erreur %d sur QIO SETMODE\n",status);d exit(status);u } status = sys$dassgn(ttchannel);}rchar getchar_vms(){d char c; short iosb[4];( int status; status = sys$qiow ( 0 , s ttchannel,  IO$_READVBLK, iosb ,  0 , s 0 ,  &c ,  1 , R 0 ,  0 , T 0 , t 0 );1 return(c);}t/*H* EDITE() permet de faire de l'edition pleine page de la fiche, avant deF* la sauver. On ne peut ni rajouter une ligne de titre, ni un auteur.*t*/edite()l{i# define CTRL_F ('\006')# define ESC ('\033')e# define HAUT ('A')o# define BAS ('B')# define DROITE ('C')# define GAUCHE ('D')i# define BEEP putchar('\007')C struct  { char *texte; int ligne, debut,i longueur; } champ[32];U int ligne_crte, col_crte,a chp_crt, chp_an, bas, haut,; i, k; char c, corrige[81], annee[20]; t- setcbreak(); /* met le terminal en cbreak */n  BEEP; curseur(1,30); 7 printf("%s%sEDITION%s finir par %sCrtl F%s (%sF%sin)",t1 REVERSE,BLINK,NORMAL,BOLD,NORMAL,BOLD,NORMAL);E /* mise a jour des champs */% I chp_crt = 0;r ligne_crte = 2;? for (i = 0; i < pre_fiche.nb_auteurs; i++) /* nb d'auteurs */  { ligne_crte++;s* champ[chp_crt].texte = pre_fiche.nom[i];% champ[chp_crt].ligne = ligne_crte; i champ[chp_crt].debut = 18; champ[chp_crt].longueur = 18;] chp_crt++;- champ[chp_crt].texte = pre_fiche.prenom[i];t% champ[chp_crt].ligne = ligne_crte; h champ[chp_crt].debut = 46; champ[chp_crt].longueur = 6; chp_crt++; }' ligne_crte += 2; /* saute 2 lignes */e, for (i = 0; i < 4; i++) /* nb de lignes */ { ligne_crte ++;, champ[chp_crt].texte = pre_fiche.titre[i];% champ[chp_crt].ligne = ligne_crte; + champ[chp_crt].debut = 1;  champ[chp_crt].longueur = 80;t chp_crt++; } ligne_crte ++;[ ligne_crte ++;l e if (strlen(pre_fiche.journal))= {+ champ[chp_crt].texte = pre_fiche.journal;+$ champ[chp_crt].ligne = ligne_crte; champ[chp_crt].debut = 12;. champ[chp_crt].longueur = 36;t chp_crt++; } elsem { ligne_crte++;g) champ[chp_crt].texte = pre_fiche.livre;=% champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 1; champ[chp_crt].longueur = 80;] chp_crt++; ligne_crte++;h ligne_crte++;e, champ[chp_crt].texte = pre_fiche.editeurs;% champ[chp_crt].ligne = ligne_crte; h champ[chp_crt].debut = 1;  champ[chp_crt].longueur = 80;t chp_crt++; ligne_crte++;h- champ[chp_crt].texte = pre_fiche.publisher;_$ champ[chp_crt].ligne = ligne_crte; champ[chp_crt].debut = 15; champ[chp_crt].longueur = 40;t chp_crt++; ligne_crte++; ) champ[chp_crt].texte = pre_fiche.ville;[% champ[chp_crt].ligne = ligne_crte; l champ[chp_crt].debut = 10; champ[chp_crt].longueur = 40;] chp_crt++; } ligne_crte++;) champ[chp_crt].texte = pre_fiche.volume;h$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11; champ[chp_crt].longueur = 4;c chp_crt++;r( champ[chp_crt].texte = pre_fiche.pages;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 29;= champ[chp_crt].longueur = 10; chp_crt++; % sprintf(annee,"%d",pre_fiche.annee);  champ[chp_crt].texte = annee;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 54;f champ[chp_crt].longueur = 4; chp_an = chp_crt; chp_crt++;p ligne_crte++;( champ[chp_crt].texte = pre_fiche.t_a_p;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;t champ[chp_crt].longueur = 10; bas = ligne_crte; haut = champ[0].ligne;t ligne_crte = haut; col_crte = champ[0].debut; chp_crt = 0;. curseur(ligne_crte,col_crte);& while ((c = getchar_vms()) != CTRL_F) { if (c == ESC)t {h. if ((c = getchar_vms()) == '[' || c == 'O') { c = getchar_vms(); switch (c) {{ case HAUT:r if (chp_crt == 0)a {[ BEEP; break;  }; chp_crt--;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte); break; case BAS: if (ligne_crte == bas) {c BEEP; break;n } ligne_crte++;  chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte); break; case DROITE:;C if (col_crte == champ[chp_crt].debut+champ[chp_crt].longueur)l { BEEP; break;E }  col_crte++;m# curseur(ligne_crte,col_crte);e break; case GAUCHE: + if (col_crte == champ[chp_crt].debut)  {( BEEP; break;  }  col_crte--; # curseur(ligne_crte,col_crte);b break; default: BEEP;K }  } }o else {  if ( c < ' ') { if ( c == '\n' || c == '\r') { if (ligne_crte == bas)  { BEEP;i chp_crt = 0;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);e continue;( } elser { chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);% continue;t } } else {L BEEP; continue; }) }" if ( c == '\177' ) /* delete */ {, for (i = 0; i < 80; i++) corrige[i] = 0;( k = col_crte - champ[chp_crt].debut;. strncpy(corrige,champ[chp_crt].texte,k-1);- strcat(corrige,&champ[chp_crt].texte[k]); ) strcpy(champ[chp_crt].texte,corrige);{ col_crte--;\4 printf("\b%s%s_%s",&(champ[chp_crt].texte[k-1]), BOLD,NORMAL);! curseur(ligne_crte,col_crte);r6 if (chp_crt == chp_an)! {eF pre_fiche.annee = atoi(annee);! }c) continue;. }+ for (i = 0; i < 80; i++) corrige[i] = 0; ' k = col_crte - champ[chp_crt].debut; + strncpy(corrige,champ[chp_crt].texte,k); corrige[k] = c; corrige[k+1] = 0;, strcat(corrige,&champ[chp_crt].texte[k]);( strcpy(champ[chp_crt].texte,corrige); col_crte++;) printf("%s",&champ[chp_crt].texte[k]);r curseur(ligne_crte,col_crte); if (chp_crt == chp_an)e {" pre_fiche.annee = atoi(annee); } }_ }( restore(); /* repasse en mode cooked */ }c#endif #ifdef MS_DOS/*H* EDITE() permet de faire de l'edition pleine page de la fiche, avant deF* la sauver. On ne peut ni rajouter une ligne de titre, ni un auteur.* */edite(){d# define CTRL_F ('\006')# define ESC ('\033')# define HAUT (72)# define BAS (80)T# define DROITE (77)# define GAUCHE (75)# define BEEP putchar('\007') struct  { char *texte; int ligne, debut,( longueur; } champ[32];N int ligne_crte, col_crte,) chp_crt, chp_an,i bas, haut,  i, k; char c,O corrige[81], annee[20]; , BEEP; curseur(1,30); 7 printf("%s%sEDITION%s finir par %sCrtl F%s (%sF%sin)",=1 REVERSE,BLINK,NORMAL,BOLD,NORMAL,BOLD,NORMAL);S /* mise a jour des champs */" r chp_crt = 0;  ligne_crte = 2;? for (i = 0; i < pre_fiche.nb_auteurs; i++) /* nb d'auteurs */  { ligne_crte++;1* champ[chp_crt].texte = pre_fiche.nom[i];% champ[chp_crt].ligne = ligne_crte; $ champ[chp_crt].debut = 18; champ[chp_crt].longueur = 18; chp_crt++;- champ[chp_crt].texte = pre_fiche.prenom[i];n% champ[chp_crt].ligne = ligne_crte; = champ[chp_crt].debut = 46; champ[chp_crt].longueur = 6; chp_crt++; }' ligne_crte += 2; /* saute 2 lignes */u, for (i = 0; i < 4; i++) /* nb de lignes */ { ligne_crte ++;, champ[chp_crt].texte = pre_fiche.titre[i];% champ[chp_crt].ligne = ligne_crte; E champ[chp_crt].debut = 1;0 champ[chp_crt].longueur = 80;0 chp_crt++; } ligne_crte ++; ligne_crte ++;= $ if (strlen(pre_fiche.journal))i {+ champ[chp_crt].texte = pre_fiche.journal;%% champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 12; champ[chp_crt].longueur = 36;h chp_crt++; } elsea { ligne_crte++;() champ[chp_crt].texte = pre_fiche.livre;0% champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 1;, champ[chp_crt].longueur = 80; chp_crt++; ligne_crte++;  ligne_crte++;, champ[chp_crt].texte = pre_fiche.editeurs;% champ[chp_crt].ligne = ligne_crte; u champ[chp_crt].debut = 1;u champ[chp_crt].longueur = 80; chp_crt++; ligne_crte++;C- champ[chp_crt].texte = pre_fiche.publisher;e$ champ[chp_crt].ligne = ligne_crte; champ[chp_crt].debut = 15; champ[chp_crt].longueur = 40;a chp_crt++; ligne_crte++;c) champ[chp_crt].texte = pre_fiche.ville;l% champ[chp_crt].ligne = ligne_crte; t champ[chp_crt].debut = 10; champ[chp_crt].longueur = 40;, chp_crt++; } ligne_crte++;) champ[chp_crt].texte = pre_fiche.volume;t$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;% champ[chp_crt].longueur = 4;% chp_crt++;t( champ[chp_crt].texte = pre_fiche.pages;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 29;g champ[chp_crt].longueur = 10; chp_crt++;u% sprintf(annee,"%d",pre_fiche.annee);i champ[chp_crt].texte = annee;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 54;  champ[chp_crt].longueur = 4;h chp_an = chp_crt; chp_crt++;; ligne_crte++;( champ[chp_crt].texte = pre_fiche.t_a_p;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;m champ[chp_crt].longueur = 10; bas = ligne_crte; haut = champ[0].ligne;n ligne_crte = haut;< col_crte = champ[0].debut; chp_crt = 0;e curseur(ligne_crte,col_crte); while ((c = getch()) != CTRL_F) { if (c == 0)t { c = getch();d switch (c)h { case HAUT: if (chp_crt == 0) { BEEP;l break; } chp_crt--;h' ligne_crte = champ[chp_crt].ligne;=% col_crte = champ[chp_crt].debut;l" curseur(ligne_crte,col_crte); break;. case BAS:r if (ligne_crte == bas)+ { BEEP; break; } ligne_crte++; chp_crt++;' ligne_crte = champ[chp_crt].ligne; % col_crte = champ[chp_crt].debut;_" curseur(ligne_crte,col_crte); break;+ case DROITE:B if (col_crte == champ[chp_crt].debut+champ[chp_crt].longueur) { BEEP; break; } col_crte++;" curseur(ligne_crte,col_crte); break;e case GAUCHE:* if (col_crte == champ[chp_crt].debut) { BEEP;e break; } col_crte--;" curseur(ligne_crte,col_crte); break;i default: BEEP; } }p else {e< if ( c == '\177' || c == '\b' ) /* delete ou backspace */ {, for (i = 0; i < 80; i++) corrige[i] = 0;( k = col_crte - champ[chp_crt].debut;. strncpy(corrige,champ[chp_crt].texte,k-1);- strcat(corrige,&champ[chp_crt].texte[k]);) strcpy(champ[chp_crt].texte,corrige);+ col_crte--;c4 printf("\b%s%s_%s",&(champ[chp_crt].texte[k-1]), BOLD,NORMAL);! curseur(ligne_crte,col_crte);t6 if (chp_crt == chp_an)! {eF pre_fiche.annee = atoi(annee);! }=) continue;+ } if ( c < ' ') { if ( c == '\n' || c == '\r') {p if (ligne_crte == bas)c { BEEP;  chp_crt = 0;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);c continue;r } else_ { chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);_ continue;h } }  else { BEEP; continue; }  }+ for (i = 0; i < 80; i++) corrige[i] = 0;-' k = col_crte - champ[chp_crt].debut;n+ strncpy(corrige,champ[chp_crt].texte,k);  corrige[k] = c; corrige[k+1] = 0;, strcat(corrige,&champ[chp_crt].texte[k]);( strcpy(champ[chp_crt].texte,corrige); col_crte++;) printf("%s",&champ[chp_crt].texte[k]);; curseur(ligne_crte,col_crte); if (chp_crt == chp_an)c {" pre_fiche.annee = atoi(annee); } }t }} #endif/*E* SHOW_PRE_FICHE() montre une fiche a l'ecran avant de la sauvegarderp*/show_pre_fiche(){ register i; int a_la_ligne; /* flag */  printf("%s%s",CLRAS,HOME);i if (simple) { printf("\n**************************%s Fiche simple numero %5d %s*************************\n\n",REVERSE,pre_fiche.numero,NORMAL); } elser { printf("\n**************************%s Fiche double numero %5d %s*************************\n\n",REVERSE,pre_fiche.numero,NORMAL);  }? for (i = 1; i <= pre_fiche.nb_auteurs; i++) /* nb d'auteurs */t { printf("%s %s; ", 1 pre_fiche.prenom[(i-1)],pre_fiche.nom[(i-1)]);p if (i % 3 == 0)  {o printf("\n"); a_la_ligne = TRUE;s }i a_la_ligne = FALSE;  } if (! a_la_ligne) printf("\n");, for (i = 0; i < 4; i++) /* nb de lignes */ {! if (strlen(pre_fiche.titre[i]))p% printf("%s\n",pre_fiche.titre[i]);r } if (strlen(pre_fiche.journal))  {# printf("%s; ",pre_fiche.journal); } elseu {$ printf("In %s\n",pre_fiche.livre);. printf("Edite par %s\n",pre_fiche.editeurs);% printf("%s, ",pre_fiche.publisher);p! printf("%s\n",pre_fiche.ville);g }! printf("%s: ",pre_fiche.volume);t printf("%s ",pre_fiche.pages);)" printf("(%d)\n",pre_fiche.annee);/ printf("\nTire-a-part: %s\n",pre_fiche.t_a_p);% printf("\n");}ee[k-1]), BOLD,NORMAL);! curseur(ligne_crte,col_crte);r6 if (chp_crt == chp_an)! {eF pre_fiche.annee = atoi(annee);! }c) continue;. }+ for (i = 0; i < 80; i++) corrige[i] = 0; ' k!*[DANA.BIBLIO]CORRIGE_FICHES.EXE;1+,.K/ 4KJ-b%0123 KPWOL56M@7@ҭ@8@#Sǔ9GHJ0DX0205(@,hBCORRIGE_FICHESV1.0@05-05   +D,Jv A ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s -> pb c_motcle_index.bibrctx=bin%s -> pb c_auteur_index.bibrctx=bin%s -> pb c_abbrev.bibrctx=bin%s -> pb c_fiches.bibr+ctx=bin%s -> pb c_motcle.bibr+ctx=bin%s -> pb c_auteur.bibr+ctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Actuellement, il y a %d auteurs-mots cles et %d abreviations Numero de la fiche a corriger [fin]: Numero inexistant Fiche supprimee Numero errone Desirez-vous corriger cette fiche ([o] ou n): oOyY Desirez-vous ajouter des auteurs (o ou [n]): oOyY Nouveau numero: %s %d %s Desirez-vous changer les mots-cles (o ou [n]): oOyYLa fiche %s %d %s est corrigee Voulez-vous en corriger une autre (o ou [n]): oOyYc_codcle.bibwctx=bin%s -> pb Maintenant, il y a %d mots cles et %d fiches c_motcle_index.bibwctx=bin%s -> pb c_auteur_index.bibwctx=bin%s -> pb Pb de lecture au fread de c_motcle.bib Fiche %d cle -> %d Nb fiches %d Mot_cle -> %s Pb de lecture au fread de c_auteur.bib Fiche %d --> cle %d Nb fiches %d Auteur %s Pb de lecture au fread Pb de lecture au fread de c_auteur.bib prefiche.tmpwpb sur prefiche.tmp: la correction sera impossible %s %s ----------------------------------- T I T R E -------------------------------- %s ------------------------------ R E F E R E N C E ----------------------------- %s %s %s %d %s %s %s ----------------------------------- T I T R E -------------------------------- %s ------------------------------ R E F E R E N C E ----------------------------- %s %s %s %s %s %s %s %d %s %s %s %s Mot-cle %d: %s Vous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) ([o] ou n): oOyYVous avez le choix parmi... %4d --> %s %d mot-cles possibles avec %s %s %s, precisez mieux... %s %s %s est un nouveau mot-cle (le %d eme). Le garde-t-on (o ou [n]): oOyY%s prefiche.tmpeditprefiche.tmprpb sur prefiche.tmp: la correction sera impossible ------------------------------ Mot-cle %d: %s Voulez-vous Ajouter, Supprimer, Modifier ou [Q]uitter Reponse (A, S, M ou [Q]): Mot-cle %d: ____________ Mot-cle %d: Numero du mot cle a changer (1-%d) : Mot-cle %d: ____________ Mot-cle %d: Numero du mot cle a supprimer (1-%d) :[%d;%dH%s%s%s Fiche Numero %d %s %s Auteur %2d %s %sNom: __________________ Prenom: ______%s %s%s%s Titre %s%s_____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________%s %s %s Journal: %s %s____________________________________%s %s%s Livre: %s %s_____________________________________________________________________________%s %s Edite par: %s %s_____________________________________________________________________________%s %s Publie par: %s %s_______________________________________%s %s Ville: %s %s________________________________________%s %s%s%s%s%s Volume: %s %s____%s %s~ BIBLIO.BCKb%![DANA.BIBLIO]CORRIGE_FICHES.EXE;1K35| %s Pages: %s %s__________%s %s%s Annee: %s %d%s T-a-P: %s %s__________%s %s%sDesirez-vous corriger la fiche ([o] ou n):%s oOyYprefiche.tmpwpb sur prefiche.tmp: la correction sera impossible %s %s ----------------------------------- T I T R E -------------------------------- %s ------------------------------ R E F E R E N C E ----------------------------- %s %s %s %s %s %s %s %d %s TT:%%Erreur %d sur ASSIGN TT: %%Erreur %d sur QIO SENSEMODE %%Erreur %d sur QIO SETMODE %%Erreur %d sur QIO SETMODE %s%sEDITION%s finir par %sCrtl F%s (%sF%sin)%d%s%s_%s%s%s%s **************************%s Fiche simple numero %5d %s*************************  **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^mUX-T2WhegXߥ]X{1ߥb2~ߥ]ߥ NX\2R\RASc2cRR RBgųVWS \1e2~ ŷ5W\2R\RC#WSP\PPRBP@cz\P{PQPPcV2RR\V V\ŏQ\RB RbVP b V\ԟ?yVP?$V3M)zVRbĞ0b>bCbdGGVSciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBgUS \ůŪŃUs~ų1<P~ŴUPhPΘ^KUjU['ZŹgUѬ1g~;P7P~\UPg HHHHHHHHH 2Pr?PH#Z URZJ@:\ZTńZ"@ЬRݢT߭xTʼn߭nTŘŖ߭lTP ߭ŠqT@T߭*TŪ߭ TſŽ߭TP߭#TS߭S߭S߭SPm߭SS߭S߭S߭SP߭SVS߭@S߭6S)&߭4SPk߭1=S S߭R;߭RKH߭RP߭SRR߭R]߭Rmj߭RP5߭uRpR>*R>SRoRTdSd<2~d.RSc2~2~,Rdd<~dj<~mdTc_~l~ŰQ)?-d,<@~dcd< ~~dGQY0QV7WQXQ΀QSPSRTT~3PTT1{2TR j%2RRRď-RRkiPSyPkR>SjRMRbTSbE<2~Xb/M2~2*~ŎM߭HMŽ߭>M߭44P PЮ4RtPPY1Y2YRxRRBgP`1 BRQ>P`PbQ2PŏPUUhkh~HP/ f2YRxRP@gP2`~R2~3f RBjUf2YPxPP@Q2aRBca@gRbacJaUhkh~u0R>cP`PcRŏlUeUhkh~60hR>P`PcR2YPxPP@gRb@Qa@RbcŏRRhkh~04 M^_YV>[W@JZg|S2RSR1J8J4I0I@IRPkSPRP@TPSPRP@TTXX~2RRxRRBvUe1XBvRP>RbRbP2RŏRXXt@j~B@PMdD2>PxPRBWvR2b~P2~ɌPk SRBT PSRBTTɯH1`2>TxTTDvU2eRBgeDuRbecTeX@ﶾ~,P>RbRcPŏX﹊Xw@m~E,PP>RbRcP2>TxTTDLuRbDEuUZeD8uRbgŏ?RR@~,S2RSR1n(^ѽXTVfԮ.GZ GGF[>︿ S PЮRtSSY1Y2YRxRRBdSc1BRbWQ>P`PbQ2PŏPUUhjh~$P bS>fRbW+b2YPxPP@P`Uhjh~kRbSŵ1l 0^Z寮[sV︈XhXS2RSR1EE(E EE$RPSTRTDUPSTRTDUU#U~P#R#PPTDEzSTRTDWPSTRTDWWUU~PURUPPTDME#TTTURRTRRY2YRxRRBfTd1BRWP>RbRbP2RŏRUUj4j~P `R>TdW-d2YPxPP@P`Uj4j~4TbRõ1fS2RSR1P^VWzYUﻺT3CPg CSRDRRf1S2RSR)SP@dSP@?gCS2PSPFݧ~CSŏQSP@ćRbECPbŖgRCSŚgBCScgcgcgc2~gcgcS>R>ƍPb`RP S1-S2RSR)SP@SP@gBS2PSPgBSŏQSP@ RbaBPbUgnBSYg^BRb?/BP?ũgb4MŭgbĞŲgbŶgbźgbdžgAScigc2t~gcvgcS>čR>ƍPb`RP SݧA|<^VT*U'Vݬ߭UAޭ׮ ޮ R P ~AP  b SfRSRG/SRBe߭ AP'B Rbݬ@bASfPSP^TNVV[UԮ2RѮR1@Y@XPRBޮR~iPbSCRSR_ZJWg S\LkhP4\LRbEPEčbU\\L@\UPS\S\֮2RѮR1ZUPPx^kUXЬRbPb~@PbRbЬSS?cRRRB?WS?PPSS, P@d' ?n~0 &P~1 l?PSPP|Z2RZR1Tެ @?(8?$?Y ZRB,ޮ,Vо STݮ,,PRS,RPЮ,UPSUUPPQPRaPЮ,Q,faTTRZPRIZSSp ZRB|k 6 >n~t %P~u >PtSP ZRB=0ޮ0Wо VV(PUݮ0(UPRT1RRSRS#UVݮ8iPЮ0T0gRPRPTT [ZK[Z2PZP1[OSSȴ RB贈ȯ z =o~ȸ M$P~ȹ =PSPP[[[:Ⱦ =S[% CRBKC~ =SS[P' ݬ" [ k=P2RRR_ ݬZ + F=n~c #P~  =P)ݬ2R RB`<2PP^PЬRb~<PbR^UƍS>RcbSR P1=DeS5WSTDRb5PbDgSRBBgPDSRB SRŏQRSC Tdu5PdC W5C R˟MM=5ScƞŞccc??cddciicttvvcޭR4PR4PŃcŁP>ƍS>RcbSR PM4<^wUJTMXNxVS2hRSRGP2CōPP P@f߭L4߭N4P߭SRR Z4RS2hPSP2hWq~ P~O4Pa3PPPPPPPPPPPPPPOP1bPR?P2hSSRRRa \3߭Ĉ \$߭3P1߭PCō1h1PWĊ \3W\PSSRRRį \g3߭ \߭#3P1߭P1߭PCō1yW \ 3W\PWRBō@ōWGōh1?P18 ^ݬ ݬSS2PRS2P@RP|^VЬUUp2PRЬSS`2RPUTPSTTPPQPRaPЬQ֬ЬP֬a`VVPP ^uSFRbcr2PPď-PP 2PP{P>R`bPR S1dgS2RSR2)/VSP@@fSP@@fS2PSPRPŏQRP@ @ .R??.RbMMbĞǞbbbddbiibttvvbāǁăǃS>čP>R`bPR S  d.2 2~-  M.Y2RYR1}9.VYSSRR fł } y YXXt 6 fSRR fYP@ņ fSR.R fYP@ʼn fXY2PYPYXXSS -VfŌ -2RRXXSS fš Ŝ Ő fXXSS f ť fXSS YŏQYP@  0-YX?,PJXSS -Vf61-( fXS S f?:f1 PXSS ,Vf=,,,XSS fůŪŦšAf% ųfvqmh)fžźŵzfGXXSS fMfXXSS fǞfXXSS ffXXS S ffXXSS +VffXS S fdfXSS f+&"fXSS fi/fXS-S fFA2fXS6S f2t~JfXXSS fytpkMfXS S fv}fSS fŵŰŀfo~Ź P~źp*PkſW*Pj c*kk1V2RVR1^*S;*XPVP@ttRtPt~cPttbtVP@ppRpp~cPppbpVP@jhVP@jhV2PVP1n )SŏQSP@ Rb])Pb[jj)S_jZ)Rb?+)P?ůjb4MųjbǞŸjbżjbjbdj(Scijc2t~jcvjc SRPDRRgk j(2P<8^SU=R(T|~ePP\\\d<(\(|~|~ c|~߭'e P\\2\\\d'\'cɏ|~|~ ߭|~߭#e P\\2\\\d'\t'P^1J?PbdbScߢecߢfcߢ+dAScߢ:ecߢDfcߢSd!ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^FR!JUJTZJWV[YXfݬDݾ½߭k|~jgi~߭ ϧ ߭iP߭/PSPоSdeYSdSe?ed_߭k߭iPO~fh߭fhSd1^Se1VSPPμ^ER$IU!ITIYV[ZXWfݬPk߭jݬ ii~߭ ϱ ߭hP߭9PSkSdeYSdSe?ed^߭j߭hPO~fg߭fgSd1_Se1WSPP^ DR1HX.HW TsHVU[ZYfլݬf deѬ  dݬ7k߭jݬ ݬݬGi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg] ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭dP^ݬ'|~c~߭ϋ߭1PPP^aݬݬ c~߭<߭PPP^BR}Fլ լݬݬ Cݬ\ݬݬݬc~߭Ͽ߭ePPP^ݬ߭P߭6PPP^hARIETFES۴WDSZ[4DW=UZ YXVeݬpj~z߭iݬgf~߭߭hP߭}߭YPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^X?R9CW6CV3C[<SCެUTZYXeլݬe§cdѬcݬgpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭)PvjQfg{QfQg]eլݬe·cdVg~Vf~X߭i߭hPOPìP~cd߭cdQf1Qg1PP ^ >Rݬ߭߭P߭߭^PPvP ^=Sݬ3ݬ߭~|~"As~߭ݬ7PO~z߭ PR߭ݬ RPݬ ^0=T)ݬݬ߭ݬIAs~߭ݬScPOR߹cPR~߭cPR߭ݬ cRPݬݬ RQ ^R|~|~ ߢ |~߭#ݢ P\\2\\\lL\^=R|~|~|~߭1ݢ PT^9WY=Z,΀CЬSЬRBcjiǏ9VSkRSESǒibS9PѪjЪj= _·P ·լլ ΈPΈΈ=0ݬPRެTRdSiSRRdΈ"ݬݬǕiibiǟU PPf 9WW)WWWWWWWWWI9P&?Pn [үn[ޯn[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬh PVPi V15ǥia ΀1ViU V1iE ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮq VVVDZi ΀1l si 1WPެRF ,b[ VPVPiq  PF ViǷ VǺi; ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEdY P1޼PE`ݬP ݬݬΐΓ~ݬݬV PRR[iV 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi i] 1rPiK ݬi i i ݬG PѪjЪj ݬ& PѪjЪjRjPi 1 RRji ݬi 7/ݬ PRެTRdSiS RRdii V1zVi 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTCd TV· ·XP XX~SCd i iV1Vi1PΆ1i,i^VkЬRRsRfRi6Έ/RLPRެTRdSiSYRRdΈ"ݬݬi-iQi)Ά >i ݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiM1V1BVPib14iVfݬaYiKiRijݬPѪjЪjRjPi  RRjimݬpis4/ݬPRެTRdSiSRRdisEV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRiݪXΆ iv1+Pծ,1΀1Ԯ,i|Rji =RRji2Έ%RެTRdSiSRRdΈ"ݬݬǂiininjaVVi1` i%Ά~ǏiPi17P f%Ά~ǜ=PiV1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯrVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlTR'ݪ c1ЬRݬ PPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn1[Vn[Bn)[B(^+WVs/TfǸݬ?PѤdФdRdPf IRRdfǻݬǾf/լ.ݬPRެURe SfSRReլ"ݬݬffcfVf@@ LL L4t|l<d|DtL, t 8 ,  @VAXCRTLLIBRTLMTHRTLCORRIGE_FICHES show_fiche mainT T write_motcled write_auteur` rm_motcle0 rm_auteurl put_fiche test_abrev test_auteur trouve_key(strupper(دcorrigeltransfert_pre_fichew change_mots йfgetss0 dif_stringad read_fiche, write_ficheXisinstrWܻcurseur erase  re_get_fiche setcbreakrestorei| getchar_vms, edite4show_pre_fichew i     \  .  h  ASKVALT askidomain8 askfdomain4 ask_speakaskivalaskivalhaskivalf9faskival3askcvalPdaskcvalhLaskcvalf0faskcval,\askfvaldaskfvalhlaskfvalfPfaskfvalDasksvalasksvalh4asksvalffasksvalP@ setcbreak<restoreh g ~ BIBLIO.BCKb%![DANA.BIBLIO]CORRIGE_FICHES.EXE;1KHetchar_vms0 ask_edite?re_ecrit T           -}*[DANA.BIBLIO]CREE_FICHES.C;1+,>./ 4_l-b%0123KPWO56`77S86 Ŕ9GHJ2/*B * CREE_FICHES.C relit le fichier fiches.bib venant de fortan RSX  * et cree c_fiches.bib  * * Programme tres specifique0 * * a ne pas distribuer ou utiliser sans savoir$ * PARFAITEMENT ce que l'on fait!! * * * Version C pour ULTRIX * * 29 Juin 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**//*GC**********************************************************************CC-C BIBFICHES.FTN EST LA SOUSROUTINE QUI PERMET4C DE RENTRER ET CORRIGER AVANT SAUVETAGE LES FICHESC BIBLIOGRAPHIQUES./C LES FICHES SONT AUTOMATIQUEMENT REPARTIES ENC FICHES SIMPLES OU DOUBLES.CHC***********************************************************************$ SUBROUTINE FICHE(ICM,DAY,NFDA,NFDB); DIMENSION MOT(512),T(72,4),TD(72,4),P(6,5),PD(6,5),A(18,5)? DIMENSION AD(18,5),EGO(30,12),ABB(40,42),BOOK(36),CLE(1000,12)< DIMENSION PAGE(10),VOL(4),DAY(9),MOC(12,10),TAP(10),RPL(72). DIMENSION MCLE(10),NDX(255),IFRPL(50),IFK(50): BYTE T,TD,P,PD,A,AD,EGO,ABB,BOOK,CLE,PAGE,VOL,DAY,MOC,TAP BYTE RPL,NSD,CR COMMON /ASVAR/L,J COMMON /RP/NRPL,IFRPL7 OPEN (UNIT=1,NAME='BB:[204,100]ABBAUT.BIB',TYPE='OLD',0 2ACCESS='SEQUENTIAL',FORM='UNFORMATTED',SHARED)7 OPEN (UNIT=2,NAME='BB:[204,100]CODCLE.BIB',TYPE='OLD',0 2ACCESS='SEQUENTIAL',FORM='UNFORMATTED',SHARED)9 OPEN (UNIT=6,NAME='BB:[204,100]FICHKILL.BIB',TYPE='OLD',0 2ACCESS='SEQUENTIAL',FORM='UNFORMATTED',SHARED) READ(6)NFK,IFK7 OPEN (UNIT=7,NAME='BB:[204,100]MOTCLE.BIB',TYPE='OLD',, 2ACCESS='DIRECT',SHARED,FORM='UNFORMATTED',% 3RECORDSIZE=256,ASSOCIATEVARIABLE=J)8 OPEN (UNIT=3,NAME='BB:[204,100]NONINDX.BIB',TYPE='OLD',0 2SHARED,FORM='UNFORMATTED',ACCESS='SEQUENTIAL')*/#include /* #define DEBUG*/char cle[1000][13], fiche_rsx[512];struct S_reference{ char type; short numero, nb_auteurs; char nom[5][19], prenom[5][7], titre[4][81], journal[37], volume[5], pages[11]; short annee; char t_a_p[11]; short uic_mb; char jour[10]; short keys[10];}S_fiche, *p_S_fiche;struct D_reference{ char type; short numero, nb_auteurs; char nom[10][19], prenom[10][7], titre[4][81], livre[81], editeurs[81], publisher[40], ville[40], journal[37], volume[5], pages[11]; short annee; char t_a_p[11]; short uic_mb; char jour[10]; short keys[10];}D_fiche, *p_D_fiche;(FILE *f_fiches, /* fiches.bib fortran */ *c_codcle, /* codcle.bib C */ *c_fiches, /* fiches.bib.c C */ *Livres; /* livres.bib */3int nb_S, nb_D, nb_K, nb_X, nb_Livre_S, nb_Livre_D;main(){ register i, j, k; short nb_cles, nb_fiches, *nb_c, *nb_f; ] if((c_codcle = fopen("/usr/general/users/labo/jfv/biblio/BIBLIO/c_codcle.bib","r")) == NULL) {! printf("c_codcle.bib -> pb\n"); exit(1); }M/* if((c_fiches = fopen("/usr/general/biblio/c_fiches.bib","w+")) == NULL) */_ if((c_fiches = fopen("/usr/general/users/labo/jfv/biblio/BIBLIO/c_fiches.bib","w+")) == NULL)  {! printf("c_fiches.bib -> pb\n"); exit(1); }[ if((f_fiches = fopen("/usr/general/users/labo/jfv/biblio/BIBLIO/fiches.bib","r")) == NULL) {! printf("f_fiches.bib -> pb\n"); exit(1); }/ if((Livres = fopen("livres.bib","w")) == NULL) { printf("livres.bib -> pb\n"); exit(1); } nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);8 printf("%d mots cles\n%d fiches\n",nb_cles, nb_fiches);9 nb_S = nb_D = nb_K = nb_X = nb_Livre_S = nb_Livre_D = 0; k = 1;# for (i = 0; i < nb_fiches; i += k) {7 k = read_fiche(i); /* k = 1 si simple, 2 si double */ #ifdef DEBUG show_fiche(i);#endif write_fiche();  } fclose(c_fiches); fclose(f_fiches); fclose(Livres);X printf("%d fiches Simples\n%d fiches Doubles\n%d fiches Killees\n%d fiches bizarres\n", nb_S, nb_D, nb_K, nb_X);W printf("%d fiches Simples de livres supposes\n%d fiches Doubles de livres supposes\n", nb_Livre_S, nb_Livre_D);}/*.* Relit la fiche et la met dans la structure C*/read_fiche(numero) int numero;{ register i, j, k; union { char octet[2]; short entier; }transf;/ fread(fiche_rsx,sizeof(fiche_rsx),1,f_fiches);/* printf("Fiche %d:\n",numero+1);*/ k = 0; S_fiche.type = fiche_rsx[k++]; switch (S_fiche.type) { case 'S':$ transf.octet[0] = fiche_rsx[k++];$ transf.octet[1] = fiche_rsx[k++];" S_fiche.numero = transf.entier;! if(S_fiche.numero != numero+1) {: printf("\007Fiche Simple %d --> Numero %d (Killee)\n", numero+1, S_fiche.numero); S_fiche.type = 'K'; }$ transf.octet[0] = fiche_rsx[k++];$ transf.octet[1] = fiche_rsx[k++];& S_fiche.nb_auteurs = transf.entier;. for (i = 0; i < 5; i++) /* nb d'auteurs */ {/ for(j = 0; j < 18; j++) /* nb de lettres */( S_fiche.nom[i][j] = fiche_rsx[k++];! raccourci(S_fiche.nom[i],18); }/ for (i = 0; i < 5; i++) /* nb de prenoms */ {. for(j = 0; j < 6; j++) /* nb de lettres */+ S_fiche.prenom[i][j] = fiche_rsx[k++];# raccourci(S_fiche.prenom[i],6); }. for (i = 0; i < 4; i++) /* nb de lignes */ {/ for(j = 0; j < 72; j++) /* nb de lettres */* S_fiche.titre[i][j] = fiche_rsx[k++];# raccourci(S_fiche.titre[i],72); }. for(j = 0; j < 36; j++) /* nb de lettres */( S_fiche.journal[j] = fiche_rsx[k++];! raccourci(S_fiche.journal,36);- for(j = 0; j < 4; j++) /* nb de lettres */' S_fiche.volume[j] = fiche_rsx[k++]; raccourci(S_fiche.volume,4);. for(j = 0; j < 10; j++) /* nb de lettres */& S_fiche.pages[j] = fiche_rsx[k++]; raccourci(S_fiche.pages,10);$ transf.octet[0] = fiche_rsx[k++];$ transf.octet[1] = fiche_rsx[k++];! S_fiche.annee = transf.entier;. for(j = 0; j < 10; j++) /* nb de lettres */& S_fiche.t_a_p[j] = fiche_rsx[k++]; raccourci(S_fiche.t_a_p,10);$ transf.octet[0] = fiche_rsx[k++];$ transf.octet[1] = fiche_rsx[k++];" S_fiche.uic_mb = transf.entier;- for(j = 0; j < 9; j++) /* nb de lettres */% S_fiche.jour[j] = fiche_rsx[k++]; raccourci(S_fiche.jour,9);. for(i = 0; i < 10; i++) /* les mots cles */ {% transf.octet[0] = fiche_rsx[k++];% transf.octet[1] = fiche_rsx[k++];$ S_fiche.keys[i] = transf.entier; } if (!strlen(S_fiche.journal)) { nb_Livre_S++; #ifdef DEBUG show_fiche(numero);#endif- fprintf(Livres,"%5d S\n",S_fiche.numero); } break; case 'D': D_fiche.type = 'D';$ transf.octet[0] = fiche_rsx[k++];$ transf.octet[1] = fiche_rsx[k++];" D_fiche.numero = transf.entier;! if(D_fiche.numero != numero+1) {: printf("\007Fiche Double %d --> Numero %d (Killee)\n", numero+1, D_fiche.numero); D_fiche.type = 'K'; }$ transf.octet[0] = fiche_rsx[k++];$ transf.octet[1] = fiche_rsx[k++];& D_fiche.nb_auteurs = transf.entier;/ for (i = 0; i < 10; i++) /* nb d'auteurs */ {/ for(j = 0; j < 18; j++) /* nb de lettres */( D_fiche.nom[i][j] = fiche_rsx[k++];! raccourci(D_fiche.nom[i],18); }. for (i = 0; i < 4; i++) /* nb de lignes */ {/ for(j = 0; j < 72; j++) /* nb de lettres */* D_fiche.titre[i][j] = fiche_rsx[k++];# raccourci(D_fiche.titre[i],72); }" /* lecture de la 2de partie */1 fread(fiche_rsx,sizeof(fiche_rsx),1,f_fiches);" k = 3; /* on saute NSD et NF */0 for (i = 0; i < 10; i++) /* nb de prenoms */ {. for(j = 0; j < 6; j++) /* nb de lettres */+ D_fiche.prenom[i][j] = fiche_rsx[k++];# raccourci(D_fiche.prenom[i],6); }" /* Les 4 lignes restantes */. for(j = 0; j < 72; j++) /* nb de lettres */& D_fiche.livre[j] = fiche_rsx[k++]; raccourci(D_fiche.livre,72);f. for(j = 0; j < 72; j++) /* nb de lettres */) D_fiche.editeurs[j] = fiche_rsx[k++];i" raccourci(D_fiche.editeurs,72);. for(j = 0; j < 72; j++) /* nb de lettres */* D_fiche.publisher[j] = fiche_rsx[k++];# raccourci(D_fiche.publisher,40);b. for(j = 0; j < 72; j++) /* nb de lettres */) D_fiche.ville[j+32] = fiche_rsx[k++]; raccourci(D_fiche.ville,40);J /* les references */r . for(j = 0; j < 36; j++) /* nb de lettres */( D_fiche.journal[j] = fiche_rsx[k++];! raccourci(D_fiche.journal,36);f- for(j = 0; j < 4; j++) /* nb de lettres */*' D_fiche.volume[j] = fiche_rsx[k++];* raccourci(D_fiche.volume,4);I. for(j = 0; j < 10; j++) /* nb de lettres */& D_fiche.pages[j] = fiche_rsx[k++]; raccourci(D_fiche.pages,10); $ transf.octet[0] = fiche_rsx[k++];$ transf.octet[1] = fiche_rsx[k++];! D_fiche.annee = transf.entier;*. for(j = 0; j < 10; j++) /* nb de lettres */& D_fiche.t_a_p[j] = fiche_rsx[k++]; raccourci(D_fiche.t_a_p,10);6$ transf.octet[0] = fiche_rsx[k++];$ transf.octet[1] = fiche_rsx[k++];" D_fiche.uic_mb = transf.entier;- for(j = 0; j < 9; j++) /* nb de lettres */N% D_fiche.jour[j] = fiche_rsx[k++];B raccourci(D_fiche.jour,9);,. for(i = 0; i < 10; i++) /* les mots cles */ {% transf.octet[0] = fiche_rsx[k++]; % transf.octet[1] = fiche_rsx[k++];Y$ D_fiche.keys[i] = transf.entier; } if (!strlen(D_fiche.journal)) { nb_Livre_D++;B #ifdef DEBUG show_fiche(numero);O#endif- fprintf(Livres,"%5d D\n",D_fiche.numero);0 } break;Y case 'K':2 default: S_fiche.type = 'K'; break; } switch(S_fiche.type)I { case 'S':, nb_S++; return(1); case 'K':I nb_K++;. printf("\tFiche %d --> Killee\n",numero+1); return(1);O case 'D':A nb_D++; return(2);' default: nb_X++;/ printf("\tFiche %d --> Bizarre\n",numero+1);u return(1);* }}n/*$* RACCOURCI enleve les blancs finaux*/raccourci(texte,nb_char) char *texte; int nb_char;{m int i;b texte[nb_char] = 0; i = nb_char-1;5 /* enleve les blancs finaux */' while(texte[i] == ' ') texte[i--] = 0;tD /* supprime les lignes avec un point seul (bug version fortran) */4 if (texte[0] == '.' && texte[1] == 0) texte[0] = 0;} write_fiche(){o0 if (S_fiche.type == 'S' || S_fiche.type == 'K') { p_S_fiche = &S_fiche;]/ fwrite(p_S_fiche,sizeof(S_fiche),1,c_fiches);0 } else[ { p_D_fiche = &D_fiche;e/ fwrite(p_D_fiche,sizeof(S_fiche),2,c_fiches);1 }}tshow_fiche(numero) int numero;t{y register i;" printf("type %c\n",S_fiche.type); if (S_fiche.type == 'S')_ {' printf("Numero %d\n",S_fiche.numero);c/ printf("Nb auteurs %d\n",S_fiche.nb_auteurs); > for (i = 0; i < S_fiche.nb_auteurs; i++) /* nb d'auteurs */ {s6 printf("%s %s\n",S_fiche.prenom[i],S_fiche.nom[i]); }_- for (i = 0; i < 4; i++) /* nb de lignes */r {o if (strlen(S_fiche.titre[i]))$ printf("%s\n",S_fiche.titre[i]); }-! printf("%s\n",S_fiche.journal);( printf("%s\n",S_fiche.volume); printf("%s\n",S_fiche.pages);) printf("%d\n",S_fiche.annee);/ printf("%s\n",S_fiche.t_a_p);LD printf("entree le %s par [204,%o]\n",S_fiche.jour,S_fiche.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */s {e! printf("%d ",S_fiche.keys[i]);c }i } else  {' printf("Numero %d\n",D_fiche.numero);/ printf("Nb auteurs %d\n",D_fiche.nb_auteurs);"> for (i = 0; i < D_fiche.nb_auteurs; i++) /* nb d'auteurs */ {}6 printf("%s %s\n",D_fiche.prenom[i],D_fiche.nom[i]); }i- for (i = 0; i < 8; i++) /* nb de lignes */o {, if (strlen(D_fiche.titre[i]))$ printf("%s\n",D_fiche.titre[i]); }t! printf("%s\n",D_fiche.journal);e printf("%s\n",D_fiche.volume); printf("%s\n",D_fiche.pages);e printf("%d\n",D_fiche.annee);; printf("%s\n",D_fiche.t_a_p); D printf("entree le %s par [204,%o]\n",D_fiche.jour,D_fiche.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */} {l! printf("%d ",D_fiche.keys[i]); }s } printf("\n\n");}ies Simples\n%d fiches Doubles\n%d fiches Killees\n%d fiches bizarres\n", nb_S, nb_D, nb_K, nb_X);W printf("%d fiches Simples de livres supposes\n%d fiches Doubles de livres supposes\n", nb_Livre_S, nb_Livre_D);}/*.* Relit la fiche et la met dans la structure C*/read_fiche(numero) int numero;{ register i, j, k; union { char octet[2]; short entier; }*[DANA.BIBLIO]CREE_FICHES.EXE;1+,rp .!/ 4!!-b%0123 KPWO"56 @7`I@8`Xǔ9GHJ@0DX0205(@,nhF CREE_FICHESV1.0v@05-05 !#7  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001/usr/general/users/labo/jfv/biblio/BIBLIO/c_codcle.bibrc_codcle.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_fiches.bibw+c_fiches.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/fiches.bibrf_fiches.bib -> pb livres.bibwlivres.bib -> pb %d mots cles %d fiches %d fiches Simples %d fiches Doubles %d fiches Killees %d fiches bizarres %d fiches Simples de livres supposes %d fiches Doubles de livres supposes Fiche Simple %d --> Numero %d (Killee) %5d S Fiche Double %d --> Numero %d (Killee) %5d D Fiche %d --> Killee Fiche %d --> Bizarre type %c Numero %d Nb auteurs %d %s %s %s %s %s %s %d %s entree le %s par [204,%o] %d Numero %d Nb auteurs %d %s %s %s %s %s %s %d %s entree le %s par [204,%o] %d (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^t(TCW8Z[X+YVUߤ7d<(Pjߤ9A( (ĄߤM(Pgć('ě'Pk'''P;''>R>SjR'RbjSbj<2~ybjm'2~2~j'\2P\PP-'S\PReSeKefg<-~fcihg<-~hcR\2P\Pg&Rbkb<V<*<&#!g&2P^Y=V*WX<~hL&ThggPPDossssssssssssss+1P~?PTRTBhTRTBh2SRSRSRɲ%KgTRTBhTRTBhSPSUEQTRTBhaQPSRBHSRPPRUEdQTSTChaQPRSCdRSPPŏQSUELJQTRTBhaQGP횏H~ŏQSRBLJSPSTRTBhcS#P$PSTRTBhcSPPSTRTBhcS P `TRTBhTRTBhPSTRTBhcS P  TRTBhTRTBh PSTRTBhcSP P>STRTBhTRTBhcS P#P1'q2~K#1 DfTRTBhTRTBh2SRSRSR#KfTRTBhTRTBhSPSUEQTRTBhaQPSRB SRPPŏQRUE QTSTChaQGP횏H~ŏQRSC Rg<~h"2SRPRUEQSTSDhaQPRTDo RPMTSRSBhdTGPƍTSRSBhSRSBhdT P? P"h2~ F KggPPDQ[[[[[[7[[[[[[[-9P?PP~x PP~(T P^ެTdQЬP@aRBa QRPR@aBa ЬRb.b ^\lSlK$l<-~Pe{Џ-~P^VUWBUe~?XheS12~Hh2~ShS2RSR(PSRBSRBdb5S2RSRRŏQRSCŇScP ciRԟmScqcuc2~yc}c2 ~ƁcR>T2d~ƜT R12~Ơh2~ƫhS2RSR*PSRBSRBƺLS2RSRRPŏQRSC Sc P cRԟ?Scdcic2t~cvc2ǁ~ǃcR>T2d~T R^ѬЏЏЬѷ^q Pv|v m|^xRVUTPPa^~>1J?PbdScߢecߢfcߢ+duScߢ:ecߢDfcߢSdUScߢaecߢnfcߢxd5Scˆec“fcPœdScªec³f^RUTZW V[YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭gPSPоSdeYSdSe?edS߭k߭iPO~fh߭fhSd1^Se1VSPPμ^RUTYV[ZXWfݬk߭jݬ ii~߭ ϱ ߭hP߭qPSkSdeYSdSe?ed`߭j߭hPO~fg߭fgSd1_Se1WSPP^R若XW+TV U[ZYfլݬf deѬ  dݬk߭jݬ ݬݬ0i~߭ݬ ϑ ߭iP߭QPSkSghuSgSh[fլݬfdehg) ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬ|~?c~߭ϋ߭yPPP^ݬ;ݬ c~߭<߭*PPP^Rլ լݬݬ Cݬݬݬݬc~߭Ͽ߭PPP^ݬ߭l߭~PPP^ܭRアTﺱSWﰱVeU[#Z,Y=Xeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^ԬRﵰTﲰS3[侮W]UZY$X5Veݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^̫RﭯW絛V璘[\SެU>TZYXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~P߭i߭hPOPìP~cd߭cdQf1Qg1PP ^}Rݬ߭߭P߭߭PPvP ^8Sݬݬ߭|~BPs~߭ݬPO~z߭hPR߭ݬ 6RPݬ $9^朗TIݬݬ߭ݬュs~߭ݬScPORcPR~߭cPR߭ݬ RPݬݬ  ^Slլլݬݬ{ѬPPrݬ,ݬ߭#ݬ$ݬ ݬs~߭ݬ߭ PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ x8^STﻫR|~ߢPP\\\dR\5|~|~ ߢ |~߭'ݢ P\\2\\\$d \Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^SƪR|~|~ ߢ |~߭#ݢ P\\2\\\llU\8^eR|~|~|~߭1ݢ PT^cWY%Z,΀CЬSЬRBcjiǏVSkSySǒiSPѪjЪjU _·P ·լլ ΈPΈΈ 0ݬ,PRެTRdSiSRRdΈ"ݬݬǕiiiǟ PPf 9WW)WWWWWWWWWI9P&?PZn[Fn [Bn[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vie V1iU ΀1iǫ3 V΀1 si" 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷZ VǺi{ ΀1PݬN VP~iU ݬ3 PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd} P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[if 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi i 1rPi ݬi i i ݬ PѪjЪj@ ݬn PѪjЪjRjPi A RRji! ݬiA /ݬ PRެTRdSiSRRdiV1zVi1hi1ZPΆ Ά1Vi14RP`PORVSS~ЬTT8Cd.T1V· ·XP XX~SCd i@iV1Vi1PΆ1i,iVkЬRRRRiΈ/RPRެTRdSiSiRRdΈ"ݬݬimiM.i)!Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVsfݬaYiibijEݬJPѪjЪjRjPi RRjimݬpi/ݬPRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USgPSEdP1޼PE`ݬ$ݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪΆ i1+Pծ,1΀1Ԯ,i|SRji MRRji-'Έ%RެTRdSiS RRdΈ"ݬݬǂiiinjVVi1` i%Ά~ǏPi17P f%Ά~ǜUPif1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRwݪ c1ЬRݬQPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[jn[Vn[^(^%WVTfǸyݬPѤdФdRdPf YRRdfǻ9ݬǾfY#լ.ݬ*PRެURe SfSRReլ"ݬݬffff@@Lt|dLDtLl<|8 , l @VAXCRTLLIBRTLMTHRTLll CREE_FICHES FmainH read_fiche@PN raccourciCN write_fichedN show_fiche fF^ ASKVAL Q askidomain8DQ askfdomain4xQ ask_speaklRaskivalhSaskivalh\Taskivalf9Ufaskival3UaskcvalPVaskcvalhLhVaskcvalfVfaskcval,WaskfvalXaskfvalh$YaskfvalfPtZfaskfvalDZasksvalL[asksvalh[asksvalf\fasksvalP\ setcbreak]restoreh\^ getchar_vms0^ ask_edite?lre_ecrit  Q           -}*[DANA.BIBLIO]CREE_MOTCLE.C;1+,_D:./ 4i-b%0123KPWO56@C7 QjS8  Ŕ9GHJ/*G * CREE_MOTCLE.C relit le fichier c_fiches.bib venant de lit_fiches.c  * et cree c_motcle.bib  * * J-F Vibert Mai 1988 *@ * Il s'agit d'un prg de sauvetage (si c_mot_cle.bib est detruit; * il permet de le recreer ainsi que c_auteurs.bib a partir# * de c_fiches.bib et c_codcle.bib. *3 * Ecrit pour porter BIBLIO FORTRAN RSX vers C UNIX *4 * ***** Ne devrait jamais devoir etre utilise ***** */#include #include /*#define DEBUGMC #define DEBUG*/ ~ BIBLIO.BCK_D:b%[DANA.BIBLIO]CREE_MOTCLE.C;1i,#define FALSE 0#define TRUE 1#include "biblio.h" main(){ int i, j, k; short nb_fiches, *nb_c, *nb_f; ] if((c_codcle = fopen("/usr/general/users/labo/jfv/biblio/BIBLIO/c_codcle.bib","r")) == NULL) {! printf("c_codcle.bib -> pb\n"); exit(1); }] if((c_fiches = fopen("/usr/general/users/labo/jfv/biblio/BIBLIO/c_fiches.bib","r")) == NULL) {! printf("c_fiches.bib -> pb\n"); exit(1); }^ if((c_auteur = fopen("/usr/general/users/labo/jfv/biblio/BIBLIO/c_auteur.bib","w+")) == NULL) {! printf("c_auteur.bib -> pb\n"); exit(1); }i if((c_auteur_index = fopen("/usr/general/users/labo/jfv/biblio/BIBLIO/c_auteur.bib.index","w")) == NULL) {' printf("c_auteur.bib.index -> pb\n"); exit(1); }^ if((c_motcle = fopen("/usr/general/users/labo/jfv/biblio/BIBLIO/c_motcle.bib","w+")) == NULL) {! printf("c_motcle.bib -> pb\n"); exit(1); }i if((c_motcle_index = fopen("/usr/general/users/labo/jfv/biblio/BIBLIO/c_motcle.bib.index","w")) == NULL) {' printf("c_motcle.bib.index -> pb\n"); exit(1); } nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);8 printf("%d mots cles\n%d fiches\n",nb_cles, nb_fiches); k = 1; printf("Fiche en cours\n");$ for (i = 1; i <= nb_fiches; i += k) {7 k = read_fiche(i); /* k = 1 si simple, 2 si double */+ if (k == EOF) break; /* fin de fichier */ if (k == 0 || k == 3) { k = 1;+ continue; /* fiche killee ou erronnee */ } #ifdef DEBUG show_fiche(i);#endif printf("%d\n",i); write_motcle(i); write_auteur(i); } fclose(c_fiches); fclose(c_motcle); fclose(c_auteur); p_motcle = motcle;9 fwrite(&motcle_last_bloc, sizeof(int),1,c_motcle_index);1 fwrite(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index); p_auteur = auteur;9 fwrite(&auteur_last_bloc, sizeof(int),1,c_auteur_index);1 fwrite(auteur, sizeof(auteur),1,c_auteur_index); fclose(c_auteur_index);}/*.* Relit la fiche et la met dans la structure C*/read_fiche(numero) int numero;{ p_fiche = &fiche;< if (fread(p_fiche,sizeof(fiche.A_lire[0]),1,c_fiches) == 0) return (EOF); simple = TRUE;! if (fiche.A_lire[0].type == 'D') {! p_S_fiche = &(fiche.A_lire[1]);6 fread(p_S_fiche,sizeof(fiche.A_lire[1]),1,c_fiches); simple = FALSE; } switch(fiche.A_lire[0].type) { case 'S': return(1); case 'K': return(0); case 'D': return(2); default:? printf("fiche erronee de type %c!!\n",fiche.A_lire[0].type); return(3); }}show_fiche(numero) int numero;{ register i;' printf("type %c\n",fiche.Simple.type); if (simple) {, printf("Numero %d\n",fiche.Simple.numero);4 printf("Nb auteurs %d\n",fiche.Simple.nb_auteurs);C for (i = 0; i < fiche.Simple.nb_auteurs; i++) /* nb d'auteurs */ {@ printf("%s %s\n",fiche.Simple.prenom[i],fiche.Simple.nom[i]); }- for (i = 0; i < 4; i++) /* nb de lignes */ {% if (strlen(fiche.Simple.titre[i]))) printf("%s\n",fiche.Simple.titre[i]); }& printf("%s\n",fiche.Simple.journal);% printf("%s\n",fiche.Simple.volume);$ printf("%s\n",fiche.Simple.pages);$ printf("%d\n",fiche.Simple.annee);$ printf("%s\n",fiche.Simple.t_a_p);N printf("entree le %s par [204,%o]\n",fiche.Simple.jour,fiche.Simple.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */ {& printf("%d ",fiche.Simple.keys[i]); } } else {, printf("Numero %d\n",fiche.Double.numero);4 printf("Nb auteurs %d\n",fiche.Double.nb_auteurs);C for (i = 0; i < fiche.Double.nb_auteurs; i++) /* nb d'auteurs */ {@ printf("%s %s\n",fiche.Double.prenom[i],fiche.Double.nom[i]); }- for (i = 0; i < 8; i++) /* nb de lignes */ {% if (strlen(fiche.Double.titre[i]))) printf("%s\n",fiche.Double.titre[i]); }& printf("%s\n",fiche.Double.journal);% printf("%s\n",fiche.Double.volume);$ printf("%s\n",fiche.Double.pages);$ printf("%d\n",fiche.Double.annee);$ printf("%s\n",fiche.Double.t_a_p);N printf("entree le %s par [204,%o]\n",fiche.Double.jour,fiche.Double.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */ {& printf("%d ",fiche.Double.keys[i]); } } printf("\n\n");}write_motcle(numero) int numero;{ int i, j, k; short nu_key; long offset;  p_key_fiche = key_fiche; for (i = 0; i < 10; i++) {@ nu_key = (simple)? fiche.Simple.keys[i]: fiche.Double.keys[i]; if (nu_key == 0) break; if (nu_key > nb_cles) {: printf("Numero de mot-cle inexistant (%d)!\n",nu_key); continue; }$ nu_key--; /* car demarre a zero */ #ifdef DEBUG> printf("\n*****\nNb fiches %d\n", motcle[nu_key].nb_fiches);4 printf("Mot_cle %d -> %s\n", nu_key, cle[nu_key]);#endif if (motcle[nu_key].nb_fiches) {3 key_fiche[99] = (int) motcle[nu_key].first_bloc; do {. for (j = 0; j < 99; j++) key_fiche[j] = 0;; offset = (long)key_fiche[99] * (long)sizeof(key_fiche); fseek(c_motcle,offset,0);: if( ! fread(p_key_fiche,sizeof(key_fiche),1,c_motcle)) {8 printf("Pb de lecture au fread de c_motcle.bib\n");^ printf("\nFiche %d\ncle -> %d\nNb fiches %d\n", numero, nu_key,motcle[nu_key].nb_fiches);, printf("Mot_cle -> %s\n", cle[nu_key]); } #ifdef DEBUG, printf("lu... (offset = %ld)\n",offset); for (k = 0; k < 20; k++) printf("%d ",key_fiche[k]);1 printf("key_fiche[99] = %d\n",key_fiche[99]);#endif } while(key_fiche[99] != 0); k = motcle[nu_key].num_next; key_fiche[k] = numero;#ifdef DEBUGMC if (nu_key == 338) {$ printf("Nb: %d fiche %d k %d\n", motcle[nu_key].nb_fiches, numero, k); }#endif motcle[nu_key].num_next ++; motcle[nu_key].nb_fiches++;% if (motcle[nu_key].num_next == 99) { motcle[nu_key].num_next = 0;% key_fiche[99] = motcle_last_bloc; fseek(c_motcle,offset,0);5 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle);/ /* ecriture preparatoire de bloc suivant *// for (j = 0; j < 100; j++) key_fiche[j] = 0;> offset = (long)motcle_last_bloc * (long)sizeof(key_fiche); fseek(c_motcle,offset,0);5 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle); motcle_last_bloc++; } fseek(c_motcle,offset,0);4 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle); #ifdef DEBUG0 printf("reecrit... (offset = %ld)\n",offset); for (k = 0; k < 20; k++) printf("%d ",key_fiche[k]); printf("\n");#endif } else {. for (j = 0; j < 100; j++) key_fiche[j] = 0; motcle[nu_key].nb_fiches = 1;0 motcle[nu_key].first_bloc = motcle_last_bloc; motcle[nu_key].num_next = 1; key_fiche[0] = numero;= offset = (long)motcle_last_bloc * (long)sizeof(key_fiche); fseek(c_motcle,offset,0);4 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle);#ifdef DEBUGMC/ printf("1ere fois (offset = %ld)\n",offset);#endifB motcle_last_bloc++; /* le suivant sera sur le bloc d'apres */  } #ifdef DEBUG: printf("Nb fiches %d next %d Bloc %d Last block %d\n",  motcle[nu_key].nb_fiches, motcle[nu_key].num_next,1 motcle[nu_key].first_bloc, motcle_last_bloc); for (k = 0; k < 20; k++) printf("%d ",key_fiche[k]);2 printf("\n key_fiche[99] = %d\n",key_fiche[99]);#endif }}write_auteur(numero) int numero;{ register i, j, k; char initiale, lettre_2; short nu_key, nb_aut; long offset; p_aut_fiche = aut_fiche;. for (i = 0; i < fiche.Simple.nb_auteurs; i++) { j = 0; do {.0 initiale = (simple)? fiche.Simple.nom[i][j]: fiche.Double.nom[i][j]; initiale = toupper(initiale); j ++; } while (! isupper(initiale));: do /* traite les noms du genre D'Alembert ou M'bamako */ {0 lettre_2 = (simple)? fiche.Simple.nom[i][j]: fiche.Double.nom[i][j];i lettre_2 = toupper(lettre_2); j ++; } while (! isupper(lettre_2)); 4 nu_key = (initiale - 'A') * 26 + (lettre_2 - 'A');* /* donc AA = zero, AB = 1 et BB = 2 */ #ifdef DEBUGJ printf("\n--> cle %d\nNb fiches %d\n",nu_key, auteur[nu_key].nb_fiches);M printf("Auteur %s \n", ((simple)? fiche.Simple.nom[i]:fiche.Double.nom[i]); #endif if (auteur[nu_key].nb_fiches)n {3 aut_fiche[99] = (int) auteur[nu_key].first_bloc;r dov {. for (j = 0; j < 99; j++) aut_fiche[j] = 0;; offset = (long)aut_fiche[99] * (long)sizeof(aut_fiche);  fseek(c_auteur,offset,0);o: if( ! fread(p_aut_fiche,sizeof(aut_fiche),1,c_auteur)) {u8 printf("Pb de lecture au fread de c_auteur.bib\n");_ printf("\nFiche %d\n--> cle %d\nNb fiches %d\n", numero,nu_key, auteur[nu_key].nb_fiches);nQ printf("Auteur %s \n", ((simple)? fiche.Simple.nom[i]:fiche.Double.nom[i]));e }/ #ifdef DEBUG, printf("lu... (offset = %ld)\n",offset); for (k = 0; k < 20; k++) printf("%d ",aut_fiche[k]);1 printf("aut_fiche[99] = %d\n",aut_fiche[99]);I#endif } while(aut_fiche[99] != 0); k = auteur[nu_key].num_next;- aut_fiche[k] = numero; auteur[nu_key].num_next ++; auteur[nu_key].nb_fiches++;% if (auteur[nu_key].num_next == 99)f { auteur[nu_key].num_next = 0;% aut_fiche[99] = auteur_last_bloc; fseek(c_auteur,offset,0);h5 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur);e/ /* ecriture preparatoire de bloc suivant */)/ for (j = 0; j < 100; j++) aut_fiche[j] = 0;s> offset = (long)auteur_last_bloc * (long)sizeof(aut_fiche); fseek(c_auteur,offset,0);k5 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur);  auteur_last_bloc++;f } fseek(c_auteur,offset,0);4 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur); #ifdef DEBUG0 printf("reecrit... (offset = %ld)\n",offset); for (k = 0; k < 20; k++)a printf("%d ",aut_fiche[k]);n printf("\n");#endif }m else {t. for (j = 0; j < 100; j++) aut_fiche[j] = 0; auteur[nu_key].nb_fiches = 1;0 auteur[nu_key].first_bloc = auteur_last_bloc; auteur[nu_key].num_next = 1;n aut_fiche[0] = numero;d= offset = (long)auteur_last_bloc * (long)sizeof(aut_fiche);/ fseek(c_auteur,offset,0);4 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur); #ifdef DEBUG/ printf("1ere fois (offset = %ld)\n",offset);l for (k = 0; k < 20; k++)r printf("%d ",aut_fiche[k]);h printf("\n");#endifB auteur_last_bloc++; /* le suivant sera sur le bloc d'apres */  } #ifdef DEBUG: printf("Nb fiches %d next %d Bloc %d Last block %d\n",  auteur[nu_key].nb_fiches,  auteur[nu_key].num_next,1 auteur[nu_key].first_bloc, auteur_last_bloc);f for (k = 0; k < 20; k++) printf("%d ",aut_fiche[k]);2 printf("\n aut_fiche[99] = %d\n",aut_fiche[99]);#endif }}.mple.type); if (simple) {, printf("Numero %d\n",fiche.Simple.numero);4 printf("Nb auteurs %d\n",fiche.Simple.nb_auteurs);C for (i = 0; i < fiche.Simple.nb_auteurs; i++) /* nb d'auteurs */ {@ printf("%s %s\n",fiche.Simple.prenom[i],fiche.Simple.nom[i]); }- for (i*[DANA.BIBLIO]CREE_MOTCLE.EXE;1+,wp .$/ 4$%-b%0123 KPWO%56@7`ё@8`F^ǔ9GHJH0DX0205(@,h! CREE_MOTCLEV1.0@05-05  +<@ U  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001/usr/general/users/labo/jfv/biblio/BIBLIO/c_codcle.bibrc_codcle.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_fiches.bibrc_fiches.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_auteur.bibw+c_auteur.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_auteur.bib.indexwc_auteur.bib.index -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_motcle.bibw+c_motcle.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_motcle.bib.indexwc_motcle.bib.index -> pb %d mots cles %d fiches Fiche en cours %d fiche erronee de type %c!! type %c Numero %d Nb auteurs %d %s %s %s %s %s %s %d %s entree le %s par [204,%o] %d Numero %d Nb auteurs %d %s %s %s %s %s %s %d %s entree le %s par [204,%o] %d Numero de mot-cle inexistant (%d)! Pb de lecture au fread de c_motcle.bib Fiche %d cle -> %d Nb fiches %d Mot_cle -> %s Pb de lecture au fread de c_auteur.bib Fiche %d --> cle %d Nb fiches %d Auteur %s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)t^w*U6YV@[Zߥ7eT*Pߥ9Q*4*ńߥM**Pņ&* *Ś)Ps))%)PK'))xA)P+{))ŏz)Pv)Y)>R>SRH)RbSb<2~ʞb)2~2~)(T2RTR1(X(WfiK<-~ihPS{PjfD-k <-~khjfPPD7??????3???????+?PSPSSPf~gSSRR4RRRTgTT2\\RT'u'ScicPcP>'Rb6<@~b c+:6b< ~bcP ^~SRb<-~ 'PPmbD)-|<-~&>bPPD2666666/6666666+?PPPP~&2P^}V Ue~0s&Wg12~9g2~DgS2RSR)PSRBSRBdS%&S2RSRRŏQRSCŇSc%P cZ%Rԟ^%Scbcfc2~jcnc2 ~rcR>T2d~ƍ%T R12~Ƒg2~ƜgS2RSR*PSRBSRBƫ<%S2RSRRPŏQRSC Sc$P cƲ%Rԟ?ƶ$Scdƺciƾc2t~cvc2Ł~ŃcR>T2d~$T R$^{TYXSZcԮ(K$WH$H4$D0$,>@v@P PЮ@RtPP[1[2[~g1[2[RxRRBhP`10BRbQ>P`PbQ2PŏPVViTi~RTP.g2[RxRP@hP2`~Rݬ8g RBjZg2[QxQQAU2eP@ceAhRbecjeViTi~<R>P`PcRŏhVViTi~P`PcR2[PxPP@hRb@Qa@RbcŏRRiTi~ <@ (P^yYVҖW#"ZgS2RSR1!@!RbRbP2RŏR[[LHB~vHPQiL2FPxPRB?R2b~PݬɑXSRBT PSRBTTɴP1\2FUxUUEX2hTDghERbhcxh[H~4P>RbRcPŏ樂[[QHG~{4y['H~Q4PP>RbRcP2FTxTTD RbDUeD~RbgŏRRH~4ԓS2RSR1>^ѬЏ5~Џ&~Ь ~~^q }P}v}v }|^yRV"UTPPa^~>1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^xR|U|T'Z|WVK[TY9Xfݬ$ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed߭k߭iPO~fh߭fhSd1^Se1VSPPμ^wR{U{T{YV[WZ`XEWfݬ0k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^vRzXzWT'{V`U[XZaYfլݬf deѬ  dݬk߭jݬ ݬݬpzi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehgU ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭8߭NP ߭P^Yݬ|~c~߭ϋ߭PPP^ ݬݬ c~߭<߭PPP^tR1yլ լݬݬ CTݬ<ݬݬݬc~߭Ͽ߭-PPP^ݬ߭߭PPP^tRwTwSWwVU[ZYXeݬ|pk~M߭j|~gff~߭߭iP߭P߭DPvkQcd_QcQdAVd~Vc~ύS߭j߭iPO~behv߭qhehQc1UQd1LPP^sRvTvS_[vWUZYXVeݬtpj~z߭iݬgf~߭߭hP߭}߭9PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^ rRuWuVu[SXvެUTZYXeլݬe§cdѬcݬGpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~|߭i߭hPOPìP~cd߭cdQf1Qg1PP ^pRݬ߭U߭kP߭߭>PPvP ^xpSeݬݬ߭|~ts~߭ݬPO~z߭PR߭ݬ RPݬ ^oTݬݬ߭zݬss~߭ݬmScPORcPR~߭cPR߭ݬ RPݬݬ  ^DoSsլլݬݬѬPPݬݬ߭ݬ$ݬ ݬ$ss~߭ݬ߭PR߭ݬ URPݬݬ D]^ݬP~߭%߭;PR߭ݬ RPݬݬ  8^9nS*TqR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$da\pТ ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^=mSqR|~|~ ߢ |~߭#ݢ P\\2\\\l\^pR|~|~|~߭1ݢ PT^lWYepZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪjp _·P ·լլ ΈPΈΈ`p0ݬPRެTRdSiSRRdΈ"ݬݬǕiYiBiǟ5 PPf 9WW)WWWWWWWWWI9P&?Pn[n[n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ9ݬݬΐΓ~ݬݬ V1ZPVݬ0PVPiV15ǥi ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi}  P޼PF` iǮQ VVVDZiD ΀1l si2 1WPެRF ,b# VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USG PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬij ݬiR i= 1rPi+ ݬi i i ݬ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi Kj/ݬ PRެTRdSiSm RRdiI V1zVi; 1hi5 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT Cd T V· ·XP XX~SCd i i V1Viq 1PΆ1i_ ,i> VkЬRR# R Ri hΈ/R PRެTRdSiSRRdΈ"ݬݬiiAi)Ά >iݬݬΐΓ~ݬݬUV1V,ic1Ά?1BΈLݬݬ2i>RbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjimyݬpiq'g/ݬsPRެTRdSiSIRRdis%V1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlu*R9ݪ(Ά i1+Pծ,1΀1Ԯ,i|Rji RRjigeΈ%RެTRdSiSRRdΈ"ݬݬǂieiNinjAVVi;1` i%Ά~ǏPi17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcrެTdRBSiFcǬiiViǯRVDziKVd1sVi>i31X|~|~ ߪ |~߭#ݪ PRR2RRRl3Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn1[n[n%[(^e^WRV'bTfǸݬPѤdФdRdPf RRdfǻݬǾfcbլ.ݬPRެURe SfSRReլ"ݬݬfZfCf6fA@@Lt|dL|DtLl< t 8 ,  @VAXCRTLLIBRTLMTHRTL CREE_MOTCLE mainDD read_fiche show_fiche write_motcleMl write_auteur# h  f  ASKVAL askidomain8ȋ askfdomain4 ask_speakaskivalaskivalhaskivalf9faskival3PaskcvalPaskcvalhLaskcvalflfaskcval,askfvalaskfvalhaskfvalfPfaskfvalD<asksvalЕasksvalhpasksvalf,fasksvalP| setcbreakxrestoreh getchar_vms0 ask_edite?Pre_ecrit            -}*[DANA.BIBLIO]DISPLAY_FICHE.C;1+,s3. / 4j -b%0123KPWO56q7S8 Ŕ9GHJ/*9 * DISPLAY_FICHE.C contient les 2 sous routines a inclure9 * dans les prgs necessitant une visualisation des fiches, * (trouve_cle, trouve_auteur, liste_fiches) * * a #inclure apres biblio.h * * Version C pour ULTRIX * * 23 Juin 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**/#include "show_fiche.c"/*1* PRINT_FICHE() imprime une fiche dans un fichier*/ print_fiche(){ register i; int a_la_ligne; if (simple) {j fprintf(fich_list,"***************** Fiche simple numero %d *****************\n\n",fiche.Simple.numero);C for (i = 1; i <= fiche.Simple.nb_auteurs; i++) /* nb d'auteurs */ { fprintf(fich_list,"%s %s; ",8 fiche.Simple.prenom[(i-1)],fiche.Simple.nom[(i-1)]); if (i % 3 == 0) { fprintf(fich_list,"\n"); a_la_ligne = TRUE; } a_la_ligne = FALSE;  }, if (! a_la_ligne) fprintf(fich_list,"\n");- for (i = 0; i < 4; i++) /* nb de lignes */ {% if (strlen(fiche.Simple.titre[i]))4 fprintf(fich_list,"%s\n",fiche.Simple.titre[i]); }1 fprintf(fich_list,"%s; ",fiche.Simple.journal);0 fprintf(fich_list,"%s: ",fiche.Simple.volume);. fprintf(fich_list,"%s ",fiche.Simple.pages); :([DANA.BIBLIO]@HLN]^+^;%b}~WKqB;5dHLV>v s%w9DM oxY 'eHzZXKRz:=;V({%=GT^t1]hjGe$Qw5 89 ,ƀ׸0WЪV[]6Y<ݐ==†A~n:G]YՖ+I-rq顂ҿ 59:ȢȚ:̨)3)?D(>̘ZjGOPȈܐve^v𞴓ߺ>gϒT ~|#ն}łj1`>tw &D<4ÙxҵӞܙNAAC!TT2g."%/xYLכNWMc 7(7.ViVAC6uBg&nxg\Yg0k;泬 vh&~щ46}6Ԝhaewy4HJ!u?ɽ9-vv[s-ik'z 0 ClKïDƝښbϏ{veþ+3+ѥ]3~qƇB,uq_Ӹ+g(BwKÀe?!fAMXW>&'ՄEKڍͦNު8C[ͮA濓Á+a#QډôI|-k%O`$uB A_-Nϫ΀`hCTip'8 Ӑ]?›WzwuPöɚöpOSNYr]! aQ4A(GjK>/t\JCcs ?|6Z{UfO%3wjci7//aV5zmur.B !=%CZsi'4m^?)=-JUrT!2Lro@#9. ^sld1;b:)pet9+9=xTTjWf=t|% ;@C0/O;7)P>.Vk}d vVx  6w)HlJq07p8w*3z X]4 y G>Y-IYu:;%M{> QvJqrȿcx]QR1؞(xŅ7F3?cT5 /ZzsLYXo#I<)x ox;srz!|3q*\X0 bG$yVr+.8<?9?::nG qH|X-wy4m]&fXR>XPGH gI%KcpuZ \$MKdEG&J|;krt cov:t8tYAAgBx(aY-/c]bB|7Og$-U6+_@~tB}J}R xW`0.fy9o)gqIhAo"tfg??JB1NsQ},[lU,P;KPik=;lO$fE>hTGqPbW4{-9 (-29TPaBF6Cvs"ud 6 ?!kSZhFRJE(]">H J "s=[* Tb0 3}8Z`PKvg$ CuU +&mKq32*c >"JS<:/ o, GaeE(J*o[J YH:Z%KRJ:mKIW 4}c}Ng*A!z7gl`cmWDSNm=xjbD T~P X\BeQ(4;lcc֘]|J7 FWJPM Ge4w1|2b*{A1 \H*b_^ B)X (Sr`~Vm8}GfFV^h^XbK<~Uv]Kz-az[\ io}(h0i<3"j92b DCuB^?Y& l,Mp.a< +k)s!") Y1bYJr* LuY^lP7hqNCp09]I>RL MI_ Z f~$c(Ftzw&?OlSvrZMP]PZp IZZ==6 BYK? ;b?nE yE9}I.p{aYk: o;&nx0a'<;Z_v OCXGO28Rx+|uS3r)zGS<[F,O= Ag&'?D?xM.t/ oh}tjG9@,ZDA"d+A #%;VoWf+;kY ,]\H#4bfoj?: x j(R6;%@IPVy _ L3^/9K+iq*7kSz0CV<2&`ft#F[ZWuhi7x7?h},^%3%?(4teX{n[ N0 P]bz#cHzkR #",}`(udR}V)/PvS}@OOU<*WrD\kel?'AC..<CK/Y*AdN{=yqU~,brF$@_mRy J,X]WZKg[nEGb]m alsB=bQaHId#|0xRV.sd]XU95<++K6=Wz@#(tkz0Z2PNA K ehWt: 42)WE!"MQ>Yt^ u'],GVd";Zf+i0C6j l\=Ox:c~^vPz3STmH1" :P JA?Ar ,5k"tZK6nLMi|Y4$qI-|l$Xt4csutMj1Ci^`k&ntpU&4o6O r?1/tTe(FC#p`Y9h(4Boa7\ Q!6B,~fbO dB7+_Q3mR"\^i!aW+a?RgO<_4K`J~d'l{q jG3>ujfVQ6)YS>1:/;3qJT4X R\v{bomo'= GpMb.Q8|PI^2^8\jrUZpb 5lfEwrlO[>m{al4o")tNo?S?1L!ttsz:ZLzo!!y$Hm(V=2r"Yk_TJ>!A+1naJf^HCf{/92-r2j;K9r>vA4cU6sJ_D=,QHtcCg8Cr&C6Y.Ra Ze@%pTP jo'Vq]A T;i4?^<9L#V$ q`+"!Vm&a~?#K'W@JKt" @tzPO8cyV?l>acQ}77,k# n#Q{*9>K5.oz 1.YUR`xAE_4yhA4%y?:8K ,2p<:xm$ Cq ` &}H btI+U%J'3 b'm Uwp`I}a`th LH Xf)La~#h _|uF$fwcx ]O375R9m4i }bEK?cKWh^tR+qtEDa< ycm|lX+}2_! 6 af6J7w;\%Y ~?N6sd+-hPxhk-QOWYU]()[s7OfhSkyt1D>Jaj0@q#?2*bK hxVX^#D7KBHZN:O[uCi Y08/2 YV:F;&? C{$1Ac+0"`O(iKdvEMH BVI0#/y}jOKwN)h_~xj<{V+o<&Hnh8bDajP4%c39+F/D5Rz /;^]drf qE#H/5b2ZCR^bd .fYu#6oY #?&hxvpyQbInB34FO, %3Re f98W>tx!>Pth }CDJ9jAJHG^C2ojL |H"bn+:gJP*m@X; ?pp"8%qkiH)?4crY9s<^3*?f@/w]G]?vC@{Fi3l$_s^P qGTXE"Eyq ]d'Cscw<#\tfrxI]8xnX&.]Li7spYd>R0{N2>/jDs$8 wxCNK]~sOr'[s|5Utgf8jZLTELt:vtT.\3!(nkk4b[$UMgi]jx[A^mEGTyp#~u/愢_v8 mTL28|I$tc! EhF* %P{YB/-04u_r? $[x"%h1`A? , )%'oo]_Qi I2?J:4$;!4\ O?Ds) _m:/5Pr h1L ^D xAk"{Jd!%>m$;NZL!&fHKh}']}@J H4{*XeG~e;?v6??%>ck. P }ghE 85w}zxY1J?".N]+S-j5oV5iJ-+F},R8/wff~G^S72$pPG LC!Uy*55E.Z@B ESUFqfnM;xkqAkfMYSC[&i#GJW&LAOb2M n2MY:lH}1):B]C!]8Iu9v0@9Ijk@6Y79OF,Ul,ރi_PYX2 [%Qp^ym[5;< 5Q}WJ/)P~CcK~a yw.A t\+%J q@}EPNEQa8hE [dI~v MSAN:eC,$TFQ _T3)f2(o4Y=/k.MwE0m;tfU1L' {p8@HZ8t7x˅ZdKceCEf3i"6CyA!Tt|!; 60N9c-v^=k4.|Ts@\%':=#i+w1bآe2bwEq-{R Y2[zx:c;C@X>Y$G/nZ#aC)'l`+\kw rMOB6EZR ]6}jdRc{-S"qI-T4o0qLUڧ@ytdT'I" t6{6I&P\!hċP̸E a<"}thsG7P3*[J)In%G.RbL|CkߟR)oKt8+X=A_;$Xf1?KE=,G@Eh^vQ\ >A }}/@Tŗ$,>HHWt6M_eEù~'9F 'dRb\T5V-Ҭ9 xDk^?evwq$J%6VGk8Zt&Tky7( 8P0DSD׌"Ʀ2+7hM|^C&-sRXŵg~:FFϾ_Ѝ#2bK@I7cl1%ؑ⟘@^)ŠhkcdsYzsFv/L+.z "SF&,e=k;6(_"ӔG~( Aaė/h4+q1[wX)a߂Am;+?pUhCѴW!Z6$;uU_JVAuT Dz^I)˝͆+̎^,vEvjr;wD.yO.Cu6vmY8D*1#0hBALhRK%*$F%{d;^Q\'m'u{w VRǤ9f,&t[PetI-[Oe,`OaF*hM.9_ eb;t^0F vRϾ ϵc&&#nMs|s>i׶ O/6ǙsLi^lJ*KѺ>Zꍧ?.V[e)Q}b)_0k]$qάiuWX|FZ׼+9F]{ު÷(",*]%F^ZZDsn4 s)Nl~ZŸL~@)ąin+B G+y~o$IdЃR4C/XSnp Q3Vy훵JST^YwIZvOг@bM{Y)+)CQB!=9G`s*kF4/\b(yz {dَ rj kGtqHr\݆5AK3 ʔ>6rmx{1:<"+x(³)wPKyh92=sc1E8mQтi,+J zs<}OvMyqɉʏVS)>=3#6i)a4P꙽đ1 sպux²ڥ1=X#v zAîI<[t hD~ɲrcĆwĶ˄pel!(Tj&`ɡ:IlCˋ*#~ R$X6tw3t=ɘ/PR܎m핝ҾlɿI "ݭ/:/aƬػ|6Q&-^'ᠢ.tKBq,"޻1Lr c& m=/,߃u [7ZC\t/8u=j Î=v1?wr31vሌ EB]L> xd]l %ݪFWKi)FVIΉu厥OBbB׀?ywy3 vNZ+Ѯ3R-e\ee^D_ކ̈eXxxesk0O-<4uf=*uyA"uI#O +c@a:ak1c ]@ rd/TYuVTBv?vE[P{%o63v\Z; ې nP~{o'cz!6r?z&~C}]Sɋh)w,Ofqڡ+p?>DUwX]e"g*T1DR@}1lhKEʡ~ 8# jERfH(,\펣PUC»-k2-aݹڙp"U3}{%:aCa*_)_pcѤݘ t猪` z7l'p c =Z9Z;HGT6\C2𵡽%+XxQPv&=b> ̘V)̐MC"7ȱL0d1;&юhi:3CKᘧGA;pz(ϮwLVkŧ :bK9o 4匤ʯP+:xKY(IM˦ P؈mDR1,"# ǫ{DoD3@WDp3.W\ِ2ڍ,YIl#? u07QW°iϹbwRj;ۣ!`4*zYY*+/n47JZk2pyP: QMm?^ R r%|Sk glUE]7(&BeT[v^ʭXUMSE6[YAL6_wKq$Hq#aYE T:GZĭ.Ǭ<قe|"m?0_O0()VO`u3٩,="VUMq]W` tHS`a%`ʞlw|ͥbDŽ-pgز11&s1wJV^T0'r4^mjbp1p.D̊0`-,9m^R4hL5uo)ߗFX6Ի͹)TLi/XFj'L";oƅU(5oQ#2Ȃs3pcy./}=6X6=4&I0}VS~Wl":mu\&evJ{ي dȇ~\;րY-s#O˳Ep NqKs '㘛` QgO/Vs$hso〛WtLJ4ِ"BÎٗz"Sk&@/5@<ԓRj!l?R+xp2  /Y \ϐeYN_Y- /M揚-{{N_]GKlh*J Lەݭ*_֮FCޤ@LLn/11B=rI\ Y&NOr/y-G ZI(& :vLB|?k5~o.g1JkYPSH)&7Yt?v*`{&HFUoT,,w\\x]PTIZ(@2ȯLhAA $Ӟ{xy/'C%<JTQ'\I qS%,./A/20eOM' /ĆJ82,y :~6^xkYQU6 hQFތt B~BueOfd, fLvGoT_FmE飛u(ijF׼jDf~(^{i&JULsK#a?<_U:M_gA,Rml 6/8w C; Qgn$w;|00_JU+ZR؞꽯*{aYM٨,Ҳ H+zm0~GͮUdZˈA~LJ&8/G>#O[h3~K8s.%=H礼6K״l,H ?f9R~kAg 3(r_/]Q1jd"D%t/C)7DC2xl~V z yʮp JC $>~{bRB9搊j`Қڂ(poAoRe#Tskd"t@5E_G)*PӆybͺΡ}2𧧇4>;/+˦qE6GNszo.2jQ}_8T?P澁ZdJĶ(47+>/(6&p"Ci^방R&}d?5׷ P,S}&+Z絊B, 4f*EfT/\GUWLJ ũaMĔ+{\sQ*MCa_u`7aP DĤZ0 '1VUCٌu´>= Yr4"(o'k# gP-'i޵]}%?fbous5 jPxSV؊pA9;cS4W h[)2EY}R=>|qKu`$MRdYsە/(S2GatL;`43634:{W7tk(O9E- 9Ѡ%ߴ.yLMRHHd~Fܡ7:xq$mBLyfS@}|I(rJ@J8/ i4-|y \M&&%e&^2 " ӿ6}p Xwtv& |Kt|6kMSC\N12@;8rc`l-6 ͬgwn3.ޏWFɬB ,'+ iwb,ؗ#Q,ieud(D]DM5%2A!0Hĸ1#GF?VG~L75jyӯIf>*Bˡ lTK1J̳ͦ! ǀe'~嚞ԂhH)ɵ>i:U5ax yQ$*{% `6c^*ѢZ]!a/|8jkvv`v$WNp]L4trT%oۀ{iv&_XM m#'N^lΌ]{sZ(I.[eW uk_nU;]_q^ɳˮX[(8`t׸V/ia*c"+{rz=/ZEUx|ƗS@4u׾H|Pfg`B(MeiFH wϪX#rvȐVUU\3nCK< +L8Eu,5{6GwpX=zRwy4Quw`zMX%M 7&cd8 }5$^Ц5 Om~;}I ,kv'bt9_0u@ j0WCuz++7AoZ"EDX";s%׃w Œx HY$M;|Ds}b+Xi v9Xkנl(<ǹ74Q=ŨaKpjhpr)"Q^7PyNMF+VGLv39AD:8͌?ԗ~g^?9[83Kz;j.5R E{ml~r޺ PN|P|.4jC.ܼ_> のrj} -O{ d$ I/Ʀ|D9,Z ~/XM댦 itpX|B)=|^x2w#.Gz=ᖖ_G#|K!8=e̛A#2o#k)2!XhQGvLM>qUhw6F]̽Q͉xjKۏ Lhߔ5:8U$uĽ883nN Z upIkk!tkmٞ zyx Mxfh-rk fԈ۬k+г& KP63j we~p%=IpMU?kP3aGW*-4gOXaXmQBq0ԷQ3##A@pIh9`SA#A WYa=l*/c+e#'z%Npr{y4_bVɬ %tI=dFa EcBлZ @bHͰkC.xRz`N E6*4^|2CF絲D֟%%}(_&mn͍eU~zUiUfc;y|˵‫")YV91IkM618TjoAM7EJE)Tʘ:3 '[4'?pŇ;ݞ@k oTsrLvIV*XrhuNKCk9\w !^hO i x"ǠCΛO% w'OÞ,|_OGf?DBi5GT [#m[ :zttSD`dzEptqRM.^Iqkˤ1kv&?]Q\rB $0DaY W#Ѳ<)|bMy_%0U@{h#bׁ  &JiPl#fa<Tgl,φYO+E0ԟD{|b of-)IuJ,X6}]≏Wf^C T[,Vf>h ?u||z!k/qcO((l;Vpꄁ.ܮ4I6[\W;(q *E* g%>?p:77h+?\DNg;ҍzG.WYgח[o&kqyژbU;^MbHC[2&qjLFlksUџ=n&}~v>Q]iu;ƝM7-$ k2 Ȑ o'o^a z'S1 .JK sgC{嗪2D/)L4/$g3.9<5͐bI`^SDzR<* 39G kA(;.B!D̄`N&\$!#RX|kO UPěK1@Whm[/Д-+y ҥfX̌:6ّy͢X3tLg/{;>{o<,)[cb,2 Fw6·12 `Re2'=GMH=[acku}}QqI_\.oXN)2[Т3$Gs(YF?E* bNO사3 =X-=40L)SG<¸[Rz;DI"l ,X6U7DZr~]U#DvKJ6"᪘d*Ȫúz +Q 4D6ԍ1Dޅ ٯ{n6zY;Xr/z3km SYNNQ BYh mr:)Ɵ=0yS3v!' W喺hz1 NP޵d=tr1ȐֳdJI̾FQ,ot!X=.<64#qbwq?ػRRԓQ XOsIy'u!crDYfY"L%u%52bh̥Ѷn&WB6Uw $&$w\RӏgnbdB2JqI&O8^x6ĦcU.eDLc;HdӋq֦b?lDɆ/6gDp74͂rf }h$ /}9~3f\k[:.}0+{ݐ2&f?\Ź2B~vH*#X J*MyaQṹpԈ:7"EKќcҀ9%dUT}A! F?_9L';;rh?*YVto#sJfEx])3 M FN7N'><mb_dKk.)sm|Cs|Pk !\` kZv+ϔͱ K1C{>. !aH 4BG޶Qʧ `C0NxqcDx lPÙ/M`{Vbnw&y%<ۨEuB?DTaja b)CW w" 'O++ay?`X()%1IƧ/[I9DbJ)d]T0[KE\7\cN_I)kBsc*W75sUw(sNdpn 4`< Idx[BfcZ jCEW>7DMQ5^+Q[yfDsor9U)/1@}e e #B9`"IOmAL\d3 k/С83K_1cג80XnՏ=a2qdl]^WHgv.9G w&d9i6i/6dmKYj EN04Dj*iJ_vW9o4n|ݧvyT> L\p3Ÿ"n瑀@eom뜴Oޣf>KXVMхWu HR=J*iEHz{QwcfPW/7PTb O~YQ#1ee|_x#HVLQ!ٻ5#<_Z{1 ^"VdR -tIQpǃHM0bL-=4Ww P}X85nBV S/FR(B@'\*X2"fߨf(a9HPSrYEv~͹TKέ%M؋y{v*|R˾qY ƹ-+{P<bLXЭHYpPB6p4XYa=5Br!G,m>B[Ô*wC|Xk8o/V[:I/vg2b_وqTUm'$g>+[a|`1U\/04Ah JPP߆j]7XH/ľV*D3iUxu.;b@M seIR)Ɲ&a9+u84#7c װ&CvU^v,Ev+d*sQzpOu9@+6fUW:%J+P6cETmX@}%fW6aNj"^[.~yYl`31 W.PE҆3a&Nø\=3{/,ҟfQJ91<{e]A(vf谖%aՅ9M9̲׫! ͸Y˧y 6.JzȐ TujatLc9kO+ XgJb3QhsaP*T9ݧ/3,'jԡ\7XҲZU|܃?^:{ ~ vUϪ i (b@{pF{3m3@GdI6Ư1PeeSOMU "xؕ+Y8Rq00V+Hқ% %N }P=t*W峰 6 CI z)/ !]4?I0-f2?9JA_5N> Y0⡘ǭM6V$ 'ȴ#[ JAג#hN?#ďF58BJ^_.s)2NS>$LSkdMV74 Fe79~7.$T֦|Stݝn4tV@Ӿ3_YH>b&Fv3&%Y}Rd8˷tYG!ͥ9ι6|TY-9 lt ̜j&p#j^&Lb1Ydz*/˜teJk\ڷ@S0ǁ`;E9m{-4Y֖\;V )x|cKrh,H* uBԶ{TCiC!F9#">'{Pp'G%Njֻd=֪ Ϩ.VMdo.S;h>:ZMg+.n]>]&1 c%LxxhPXcxվ`F͑KIeEX˻gP|K8 qr#V! |^;&p#6+HJ%w1\؇#ןJ\`!,65[/_lϞ4S, 2 >x4VP!dHkXSIdQ<ʤķRxĪڝtBgeGjbos,ۯi`J. tؑ'~"EUmP_͓'BINQ+~Eg\gda"^H*F*K8gP&T/}MyϟC*_^򚙙XԦ'@ô`Lcm`JAy]p`oz/e-\tq@n5 r=b}b0]2Xf.zXo'&\Ӡ?=?ǰ-("+D޵Q*Zw:[>$Mۢ&кҔ-!D={?#9V5 U3}L2rfy^ajgP'(iGn]yGa9QL5 Ԓ`"kRN'¡36D j-~u\!u9#I/=ϒq:,ʵBa-Yf/9=ѿ3PO&(=T*hN$;ɧ6/yHP5KrCcj|Юz1 8>s2/- C!vG컲 U>y(^3%DGdiTkIsJ{Pݱ|1$ț`@Nx/12V^8iKJ½jlI e]ݓ]`/ kbfe(Ŕ"MA # 0!yܸxʭ>_CnJ!WR+ Ȧ;AY^L/dڢhv GCj&( TM'vL: Ӆ/aaȳĄݤionXb*Sj7sCubi49AOs -GIY˵1O_YnPǃQ2|):'+XwjLߕ.4>e.DƌocBnŶ2Qӕc2EPKވ*䳶BD m5vLޗ> o@B_&9/_wuRC.5?/LV`Д 2N hh,݉@ٻYC&G%.?P[N]'A56(M9ig[GK[|.# ?fr IVZVkOk:*V)n>˪\o65&\D!m'(bH)(UhlWՍqC86FVG*rf`c/V(΢e/{;oa8Ѥg ^,}bLp@"R1CE_M-$M}zj5R*&*;?Z\dE+gR'*tj= *le8ﰊrd KW\fnd3?ab{fw)>?˰}гy? Xr"8H$u>."W )|?J5ף40#޺{5CVgL%ݍ? 'NAͦ(G(L$Z|9<\1Y6*9Zk#;y^uf"0j\)~ٱA'o'ZˌD* )W ql۔1c9( ? Y2ۦ2o' 4~T>aQ =?)j-$$@mf LNy@GyFT@$] ]]u:?{U;q=6sx~Uμ})],C17جzV{ |O;!Dqߛ;N-A,"Yhz|N:Pi%1̡@ckltc^9&}a6n]GF"VTA^Ugm?|tѦ9ȏvc *`S*CѬdPY(dE|YTLMPM9~bnkD;)o-L g*0,Mm|p\GBߜ-&$V~7S='AbHE؜,Kیjo[e&{ٛ7Gל>#} Bo% Cb {Jgo"^~y' m55FesT~x:<|7aGL4FgvO0ًSU}j;UGc|z ٤u 4Јp@nؑu0f H˔ܯSa.fzݦ>,Neq8^TXBIc]zϫg_SPZ+5.~ZLrp}NC+/jx% = &աSRPg.?}h(_qIAKSI! N\ߍ!"/Qvj~M R]8a2Fm%--EmAYc}4e5PꏘP<]UsaekT`@x%矨h2J**@:3S~΋`cy;X urIMoYğ)yI\K KoWd- %^zxob;׳ߜ&~Q[ѰӒ$O8rQZ{d%_MHX={7(Ò6]f}[SoA% nz~7Rn-_/6ZO-p-),7/z\8ũ,^ԑt/IC5etvͺYgQ(qEy7VYn\2M{O~)JJ:]gwh*Qk`RFmL*xSjZ_pb ,R}36`{LZ8ǒ :n;3/czs}[[Iʗܰxm`IxV\ս<@z+m, e=2uф!D})Tـ`Ua]*}ڸG@#mc0!RSsݱkIJ:[ ˆᵸ4?}\lPW]'>W"[ r__g|i03P¹2pERHNcTΤ'Eb'Q@ۧPDa`E #eŵ,VmJY7NmT(w%胪-IUxP]%ϛ9ֈX}vA$'j- "!n0nk9+c^]n&UNla}Jw(,cG$_sn=S+(WB8؞ͺ ͏ Ny_*\QU-WC/똉3QPf/{5.S@U5BFC\x ?:$,}ͮ &e7mr;J Mr1ڢ`zGR:F20":, A)%o*J⟕G ?Sc;I9oY̭& _jqy7 %x̳_"@C"4BZ"m}\])TG,PWk$H3ߺMShHG)P(BIx`C I _E uUx:XU%-G<9a#tęT_U@BWĩrTL{ l oQP^YD2 ȴMk, ؟IJavy\;mE V$d@>S˕bmܱ˫` Ih빗ٍNEs_o&H6WM6/GhJZ5K㟐#L.TR5A/Q#(_]7Aw 8Dڬ̽(t<M*06 }&XH#߄Sw~QYMMRA!gxoC`^XيT%WVDiNorKӺl( sP*槮Kq^r|F)TYݗB0.4S&&H?wHh v L\@X%Bp?b{A>[9񹣿N!(TFhIf0>9^?n ĝ=4iS2n9c9@ڟ$ Ce6f߹Ѓ~haXm! -<# CAʍ::L/֊rMJ-h0xm<d^bdLt75#z7($>.(L9G U3*F;gaq؟9aZ2ww/6);]dA܊IAR_GP#V6vX3x07rH#"jD'|EwTxU; UVx*`XE-Njicv# حt +7fHUc떈.'ɏJ9ۤi^i^m tb<7fsBc7e\napMKjg60IY4iVg\_ Fg㗝dKz763)9٦P䂯fѺcf gɻе&,Qx`/dI ᦋ[\.y[rD :wï#杚c 2  "6?zw+k5crOrf>`qCl#a\pK //%Y0f[S5A13RE0 XuzpX5 w0 PIFuA J2-iyV <,,g'  X]QH6^0[zyeSW)B5F GVb;}Q}+dn>YZPc) 5II@`i/Yj]&_fk!xgd9 ,.IeD/iW\Dil L:R) b_J%j::x 6EuTM #4m}9V06}=l2<#W=0*8/CÚ$97Td[byqSPI9>ˌ_84|!M,Pu=Mb~!KfqxG.j?^EA"|+uAR[uTGrs~HžS03HL 'V :ocDϤM]PK 4=ŰVõYܿyp~FEy{:\x! ooE8Ng:ӧ@v=l,j $"#n7Sorzx- t! {OJDsD_NpoRPD\/ /1_0Ǻ'bL b z 7h EI$k}ԎJ."oAX?̖ F&XSEDMg}ݵfƠaqfksx݂u֜Na|ҁ-ҳ8a"li0XSւC玻)SG>ĖC{fT÷\D<ɚ@! ۹yܜW$2#`V lԑ.kl}ͽcN@&]\TA$;QgmA^4 \8!mҧFƣSu;Ƶ$|4Yů;+<[_#[c3c䈬psӒ"aI鍉kh:x5Xڻc%yylڄ~3Pg0Jg9gU,:e O:u4^6@BN>gL?lN+5ٗw]WEzفmجb)O9Юek37&v C]1,2w;1:pCXj_!FּB)pV6{_۪ e]WݕX4i[t;3 /)LX?irn2{"dHP:T iq~8ރDv[Rq`0~dndƞ&e'Nj{y'r4Kb :L"U~v(.Ru*'B<>_g$cp{AFzTg*VQjTNY_vZ|YZ~n#% V1ճ7/C^$yhmO"qvXUF`jل.%\8.DVZcTSI0VBIwkx*b,0 xWosK9S0J*>o_m3 MRT:v&XI=&ȗYa՟C@ brN]S({ {/ D\E&2Lyz`#ɔ$|sNAop_{d6]ob$qJx$,MCˉ>W0ݗ&6H,ZQXaӾ?0 yҭl$O3㙴9ʀa'd{0/Mr(p f9σݏUS{ ǾS&YǷg ^qV~͇ƵD"*bl v܃bv&I^;?]A שJ˭BL>_ԀǘOɓa脟g%Ԅ꟨ƕ&ʍyK,i܅կvtޅb.ʍȩߒT:Sx{ȼ)m4Zl^uAۚۉо=lVqOF5)hz-;MEzm Sl`CZ%.3Qj'X" NX;anDs37Q*tA-7.~v7[s*"%fNN]3&!XO`[JpkmNrW,&0!=\}9h!cXySfd$c}fi5hDf$ uRC# y\MLQEC:1\BSZ ]wsmxcq};w FUQ`64I{QPH^3d ]Q"3|7I\G$Lj+3 ]YK&q)xh~IWX Ved{6=#W:NG''WM?ko;aOHK,# Zn CH,2rie:DsDLHG]ihl'Z`  K^%E^.type = 'D'; act_fiche = ++P ~ BIBLIO.BCKs3b%[DANA.BIBLIO]DISPLAY_FICHE.C;1j 3 fprintf(fich_list,"(%d)\n\n",fiche.Simple.annee);> fprintf(fich_list,"\nTire-a-part: %s\n",fiche.Simple.t_a_p);U fprintf(fich_list,"Entree le %s par [%d]\n",fiche.Simple.jour,fiche.Simple.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */ { if (fiche.Simple.keys[i]) ; fprintf(fich_list,"%s ",cle[(fiche.Simple.keys[i]-1)]); } } else {h fprintf(fich_list,"***************** Fiche double numero %d *****************\n",fiche.Simple.numero);C for (i = 1; i <= fiche.Double.nb_auteurs; i++) /* nb d'auteurs */ { fprintf(fich_list,"%s %s; ",8 fiche.Double.prenom[(i-1)],fiche.Double.nom[(i-1)]); if (i % 3 == 0) { fprintf(fich_list,"\n"); a_la_ligne = TRUE; } a_la_ligne = FALSE;  }, if (! a_la_ligne) fprintf(fich_list,"\n");- for (i = 0; i < 4; i++) /* nb de lignes */ {% if (strlen(fiche.Double.titre[i]))4 fprintf(fich_list,"%s\n",fiche.Double.titre[i]); }# if (strlen(fiche.Double.journal)) {2 fprintf(fich_list,"%s; ",fiche.Double.journal); } else {3 fprintf(fich_list,"In %s\n",fiche.Double.livre);= fprintf(fich_list,"Edite par %s\n",fiche.Double.editeurs);4 fprintf(fich_list,"%s, ",fiche.Double.publisher);0 fprintf(fich_list,"%s\n",fiche.Double.ville); }0 fprintf(fich_list,"%s: ",fiche.Double.volume);. fprintf(fich_list,"%s ",fiche.Double.pages);3 fprintf(fich_list,"(%d)\n\n",fiche.Double.annee);> fprintf(fich_list,"\nTire-a-part: %s\n",fiche.Double.t_a_p);U fprintf(fich_list,"Entree le %s par [%d]\n",fiche.Double.jour,fiche.Double.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */ { if (fiche.Double.keys[i]) ; fprintf(fich_list,"%s ",cle[(fiche.Double.keys[i]-1)]); } } fprintf(fich_list,"\n\n");}*[DANA.BIBLIO]DOC.DIR;1+,dw./ 4-b%0123 KPWO56"%7`W)b8`. Ŕ9GHJI N PACE ASKVAL.PSa& BIBLIO.PS,yM BIBLIO.TEX;% BIBLIOTEX.TEX>1 BIBLIO_1.TEXD+ BIBLIO_2.TEXDJBIBLIO_RES.TEXEBIBLIO_SUM.TEXG BIB_PRES.TEX G*[DANA.BIBLIO.DOC]ASKVAL.PS;1+,a&.W/ 4wWU-dw0123KPWOX56Io?7RC8Zǔ9GHJ`%! % The following defines procedures assumed and used by program "dvi2ps" % % $Header: tex.ps,v 1.13 87/12/14 00:57:00 van Exp $ % % Original By: Neal Holtz, Carleton University, Ottawa, Canada % % % June, 1985 % Seriously hacked by Van Jacobson, LBL % /TeXDict 200 dict def % define a working dictionary TeXDict begin % start using it. % units are in "dots" (300/inch) /Resolution 300 def /Inch {Resolution mul} def % converts inches to internal units /Mtrx 6 array def %%%%%%%%%%%%%%%%%%%%% Page setup (user) options %%%%%%%%%%%%%%%%%%%%%%%% % dvi2ps will output coordinates in the TeX system ([0,0] 1" down and in % from top left, with y +ive downward). The default PostScript system % is [0,0] at bottom left, y +ive up. The Many Matrix Machinations in % the following code are an attempt to reconcile that. The intent is to % specify the scaling as 1 and have only translations in the matrix to % properly position the text. Caution: the default device matrices are % *not* the same in all PostScript devices; that should not matter in most % of the code below (except for lanscape mode -- in that, rotations of % -90 degrees resulted in the the rotation matrix [ e 1 ] % [ 1 e ] % where the "e"s were almost exactly but not quite unlike zeros. /letter {} def /note {} def /legal {} def /@letter { letter initmatrix 72 Resolution div dup neg scale % set scaling to 1. 310 -3005 translate % move origin to top (these are not exactly 1" Mtrx currentmatrix pop % and -10" because margins aren't set exactly right) /@TeXSave save def } def % note mode is like letter, except it uses less VM /@note { note initmatrix 72 Resolution div dup neg scale % set scaling to 1. 310 -3005 translate % move origin to top Mtrx currentmatrix pop /@TeXSave save def } def /@landscape { letter initmatrix 72 Resolution div dup neg scale % set scaling to 1. Mtrx currentmatrix 0 0.0 put Mtrx 1 -1.0 put Mtrx 2 1.0 put Mtrx 3 0.0 put Mtrx setmatrix 300 310 translate % move origin to top Mtrx currentmatrix pop /@TeXSave save def } def /@legal { legal initmatrix 72 Resolution div dup neg scale % set scaling to 1. 295 -3880 translate % move origin to top Mtrx currentmatrix pop /@TeXSave save def } def /@manualfeed { statusdict /manualfeed true put } def % n @copies - set number of copies /@copies { /#copies exch def } def %%%%%%%%%%%%%%%%%%%% Procedure Defintions %%%%%%%%%%%%%%%%%%%%%%%%%% % id @newfont - initialize a new font dictionary /@newfont { /newname exch def newname 7 dict def % allocate new font dictionary newname load begin /FontType 3 def /FontMatrix [1 0 0 -1 0 0] def /FontBBox [0 0 1 1] def /BitMaps 128 array def /BuildChar {CharBuilder} def /Encoding 128 array def 0 1 127 {Encoding exch /.undef put} for end newname newname load definefont pop } def % the following is the only character builder we need. it looks up the % char data in the BitMaps array, and paints the character if possible. % char data -- a bitmap descriptor -- is an array of length 6, of % which the various slots are: /ch-image {ch-data 0 get} def % the hex string image /ch-width {ch-data 1 get} def % the number of pixels across /ch-height {ch-data 2 get} def % the number of pixels tall /ch-xoff {ch-data 3 get} def % number of pixels below origin /ch-yoff {ch-data 4 get} def % number of pixels to left of origin /ch-tfmw {ch-data 5 get} def % spacing to next character % fontdict ch Charbuilder - -- image one character /CharBuilder { /ch-code exch def % save the char code /font-dict exch def % and the font dict. /ch-data font-dict /BitMaps get ch-code get def % get the bitmap ch-data null eq not { ch-tfmw 0 ch-xoff neg ch-yoff neg ch-width ch-xoff sub ch-height ch-yoff sub setcachedevice ch-width ch-height true [1 0 0 1 ch-xoff ch-yoff] {ch-image} imagemask } if } def % fontdict @sf - -- make that the current font /@sf { setfont } def % in the following, the font-cacheing mechanism requires that % a name unique in the particular font be generated % char-data ch @dc - -- define a new character bitmap in current font /@dc { /ch-code exch def dup 0 get length 2 lt { pop [ <00> 1 1 0 0 8.00 ] } % replace <> with null if /ch-data exch def currentfont /BitMaps get ch-code ch-data put % generate a unique name simply from the character code currentfont /Encoding get ch-code dup ( ) cvs cvn put } def /@DRAFTF { gsave initmatrix newpath /Helvetica-Bold findfont setfont (Draft) dup stringwidth pop 8.875 exch div dup 72 mul dup scale 52.3 rotate 2.5 exch div -.35 translate 0.95 setgray 0 0 moveto show grestore } def /@DRAFTM { gsave initmatrix newpath /Helvetica-Bold findfont 72 scalefont setfont 0.95 setgray 576 702 moveto (Draft) stringwidth exch neg exch neg rmoveto (Draft) show grestore } def % n @bop0 - -- begin the char def section of a new page /@bop0 { pop } def % n @bop1 - -- begin a brand new page /@bop1 { pop Mtrx setmatrix /SaveImage save def } def /@draft { /@bop1 { 1 le {@DRAFTF} {@DRAFTM} ifelse Mtrx setmatrix /SaveImage save def } def } def % - @eop - -- end a page /@eop { showpage SaveImage restore } def % - @start - -- start everything /@start { @letter /@TeXSave save def } def % - @end - -- done the whole shebang /@end { end } def % x y p - -- move to position /p { moveto } bind def % x r - -- move right /r { 0 rmoveto } bind def % string s - -- show the string /s { show } bind def % x string m - -- move right then show string /m { exch 0 rmoveto show } bind def % ch c - -- show the character (code given) /c { c-string dup 0 4 -1 roll put show } bind def /c-string ( ) def % dx dy ru - -- set a rule (rectangle) /ru { /dy exch neg def % because dy is height up from bottom /dx exch def /x currentpoint /y exch def def % remember current point newpath x y moveto dx 0 rlineto 0 dy rlineto dx neg 0 rlineto closepath fill x y moveto } bind def /@MacSetUp { userdict /md known % if md is defined { userdict /md get type /dicttype eq % and if it is a dictionary { md begin % then redefine some stuff /letter {} def /note {} def /legal {} def /od{txpose 1 0 mtx defaultmatrix dtransform exch atan/pa exch def newpath clippath mark {transform{itransform moveto}} {transform{itransform lineto}} { 6 -2 roll transform 6 -2 roll transform 6 -2 roll transform { itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto } } {{closepath}} pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if }def /txpose{ pxs pys scale ppr aload pop por { noflips { pop exch neg exch translate pop 1 -1 scale }if xflip yflip and { pop exch neg exch translate 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate }if xflip yflip not and { pop exch neg exch translate pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 translate }if yflip xflip not and { ppr 1 get neg ppr 0 get neg translate }if } { noflips { translate pop pop 270 rotate 1 -1 scale }if xflip yflip and { translate pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate }if xflip yflip not and { translate pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 translate }if yflip xflip not and { translate pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 exch translate }if }ifelse scaleby96 { ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy translate .96 dup scale neg exch neg exch translate }if }def /cp {pop pop showpage pm restore}def end }if } if } def %! % All software, documentation, and related files in this distribution of % psfig/tex are Copyright (c) 1987 Trevor J. Darrell % % Permission is granted for use and non-profit distribution of psfig/tex % providing that this notice be clearly maintained, but the right to % distribute any portion of psfig/tex for profit or as part of any commercial % product is specifically reserved for the author. % % % psfigTeX PostScript Prolog % $Header: tex.ps,v 1.13 87/12/14 00:57:00 van Exp $ % /psf$TeXscale { 65536 div } def /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap currentlinejoin currentdash currentgray currentmiterlimit ] cvx def % x y bb-llx bb-lly bb-urx bb-ury startFig - /startTexFig { /psf$SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /psf$ury exch psf$TeXscale def /psf$urx exch psf$TeXscale def /psf$lly exch psf$TeXscale def /psf$llx exch psf$TeXscale def /psf$y exch psf$TeXscale def /psf$x exch psf$TeXscale def currentpoint /psf$cy exch def /psf$cx exch def /psf$sx psf$x psf$urx psf$llx sub div def % scaling for x /psf$sy psf$y psf$ury psf$lly sub div def % scaling for y psf$sx psf$sy scale % scale by (sx,sy) psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def @MacSetUp } def /clipFig { % llx lly urx ury clipFig - (args in figure coordinates) currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto } def % doclip, if called, will always be just after a `startfig' /doclip { psf$llx psf$lly psf$urx psf$ury clipFig } def % - endTexFig - /endTexFig { end psf$SavedState restore } def %%%% Additions by LA Carr to reencode Adobe fonts as TeX fonts (almost) %%%% Based on routine in LaserWriter Cookbook /ReEncodeForTeX { /newfontname exch def /basefontname exch def /TeXstr 30 string def /basefontdict basefontname findfont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall basefontdict /MathFontName known not { /TeXvec basefontname TeXstr cvs (Courier) search { pop pop pop TeXcourvec } { pop TeXnormalvec } ifelse def TeXvec aload pop TeXvec length 2 idiv { newfont /Encoding get 3 1 roll put } repeat } if newfontname newfont definefont pop } def /TeXnormalvec [ 8#014 /fi 8#015 /fl 8#020 /dotlessi 8#022 /grave 8#023 /acute 8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring 8#030 /cedilla 8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash 8#035 /AE 8#036 /OE 8#037 /Oslash 8#042 /quotedblright 8#074 /exclamdown 8#076 /questiondown 8#134 /quotedblleft 8#136 /circumflex 8#137 /dotaccent 8#173 /endash 8#174 /emdash 8#175 /hungarumlat 8#176 /tilde 8#177 /dieresis ] def /TeXcourvec [ 8#016 /exclamdown 8#017 /questiondown 8#020 /dotlessi 8#022 /grave 8#023 /acute 8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring 8#030 /cedilla 8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash 8#035 /AE 8#036 /OE 8#037 /Oslash 8#074 /less 8#076 /greater 8#134 /backslash 8#136 /circumflex 8#137 /underscore 8#173 /braceleft 8#174 /bar 8#175 /braceright 8#177 /dieresis ] def /TeXPSmakefont { % defines a routine for generating PS fonts, fudged! /TeXsize exch def findfont [ TeXsize 0 0 TeXsize neg 0 0 ] makefont } def % fontname basefontname angle ObliqueFont - % Create a General Oblique font /ObliqueFont { /ObliqueAngle exch def /ObliqueBaseName exch def /ObliqueFontName exch def /ObliqueTransform [1 0 ObliqueAngle sin ObliqueAngle cos div 1 0 0] def /basefontdict ObliqueBaseName findfont ObliqueTransform makefont def /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eq { exch dup length array copy newfont 3 1 roll put } { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall newfont /FontName ObliqueFontName put ObliqueFontName newfont definefont pop } def % Palatino-ItalicUnslanted? You must be joking! % fontname basename SmallCapsFont - Create a General SmallCaps font /SmallCapsFont { /SmallCapsBaseName exch def /SmallCapsFontName exch def /basefontdict SmallCapsBaseName findfont def /newfont basefontdict maxlength 10 add dict def newfont begin /FontName SmallCapsFontName def /FontBaseDict basefontdict 1000 scalefont def /FontSCDict FontBaseDict .8 scalefont def /FontType 3 def /BuildChar {SmallCapChar} def /FontMatrix dup basefontdict exch get def /FontBBox dup basefontdict exch get def /Encoding dup basefontdict exch get def end SmallCapsFontName newfont definefont pop } def % fontdict ch SmallCapChar - % It shouldn't be so damn hard to do this (make one font out % of two others) but I tried several dozen variations on this % theme until I found something that worked. -- vj /SmallCapChar { /achar (A) def achar exch 0 exch put begin achar 0 get dup 97 ge exch 122 le and { % handle 'a' through 'z' specially achar 0 achar 0 get 32 sub put FontSCDict } { FontBaseDict } ifelse setfont achar stringwidth FontBBox setcachedevice newpath 0 0 moveto achar show end } def /MathEncodingVec [ /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon1 /Phi /Psi /Omega /alpha /beta /gamma /delta /epsilon /zeta /nu /theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi /omega /epsilon /theta1 /omega1 /rho /sigma /phi1 /arrowleft /arrowleft /arrowright /arrowright /suchthat /congruent /proportional /angle /zero /one /two /three /four /five /six /seven /eight /nine /period /comma /less /slash /greater /asteriskmath /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /registerserif /copyrightserif /trademarkserif /logicalor /logicaland /section /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /dotlessi /j /weierstrass /macron /breve ] def % the following gives the character codes of the above characters % in their font. I.e., this is the character we have to hand "show" % to image the characters above. /MathCharVec [ 71 68 81 76 88 80 83 161 70 89 87 97 98 103 100 101 122 110 113 105 107 108 109 110 120 112 114 115 116 117 102 99 121 119 101 74 118 114 115 106 172 172 174 174 39 64 181 208 48 49 50 51 52 53 54 55 56 57 46 44 60 47 62 42 182 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 210 211 212 218 217 167 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 245 106 195 197 198 ] def % this array tells which font dictionary holds each character above % (0 = basefont, 1 = symbol (maybe slanted), 2 = symbol (unslanted)). /MathDictVec [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 ] def % fontname basename symbolname symbolbase angle MathOblique - % Create a "math" font with the symbol font characters slanted % by "angle" /MathOblique { 3 copy ObliqueFont pop pop MathFont } def % fontname basename symbolname MathFont - Create a math italic font % % We build this font out of the base font & the symbol font % using an encoding vec as close as we can get to cmmi10 with % standard postscript characters. An array parallel to the % encoding vector tells which font dictionary to use for a % particular character. /MathFont { /MathSymName exch def /MathBaseName exch def /MathFontName exch def /basefontdict MathBaseName findfont def /newfont basefontdict maxlength 10 add dict def newfont begin /FontName MathFontName def /FontDictArray [ basefontdict 1000 scalefont MathSymName findfont 950 scalefont /Symbol findfont 950 scalefont ] def /FontType 3 def /BuildChar {MathFontChar} def /FontMatrix dup basefontdict exch get def /FontBBox dup basefontdict exch get def % the encoding vector is a copy of the original font's % encoding, modified "appropriately". /Encoding dup basefontdict exch get dup length array copy def /WhichFont MathDictVec def /WhichChar MathCharVec def MathEncodingVec Encoding copy pop /achar (A) def end MathFontName newfont definefont pop } def % fontdict ch MathFontChar - % (there's some serious magic going on here: see note on % SmallCapChar above -- vj). /MathFontChar { exch begin achar exch 0 exch put FontDictArray WhichFont achar 0 get get get setfont achar dup 0 get WhichChar exch get 0 exch put achar stringwidth FontBBox setcachedevice newpath 0 0 moveto achar show end } bind def /@flushfonts { @TeXSave restore /@TeXSave save def} def end % revert to previous dictionary TeXDict begin @start %%Title: askval.dvi %%Creator: dvi2ps %%EndProlog 1 @bop0 /NewCenturySchlbk-Roman /ncs-rom.300 ReEncodeForTeX /ncs-rom.300 /ncs-rom.300 41.666629 TeXPSmakefont def /NewCenturySchlbk-Bold /ncs-bol.420 ReEncodeForTeX /ncs-bol.420 /ncs-bol.420 58.333229 TeXPSmakefont def /NewCenturySchlbk-Bold /ncs-bol.600 ReEncodeForTeX /ncs-bol.600 /ncs-bol.600 83.333257 TeXPSmakefont def /NewCenturySchlbk-Bold /ncs-bol.300 ReEncodeForTeX /ncs-bol.300 /ncs-bol.300 41.666629 TeXPSmakefont def /Courier /c-med.300 ReEncodeForTeX /c-med.300 /c-med.300 41.666629 TeXPSmakefont def 1 @bop1 ncs-rom.300 @sf 1748 20 p 49 c 9 165 p (June) s 12 r (26,) s 12 r (1991) s ncs-bol.420 @sf 9 328 p 49 c 58 r (askval) s 15 r (V2.3) s ncs-bol.600 @sf 750 497 p (askval) s ncs-bol.300 @sf -46 698 p (NAME) s ncs-rom.300 @sf 58 c 9 r (askval) s 12 r 123 c 12 r (Prompt) s 12 r (for) s 12 r 97 c 11 r (value) s 13 r (with) s 13 r (default) s 12 r (value) s 12 r (and) s 12 r (line) s 13 r (edition) s ncs-bol.300 @sf -46 906 p (SYNOPS) s -1 r (IS:) s c-med.300 @sf 9 1084 p (#include) s 25 r () s 9 1209 p (/*) s 50 r (ask*val) s 25 r (simple) s 25 r (form) s 25 r (*/) s 9 1333 p (int) s 25 r (valeur;) s 9 1396 p (valeur) s 25 r 61 c 25 r (askival\(prompt,) s 25 r (default\);) s 9 1458 p (char) s 100 r (*prompt;) s 9 1520 p (int) s 125 r (default;) s 9 1645 p (char) s 25 r (valeur;) s 9 1707 p (valeur) s 25 r 61 c 25 r (askcval\(prompt,) s 25 r (default\);) s 9 1769 p (char) s 100 r (*prompt;) s 9 1832 p (char) s 100 r (default;) s 9 1956 p (float) s 25 r (valeur,) s 25 r (askfval\(\);) s 9 2018 p (valeur) s 25 r 61 c 25 r (askfval\(prompt,) s 25 r (default\);) s 9 2081 p (char) s 100 r (*prompt;) s 9 2143 p (float) s 75 r (default;) s 9 2267 p (int) s 25 r (nb_car;) s 9 2330 p (nb_car) s 25 r 61 c 25 r (asksval\(prompt,) s 25 r (default,) s 25 r (reponse\);) s 9 2392 p (char) s 100 r (*prompt,) s 209 2454 p (*default,) s 209 2516 p (*reponse;) s 9 2641 p (/*) s 50 r (ask*valh) s 25 r (help) s 25 r (form) s 25 r (*/) s 9 2766 p (int) s 25 r (valeur;) s @eop 2 @bop0 /NewCenturySchlbk-BoldItalic /ncs-bolita.300 ReEncodeForTeX /ncs-bolita.300 /ncs-bolita.300 41.666629 TeXPSmakefont def 2 @bop1 ncs-bolita.300 @sf 9 20 p (askval) s 12 r (V2.3) s ncs-rom.300 @sf 1494 r 50 c c-med.300 @sf 9 165 p (valeur) s 25 r 61 c 25 r (askivalh\(prompt,) s 25 r (default,) s 25 r (help\);) s 9 227 p (char) s 100 r (*prompt;) s 9 290 p (int) s 125 r (default;) s 9 352 p (char) s 100 r (*help;) s 9 476 p (char) s 25 r (valeur;) s 9 539 p (valeur) s 25 r 61 c 25 r (askcvalh\(prompt,) s 25 r (default,) s 25 r (help\);) s 9 601 p (char) s 100 r (*prompt;) s 9 663 p (char) s 100 r (default;) s 9 725 p (char) s 100 r (*help;) s 9 850 p (float) s 25 r (valeur,) s 25 r (askfval\(\);) s 9 912 p (valeur) s 25 r 61 c 25 r (askfvalh\(prompt,) s 25 r (default,) s 25 r (help\);) s 9 975 p (char) s 100 r (*prompt;) s 9 1037 p (float) s 75 r (default;) s 9 1099 p (char) s 100 r (*help;) s 9 1224 p (int) s 25 r (nb_car;) s 9 1286 p (nb_car) s 25 r 61 c 25 r (asksvalh\(prompt,) s 25 r (default,) s 25 r (reponse,) s 25 r (help\);) s 9 1348 p (char) s 100 r (*prompt,) s 209 1410 p (*default,) s 209 1473 p (*reponse,) s 209 1535 p (*help;) s 9 1659 p (/*) s 50 r (ask*valf) s 25 r (full) s 25 r (form) s 25 r (*/) s 9 1784 p (int) s 25 r (valeur;) s 9 1846 p (valeur) s 25 r 61 c 25 r (askivalf\(prompt,default,field,) s 609 1909 p (ligne,col,help,h_ligne,h_col\);) s 9 1971 p (char) s 100 r (*prompt;) s 9 2033 p (int) s 125 r (default,) s 209 2095 p (field,) s 209 2158 p (ligne,) s 209 2220 p (col;) s 9 2282 p (char) s 100 r (*help;) s 9 2344 p (int) s 125 r (h_ligne,) s 209 2407 p (h_col;) s 9 2531 p (char) s 25 r (valeur;) s 9 2593 p (valeur) s 25 r 61 c 25 r (askcvalf\(prompt,) s 25 r (default,ligne,col,) s 609 2656 p (help,h_ligne,h_col\);) s 9 2718 p (char) s 100 r (*prompt;) s 9 2780 p (char) s 100 r (default;) s @eop 3 @bop0 3 @bop1 ncs-bolita.300 @sf 9 20 p (askval) s 12 r (V2.3) s ncs-rom.300 @sf 1494 r 51 c c-med.300 @sf 9 165 p (int) s 125 r (ligne,) s 209 227 p (col;) s 9 290 p (char) s 100 r (*help;) s 9 352 p (int) s 125 r (h_ligne,) s 209 414 p (h_col;) s 9 539 p (float) s 25 r (valeur,) s 25 r (askfval\(\);) s 9 601 p (valeur) s 25 r 61 c 25 r (askfvalf\(prompt,) s 25 r (default,field,) s 609 663 p (ligne,col,help,h_ligne,h_col\);) s 9 725 p (char) s 100 r (*prompt;) s 9 788 p (float) s 75 r (default;) s 9 850 p (int) s 125 r (field,) s 209 912 p (ligne,) s 209 975 p (col;) s 9 1037 p (char) s 100 r (*help;) s 9 1099 p (int) s 125 r (h_ligne,) s 209 1161 p (h_col;) s 9 1286 p (int) s 25 r (nb_car;) s 9 1348 p (nb_car) s 25 r 61 c 25 r (asksvalf\(prompt,) s 25 r (default,) s 25 r (reponse,field,ligne,col,) s 659 1410 p (help,h_ligne,h_col\);) s 9 1473 p (char) s 100 r (*prompt,) s 209 1535 p (*default,) s 209 1597 p (*reponse;) s 9 1659 p (int) s 125 r (field,) s 209 1722 p (ligne,) s 209 1784 p (col;) s 9 1846 p (char) s 100 r (*help;) s 9 1909 p (int) s 125 r (h_ligne,) s 209 1971 p (h_col;) s 9 2095 p (/*) s 50 r (fask*val) s 25 r (file-readind) s 25 r (form) s 25 r (*/) s 9 2220 p (int) s 25 r (valeur;) s 9 2282 p (valeur) s 25 r 61 c 25 r (faskival\(pf,) s 25 r (default\);) s 9 2344 p (FILE) s 100 r (*pf;) s 9 2407 p (int) s 125 r (default;) s 9 2531 p (char) s 25 r (valeur;) s 9 2593 p (valeur) s 25 r 61 c 25 r (faskcval\(pf,) s 25 r (default\);) s 9 2656 p (FILE) s 100 r (*pf;) s 9 2718 p (char) s 100 r (default;) s @eop 4 @bop0 /NewCenturySchlbk-Italic /ncs-ita.300 ReEncodeForTeX /ncs-ita.300 /ncs-ita.300 41.666629 TeXPSmakefont def 4 @bop1 ncs-bolita.300 @sf 9 20 p (askval) s 12 r (V2.3) s ncs-rom.300 @sf 1494 r 52 c c-med.300 @sf 9 165 p (float) s 25 r (valeur,) s 25 r (askfval\(\);) s 9 227 p (valeur) s 25 r 61 c 25 r (faskfval\(pf,) s 25 r (default\);) s 9 290 p (FILE) s 100 r (*pf;) s 9 352 p (float) s 75 r (default;) s 9 476 p (int) s 25 r (nb_car;) s 9 539 p (nb_car) s 25 r 61 c 25 r (fasksval\(pf,) s 25 r (default,) s 25 r (reponse\);) s 9 601 p (FILE) s 100 r (*pf;) s 9 663 p (char) s 100 r (*default,) s 209 725 p (*reponse;) s 9 850 p (/*) s 25 r (related) s 25 r (fonctions) s 25 r (*/) s 9 975 p (askidomain\(min,max\)) s 9 1037 p (int) s 125 r (min,) s 209 1099 p (max;)1 s 9 1224 p (askfdomain\(min,max\)) s 9 1286 p (float) s 75 r (min,) s 209 1348 p (max;) s 9 1473 p (ask_speak\(langue\)) s 9 1535 p (char) s 100 r (langue;) s 9 1659 p (ask_tirets\(ok\)) s 9 1722 p (int) s 125 r (ok;) s 9 1846 p (ask_out\(def_std\)) s 9 1909 p (FILE) s 25 r (*def_std;) s ncs-bol.300 @sf -46 2212 p (DESCRIPTION:) s 71 2295 p 87 c -2 r (ARNING) s ncs-rom.300 @sf 58 c 9 r 84 c -3 r 111 c 10 r (use) s 12 r (askval,) s 12 r (the) s 11 r (programs) s ncs-ita.300 @sf 13 r (must) s ncs-rom.300 @sf 12 r (be) s 12 r (linked) s 11 r (or) s 12 r (compiled) s 12 r (with) s 12 r (the) s c-med.300 @sf 12 r (-laskval) s ncs-rom.300 @sf 9 2357 p (option) s 12 r (on) s 11 r (UNIX,) s 12 r (the) s 12 r (ASKV) s -4 r (AL.LIB) s 11 r (library) s 13 r (on) s 12 r (MS/DOS) s 13 r (or) s 12 r (the) s 12 r (ASKV) s -4 r (AL.OLB) s 12 r (on) s 12 r (VMS.) s 71 2440 p (ASKV) s -4 r (AL) s 12 r (V2) s 13 r (is) s 13 r 97 c 13 r (collection) s 14 r (of) s 12 r 67 c 13 r (functions) s 15 r (allowing) s 14 r (to) s 13 r (get) s 12 r (integers,) s 14 r (\015oats,) s 14 r (character) s 1 r 115 c 15 r (and) s 9 2502 p (strings) s 14 r (from) s 12 r (the) s 12 r (keyboard) s 13 r (with) s 13 r (editing,) s 12 r (history) s 14 r (and) s 12 r (help) s 13 r (possibilities.) s 17 r (It) s 12 r (should) s 13 r (be) s 12 r (installed) s 9 2564 p (as) s 12 r 97 c 11 r (library) s -4 r 46 c 71 2647 p (Askival\(\)) s 12 r (prompts) s 12 r (on) s 11 r (stderr) s 13 r (for) s 11 r (an) s 12 r (integer) s 12 r (value) s 13 r (on) s 11 r (stdin,) s 12 r (and) s 12 r (returns) s 13 r (the) s 12 r (given) s 12 r (value.) s 16 r (If) s 9 2710 p (no) s 13 r (value) s 15 r (is) s 14 r (entered) s 14 r (\(only) s 14 r (the) s 14 r (carriage) s 15 r (return) s 16 r (key) s 13 r (depressed\),) s 14 r (the) s 14 r (default) s 14 r (value) s 14 r (is) s 14 r (returned.) s 9 2772 p (The) s 11 r (min) s 12 r (and) s 13 r (max) s 12 r (limits) s 12 r (are) s 12 r (tested,) s 12 r (and) s 12 r (the) s 12 r (value) s 13 r (refused) s 12 r (if) s 11 r (not) s 12 r (inside) s 13 r (the) s 12 r (right) s 13 r (domain.) s @eop 5 @bop0 /cmmi10.300 @newfont cmmi10.300 @sf [<0000038000000F0000003C000000F0000003C000000F0000003C000000F0000003C000000F0000003C000000F0000000F000 00003C0000000F00000003C0000000F00000003C0000000F00000003C0000000F00000003C0000000F0000000380> 25 24 -3 2 32] 60 @dc [ 25 24 -3 2 32] 62 @dc 5 @bop1 ncs-bolita.300 @sf 9 20 p (askval) s 12 r (V2.3) s ncs-rom.300 @sf 1494 r 53 c 71 165 p (Askfval\(\)) s 12 r (follows) s 12 r (the) s 12 r (same) s 12 r (principle,) s 13 r (but) s 12 r (waits) s 13 r (for) s 12 r 97 c 11 r (real) s 12 r (number) s -2 r 46 c 71 248 p (Askcval\(\)) s 12 r (follows) s 13 r (the) s 12 r (same) s 12 r (principle,) s 12 r (but) s 13 r (waits) s 12 r (for) s 12 r 97 c 12 r (character) s -1 r 46 c 71 331 p (In) s 15 r (both) s 15 r (cases,) s 16 r (no) s 15 r (control) s 16 r (is) s 15 r (performed) s 15 r (concernin) s 1 r 103 c 17 r (the) s 15 r (range) s 16 r (of) s 14 r (entered) s 15 r (values,) s 16 r (only) s 16 r (the) s 9 393 p (validity) s 13 r (of) s 11 r (character) s 1 r 115 c 14 r (is) s 12 r (checked.) s 71 476 p (Asksval\(\)) s 12 r (follows) s 13 r (the) s 12 r (same) s 12 r (principle,) s 13 r (but) s 13 r (waits) s 13 r (for) s 12 r 97 c 12 r (string.) s 18 r (The) s 12 r (number) s 13 r (of) s 12 r (characters) s 14 r (in) s 9 539 p (the) s 12 r ("reponse") s 12 r (string) s 14 r (is) s 12 r (returned,) s 13 r (or) s 12 r (NULL) s 11 r (on) s 12 r (error) s 12 r (or) s 12 r (end) s 12 r (of) s 11 r (\014le.) s 71 622 p (The) s 15 r (forms) s 16 r (as*valh\(\)) s 16 r (are) s 16 r (the) s 16 r (same) s 15 r (functions) s 18 r (but) s 16 r (with) s 16 r (the) s 16 r (possibility) s 17 r (to) s 15 r (provide) s 16 r (an) s 16 r (help) s 9 684 p (message) s 12 r (that) s 12 r (will) s 12 r (be) s 12 r (printed) s 12 r ( ~ BIBLIO.BCKa&dw[DANA.BIBLIO.DOC]ASKVAL.PS;1wWe29if) s 12 r (needed) s 11 r (on) s 12 r (the) s 11 r (\014rst) s 13 r (top) s 12 r (line) s 12 r (of) s 11 r (the) s 12 r (screen.) s 16 r (The) s 11 r (existence) s 13 r (of) s 11 r (an) s 9 746 p (help) s 11 r (possibility) s 13 r (is) s 11 r (\015agged) s 13 r (by) s 12 r 97 c 11 r (small) s 12 r (message) s 12 r (at) s 11 r (the) s 12 r (end) s 11 r (of) s 11 r (the) s 12 r (line.) s 16 r (By) s 11 r (default) s 12 r (this) s 12 r (message) s 9 809 p (is) s 12 r (in) s 12 r (english,) s 13 r (but) s 12 r (the) s 12 r (langage) s 13 r (can) s 13 r (be) s 11 r (choosen) s 13 r (by) s 12 r (ask) s 2 r 13 2 ru 14 r (speak\(\).) s 71 892 p (The) s 14 r (forms) s 15 r (as*valf\(\)) s 15 r (are) s 15 r (the) s 15 r (same) s 15 r (functions) s 17 r (but) s 15 r (in) s 15 r (full) s 15 r (form) s 15 r (with) s 15 r (the) s 15 r (possibility) s 16 r (to) s 15 r (indi-) s 9 954 p (cate) s 13 r (the) s 14 r (\014eld) s 13 r (length) s 14 r (\(indicated) s 14 r (physically) s 15 r (on) s 14 r (the) s 13 r (screen) s 14 r (by) s 14 r (underscores\),) s 15 r (the) s 13 r (position) s 14 r (of) s 13 r (the) s 9 1016 p (prompt) s 14 r (beginning) s 16 r (in) s 14 r (line) s 15 r (and) s 14 r (column) s 15 r (on) s 14 r (the) s 15 r (screen,) s 15 r (an) s 14 r (help) s 15 r (message) s 14 r (and) s 15 r (its) s 14 r (position) s 15 r (\(line) s 9 1078 p (and) s 16 r (column\)) s 16 r (on) s 16 r (the) s 16 r (screen.) s 28 r (If) s 15 r (lines) s 16 r (and) s 16 r (columns) s 17 r (are) s 16 r (both) s 16 r (0,) s 16 r (the) s 16 r (prompt) s 16 r (is) s 16 r (written) s 17 r (at) s 16 r (the) s 9 1141 p (current) s 15 r (position.) s 18 r (If) s 13 r (the) s 13 r (line) s 13 r (and) s 13 r (columns) s 14 r (corresponding) s 15 r (to) s 13 r (the) s 13 r (help) s 12 r (message) s 14 r (are) s 13 r (both) s 13 r (0,) s 13 r (the) s 9 1203 p (help) s 13 r (message) s 14 r (is) s 13 r (written) s 15 r (at) s 14 r (the) s 13 r (current) s 16 r (position,) s 14 r (but) s 13 r (is) s 14 r (not) s 14 r (\015agged) s 14 r (as) s 13 r 2=(existing,) s 15 r (other) s 14 r (wise) s 14 r (it) s 9 1265 p (behaves) s 12 r (as) s 12 r (in) s 12 r (ask*valh\(\).) s 71 1348 p (The) s 12 r (forms) s 12 r (fas*val\(\)) s 12 r (are) s 12 r (the) s 12 r (same) s 12 r (functions) s 14 r (reading) s 13 r (from) s 11 r 97 c 12 r (\014le) s 12 r (and) s 12 r (thus) s 13 r (without) s 14 r (prompt.) s 71 1431 p (Askval) s 17 r (sends) s 18 r (to) s 17 r (the) s 17 r (stderr) s 18 r (the) s 17 r (prompt) s 17 r (followed) s 17 r (by) s 17 r (the) s 17 r (default) s 18 r (value) s 17 r (\(on) s 17 r (stdout) s 18 r (under) s 9 1493 p (VMS\).) s 71 1576 p (An) s 12 r (immediate) s cmmi10.300 @sf 12 r 60 c ncs-rom.300 @sf (CR) s cmmi10.300 @sf 62 c ncs-rom.300 @sf 12 r (sends) s 13 r (this) s 12 r (default) s 12 r (value.) s 71 1659 p 65 c 13 r (movement) s 14 r (with) s 14 r (one) s 13 r (of) s 13 r (the) s 14 r (editing) s 14 r (keys) s 13 r (\(see) s 13 r (below\)) s 13 r (allows) s 14 r (to) s 13 r (edit) s 14 r (this) s 14 r (default) s 13 r (value) s 14 r (in) s 9 1722 p (order) s 12 r (to) s 11 r (change) s 14 r (it.) s 71 1805 p (Any) s 15 r (other) s 15 r (new) s 15 r (entry) s 15 r (annulates) s 16 r (the) s 15 r (default) s 15 r (value) s 15 r (and) s 14 r (takes) s 15 r (the) s 14 r (new) s 15 r (key) s 14 r (strokes) s 15 r (as) s 15 r (the) s 9 1867 p (beginning) s 14 r (of) s 11 r 97 c 12 r (new) s 12 r (value.) s 71 1950 p (Editing) s 13 r (keys) s 12 r (can) s 12 r (be) s 12 r (used) s 12 r (at) s 12 r (any) s 12 r (moment.) s 71 2033 p (The) s 17 r (authorized) s 18 r (\014eld) s 17 r (length) s 18 r (can) s 18 r (be) s 17 r (indicated) s 18 r (by) s 17 r (underscore) s 19 r (character) s 1 r 115 c 19 r (\(9) s 17 r (for) s 16 r (int) s 18 r (-6) s 17 r (on) s 9 2095 p (MS/DOS-) s 12 r (and) s 11 r (14) s 11 r (for) s 11 r (\015oat\),) s 11 r (by) s 11 r 97 c 11 r (call) s 12 r (to) s 11 r (ask) s 2 r 13 2 ru 13 r (tirets\(1\)) s 12 r ([to) s 11 r (get) s 11 r (the) s 11 r (undersores]) s 13 r (or) s 11 r (to) s 11 r (ask) s 2 r 13 2 ru 13 r (tirets\(0\)) s 9 2158 p ([to) s 13 r (eliminate) s 15 r (them].) s 22 r (By) s 14 r (default,) s 15 r (the) s 14 r (underscor) s 1 r (es) s 16 r (are) s 14 r (off) s 13 r (for) s 14 r (ask*val\(\)) s 14 r (forms) s 15 r (and) s 14 r (ask*valh\(\)) s 9 2220 p (forms.) s 15 r (For) s 12 r (ask*valf\(\)) s 12 r (forms,) s 11 r (underlines) s 14 r (are) s 12 r (always) s 13 r (on.) s 71 2303 p (For) s 17 r (ask*valh\(\)) s 17 r (and) s 18 r (ask*valf\(\),) s 17 r 97 c 17 r (message) s 18 r (\015agging) s 19 r (the) s 17 r (existence) s 18 r (of) s 17 r (an) s 17 r (help) s 17 r (message) s 18 r (is) s 9 2365 p (printed.) s 23 r (The) s 15 r (language) s 16 r (of) s 14 r (this) s 15 r (message) s 15 r (can) s 15 r (be) s 14 r (choosen) s 16 r (by) s 14 r (ask) s 2 r 13 2 ru 13 r (speak\(langue\).) s 24 r (The) s 14 r (possible) s 9 2427 p (values) s 12 r (of) s 12 r (langue) s 13 r (are:) s 71 2510 p 97 c 12 r (for) s 11 r (american) s 14 r (\(default\)) s 71 2593 p 102 c 11 r (for) s 12 r (french) s 71 2676 p 101 c 11 r (for) s 12 r (spanish) s 13 r (\(espa) s 6 r 126 c -20 r (na\)) s 71 2759 p 100 c 11 r (for) s 12 r (deutsh) s @eop 6 @bop0 6 @bop1 ncs-bolita.300 @sf 9 20 p (askval) s 12 r (V2.3) s ncs-rom.300 @sf 1494 r 54 c 71 165 p 105 c 12 r (for) s 11 r (italian) s 71 248 p (The) s 14 r (domain) s 16 r (limits) s 15 r (can) s 16 r (be) s 14 r (modi\014ed) s 15 r (by) s 15 r (askidomain\(\)) s 15 r (and) s 15 r (askfdomain\(\).) s 25 r (The) s 14 r (domain) s 15 r (de-) s 9 310 p (faults) s 8 r (are) s 9 r (set) s 8 r (according) s 10 r (to) s 8 r (the) s 8 r (word) s 8 r (length.) s 15 r (The) s 8 r (global) s 9 r (variables) s 9 r (ask) s 2 r 13 2 ru 13 r 105 c 2 r 13 2 ru 13 r (min,) s 9 r (ask) s 2 r 13 2 ru 13 r 105 c 2 r 13 2 ru 13 r (max,) s 9 r (ask) s 2 r 13 2 ru 13 r 102 c 2 r 13 2 ru 13 r (min) s 9 373 p (and) s 9 r (ask) s 2 r 13 2 ru 13 r 102 c 2 r 13 2 ru 13 r (max) s 10 r (hold) s 9 r (the) s 10 r (current) s 11 r (int) s 10 r (and) s 9 r (\015oat) s 10 r (domains.) s 15 r 84 c -3 r 111 c 8 r (enable) s 9 r 97 c 9 r (new) s 10 r (domain,) s 10 r (ask*domain\(\)) s 9 435 p (must) s 14 r (be) s 14 r (called) s 14 r (before) s 14 r (the) s 14 r (ask*val\(\),) s 14 r (and) s 15 r (becomes) s 14 r (the) s 14 r (new) s 14 r (default) s 15 r (domain.) s 21 r 84 c -3 r 111 c 13 r (reset) s 14 r (the) s 14 r (de-) s 9 497 p (fault) s 13 r (value) s 14 r (to) s 14 r (the) s 13 r (full) s 14 r (range,) s 14 r (ask*domain\(\)) s 13 r (must) s 14 r (be) s 13 r (call) s 14 r (with) s 15 r (two) s 13 r (identical) s 15 r (arguments) s 15 r (as) s 13 r (in) s 9 559 p (askidomain\(0,0\).) s 71 642 p (Normally) s 14 r (the) s 13 r (default) s 14 r (output) s 14 r (is) s 13 r (on) s 13 r (stderr) s 14 r (\(on) s 13 r (stdout) s 14 r (on) s 13 r (VMS\),) s 13 r (but) s 14 r (can) s 14 r (be) s 12 r (reset) s 14 r (on) s 13 r (stdout) s 9 705 p (if) s 11 r (needed) s 12 r (using) s 13 r (ask) s 2 r 13 2 ru 13 r (out\(stdout\);) s 71 788 p (Editing) s 13 r (keys) s 12 r (and) s 12 r (external) s 13 r (user) s 12 r (manual.) s 71 803 p 766 2 ru 71 871 p (For) s 16 r (all) s 17 r (the) s 17 r (functions,) s 19 r (askval) s 18 r (provides) s 17 r (an) s 17 r (on-screen) s 18 r (editor) s -2 r 46 c 29 r (The) s 16 r (arrow) s 18 r (keys) s 17 r (have) s 17 r (their) s 9 933 p (natural) s 18 r (role:) s 26 r (left) s 17 r (arrow) s 18 r (to) s 16 r (go) s 17 r (backward) s 18 r (charac) s 1 r (ter) s 19 r (by) s 17 r (charact) s 1 r (er) s -2 r 44 c 18 r (rigthar) s 1 r (row) s 19 r (to) s 17 r (go) s 17 r (forward) s 9 995 p (character) s 14 r (by) s 12 r (charact) s 1 r (er) s -2 r 46 c 16 r (The) s 12 r (special) s 12 r (VT100/VT2xx/VT3xx) s 13 r (PFn) s 11 r (keys) s 12 r (are) s 12 r (signi\014c) s 1 r (ant:) s 71 1078 p (LEFT) s 11 r (ARROW) s -1 r 58 c 11 r (backward) s 13 r (one) s 12 r (character) s 71 1161 p (RIGHT) s 11 r (ARROW) s -1 r 58 c 12 r (forward) s 12 r (one) s 12 r (charact) s 1 r (er) s 71 1244 p (PF1:) s 15 r (backward) s 13 r (to) s 11 r (beginning) s 14 r (of) s 12 r (line) s 12 r (\(HOME) s 12 r (key) s 11 r (on) s 12 r (PCs\)) s 71 1327 p (PF2:) s 15 r (backward) s 13 r (one) s 11 r (word) s 13 r (\(CTRL) s 11 r (LEFT) s 11 r (ARROW) s 12 r (key) s 12 r (on) s 11 r (PCs\)) s 71 1410 p (PF3:) s 15 r (forward) s 12 r (one) s 12 r (word) s 12 r (\(CTRL) s 12 r (RIGHT) s 11 r (ARROW) s 12 r (key) s 12 r (on) s 12 r (PCs\)) s 71 1493 p (PF4:) s 15 r (forward) s 12 r (to) s 12 r (end) s 12 r (of) s 11 r (line) s 12 r (\(END) s 12 r (key) s 12 r (on) s 12 r (PCs\)) s 71 1576 p (UP) s 11 r (ARROW) s -1 r 58 c 11 r (backward) s 13 r (in) s 13 r (history) s 71 1659 p (DOWN) s 12 r (ARROW) s -1 r 58 c 11 r (forward) s 13 r (in) s 12 r (history) s 71 1742 p (CTRL) s 11 r 82 c 12 r (or) s 12 r (Find:) s 15 r (\014nd) s 12 r (previous) s 13 r (string) s 14 r (\(F2) s 11 r (key) s 12 r (on) s 12 r (PCs\)) s 71 1825 p 63 c 16 r (or) s 12 r (Help:) s 14 r (help) s 12 r (\(F1) s 12 r (key) s 11 r (on) s 12 r (PCs\)) s 71 1909 p (CTRL) s 11 r (G:) s 12 r (abort) s 12 r (entry) s 71 1992 p (CTRL) s 11 r (L:) s 11 r (repaint) s 13 r (entry) s 71 2075 p (PF2) s 11 r (and) s 12 r (PF3) s 12 r (are) s 12 r (only) s 12 r (valid) s 12 r (when) s 13 r (entering) s 13 r (strings) s 1 r 46 c 71 2158 p (Literal) s 10 r (charact) s 1 r (ers) s 12 r (are) s 10 r (refused) s 10 r (\(with) s 11 r (beep\)) s 9 r (when) s 11 r (integer) s 11 r (or) s 10 r (\015oating) s 11 r (values) s 11 r (are) s 10 r (awaited) s 10 r (\(Ee) s 9 2220 p (are) s 12 r (permitted) s 12 r (for) s 12 r (\015oats\).) s 71 2303 p (Integer) s 13 r (or) s 12 r (\015oat) s 12 r (values) s 13 r (are) s 13 r (refused) s 12 r (if) s 12 r (they) s 12 r (are) s 13 r (external) s 13 r (to) s 12 r (given) s 13 r (limits.) s 16 r (If) s 12 r (so,) s 11 r 97 c 12 r (message) s 13 r (is) s 9 2365 p (given) s 12 r (with) s 13 r (the) s 12 r (authorized) s 13 r (limits,) s 12 r (and) s 13 r 97 c 11 r (replacement) s 13 r (value) s 13 r (awaited.) s 71 2448 p (CTRL) s 11 r 71 c 12 r (aborts) s 13 r (the) s 12 r (entry) s 13 r (and) s 12 r (calls) s 13 r (back) s 12 r (the) s 12 r (default) s 12 r (value.) s 71 2531 p (CTRL) s 11 r 76 c 12 r (repaints) s 13 r (the) s 12 r (line) s 12 r (if) s 11 r (an) s 13 r (external) s 13 r (message) s 12 r (is) s 12 r (received.) s 71 2614 p (The) s 12 r (10) s 11 r (last) s 13 r (values) s 13 r (entered) s 12 r (for) s 12 r (int,) s 12 r (\015oat) s 12 r (or) s 12 r (string) s 13 r (\(no) s 12 r (single) s 13 r (character) s 1 r (s\)) s 14 r (are) s 12 r (memorized) s 11 r (in) s 9 2676 p 97 c 11 r (ring) s 13 r (buffer) s -2 r 46 c 71 2759 p (UP) s 16 r (ARROW) s 16 r (recalls) s 18 r (back) s 17 r (in) s 17 r (the) s 16 r (backward) s 18 r (direction) s 18 r (the) s 16 r (strings) s 19 r (memorized) s 16 r (in) s 17 r (the) s 17 r (ring) s @eop 7 @bop0 7 @bop1 ncs-bolita.300 @sf 9 20 p (askval) s 12 r (V2.3) s ncs-rom.300 @sf 1494 r 55 c 9 165 p (buffer) s 12 r (corresponding) s 14 r (to) s 12 r (the) s 12 r (same) s 12 r (type) s 12 r (of) s 11 r (askval) s 12 r (function.) s 71 248 p (DOWN) s 13 r (ARROW) s 14 r (recalls) s 15 r (back) s 13 r (in) s 14 r (the) s 13 r (forward) s 14 r (direction) s 15 r (the) s 13 r (strings) s 15 r (memorized) s 14 r (in) s 13 r (the) s 14 r (ring) s 9 310 p (buffer) s 12 r (corresponding) s 14 r (to) s 12 r (the) s 12 r (same) s 12 r (type) s 12 r (of) s 11 r (askval) s 12 r (function.) s 71 393 p (CTRL) s 8 r 82 c 8 r (or) s 9 r (the) s 8 r (Find) s 9 r (Key) s 9 r (\(or) s 8 r (F2) s 8 r (on) s 9 r (PCs\)) s 8 r (considers) s 10 r (the) s 8 r (string) s 11 r (already) s 9 r (typed) s 8 r (as) s 9 r (the) s 9 r (beginning) s 9 456 p (of) s 11 r 97 c 12 r (memorized) s 11 r (string,) s 13 r (and) s 13 r (recalls) s 13 r (the) s 12 r (full) s 12 r (string) s 14 r (if) s 11 r (any) s -4 r 44 c 12 r (or) s 12 r (beeps) s 11 r (if) s 12 r (not.) s 71 539 p 63 c 15 r (or) s 11 r (the) s 11 r (HELP) s 10 r (key) s 11 r (\(or) s 10 r (F1) s 11 r (on) s 11 r (PCs\)) s 10 r (gives) s 12 r (an) s 11 r (help) s 11 r (text) s 11 r (in) s 11 r (reverse) s 11 r (video) s 11 r (character) s 1 r (s,) s 12 r (generaly) s 9 601 p (at) s 12 r (the) s 12 r (top) s 11 r (of) s 11 r (the) s 13 r (screen,) s 12 r (or) s 12 r 97 c 12 r (very) s 12 r (fugace) s 13 r (message) s ncs-bol.300 @sf 13 r (No) s 12 r (Help) s ncs-rom.300 @sf 11 r (at) s 12 r (the) s 12 r (current) s 14 r (position.) s 71 684 p (ASKV) s -4 r (AL) s 11 r (V2) s 10 r (is) s 11 r (fully) s 12 r (compatible) s 12 r (with) s 11 r (ASKV) s -4 r (AL) s 11 r (V1,) s 11 r (thus) s 12 r (any) s 11 r (program) s 12 r (previously) s 13 r (compiled) s 9 746 p (with) s 14 r (ASKV) s -4 r (AL) s 14 r (V1) s 14 r (can) s 15 r (be) s 13 r (recompiled) s 15 r (with) s 15 r (ASKV) s -4 r (AL) s 13 r (V2) s 14 r (in) s 14 r (order) s 15 r (to) s 13 r (get) s 14 r (the) s 14 r (editing) s 15 r (facilities,) s 9 809 p (without) s 10 r (any) s 11 r (code) s 9 r (modi\014cation.) s 16 r (The) s 9 r (behavior) s 11 r (is) s 9 r (the) s 10 r (same,) s 9 r (without) s 11 r (help) s 10 r (and) s 9 r (without) s 11 r (any) s 11 r (place) s 9 871 p (holder) s -2 r 46 c ncs-bol.300 @sf -46 1078 p (BUGS:) s ncs-rom.300 @sf 71 1161 p (If) s 10 r 97 c 10 r (string) s 11 r (was) s 11 r (read) s 10 r (from) s 10 r (stdin) s 11 r (by) s 11 r (using) s 11 r (scanf\("%s",stri) s 1 r (ng\)) s 12 r (before) s 10 r (using) s 12 r (one) s 10 r (of) s 9 r (the) s 10 r (askval\(\)) s 9 1224 p (fonctions,) s 11 r (the) s 10 r (LF) s 9 r (character) s 12 r (is) s 10 r (left) s 10 r (in) s 10 r (stdin) s 10 r (buffer) s -2 r 44 c 9 r (and) s 11 r (is) s 9 r (considered) s 11 r (as) s 10 r (the) s 10 r (terminator) s 12 r (\(default) s 9 1286 p (value\)) s 10 r (if) s 9 r (askival\(\),) s 10 r (askcval\(\)) s 11 r (or) s 9 r (askfval\(\)) s 10 r (are) s 10 r (called) s 10 r (after) s 10 r (the) s 10 r (scanf\(\),) s 10 r (while) s 11 r (gets\(string\)) s 12 r (remove) s 9 1348 p (the) s 13 r (LF) s 12 r (and) s 13 r (thus) s 14 r (empties) s 13 r (the) s 13 r (stdin) s 14 r (buffer) s -2 r 46 c 17 r (It) s 13 r (is) s 13 r (thus) s 14 r (necessary) s 15 r (to) s 13 r (read) s 13 r (in) s 13 r (string) s 14 r (using) s 15 r (gets\(\)) s 9 1410 p (instead) s 12 r (of) s 11 r (scanf\(\).) s 17 r (Moreover) s -2 r 44 c 11 r (gets\(\)) s 12 r (is) s 12 r (more) s 11 r (performant) s 13 r (than) s 13 r (scanf\(\).) s ncs-bol.300 @sf -46 1618 p (AUTHOR:) s ncs-rom.300 @sf 71 1701 p (Dr) s 12 r (Jean-Francois) s 14 r 86 c -1 r (ibert) s 71 1784 p (CHU) s 11 r (Saint-Antoine) s 14 r (Paris) s 12 r (12) s @eop @end *[DANA.BIBLIO.DOC]BIBLIO.PS;2+,,yM./ 4|D-dw0123KPWO56N7:@8/Ŕ9GHJ@%! G% The following defines procedures assumed and used by program "dvi2ps"%4% $Header: tex.ps,v 1.13 87/12/14 00:57:00 van Exp $%?% Original By: Neal Holtz, Carleton University, Ottawa, Canada% )% % June, 1985'% Seriously hacked by Van Jacobson, LBL% 5/TeXDict 200 dict def % define a working dictionary)TeXDict begin % start using it.8 % units are in "dots" (300/inch)/Resolution 300 def@/Inch {Resolution mul} def % converts inches to internal units/Mtrx 6 array defH%%%%%%%%%%%%%%%%%%%%% Page setup (user) options %%%%%%%%%%%%%%%%%%%%%%%%H% dvi2ps will output coordinates in the TeX system ([0,0] 1" down and inF% from top left, with y +ive downward). The default PostScript systemF% is [0,0] at bottom left, y +ive up. The Many Matrix Machinations inG% the following code are an attempt to reconcile that. The intent is toF% specify the scaling as 1 and have only translations in the matrix toG% properly position the text. Caution: the default device matrices areK% *not* the same in all PostScript devices; that should not matter in most F% of the code below (except for lanscape mode -- in that, rotations of9% -90 degrees resulted in the the rotation matrix [ e 1 ]9% [ 1 e ]@% where the "e"s were almost exactly but not quite unlike zeros./@letter { letter initmatrix@ 72 Resolution div dup neg scale % set scaling to 1.K 310 -3005 translate % move origin to top (these are not exactly 1"Q Mtrx currentmatrix pop % and -10" because margins aren't set exactly right) /@TeXSave save def } def: % note mode is like letter, except it uses less VM/@note { note initmatrix@ 72 Resolution div dup neg scale % set scaling to 1.A 310 -3005 translate % move origin to top Mtrx currentmatrix pop /@TeXSave save def } def /@landscape { letter initmatrix@ 72 Resolution div dup neg scale % set scaling to 1. Mtrx currentmatrix 0 0.0 put Mtrx 1 -1.0 put Mtrx 2 1.0 put Mtrx 3 0.0 put Mtrx setmatrix@ 300 310 translate % move origin to top Mtrx currentmatrix pop /@TeXSave save def } def/@legal { legal initmatrix@ 72 Resolution div dup neg scale % set scaling to 1.A 295 -3880 translate % move origin to top Mtrx currentmatrix pop /@TeXSave save def } def /@manualfeed$ { statusdict /manualfeed true put } def$% n @copies - set number of copies/@copies { /#copies exch def } defD%%%%%%%%%%%%%%%%%%%% Procedure Defintions %%%%%%%%%%%%%%%%%%%%%%%%%%1% id @newfont - initialize a new font dictionary /@newfont { /newname exch def> newname 7 dict def % allocate new font dictionary newname load begin /FontType 3 def& /FontMatrix [1 0 0 -1 0 0] def /FontBBox [0 0 1 1] def /BitMaps 128 array def$ /BuildChar {CharBuilder} def /Encoding 128 array def/ 0 1 127 {Encoding exch /.undef put} for end' newname newname load definefont pop } defG% the following is the only character builder we need. it looks up theG% char data in the BitMaps array, and paints the character if possible.C% char data -- a bitmap descriptor -- is an array of length 6, of '% which the various slots are:6/ch-image {ch-data 0 get} def % the hex string image=/ch-width {ch-data 1 get} def % the number of pixels across;/ch-height {ch-data 2 get} def % the number of pixels tall?/ch-xoff {ch-data 3 get} def % number of pixels below originD/ch-yoff {ch-data 4 get} def % number of pixels to left of origin;/ch-tfmw {ch-data 5 get} def % spacing to next character6% fontdict ch Charbuilder - -- image one character /CharBuilder4 { /ch-code exch def % save the char code4 /font-dict exch def % and the font dict.F /ch-data font-dict /BitMaps get ch-code get def % get the bitmap ch-data null eq not {" ch-tfmw 0 ch-xoff neg ch-yoff neg+ ch-width ch-xoff sub ch-height ch-yoff sub setcachedevice; ch-width ch-height true [1 0 0 1 ch-xoff ch-yoff] {ch-image} imagemask } if} def5% fontdict @sf - -- make that the current font/@sf { setfont } def=% in the following, the font-cacheing mechanism requires that3% a name unique in the particular font be generatedH% char-data ch @dc - -- define a new character bitmap in current font/@dc { /ch-code exch def dup 0 get length 2 lt: { pop [ <00> 1 1 0 0 8.00 ] } % replace <> with null if /ch-data exch def0 currentfont /BitMaps get ch-code ch-data put; % generate a unique name simply from the character code; currentfont /Encoding get ch-code dup ( ) cvs cvn put } def#/@DRAFTF { gsave initmatrix newpath' /Helvetica-Bold findfont setfontF (Draft) dup stringwidth pop 8.875 exch div dup 72 mul dup scale. 52.3 rotate 2.5 exch div -.35 translate 0.95 setgray 0 0 moveto show grestore } def#/@DRAFTM { gsave initmatrix newpath4 /Helvetica-Bold findfont 72 scalefont setfont 0.95 setgray 576 702 moveto4 (Draft) stringwidth exch neg exch neg rmoveto (Draft) show grestore } defD% n @bop0 - -- begin the char def section of a new page/@bop0 { pop } def2% n @bop1 - -- begin a brand new page5/@bop1 { pop Mtrx setmatrix /SaveImage save def } def /@draft { /@bop1$ { 1 le {@DRAFTF} {@DRAFTM} ifelse Mtrx setmatrix /SaveImage save def } def} def%% - @eop - -- end a page(/@eop { showpage SaveImage restore } def+% - @start - -- start everything*/@start { @letter /@TeXSave save def } def1% - @end - -- done the whole shebang/@end { end } def+% x y p - -- move to position/p { moveto } bind def%% x r - -- move right/r { 0 rmoveto } bind def*% string s - -- show the string/s { show } bind def8% x string m - -- move right then show string#/m { exch 0 rmoveto show } bind def:% ch c - -- show the character (code given)1/c { c-string dup 0 4 -1 roll put show } bind def/c-string ( ) def(% dx dy ru - -- set a rule (rectangle)/ru= { /dy exch neg def % because dy is height up from bottom /dx exch def> /x currentpoint /y exch def def % remember current point newpath x y moveto dx 0 rlineto 0 dy rlineto dx neg 0 rlineto closepath fill x y moveto } bind def /@MacSetUp* { userdict /md known % if md is definedK { userdict /md get type /dicttype eq % and if it is a dictionary {@ md begin % then redefine some stuff /letter {} def /note {} def /legal {} def /od{txpose; 1 0 mtx defaultmatrix dtransform exch atan/pa exch def newpath clippath mark# {transform{itransform moveto}}# {transform{itransform lineto}} { 6 -2 roll transform 6 -2 roll transform 6 -2 roll transform { itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto } } {{closepath}}8 pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put? 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if }def /txpose{ pxs pys scale ppr aload pop por { noflips {0 pop exch neg exch translate pop 1 -1 scale }if xflip yflip and {7 pop exch neg exch translate 180 rotate 1 -1 scale/ ppr 3 get ppr 1 get neg sub neg ppr 2 get% ppr 0 get neg sub neg translate }if  xflip yflip not and {0 pop exch neg exch translate pop 180 rotate1 ppr 3 get ppr 1 get neg sub neg 0 translate  }ifr yflip xflip not and {o+ ppr 1 get neg ppr 0 get neg translate8 }if  } { noflips {g- translate pop pop 270 rotate 1 -1 scalew }ifd xflip yflip and {., translate pop pop 90 rotate 1 -1 scale/ ppr 3 get ppr 1 get neg sub neg ppr 2 getb% ppr 0 get neg sub neg translatea }if xflip yflip not and { + translate pop pop 90 rotate ppr 3 get ' ppr 1 get neg sub neg 0 translate  }if  yflip xflip not and {3, translate pop pop 270 rotate ppr 2 get, ppr 0 get neg sub neg 0 exch translate }if }ifelse scaleby96 {= ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy5 translate .96 dup scale neg exch neg exch translate0 }if }defn% /cp {pop pop showpage pm restore}def) endt }if } if  } defo%!H% All software, documentation, and related files in this distribution of4% psfig/tex are Copyright (c) 1987 Trevor J. Darrell% I% Permission is granted for use and non-profit distribution of psfig/tex sD% providing that this notice be clearly maintained, but the right toM% distribute any portion of psfig/tex for profit or as part of any commerciald2% product is specifically reserved for the author.% %% psfigTeX PostScript Prolog4% $Header: tex.ps,v 1.13 87/12/14 00:57:00 van Exp $% /psf$TeXscale { 65536 div } def I/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap Ccurrentlinejoin currentdash currentgray currentmiterlimit ] cvx defs-% x y bb-llx bb-lly bb-urx bb-ury startFig -m/startTexFig { /psf$SavedState save def userdict maxlength dict begin currentpoint transform G DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecape setlinewidth setmatrix itransform moveto /psf$ury exch psf$TeXscale defR /psf$urx exch psf$TeXscale def  /psf$lly exch psf$TeXscale def3 /psf$llx exch psf$TeXscale def  /psf$y exch psf$TeXscale defx /psf$x exch psf$TeXscale defv a/ currentpoint /psf$cy exch def /psf$cx exch defm; /psf$sx psf$x psf$urx psf$llx sub div def % scaling for xi: /psf$sy psf$y psf$ury psf$lly sub div def % scaling for y) psf$sx psf$sy scale % scale by (sx,sy) psf$cx psf$sx div psf$llx sub( psf$cy psf$sy div psf$ury sub translate $ /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix {  DefFigCTM exch copye } def /initgraphics {2 DocumentInitState setmiterlimit setgray setdash 0 setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrixd } def /showpage { initgraphics } def @MacSetUp} def /clipFig {8% llx lly urx ury clipFig - (args in figure coordinates) currentpoint 6 2 roll newpath 4 copy% 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip  newpath moveto@} def;% doclip, if called, will always be just after a `startfig'l7/doclip { psf$llx psf$lly psf$urx psf$ury clipFig } def % - endTexFig --/endTexFig { end psf$SavedState restore } def G%%%% Additions by LA Carr to reencode Adobe fonts as TeX fonts (almost)r-%%%% Based on routine in LaserWriter Cookbook /ReEncodeForTeX  { /newfontname exch defp /basefontname exch def /TeXstr 30 string deff+ /basefontdict basefontname findfont defo, /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eqo! { exch dup length array copyd newfont 3 1 roll put }h" { exch newfont 3 1 roll put } ifelse } { pop pop } ifelse  } forall* basefontdict /MathFontName known not { 3 /TeXvec basefontname TeXstr cvs (Courier) search  { pop pop pop TeXcourvec }o { pop TeXnormalvec } ifelse defs TeXvec aload pop TeXvec length 2 idiv+ { newfont /Encoding get 3 1 roll put }g repeat  } if( newfontname newfont definefont pop } defa /TeXnormalvec@ [ 8#014 /fi 8#015 /fl 8#020 /dotlessi 8#022 /grave 8#023 /acuteE 8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring 8#030 /cedillan@ 8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash 8#035 /AEA 8#036 /OE 8#037 /Oslash 8#042 /quotedblright 8#074 /exclamdownx< 8#076 /questiondown 8#134 /quotedblleft 8#136 /circumflexB 8#137 /dotaccent 8#173 /endash 8#174 /emdash 8#175 /hungarumlat% 8#176 /tilde 8#177 /dieresis ] def@ /TeXcourvec-E [ 8#016 /exclamdown 8#017 /questiondown 8#020 /dotlessi 8#022 /gravegC 8#023 /acute 8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ringpE 8#030 /cedilla 8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash ? 8#035 /AE 8#036 /OE 8#037 /Oslash 8#074 /less 8#076 /greater H 8#134 /backslash 8#136 /circumflex 8#137 /underscore 8#173 /braceleft5 8#174 /bar 8#175 /braceright 8#177 /dieresis ] defuE/TeXPSmakefont { % defines a routine for generating PS fonts, fudged!s /TeXsize exch def findfont ) [ TeXsize 0 0 TeXsize neg 0 0 ] makefont } defv+% fontname basefontname angle ObliqueFont -t% Create a General Oblique fonto/ObliqueFont { /ObliqueAngle exch def /ObliqueBaseName exch def  /ObliqueFontName exch defoK /ObliqueTransform [1 0 ObliqueAngle sin ObliqueAngle cos div 1 0 0] defwH /basefontdict ObliqueBaseName findfont ObliqueTransform makefont def, /newfont basefontdict maxlength dict def basefontdict { exch dup /FID ne { dup /Encoding eqd! { exch dup length array copy  newfont 3 1 roll put } " { exch newfont 3 1 roll put } ifelser } { pop pop } ifelse@ } forall* newfont /FontName ObliqueFontName put' ObliqueFontName newfont definefontv pop} def /% Palatino-ItalicUnslanted? You must be joking! C% fontname basename SmallCapsFont - Create a General SmallCaps fontd/SmallCapsFont { /SmallCapsBaseName exch def /SmallCapsFontName exch defo0 /basefontdict SmallCapsBaseName findfont def3 /newfont basefontdict maxlength 10 add dict def newfont begin /FontName SmallCapsFontName def. /FontBaseDict basefontdict 1000 scalefont def* /FontSCDict FontBaseDict .8 scalefont def /FontType 3 def /BuildChar {SmallCapChar} def* /FontMatrix dup basefontdict exch get def( /FontBBox dup basefontdict exch get def( /Encoding dup basefontdict exch get def endt, SmallCapsFontName newfont definefont pop} def-% fontdict ch SmallCapChar -<% It shouldn't be so damn hard to do this (make one font out=% of two others) but I tried several dozen variations on this(2% theme until I found something that worked. -- vj/SmallCapChar {r /achar (A) def achar exch 0 exch putn begine+ achar 0 get dup 97 ge exch 122 le and { # % handle 'a' through 'z' speciallyy achar 0 achar 0 get 32 sub put FontSCDicti } { FontBaseDicti } ifelse5 setfont achar stringwidth FontBBox setcachedevice ! newpath 0 0 moveto achar show  end } defi/MathEncodingVec [5/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon1 4/Phi /Psi /Omega /alpha /beta /gamma /delta /epsilon-/zeta /nu /theta /iota /kappa /lambda /mu /nux+/xi /pi /rho /sigma /tau /upsilon /phi /chia6/psi /omega /epsilon /theta1 /omega1 /rho /sigma /phi1-/arrowleft /arrowleft /arrowright /arrowright-)/suchthat /congruent /proportional /anglem./zero /one /two /three /four /five /six /seven?/eight /nine /period /comma /less /slash /greater /asteriskmathv!/partialdiff /A /B /C /D /E /F /Ge/H /I /J /K /L /M /N /Oe/P /Q /R /S /T /U /V /WsN/X /Y /Z /registerserif /copyrightserif /trademarkserif /logicalor /logicaland/section /a /b /c /d /e /f /g//h /i /j /k /l /m /n /oa/p /q /r /s /t /u /v /wr1/x /y /z /dotlessi /j /weierstrass /macron /breve ] def1A% the following gives the character codes of the above characterstD% in their font. I.e., this is the character we have to hand "show" % to image the characters above./MathCharVec [ 71 68 81 76 88 80 83 161 70 89 87 97 98 103 100 101n 122 110 113 105 107 108 109 110 120~ BIBLIO.BCK,yMdw[DANA.BIBLIO.DOC]BIBLIO.PS;2B;8|8A|! 112 114 115 116 117 102 99l 121 119 101 74 118 114 115 106n 172 172 174 174 39 64 181 208 48 49 50 51 52 53 54 55 56 57 46 44 60 47 62 42 182 65 66 67 68 69 70 71o 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 210 211 212 218 217r 167 97 98 99 100 101 102 103e 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 245 106 195 197 198] defC% this array tells which font dictionary holds each character aboveeE% (0 = basefont, 1 = symbol (maybe slanted), 2 = symbol (unslanted)).1/MathDictVec [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0] def1=% fontname basename symbolname symbolbase angle MathOblique -a>% Create a "math" font with the symbol font characters slanted % by "angle"/MathOblique { 3 copy ObliqueFont pop pop MathFont} defr C% fontname basename symbolname MathFont - Create a math italic font %s;% We build this font out of the base font & the symbol font2=% using an encoding vec as close as we can get to cmmi10 withl;% standard postscript characters. An array parallel to the):% encoding vector tells which font dictionary to use for a% particular character.t /MathFont {t /MathSymName exch defo /MathBaseName exch def /MathFontName exch def+ /basefontdict MathBaseName findfont defo3 /newfont basefontdict maxlength 10 add dict deft newfont beginl /FontName MathFontName defo /FontDictArray [p basefontdict 1000 scalefont' MathSymName findfont 950 scalefonts# /Symbol findfont 950 scalefont ] defs /FontType 3 def /BuildChar {MathFontChar} def* /FontMatrix dup basefontdict exch get def( /FontBBox dup basefontdict exch get def7 % the encoding vector is a copy of the original font's & % encoding, modified "appropriately".> /Encoding dup basefontdict exch get dup length array copy def /WhichFont MathDictVec defg /WhichChar MathCharVec def" MathEncodingVec Encoding copy pop /achar (A) deff endD' MathFontName newfont definefont popt} deft% fontdict ch MathFontChar -:% (there's some serious magic going on here: see note on % SmallCapChar above -- vj)./MathFontChar { exch begin achar exch 0 exch put 7 FontDictArray WhichFont achar 0 get get get setfont/1 achar dup 0 get WhichChar exch get 0 exch putf- achar stringwidth FontBBox setcachedevicex! newpath 0 0 moveto achar showl endi } bind def7/@flushfonts { @TeXSave restore /@TeXSave save def} def 7end % revert to previous dictionaryfTeXDict begin @start%%Title: biblio.dvia%%Creator: dvi2psg %%EndPrologr1 @bop0xX/Times-Roman /t-rom.360 ReEncodeForTeX /t-rom.360 /t-rom.360 49.999929 TeXPSmakefont defX/Times-Bold /t-bol.750 ReEncodeForTeX /t-bol.750 /t-bol.750 104.166540 TeXPSmakefont defW/Times-Bold /t-bol.510 ReEncodeForTeX /t-bol.510 /t-bol.510 70.833212 TeXPSmakefont defwW/Times-Bold /t-bol.420 ReEncodeForTeX /t-bol.420 /t-bol.420 58.333229 TeXPSmakefont defiX/Times-Roman /t-rom.240 ReEncodeForTeX /t-rom.240 /t-rom.240 33.333265 TeXPSmakefont defW/Times-Bold /t-bol.360 ReEncodeForTeX /t-bol.360 /t-bol.360 49.999929 TeXPSmakefont deftX/Times-Roman /t-rom.210 ReEncodeForTeX /t-rom.210 /t-rom.210 29.166583 TeXPSmakefont defX/Times-Roman /t-rom.300 ReEncodeForTeX /t-rom.300 /t-rom.300 41.666629 TeXPSmakefont def1 @bop1 t-rom.360 @sf%1835 132 p 49 cC t-bol.750 @sf 715 308 p (BIBLIO) s t-bol.510 @sf%383 517 p (Gestion) sL 18 r (de) so19 r (\014chier) s19 r (bibliograph) s 1 r (ique) s t-bol.420 @sf 646 828 p (Manuel) s16 r (d'utili) s1 r (sation) s t-rom.360 @sff375 1008 p (Ce) sn13 r (manuel) sc12 r (correspond) s 16 r 18 ct -20 r 97 c 13 r (la) sI12 r (version) s 13 r (4.2) s 13 r (de) s 13 r (BIBLIO.) s t-rom.240 @sfo1406 991 p 49 ch t-rom.360 @sfe868 1307 p (par) s t-bol.360 @sf717 1487 p (Dr) s 13 r (J.-F) s -4 r 46 c12 r (VIBER) s -1 r 84 ct t-rom.360 @sf629 1668 p (Laboratoire) s 12 r (de) sr13 r (Physiologie) s703 1730 p (CHU) s13 r (Saint) s12 r (Antoine) s558 1792 p (Universit) s3 r 19 c -20 r 101 cp13 r (Pierre) se 12 r (et) s 13 r (Marie) s13 r (CURIE) s737 1854 p (CNRS) s 13 r (UA) s 13 r 49 c -1 r (162) s831 1917 p 80 ce -4 r (ARIS) se801 1979 p (FRANCE) s[15 2041 p (Distribution:) so t-bol.360 @sfr-59 2104 p (Biologie-M) s/3 r 19 c-20 r (edecine-Informatique.) sg t-rom.360 @sfn-59 2166 p (Laboratoire) s 11 r (de) se12 r (Physiologie) s-59 2228 p (CHU) s12 r (Saint-Antoine) s-59 2290 p (27) sa 12 r (rue) s12 r (Chaligny) s1-59 2353 p (75571) s11 r (Paris) s13 r (Cedex) s 13 r (12) ss-59 2415 p (France) sh-59 2477 p 84 c13 r 19 c -20 r (el) s3 r 19 c-20 r (ephone:) s011 r (\(1\)) s12 r (43-07-58-34) s-59 2602 p (18) s/ 12 r (Mai) s 13 r (1989) s 15 2747 p (Pri) s 3 r 18 c -20 r (ere) sp 12 r (de) se12 r (communiquer) s13 r (toute) s12 r (erreur) ss -1 r 44 c511 r (ambiguit) s73 r 19 c -20 r (e,) s 13 r (ou) s13 r (omission) s 16 r 18 cu -20 r 97 c13 r (l'auteur) sb -2 r 46 c -59 2840 p 768 2 rua t-rom.210 @sfd-1 2872 p 49 c t-rom.300 @sft15 2886 p (V1:) si9 r 65 c -2 r (vril) ss 7 r (1978) s 8 r (\(FOR) sf -2 r (TRAN) sT 9 r (II\)) s 9 r (OS8,) s 10 r (V2:) s 8 r (Mai) st 10 r (1980) sm 8 r (\(FOR) sF -2 r (TRAN) se 9 r (IV\)) s 9 r (RSX1) s -1 r (1-M,) s 9 r (V3:) sl8 r (Octobre) sO 10 r (1983) se 8 r (\(FOR) sO -2 r (TRAN) se-59 2936 p (IV\)) se 9 r (RSX1) s -1 r (1-M,) si 10 r 86 cg-4 r (AX/VMS,) s 10 r (V4:) s 10 r (Juin) su 10 r (1988) so 9 r (\(C\)) sf10 r (UNIX,) s11 r (MS/DOS,) s 11 r 86 ca-4 r (AX/VMS.) s@eop2 @bop0tY/Times-Italic /t-obl.360 ReEncodeForTeX /t-obl.360 /t-obl.360 49.999929 TeXPSmakefont def W/Times-Bold /t-bol.600 ReEncodeForTeX /t-bol.600 /t-bol.600 83.333257 TeXPSmakefont defpY/Times-Italic /t-ita.360 ReEncodeForTeX /t-ita.360 /t-ita.360 49.999929 TeXPSmakefont defq2 @bop1e t-obl.360 @sff-59 132 p (Biblio) s 12 r (V4.2) sI t-rom.360 @sf 1659 r 50 co t-bol.600 @sft662 293 p (PROLOGUE) s t-rom.360 @sfG15 430 p (Je) sf20 r (tiens) s 19 r (ici) s 22 r 18 ce -20 r 97 c 20 r 100 c3 r 19 c-20 r (edier) s 19 r (ce) sc20 r (progiciel) s 21 r 18 cf -19 r 97 c 19 r (la) sc 19 r 109 c3 r 19 c-20 r (emoire) s 19 r (de) s/ t-bol.360 @sfa20 r (Georges) s 20 r 80 ct3 r 19 c -20 r (er) s(ec) s t-rom.360 @sfF44 c 19 r (l') se3 r 19 c-20 r (ecrivain) s 19 r (bien) sl19 r (connu,) so-59 493 p (membre) s 13 r (de) sd14 r (l'Oulipo,) s14 r (auteur) sg14 r (entre) s14 r (autres) sc 15 r (de) sf t-ita.360 @sf 14 r (La) sN14 r (Disparition) s t-rom.360 @sf 15 r (et) s 14 r (de) s- t-ita.360 @sft 14 r (La) sa 14 r (vie:) sm 14 r (Mode) st14 r (d'emploi) sb t-rom.360 @sfr46 c 15 r (En) s 13 r (ef-) s-59 555 p (fet,) s 11 r (Geor) sr(ges) sj 14 r 19 cC-20 r (etait) sr11 r (documentaliste) s0 13 r (CNRS) s 12 r (dans) sa12 r (notre) s11 r (laboratoire.) s% 12 r (C') sh3 r 19 c-20 r (etait) sr 11 r (lui) s 11 r (qui) s 12 r 103 c3 r 19 c-20 r (erait) s11 r (notre) s11 r (\014chier) s-59 617 p (bibliographique.) s 13 r (Il) s 14 r (jouait) ss 14 r (avec) s 15 r (les) s 15 r (noms) s15 r (d'auteurs) s 14 r (et) s/ 15 r (les) s14 r (mots-cl) s3 r 19 c -20 r (es) s 15 r (pour) sl14 r (retrouver) s 14 r (les) s 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) sp-59 679 p (dont) s 15 r (nous) s/17 r (avions) s17 r (besoin.) s 17 r (Un) sh 17 r (jour) s -1 r 44 cc 15 r (il) sp 16 r 100 c3 r 19 c-20 r (ecida) se 17 r (de) s/17 r (vivre) s 16 r (de) si 16 r (sa) ss18 r (plume) s 16 r (et) st 16 r (nous) sf17 r (quitta) sF 16 r (pour) s/ 19 r 19 c/-20 r (ecrire) s 17 r (ce) sX-59 742 p (qui) si15 r (devait) s 19 r 94 ce-20 r (etre) s 16 r (son) s16 r (dernier) s16 r (roman.) s 16 r (Il) sn15 r (fallut) s 16 r (le) s16 r (remplacer) s -1 r 44 ca 15 r (et) sr16 r (c'est) s 16 r (ce) sn 17 r (qui) s 15 r (m'a) s16 r (conduit) s 19 r 18 cn -20 r 97 c 19 r 19 cs-20 r (ecrire) s 16 r (la) sn-59 804 p (premi) st3 r 18 c -20 r (ere) st13 r (version) s 14 r (de) s814 r (BIBLIO,) s 14 r (sur) s14 r (notre) s13 r (PDP8.) s14 r (Malheureusement,) so 16 r (la) s) 14 r (mort) sc13 r (emporta) s 14 r 80 c13 r 19 c-20 r (erec) s 14 r (peu) s 14 r (de) s1-59 866 p (temps) s2 12 r (apr) s3 r 18 c -20 r (es) s13 r (avoir) s12 r (termin) s03 r 19 c -20 r 101 c 12 r ("La) s 13 r (vie:) s0 12 r (Mode) s014 r (d'emploi",) s012 r (ironiquement.) s15 949 p (Qu'il) s 17 r (me) sb 18 r (soit) ss 19 r (ici) s18 r (permis) se 18 r (de) st18 r (remercier) s18 r (Monsieur) sd 18 r (le) s"18 r (Professeur) s t-bol.360 @sfo 19 r (Andr) s 3 r 19 c -20 r 101 c18 r (Hugelin) s t-rom.360 @sfM 17 r (qui,) se 19 r (en) sc 18 r (me) s -59 1011 p (sugg) st3 r 19 c-20 r (erant) sb 16 r (de) ss16 r (suppl) s3 r 19 c -20 r (eer) st 17 r (au) st 16 r 100 c3 r 19 c-20 r (epart) sA 17 r (de) sl 16 r (Geor) sn(ges) sc 16 r 80 ch3 r 19 c-20 r (erec,) sf 17 r 97 ct 19 r 19 ca -20 r (et) s3 r 19 c -20 r 101 ce17 r (l'instigateur) s 16 r (de) sf 16 r (ce) sn17 r (travail,) s 17 r (et) s 16 r (qui) s 16 r (en) s 17 r 97 ct-59 1074 p (suivi) s 12 r (avec) se13 r (attention) s 13 r (la) sa13 r (progression.) s/ 13 r (Que) s13 r (soient) sd13 r (aussi) s14 r (remerci) s3 r 19 c -20 r (es) s 13 r (les) s 13 r (or) s5 (ganismes) s 12 r (gr) s/3 r 94 c -20 r (ace) sa13 r (auxquels) sf 14 r (ce) sx-59 1136 p (travail) s11 r (n'aurait) sd 12 r (pas) s 13 r (vu) sf 13 r (le) sd 12 r (jour) s 13 r 58 c 12 r (le) s' 13 r (CNRS) s, 13 r (et) sp12 r (l'Universit) s3 r 19 c -20 r 101 ch13 r (Pierre) sr 11 r (et) s13 r (Marie) s13 r (Curie) s 13 r 46 ca15 1219 p (En\014n,) s 14 r (le) sd15 r (portage) s 15 r (pour) s 14 r (MS/DOS) so 15 r 97 co 18 r 19 cn -20 r (et) s3 r 19 c -20 r 101 co 15 r 114 c3 r 19 c-20 r (ealis) s 3 r 19 c -20 r 101 ce 15 r (en) sC15 r (collaboration) s 15 r (avec) s15 r (Melle) s t-bol.360 @sf0 15 r 66 c3 r 19 c-20 r (eatrice) sc16 r (Cointot) s t-rom.360 @sfc-59 1281 p (\(Laboratoire) s 11 r (de) sf13 r (Physiologie,) s 14 r (CHU) s14 r (Saint-Antoine\),) s 13 r (et) ss13 r (celui) s 13 r (pour) s@ 13 r 86 c{-5 r (AX-VMS) s 12 r 97 ca 16 r 19 c -19 r (et) s3 r 19 c -20 r 101 ct 13 r 114 c3 r 19 c-20 r (ealis) ss3 r 19 c -20 r 101 cv 14 r (en) s: 13 r (col-) sP-59 1344 p (laboration) sm 9 r (avec) s 12 r (Mr) sX t-bol.360 @sfr10 r (Alain) s11 r (Fauconnet) s t-rom.360 @sfb9 r (\(Service) se10 r (d'Informatique) s0 10 r 77 cX3 r 19 c-20 r (edicale,) s 12 r (CHU) s 11 r (Piti) sl3 r 19 c-20 r (e-Salp) s3 r 19 c-20 r (etri) s3 r 18 c-20 r (ere\).) s-59 1406 p (Qu'ils) s 11 r (soient) sk13 r (vivement) sR13 r (remerci) s3 r 19 c -20 r (es.) st@eop3 @bop023 @bop1a t-obl.360 @sfm-59 132 p (Biblio) s 12 r (V4.2) sb t-rom.360 @sf6 1659 r 51 ce t-bol.600 @sft567 293 p (INTRODUCTION) s t-bol.360 @sf-15 785 p (BIBLIO) s. t-rom.360 @sfe 13 r (est) s 13 r (un) so11 r (progiciel) s 12 r (dont) sr 11 r (les) s 13 r (dif) s102 c3 r 19 c-20 r (erents) s 13 r 19 c -20 r (el) s3 r 19 c-20 r (ements) s 13 r (sont) s12 r (appelables) sL 13 r (par) s11 r (menus.) s) 13 r (Il) sl11 r (permet) si 12 r (la) s.-59 847 p (cr) s3 r 19 c-20 r (eation,) ss 12 r (la) s)13 r (gestion) s 13 r (et) s( 12 r (l') s(3 r 19 c-20 r (edition) s 12 r (de) st 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s(13 r (bibliographiques.) s15 930 p (Chaque) s114 r (\014che) s14 r (bibliographique) s 13 r (est) s14 r (constitu) s 3 r 19 c -20 r (ee) s 15 r (par) s 13 r (la) sr 14 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s14 r (compl) s3 r 18 c -20 r (ete) ss 14 r (de) s)14 r (l'ouvrage,) s 13 r (par) s 14 r (une) s-59 992 p (indication) s12 r (personnalis) s3 r 19 c -20 r (ee) s 14 r (de) s 12 r (10) sN13 r (caract) s 3 r 18 c-20 r (eres,) ss14 r (concernant) s4 13 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eralement) s 13 r (les) s 13 r (tir) s3 r 19 c -20 r (es-) s3 r 18 c-20 r (a-part,) s 13 r (et) s 13 r (par) s 12 r 49 co 16 r 18 cr -20 r 97 c 13 r (10) si-59 1054 p (mots) s) 14 r (cl) sn3 r 19 c -20 r (es) s 15 r (de) sr 15 r (12) sr14 r (lettres) s15 r (maximum.) s 15 r 76 c)-4 r ('ensemble) s 14 r (des) s 15 r (mots) sn 15 r (cl) s43 r 19 c -20 r (es) s15 r (constitue) s 16 r (un) sn 14 r (th) s(3 r 19 c-20 r (esaurus) ss15 r (\(1000) s 15 r (mots) ss-59 1117 p (cl) s53 r 19 c -20 r (es) s12 r (maximum\)) s12 r (permettant) so 13 r (de) s12 r (retrouver) s 12 r (les) s13 r (\014ches) sm 13 r (par) s 13 r (une) s12 r (combinaison) s13 r (logique) s 13 r (de) s 12 r (mots) sr 13 r (cl) sb3 r 19 c -20 r (es.) s715 1200 p (Le) s13 r (\014chier) s14 r (bibliographique) s 13 r (est) s14 r (manipul) s3 r 19 c -20 r 101 c 17 r 18 cf -20 r 97 c14 r (partir) ss 13 r (d'un) s 14 r (menu) s 14 r (et) s0 14 r (de) s 13 r (sous) s15 r (menus) s 14 r (qui) s14 r (permettent) s--59 1262 p (d'appeler) s 17 r (les) s 18 r (dif) s102 c\3 r 19 c-20 r (erentes) s 17 r (fonctionnalit) s3 r 19 c -20 r (es.) s0 18 r (Le) sr 18 r (menu) s018 r (propose) s 18 r (les) s18 r (fonctionnalit) s3 r 19 c -20 r (es) s18 r (d'adjonction) sa 18 r (de) sS-59 1324 p (\014ches) sm 10 r (et) so11 r (d'interrogation) s 9 r (du) s11 r (\014chier) s -2 r 46 ce 10 r (Les) s 11 r (sous) sE11 r (menus) s12 r (proposent) s 10 r (des) s12 r (fonctionnalit) s3 r 19 c -20 r (es) s 10 r (de) s311 r (maintenance) s-59 1387 p (du) sq14 r (\014chier) s16 r (\(correction,) s15 r (modi\014cation,) s16 r (listing\).) s 15 r (Le) s 16 r (choix) s 15 r (du) s16 r (\014chier) s -1 r 44 cf 15 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s 15 r (ou) sc16 r (personnel) s 15 r (se) s 17 r (fait) s) 18 r 18 c -20 r 97 c-59 1449 p (partir) s1 11 r (du) sc12 r (menu.) s15 1532 p (Il) s14 r (existe) s0 16 r 52 c) 15 r (fa) st3 r 24 c -20 r 99 c(ons) ss 16 r (de) ss15 r (retrouver) s 14 r (une) s 16 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s 15 r (ou) s315 r (\014che) s 15 r (dans) s4 16 r (ce) sg15 r (\014chier) s -1 r 44 c 14 r (qui) s15 r (sont,) s 16 r (par) s15 r (ordre) s 15 r (de) so-59 1594 p (rapidit) s3 r 19 c -20 r 101 c611 r (d'acc) s3 r 18 c -20 r (es:) sr15 1677 p (1.) s 13 r (soit) s- 12 r (en) s13 r (connaissant) s 14 r (son) s 13 r (num) s3 r 19 c -20 r (ero) s 12 r 115 c3 r 19 c-20 r (equentiel) su13 r (d'entr) s33 r 19 c -20 r (ee) s 13 r (dans) sr 13 r (le) sa12 r (\014chier) s -1 r 44 c 15 1760 p (2.) s 13 r (soit) su 12 r (par) s 13 r (une) s13 r (combinaison) s13 r (logique) s 12 r (de) s( 13 r (mots) s5 12 r (cl) si3 r 19 c -20 r (es,) s 15 1843 p (3.) s 13 r (soit) s 12 r (en) s)13 r (connaissant) s 14 r (un) s) 12 r (des) s14 r (auteurs) s13 r (\(nom) s 12 r (avec) s 13 r (ou) sr 12 r (sans) sr 14 r (pr) ss3 r 19 c-20 r (enom\).) s 15 1926 p (4.) s 13 r (soit) s2 12 r (par) s13 r (recherche) s13 r (d'une) s 12 r (cha) s94 c-17 r (\020ne) s 13 r (de) sh13 r (caract) s3 r 18 c-20 r (eres) s13 r (quelconques.) s215 2009 p (BIBLIO) s11 r (permet) sr 12 r (d') se3 r 19 c-20 r (editer) s 12 r (les) s 12 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences,) s 13 r (soit) sr13 r (directement) s 12 r (sous) si13 r (forme) s11 r (d'une) s12 r (liste) s 12 r (de) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s -59 2071 p (bibliographiques) ss19 r (format) sr3 r 19 c -20 r (ee) s 19 r (et) sn 20 r (mise) s 21 r (en) s20 r (page,) s 20 r (soit) s2 20 r (en) sr 20 r (cr) s 3 r 19 c-20 r (eant) s 20 r (un) se20 r (\014chier) s 20 r (au) s20 r (format) s19 r (demand) sr3 r 19 c -20 r 101 c) 20 r (par) s-59 2134 p (BibT) s36 2145 p 69 c59 2134 p (Xou) sa 17 r (par) s 17 r 84 cr267 2145 p 69 cr289 2134 p (X,) s2 18 r (soit) s417 r (encore,) s 18 r (sous) s 18 r (UNIX) s2 17 r (en) s 17 r (cr) s 3 r 19 c-20 r (eant) s 17 r (un) s017 r (\014chier) s 17 r (au) sL17 r (format) s 16 r (nrof) s 102 cr 15 r (pour) s017 r ("refer".) st-59 2196 p (Les) s 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) se16 r (peuvent) s 19 r 94 ce-20 r (etre) s 16 r (list) s(3 r 19 c -20 r (ees) s 17 r (dans) s316 r (l'ordre) s15 r (alphab) s 3 r 19 c-20 r (etique,) s417 r (chronologique,) s4 16 r (ou) se 16 r (en) so16 r (ordre) s16 r (arbi-) s-59 2258 p (traire,) s 16 r (en) se18 r (utilisant) s 18 r (un) sh17 r (format) s 17 r (de) sm18 r (sortie) sf 17 r (enti) s53 r 18 c-20 r (erement) s 18 r (param) s3 r 19 c-20 r (etrable) s17 r (a\014n) s 18 r (de) se18 r (pouvoir) s 17 r 114 c3 r 19 c-20 r (epondre) s6 17 r (aux) s-59 2321 p (innombrables) s- 12 r (mod) s3 r 18 c-20 r (eles) s 13 r (des) s 16 r 19 ci-20 r (editeurs) s 13 r (de) s 12 r (revues.) s15 2404 p (Il) s 11 r (est) s12 r (possible) s 13 r (de) s6 12 r 103 c3 r 19 c-20 r (erer) s 11 r (un) st12 r (\014chier) s 11 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s 12 r (et) s12 r (plusieurs) s12 r (\014chiers) s712 r (personnels.) s13 r (Cette) s12 r (possibilit) s3 r 19 c -20 r 101 c 12 r (est) s-56 2466 p 19 cr-20 r (evidemment) s 12 r (plus) su 13 r (int) s3 r 19 c-20 r (eressante) su 13 r (sur) s 13 r (les) s 13 r (syst) s3 r 18 c-20 r (emes) s14 r (multiutilisateurs) s12 r (\(UNIX,) s13 r (VMS\).) sr15 2549 p (La) s 12 r (base) s) 14 r (de) s) 13 r (donn) s53 r 19 c-20 r (ees,) s 15 r (sp) s3 r 19 c-20 r (ecialis) ss3 r 19 c -20 r (ee) s 14 r (pour) s)13 r (cette) s13 r (application,) s3 14 r (est) s 13 r (une) s 13 r (base) s314 r (polyindex) s3 r 19 c -20 r (ee,) s(14 r (permettant) sr-59 2611 p (un) s2 14 r (acc) s3 r 18 c -20 r (es) s16 r (direct) s) 15 r (et) si15 r (rapide) s 15 r (aux) s 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences.) s 16 r (De) sr16 r (plus,) s 15 r (elle) ss 16 r 118 c3 r 19 c-20 r (eri\014e) s 14 r (que) s 16 r (la) s 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s15 r (n'existe) sl 15 r (pas) s 16 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c-59 2673 p (avant) s 12 r (de) sp12 r (l'incorporer) sr 15 r 18 c3 -20 r 97 c 12 r (la) sr 13 r (base) s( 13 r (de) s\ 13 r (donn) st3 r 19 c-20 r (ees,) s 17 r 19 c-20 r (evitant) sX13 r (ainsi) s 13 r (les) s13 r (doublons.) s15 2756 p (Cette) s13 r (version) s 13 r (est) s 14 r (la) s913 r (V4.2,) s14 r (disponible) s( 13 r (sous) s314 r (UNIX\(tm\)) s12 r (\(V4.2-u\),) s13 r (MS/DOS) ss13 r (\(V4.2-m\),) s 12 r (et) s) 13 r 86 c6 -5 r (AX-) s-59 2819 p (VMS) s12 r (\(V4.2-v\).) s@eop4 @bop09/cmmi10.360 @newfontcmmi10.360 @sff[<0000001C00000078000001E00000078000001E00000078000003E000000F8000003C000000F0000003C000000F0000003C00f 0000F0000000F00000003C0000000F00000003C0000000F00000003C0000000F80000003E0000000780000001E00000007801 000001E0000000780000001C> 30 28 -4 2 39] 60 @dcbf[ 30 28 -4 2 39] 62 @dcc4 @bop1e t-obl.360 @sf1-59 132 p 49 c 49 r (MENU) s213 r (D'ACCUEIL) s t-rom.360 @sfr 1390 r 52 c t-bol.600 @sfs333 293 p (PRESENT) sr -5 r 65 c1 -6 r (TION) s19 r (GENERALE) s4 t-rom.360 @sf 15 785 p (Le) so13 r (progiciel) s13 r (BIBLIO) ss 12 r (est) s14 r (appel) s3 r 19 c -20 r 101 cn 14 r (en) se13 r (tapant) s13 r ("biblio) scmmi10.360 @sf60 c t-bol.360 @sf3(CR) scmmi10.360 @sf62 c t-rom.360 @sf134 c 13 r (au) s14 r (prompt) si12 r (propos) s)3 r 19 c -20 r 101 c 14 r (par) s 13 r (le) sr 13 r (syst) s(3 r 18 c -20 r (eme) s9-59 847 p (d'exploitation.) s 12 r (Ceci) s4 14 r (fait) s 12 r (appara) se94 c-17 r (\020tre) s( 13 r (un) s 13 r (menu) s 13 r (sur) s 14 r (l') sd3 r 19 c-20 r (ecran.) s 13 r (En) sc 13 r (haut) s 15 r 18 c -19 r 97 c13 r (gauche) s 13 r (est) s14 r (visualis) s43 r 19 c -20 r 101 cr 14 r (le) s913 r (\014chier) s-59 909 p (sur) se8 r (lequel) s 8 r (on) s 9 r (va) s9 r (travailler) s -1 r 44 cc 7 r (et) s 9 r (en) s 8 r (haut) s 12 r 18 c -20 r 97 c9 r (droite) s 8 r (un) s 8 r (mode) s9 r (d'emploi.) s4 8 r (Les) s 9 r 13 c3 r 18 c-20 r (eches) s510 r (permettent) st 8 r (de) s 9 r 100 c 3 r 19 c-20 r (eplacer) sl-59 971 p (la) s13 r (portion) s 11 r (en) s 12 r (vid) s3 r 19 c -20 r (eo) s13 r (inverse.) s 13 r (Une) s13 r (option) se 12 r (du) s5 13 r (menu) s 12 r (est) s 13 r 115 c3 r 19 c-20 r (electionn) ss3 r 19 c -20 r (ee:) sr15 1054 p 45 c 10 r (soit) s 10 r (en) se11 r (amenant) s 10 r (la) sh10 r (barre) s 10 r (en) sn 11 r (vid) s3 r 19 c -20 r (eo) s10 r (inverse) s 11 r (sur) s10 r (l'item) sb10 r (choisi) s 11 r (et) s1 10 r (en) s10 r (validant) s 11 r (par) scmmi10.360 @sf 10 r 60 c4 t-bol.360 @sf(CR) scmmi10.360 @sf62 c t-rom.360 @sfc 10 r 40 ctcmmi10.360 @sf60 c t-bol.360 @sf (CR) scmmi10.360 @sf62 c t-rom.360 @sf-59 1117 p (repr) s(3 r 19 c-20 r (esente) s 12 r (la) s(13 r (touche) sr12 r ("Retour) s13 r (Chariot") s9 13 r (ou) se12 r ("Carriage) s13 r (Return"\).) sc15 1200 p 45 c 11 r (soit) s 12 r (en) s012 r (tapant) ss12 r (directement) s 12 r (la) s)12 r (lettre) s 11 r (indiqu) s'3 r 19 c -20 r (ee) s 12 r (en) s412 r (Majuscule,) sr 14 r (sans) s(13 r (taper) scmmi10.360 @sf 11 r 60 ch t-bol.360 @sf (CR) scmmi10.360 @sf62 c t-rom.360 @sf)46 c 12 r (On) s) 12 r (peut) ss12 r (taper) s-59 1262 p (en) s12 r (minuscule) s 13 r (ou) s(12 r (majuscule) s13 r (cette) s13 r (lettre.) s15 1345 p (Dans) s 11 r (la) so12 r (version) s11 r (MS/DOS-PC,) s 11 r (la) s11 r (touche) s512 r (Escape) s( 11 r 97 cs 11 r (le) s 12 r 109 c3 r 94 c -20 r (eme) s 11 r 114 c4 r 94 c -21 r (ole) s 11 r (que) s 11 r (la) se11 r (lettre) s 11 r 81 c 11 r (\(Quitter\).) s9 10 r (Dans) s-59 1407 p (les) s10 r (versions) s 10 r (UNIX,) s 11 r (VMS) s 10 r (et) s(10 r (MS/DOS-Rainbow) s9 -2 r 44 cs 9 r (c'est) s 11 r (la) se10 r (touche) ss 10 r (".") s 11 r (qui) s 10 r 97 c 10 r (le) s 10 r 109 c3 r 94 c -20 r (eme) sh 10 r 114 c4 r 94 c -21 r (ole) s5 10 r (que) s 10 r (la) s 10 r (lettre) s5-59 1470 p 81 cr13 r (\(Quitter\).) ss15 1553 p (Les) s 12 r (fonctionnalit) s3 r 19 c -20 r (es) s 13 r (sont) s 13 r (pr) se3 r 19 c-20 r (esent) s33 r 19 c -20 r (ees) s 14 r (de) si 12 r (fa) sr3 r 24 c -20 r 99 c(on) s13 r (explicite) s 13 r (par) s 12 r (le) s 13 r (menu.) s15 1636 p (Les) s 12 r (menus) s 13 r (VMS) s 13 r (et) s(13 r (MS/DOS) s4 13 r (sont) s412 r (identiques) ss 13 r (et) s 13 r (se) s) 13 r (pr) s)3 r 19 c-20 r (esentent) s13 r (comme) s 13 r (suit) sr 13 r (sur) s 12 r (la) s 13 r (\014gure) s 12 r (1.) s 15 1719 p (Le) s16 r (sous-menu) s 17 r (de) ss"17 r (modi\014cation/correction) s 16 r (du) s)16 r (\014chier) s 17 r (se) s 17 r (pr) sr3 r 19 c-20 r (esente) s 17 r (de) s 17 r (la) s. 16 r (fa) s 3 r 24 c -20 r 99 c 1 r (on) s16 r (montr) s3 r 19 c -20 r (ee) s 16 r (par) s 17 r (la) s -59 1781 p (\014gure) s 11 r (2.) s 15 1864 p (La) s16 r (version) s 16 r (UNIX) s216 r (propose) s 16 r (un) se16 r (second) s'17 r (sous-menu) s 17 r (sp) s3 r 19 c-20 r (eci\014que) s 17 r (aux) s16 r (outils) s 16 r (de) ss16 r (bibliographie) s 16 r (qui) s-59 1926 p (existent) so 12 r (en) s(13 r (standard) st 13 r (sur) s 12 r (ce) s4 13 r (syst) s23 r 18 c-20 r (eme.) s 14 r (Il) s 12 r (se) s( 13 r (pr) su3 r 19 c-20 r (esente) s 14 r (de) s 12 r (la) s( 13 r (fa) s(3 r 24 c -20 r 99 c(on) s12 r (indiqu) so3 r 19 c -20 r (ee) s 13 r (sur) s 13 r (la) s 12 r (\014gure) s 12 r (3:) s415 2009 p (Le) s19 r (sous-menu) s 20 r (de) sa"19 r (modi\014cation/correction) s 19 r (du) s 19 r (\014chier) s 19 r (se) sa 20 r (pr) s(3 r 19 c-20 r (esente) s20 r (comme) s 20 r (dans) s 19 r (les) s20 r (versions) su-59 2071 p (MS/DOS) sr 12 r (et) s6 12 r (VMS.) s5 14 r (La) si12 r (\014gure) se 12 r 52 cl12 r (montre) sn 13 r (le) so 12 r (sous) s( 14 r (menu) so 12 r (d') sr3 r 19 c-20 r (edition) se 12 r (sous) sr14 r (UNIX.) s t-bol.510 @sfr-59 2262 p 49 c\ 70 r (Menu) s(19 r (d'accueil) s t-rom.360 @sfc15 2396 p (Le) s11 r (premier) s12 r (choix) s 12 r 40 cb t-bol.360 @sfr 11 r (entr) s83 r 19 c -20 r (ee) s 12 r (de) sr12 r (nouvelles) s12 r (Fiches) s t-rom.360 @sfs 24 r (ou) s t-bol.360 @sf( 12 r 70 cr t-rom.360 @sf 23 r 41 c611 r (permet) s 12 r (d'ajouter) s 11 r (une) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s11 r (\(aussi) s-59 2459 p (appel) s3 r 19 c -20 r (ee) s11 r ("\014che"\)) s 12 r (dans) sr 13 r (le) s212 r (\014chier) s -2 r 46 c2 11 r (Le) s211 r (libell) s43 r 19 c -20 r 101 ce 12 r (de) sr 12 r (la) s312 r (\014che,) sc12 r (ainsi) s 12 r (que) s 12 r (des) s 13 r (mots) sy 12 r (cl) s83 r 19 c -20 r (es) s12 r (seront) sr12 r (demand) sX3 r 19 c -20 r (es.) s5 13 r (Il) ss-59 2521 p (est) s12 r (possible) so 13 r (de) s913 r (corriger) s 12 r (la) s12 r (\014che) s13 r (avant) s13 r (insertion) s 12 r 100 c3 r 19 c-20 r (e\014nitive) st 13 r (dans) s( 13 r (le) s(13 r (\014chier) s -2 r 46 co15 2604 p (Les) sc17 r (trois) s18 r (choix) s17 r (suivants) s( 19 r 40 cr t-bol.360 @sf8 17 r 114 c (echer) s((che) s) 16 r (par) s18 r (Auteur) s t-rom.360 @sf 35 r (ou) s t-bol.360 @sfe 17 r 65 c9 t-rom.360 @sfc 35 r 44 cr t-bol.360 @sf( 18 r 114 c (echer) ss(che) s8 17 r (par) s17 r (mot-Cl) ss3 r 19 c -20 r 101 ca t-rom.360 @sfc 34 r (ou) s2 t-bol.360 @sf 18 r 67 c t-rom.360 @sfr-59 2666 p (et) sr t-bol.360 @sf1 15 r 114 c (echer) se(che) s 14 r (Globale) s 15 r (de) sv15 r (texte) s t-rom.360 @sfn 31 r (ou) s t-bol.360 @sf 15 r 71 cr t-rom.360 @sf( 31 r 41 c315 r (permettent) sn15 r (l'interrogation) s 14 r (du) s 16 r (\014chier) s 17 r 18 ci -19 r 97 c15 r (partir) so 15 r (du) s5 15 r (crit) s 3 r 18 c -20 r (ere) sr-59 2729 p (choisi.) s 15 r (Ces) s 15 r 51 cp15 r (choix) s14 r (utilisent) s 15 r (la) s 15 r 109 c3 r 94 c -20 r (eme) ss15 r (philosophie,) s 15 r (le) s 15 r (crit) sr3 r 18 c -20 r (ere) s) 14 r (de) s415 r (choix) s14 r (\(nom) s15 r (d'auteur) sm -1 r 44 cf13 r (combinai-) s-59 2791 p (son) s 15 r (de) s015 r (mots-cl) s3 r 19 c -20 r (es) s 16 r (ou) s0 15 r (cha) s94 c-17 r (\020ne) s 16 r (de) s016 r (caract) s33 r 18 c-20 r (eres\)) s 15 r (est) s16 r (demand) s03 r 19 c -20 r (e,) s 16 r (puis) s0 16 r (des) s 16 r (crit) s03 r 18 c-20 r (eres) s 15 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eraux) s0 16 r (de) s0 15 r 115 c3 r 19 c-20 r (election) s-59 2853 p (suppl) s3 r 19 c-20 r (ementaires) s 15 r (sont) sb16 r (propos) ss3 r 19 c -20 r (es) s16 r (\(nom) s 14 r (ou) ss 15 r (pr) ss3 r 19 c-20 r (enom) s15 r (d'auteur) sP -1 r 44 c15 r (fourchette) sN 15 r (de) sE15 r (date\),) s16 r (ainsi) s 15 r (que) s 16 r (la) s) 15 r (pos-) sO-59 2915 p (sibilit) s3 r 19 c -20 r 101 c2 16 r (de) s418 r (visualiser) sa 17 r (sur) s 18 r (l') sm3 r 19 c-20 r (ecran) s6 17 r (les) s17 r (\014ches) s218 r (retenues) s 18 r (au) su 17 r (fur) s 17 r (et) sr 20 r 18 c) -20 r 97 c17 r (mesure) sr 18 r (de) sr 17 r (leur) s( 17 r 115 c3 r 19 c-20 r (election.) s 19 r (Deux) so@eop5 @bop0eT/Courier /c-med.360 ReEncodeForTeX /c-med.360 /c-med.360 49.999929 TeXPSmakefont def5 @bop1 t-obl.360 @sf-59 132 p 49 c 49 r (MENU) se13 r (D'ACCUEIL) s t-rom.360 @sf 1390 r 53 c c-med.360 @sf3L-59 801 p (==============================================================) s-59 926 p 66 c 29 r 73 cs 30 r 66 c 30 r 76 c 30 r 73 cs 30 r 79 cs120 r (V4.2-m) s30 r (\(c\)jfv) sr-59 988 p (Fichier) s 29 r (de) sh30 r (travail:) s"-59 1050 p (\\general\\biblio\\) s479 r (Selectionner) s 30 r (avec) s 30 r (les) s30 r (Fleches) s990 1112 p (puis) sr30 r (valider) s 30 r (avec) s 30 r ("Return") s2720 1175 p (Ou) s530 r (taper) s 30 r (une) s 30 r (des) s30 r (Lettres) s30 r (Majuscules) ss540 1299 p (MENU) s270 1424 p (===>) sp60 r (entree) su 30 r (de) se30 r (nouvelles) s30 r (Fiches) s 450 1486 p (recherche) s 30 r (par) s30 r (Auteur) s1450 1548 p (recherche) s 30 r (par) s30 r (mot-Cle) s450 1611 p (recherche) s30 r (Globale) s 30 r (de) ss30 r (texte) s450 1673 p (Thesaurus) s450 1735 p (choix) s 30 r (du) s030 r (fichier) s 30 r (par) s30 r (Defaut) s(450 1797 p (Preparation) s30 r (d'une) s30 r (liste) s 30 r (de) sC30 r (references) s450 1860 p (Edition) s30 r (d'une) s30 r (liste) s 30 r (de) s 30 r (references) s@450 1922 p (creation) s 30 r (d'un) sr30 r (fichier) s30 r (BibTeX) s2600 1984 p (SOUS-MENU) s&450 2046 p (Modification/correction) s 30 r (du) se30 r (fichier) s450 2171 p (Quitter) s 30 r 45 c 30 r (Abandonner) s30 r (BIBLIO) srN-59 2295 p (===============================================================) s t-rom.360 @sf369 2453 p (Figure) s 13 r 49 ca 12 r 58 cr 12 r (Le) s 13 r (menu) s)12 r (d'accueil) s 13 r (sous) so 13 r (VMS) s 13 r (et) s313 r (MS/DOS.) s@eop6 @bop0c6 @bop1n t-obl.360 @sft-59 132 p 49 c 49 r (MENU) sp13 r (D'ACCUEIL) s t-rom.360 @sf( 1390 r 54 c( c-med.360 @sf3L-59 863 p (==============================================================) s-29 988 p 66 c 29 r 73 c 30 r 66 c 30 r 76 cc 30 r 73 cr 30 r 79 c(120 r (V4.2-m) s30 r (\(c\)jfv) sc-59 1112 p (Fichier) s 29 r (de) sc30 r (travail:) so"-59 1175 p (\\general\\biblio\\) s509 r (Selectionner) s 30 r (avec) su 30 r (les) s30 r (Fleches) s1020 1237 p ~ BIBLIO.BCK,yMdw[DANA.BIBLIO.DOC]BIBLIO.PS;2.BIB;5||_(puis) s30 r (valider) s 30 r (avec) s130 r ("Return") st750 1299 p (Ou) sR30 r (taper) s 30 r (une) s 30 r (des) s30 r (Lettres) s30 r (Majuscules) ss660 1424 p (SOUS-MENU) s300 1548 p (===>) s130 r (Correction) s 30 r (de) sr30 r (fiches) s30 r (existantes) s(450 1611 p (Elimination) s 30 r (de) s530 r (fiches) s3450 1673 p (modification) s 30 r (des) s!30 r (Abreviations/Auteurs-cle) s 450 1735 p (modification) sr 30 r (des) s30 r (mots-Cles) s450 1797 p (adjonction) s 30 r (de) si30 r (Super) s30 r (mots-cles) s450 1860 p (Liste) s 30 r (des) s30 r (fiches) s 450 1922 p (Initialisation) sL 30 r (d'un) se30 r (nouveau) s30 r (fichier) s450 1984 p (Quitter) s 30 r 45 c230 r (retour) ss 30 r (au) s 30 r (menu) s30 r (general) s450 2109 p (Taper) s30 r (RETURN) ss 30 r (pour) sr30 r (retourner) s 30 r (au) sr 30 r (menu) sM-59 2233 p (==============================================================) s4 t-rom.360 @sfo207 2391 p (Figure) sr 12 r 50 c) 12 r 58 ce 13 r (Le) sr 12 r (sous) s 14 r (menu) ss 12 r (de) s13 r (gestion) s 13 r (du) s 12 r (\014chier) s 13 r (sous) sr 13 r (VMS) s 13 r (et) s 12 r (MS/DOS.) s@eop7 @bop0 7 @bop11 t-obl.360 @sf-59 132 p 49 c 49 r (MENU) ss13 r (D'ACCUEIL) s t-rom.360 @sf 1390 r 55 c) c-med.360 @sfeL-59 729 p (==============================================================) s-59 854 p 66 c 29 r 73 c( 30 r 66 c 30 r 76 cs 30 r 73 cl 30 r 79 cs120 r (V4.2-u) s30 r (\(c\)jfv) s -59 916 p (Ficher) s 29 r (de) st30 r (travail:) sr"-59 978 p (/usr/general/biblio/) s389 r (Selectionner) s 30 r (avec) s 30 r (les) s30 r (Fleches) s1020 1041 p (puis) s30 r (valider) s 30 r (avec) s30 r ("Return") sc750 1103 p (Ou) si30 r (taper) s 30 r (une) s 30 r (des) s30 r (Lettres) s30 r (Majuscules) sr540 1227 p (MENU) sL270 1352 p (===>) s)60 r (entree) s 30 r (de) s430 r (nouvelles) s30 r (Fiches) s9450 1414 p (recherche) s 30 r (par) s30 r (Auteur) s2450 1476 p (recherche) s 30 r (par) s30 r (mot-Cle) s450 1539 p (recherche) s30 r (Globale) s 30 r (de) s 30 r (texte) s450 1601 p (Thesaurus) s450 1663 p (choix) s 30 r (du) se30 r (fichier) s 30 r (par) s30 r (Defaut) so450 1725 p (Preparation) s30 r (d'une) s30 r (liste) s 30 r (de) s)30 r (references) s5450 1788 p (Edition) s30 r (d'une) s30 r (liste) s 30 r (de) s530 r (references) s(450 1850 p (creation) ss 30 r (d'un) s-30 r (fichier) s30 r (BibTeX) s 600 1912 p (SOUS-MENU) s&450 1975 p (Modification/correction) s 30 r (du) sr30 r (fichier) s450 2037 p (edition) s 30 r (des) s30 r (References) s) 30 r (par) s30 r (refer) s 30 r (UNIX) s(450 2161 p (Quitter) s 30 r 45 ca30 r (Abandonner) sr30 r (BIBLIO) srN-59 2348 p (===============================================================) s t-rom.360 @sf'491 2568 p (Figure) s 12 r 51 c5 13 r 58 ce 12 r (Le) s5 12 r (menu) si13 r (d'accueil) s 13 r (sous) s 13 r (UNIX) s@eop8 @bop0 8 @bop12 t-obl.360 @sfr-59 132 p 49 c 49 r (MENU) s 13 r (D'ACCUEIL) s t-rom.360 @sfo 1390 r 56 c2 c-med.360 @sf.N-59 1041 p (===============================================================) s-29 1165 p 66 c2 29 r 73 c 30 r 66 c2 30 r 76 c) 30 r 73 c( 30 r 79 c5120 r (V4.2-m) s30 r (\(c\)jfv) se-59 1290 p (Fichier) s 29 r (de) ss30 r (travail:) s#-59 1352 p (/usr/general/biblio/) s(419 r (Selectionner) s 30 r (avec) s 30 r (les) s30 r (Fleches) s1050 1414 p (puis) s30 r (valider) s 30 r (avec) s30 r ("Return") s(780 1476 p (Ou) s 30 r (taper) s 30 r (une) s 30 r (des) s30 r (Lettres) s30 r (Majuscules) s.660 1601 p (SOUS-MENU) s270 1725 p (===>) so30 r (Creation) se 30 r (du) so30 r (fichier) s 30 r (de) s(30 r (references) sn420 1788 p (Liste) s 30 r (des) s30 r (references) s030 r (seules) sr420 1850 p (liste) s 30 r (des) s30 r (references) s 30 r (dans) s 30 r (un) si30 r (Article) s420 1912 p (Quitter) s 30 r 45 c30 r (retour) s7 30 r (au) sh 30 r (menu) s)30 r (general) sO-59 2037 p (================================================================) s6 t-rom.360 @sf 442 2257 p (Figure) sr 12 r 52 ch 12 r 58 ce 13 r (Le) sa 12 r (sous) s- 13 r (menu) sc 13 r (d') sa3 r 19 c-20 r (edition) s2 12 r (sous) s 13 r (UNIX) s-@eop9 @bop05/cmsy10.360 @newfontcmsy10.360 @sff[<0000C00000C00001C0000180000180000380000300000300000700000600000600000E00000C00000C00001C000018000018f 0000380000300000300000700000600000600000E00000C00001C00001800001800003800003000003000007000006000006y 00000E00000C00000C00001C0000180000180000380000300000300000700000600000600000E00000C00000C00000> 18 49 -3 12 25] 110 @dc 9 @bop1r t-obl.360 @sfh-59 132 p 50 c49 r (SOUS-MENU) s 12 r (DE) ss12 r (GESTION) s 12 r (DU) s 12 r (FICHIER) s t-rom.360 @sfe 931 r 57 c-59 277 p (\014chiers) s 14 r (sont) sr15 r (automatiquement) s 14 r (cr) s(3 r 19 c -20 r 101 c3 r 19 c -20 r (es) s 16 r (dans) sr 15 r (le) s( 14 r 114 c3 r 19 c-20 r (epertoire) s 14 r (courant,) ss 15 r (le) s215 r (premier) s14 r (contient) ss 15 r (les) s 15 r (num) s3 r 19 c-20 r (eros) s-59 339 p (des) s 14 r (\014ches) ss 14 r 115 c3 r 19 c-20 r (electionn) s)3 r 19 c -20 r (ees) s(16 r (\(extension) s t-bol.360 @sf 14 r (.num) sr t-rom.360 @sfc 28 r 41 c) 14 r (et) s 14 r (le) s 14 r (second) s 15 r (les) s 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s 14 r (proprement) s(14 r (dites) s14 r (\(exten-) sc-59 402 p (sion) s t-bol.360 @sfr 12 r (.lst) s( t-rom.360 @sfc(\).) se 13 r (Ces) s13 r (\014chiers) s 13 r (portent) s 12 r (le) s( 12 r 109 c3 r 94 c -20 r (eme) s) 13 r (nom) s 12 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erique) s13 r (\(par) s 12 r 100 c3 r 19 c-20 r (efaut) s7 12 r (le) s8 12 r (nom) s 13 r (de) s 12 r (l'auteur) se12 r (cherch) sh3 r 19 c -20 r 101 c 13 r (ou) s -59 464 p (ref) s7 3 r 15 2 ru014 r (mc\).) s 10 r (Il) se10 r (peuvent) s 13 r 94 c(-20 r (etre) s11 r (conserv) s3 r 19 c -20 r (es) s 11 r (ou) se 10 r (ef) s(fac) s/3 r 19 c -20 r (es) s 10 r (apr) s3 r 18 c -20 r (es) s11 r (impression.) s 11 r (Le) ss10 r (\014chier) s t-bol.360 @sf 10 r (.num) s) t-rom.360 @sfs 10 r 103 c3 r 19 c -20 r (en) s3 r 19 c -20 r (er) s3 r 19 c -20 r 101 c= 11 r (peut) s=10 r (servir) s2-59 526 p (comme) s12 r (\014chier) s12 r (d'entr) s03 r 19 c -20 r (ee) s 12 r (aux) s13 r (programmes) sF 12 r (d') s93 r 19 c-20 r (edition) s 12 r (des) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s013 r (\(choix) s t-ita.360 @sf 12 r (Pr) s 3 r 19 c-20 r (eparation) sc13 r (d'une) s13 r (liste) s-59 588 p (de) s 12 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s-1 r (ences) s t-rom.360 @sf( 14 r (ou) s t-ita.360 @sfp 12 r 80 cr t-rom.360 @sfe(\).) sr15 672 p (Le) s010 r (cinqui) s53 r 18 c -20 r (eme) s012 r (choix) s 11 r 40 c1 t-bol.360 @sfe11 r (Thesaurus) s t-rom.360 @sf- 23 r (ou) s6 t-bol.360 @sf) 11 r 84 cl t-rom.360 @sf( 22 r 41 cr11 r (permet) s6 11 r (d') su3 r 19 c-20 r (editer) s 10 r (un) s11 r (listing) s 11 r (par) s11 r (ordre) s10 r (alphab) sp3 r 19 c-20 r (etique) s 12 r (du) ss-59 734 p (th) s3 r 19 c-20 r (esaurus,) s 15 r (avec) s0 16 r (le) s 15 r (num) s3 r 19 c -20 r (ero) se 15 r (des) s15 r (mots-cl) s3 r 19 c -20 r (es,) sr 16 r (leur) s015 r (libell) s03 r 19 c -20 r 101 c 15 r (et) so 15 r (le) sr15 r (nombre) s( 15 r (de) s(15 r (\014ches) s116 r (qu'ils) s015 r (indexent.) s 15 r (Le) s0-59 796 p (format,) s511 r (nombre) s= 13 r (de) s=12 r (colonnes,) s14 r (impression) s- 13 r (ou) s12 r (sortie) se 16 r 19 c4-20 r (ecran) s13 r (seule) s 13 r (est) s 13 r (au) si13 r (choix) s 12 r (de) sM13 r (l'utilisateur) s -2 r 46 cs15 879 p (Le) s 14 r (sixi) s.3 r 18 c -20 r (eme) s16 r (choix) s 15 r 40 cU t-bol.360 @sf614 r (choix) s 15 r (du) s614 r (\014chier) s 15 r (par) s 15 r 68 c=3 r 19 c-20 r (efaut) s= t-rom.360 @sf 29 r (ou) s9 t-bol.360 @sf6 15 r 68 c7 t-rom.360 @sfr 30 r 41 c(14 r (permet) ss 15 r (de) sj 15 r 115 c3 r 19 c-20 r (electionner) s 15 r (la) s: 15 r (base) sp 16 r (de) sb-59 941 p (donn) s3 r 19 c -20 r (ees) sc16 r (bibliographiques) sl 17 r (sur) s17 r (laquelle) s0 17 r (on) ss 17 r (va) s 16 r (travailler) st -2 r 46 cp 16 r (La) sr 17 r (base) sr 17 r (par) s 17 r 100 c3 r 19 c-20 r (efaut) sc 16 r (est) s 17 r (la) sM 17 r (base) s8 18 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erale) s -59 1004 p (du) ss 14 r (syst) sp3 r 18 c -20 r (eme) se16 r (\(sous) ss15 r (MS/DOS:) scmsy10.360 @sf 15 r 110 c t-bol.360 @sfi (GENERAL) sscmsy10.360 @sf110 co t-bol.360 @sf (BIBLI) ss1 r 79 ccmsy10.360 @sf110 c( t-rom.360 @sf44 c 17 r (sous) su15 r (UNIX:) s t-bol.360 @sf 15 r (/usr/general/biblio/) s t-rom.360 @sf 14 r (et) s( 15 r (sous) s -59 1066 p (VMS) s 17 r (le) s)18 r (repertoire) s18 r (associ) se3 r 19 c -20 r 101 c( 19 r (au) s0 18 r (nom) s18 r (symbolique) se t-bol.360 @sf1 19 r (BIB) s t-rom.360 @sf 46 c 19 r (La) s 18 r (base) s) 19 r (en) s 18 r (cours) s 19 r (est) s18 r (indiqu) s=3 r 19 c -20 r (ee) s 18 r (en) s= 19 r (haut) s- 21 r 18 co -20 r 97 c-59 1128 p (gauche) s) 10 r (de) s 11 r (l') s3 r 19 c-20 r (ecran) s 10 r (de) s 11 r (menu.) s 11 r 76 c(-4 r ('appel) s4 9 r (de) s 11 r (ce) s10 r (choix) s11 r (propose) s 11 r (une) s10 r (seconde) s 12 r (base) s 11 r (par) s 10 r 100 c3 r 19 c-20 r (efaut,) s11 r (appel) s3 r 19 c -20 r (ee) s11 r ("\014-) s -59 1190 p (chier) s10 r (personnel",) s 13 r (sous) s=12 r (MS/DOS:) s t-ita.360 @sf 12 r 46 c cmsy10.360 @sf110 c t-ita.360 @sf (BIBLIO) scmsy10.360 @sf110 c t-rom.360 @sfc44 c 10 r (sous) s12 r (UNIX:) s t-ita.360 @sf/12 r (./biblio/) s t-rom.360 @sfc 11 r (et) s0 11 r (sous) s0 13 r (VMS:) sr t-ita.360 @sf011 r ([.BIB]) ss t-rom.360 @sf)46 c 12 r (On) s 12 r (peut) s -56 1253 p 19 cu-20 r (evidemment) s12 r (indiquer) s( 13 r (un) s(12 r (autre) s 13 r (nom) s 13 r (de) sp 13 r 114 c3 r 19 c-20 r (epertoire.) s 13 r (Si) s( 12 r (le) s(13 r (\014chier) s 13 r (de) s513 r (travail) s 12 r (est) s 14 r (un) sT12 r (\014chier) s13 r (personnel,) s5-59 1315 p (la) sr 15 r (base) sr16 r (propos) si3 r 19 c -20 r (ee) s 16 r (par) s 15 r 100 c3 r 19 c-20 r (efaut) sa 15 r (par) s 15 r (ce) s(16 r (choix) s 15 r (est) s 16 r (la) sa 16 r (base) sn 16 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erale.) s 16 r (Le) s= 15 r 114 c3 r 19 c-20 r (epertoire) s 15 r (de) si 16 r (la) sr15 r (derni) s3 r 18 c -20 r (ere) se 15 r (base) s'-59 1377 p (choisie) s 15 r (par) s 16 r 100 c3 r 19 c-20 r (efaut) s6 16 r (est) s 16 r 109 c3 r 19 c-20 r (emoris) s3 r 19 c -20 r 101 c3 16 r (dans) se 17 r (un) s516 r (\014chier) s 15 r 40 c= t-bol.360 @sf= (.biblior) s99 c t-rom.360 @sf1 15 r (sous) sr 17 r (UNIX) s 15 r (et) s) 16 r (VMS,) s0 t-bol.360 @sf 17 r (BIBLIO.C) s( 1 r (FG) s t-rom.360 @sfh-59 1439 p (sous) s11 r (MS/DOS) s 10 r (et) s( 11 r (VMS.) sb 12 r (Il) s 10 r (deviendra) s11 r (alors) s 11 r (le) s11 r (\014chier) s 10 r (par) s 11 r 100 c3 r 19 c-20 r (efaut) s 11 r (la) s"10 r (prochaine) s 11 r (fois) se 11 r (que) s t-bol.360 @sf)11 r (BIBLIO) s) t-rom.360 @sfc 12 r (sera) s6-59 1502 p (appel) s3 r 19 c -20 r (e.) s15 1585 p (Le) s16 r (septi) s3 r 18 c -20 r (eme) s(17 r (choix) s 17 r 40 c t-bol.360 @sfs 16 r (Pr) ss3 r 19 c-20 r (eparation) se16 r (d'une) s16 r (liste) s 17 r (de) s 17 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) s2 t-rom.360 @sfe 33 r (ou) s t-bol.360 @sfr 17 r 80 c( t-rom.360 @sfe 16 r 41 cr16 r (permet) s 17 r (de) s= 17 r (pr) s=3 r 19 c-20 r (eparer) s 16 r (le) s=-59 1647 p (travail) s 8 r (qui) si 10 r (sera) s5 10 r (fait) se 9 r (par) sa 9 r (le) s10 r (choix) s10 r (suivant.) s 10 r (Il) s 9 r (permet) s 10 r (de) s 9 r (choisir) s 10 r (ou) s5 10 r (de) s 9 r (cr) s3 r 19 c -20 r 101 c03 r 19 c -20 r (er) s 10 r (un) s39 r (\014chier) s0 t-bol.360 @sfC 10 r (.num) s0 t-rom.360 @sf019 r (contenant) s-59 1709 p (les) s 17 r (num) s3 r 19 c-20 r (eros) s 17 r (des) s17 r (\014ches) s0 18 r (que) s 17 r (l'on) s0 17 r 100 c3 r 19 c-20 r (esire) s0 20 r 19 c -20 r (editer) s -1 r 44 c17 r (ainsi) s17 r (qu'un) s17 r (\014chier) s t-bol.360 @sf2 17 r (.typ) s t-rom.360 @sf234 r (\(choix) s 16 r (ou) s 17 r (cr) s53 r 19 c-20 r (eation\)) s 17 r (qui) s-59 1772 p (permet) s4 10 r (de) s 12 r (choisir) s 12 r (la) s12 r (typographie) s 11 r (qui) s 12 r (sera) s412 r (utilis) s 3 r 19 c -20 r (ee.) so12 r (C'est) s 15 r 19 c5-20 r (egalement) s( 13 r (gr) s3 r 94 c -20 r (ace) ss 14 r 18 c -20 r 97 c 12 r (ce) s 12 r (choix) s 12 r (que) s 12 r (l'on) s 11 r (peut) se-59 1834 p (choisir) s 16 r (si) s 17 r (les) s 18 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s)17 r (seront) s418 r (class) s3 r 19 c -20 r (ees) ss 19 r (par) s16 r (ordre) s17 r (alphab) s3 r 19 c-20 r (etique) s 17 r (du) s 17 r (nom) s 17 r (du) se17 r (premier) s17 r (auteur) s6 -1 r 44 cr 16 r (par) s-59 1896 p (ordre) s10 r (chronologique) s 11 r (de) s 11 r (leur) ss 11 r (date) s 11 r (de) s 11 r (parution,) s 12 r (ou) s)11 r (encore) s 11 r (dans) se12 r (l'ordre) s 10 r (dans) s12 r (lequel) s211 r (elles) s 12 r (se) sa11 r (trouvent) s8-59 1958 p (dans) s( 12 r (le) s(12 r (\014chier) s t-bol.360 @sf 12 r (.num) s t-rom.360 @sf 46 c 13 r (Un) s712 r (\014chier) s t-bol.360 @sfr 12 r (.rfr) s( t-rom.360 @sfr 13 r (ou) s t-bol.360 @sf( 12 r (.rft) s t-rom.360 @sf) 12 r (qui) s12 r (contient) sf 13 r (une) s12 r (liste) s 13 r (non) s12 r (format) s 3 r 19 c -20 r (ee) s 12 r (est) s13 r (produit) s 11 r (par) s 13 r (ce) sr-59 2021 p (choix.) ss15 2104 p (Le) s 9 r (huiti) se3 r 18 c -20 r (eme) s) 9 r (choix) s2 10 r 40 c t-bol.360 @sf9 r (Edition) s 9 r (d'une) se 8 r (liste) s4 10 r (de) sr 9 r 114 c0(efer) s (ences) s) t-rom.360 @sfs 18 r (ou) sa t-bol.360 @sf( 10 r 69 c t-rom.360 @sfi 19 r 41 c29 r (traite) s 9 r (le) s9 r (\014chier) s t-bol.360 @sf 10 r (.rfr) s3 t-rom.360 @sf 9 r (et) s 10 r (le) s 9 r (formate) s -56 2166 p 18 c -20 r 97 c 16 r (la) st 15 r (mani) s 3 r 18 c -20 r (ere) s9 16 r (d'un) ss16 r (traitement) s) 15 r (de) se16 r (texte) s17 r (\(choix) s 15 r (des) s 17 r (mar) s(ges,) s 16 r (de) s 16 r (la) s(16 r (pagination,) s16 r (etc...\).) s 18 r (Il) sr16 r (produit) s 15 r (un) s6-59 2228 p (\014chier) s11 r (imprimable) sr12 r (format) s63 r 19 c -20 r 101 co t-bol.360 @sfr 12 r (.doc) se t-rom.360 @sf(46 c15 2311 p (Le) s11 r (choix) s12 r (suivant) s 12 r 40 c1 t-bol.360 @sfr12 r (Modi\014cation/corr) s (ection) s 10 r (du) ss12 r (\014chier) s t-rom.360 @sf 23 r (ou) s t-bol.360 @sf5 12 r 77 c0 t-rom.360 @sf 24 r 41 cs 11 r (fait) s 12 r (appara) s(94 c-17 r (\020tre) s 12 r (un) s 11 r (sous-menu) s-59 2373 p (d'actions) s12 r (utilis) s03 r 19 c -20 r (ees) s( 13 r (pour) so 12 r 103 c3 r 19 c-20 r (erer) s 13 r (la) su12 r (base.) s15 2456 p (En\014n) s 9 r (le) s10 r (dernier) s 9 r (choix) s 10 r 40 c= t-bol.360 @sfs10 r (Quitter) s9 r 45 c10 r (Abandonner) so9 r (BIBLIO) s t-rom.360 @sfr 21 r (ou) s( t-bol.360 @sf( 10 r 81 cr t-rom.360 @sf( 10 r 41 c210 r (permet) s( 9 r (de) s10 r (revenir) s 10 r (au) s 10 r (syst) s 3 r 18 c -20 r (eme) s -59 2519 p (d'exploitation.) s t-bol.510 @sf-59 2709 p 50 c570 r (Sous-menu) s 19 r (de) s519 r (gestion) s 18 r (du) sc19 r (\014chier) s t-rom.360 @sf15 2844 p (Le) s t-bol.360 @sfr12 r (sous-menu) s 12 r (de) s(13 r (gestion) s 12 r (du) sj12 r (\014chier) s t-rom.360 @sft13 r (propose) s 13 r 56 cr12 r (choix.) s(15 2927 p (Le) s12 r (premier) s12 r (choix) s 12 r 40 cl t-bol.360 @sfl 12 r (Corr) s (ection) s 12 r (de) s(12 r (\014ches) s 13 r (existantes) st t-rom.360 @sf6 25 r (ou) s7 t-bol.360 @sf7 12 r 67 c t-rom.360 @sf 25 r 41 c 12 r (permet) s( 12 r (de) s(12 r (corriger) s 12 r (un) sc12 r (\014che) s 13 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c@eop10 @bop010 @bop1 t-obl.360 @sf6-59 132 p 50 c49 r (SOUS-MENU) s 12 r (DE) s12 r (GESTION) s 12 r (DU) sN12 r (FICHIER) s t-rom.360 @sf 906 r (10) s-59 277 p (entr) s3 r 19 c -20 r (ee) s 15 r (dans) ss 16 r (le) sr15 r (\014chier) s -2 r 46 co15 r (Aussi) s 16 r (bien) sb 16 r (le) s-15 r (libell) sr3 r 19 c -20 r 101 c 16 r (de) s( 15 r (la) s(16 r (\014che) s 16 r (que) s 15 r (les) s16 r (mots-cl) s3 r 19 c -20 r (es) s 16 r (qui) s15 r (l'indexent) s-16 r (peuvent) s-56 339 p 94 c-20 r (etre) s11 r (modi\014) s(3 r 19 c -20 r (es.) s815 422 p (Le) sr14 r (second) sn15 r (choix) s 15 r 40 ce t-bol.360 @sf 14 r (Elimination) s 13 r (de) s 15 r (\014ches) s( t-rom.360 @sfr 29 r (ou) sr t-bol.360 @sf9 14 r 69 ce t-rom.360 @sf( 30 r 41 cr14 r (permet) s7 14 r (de) sa15 r (supprimer) s 14 r (des) s15 r (\014ches) s115 r (devenues) sr-59 485 p (inutiles.) ss15 568 p (Le) s11 r (troisi) sr3 r 18 c -20 r (eme) se11 r (choix) s 11 r 40 c t-bol.360 @sfe11 r (modi\014cation) s5 10 r (des) s 12 r (Abr) s3 r 19 c-20 r (eviations/Auteurs-cl) s3 r 19 c -20 r 101 c2 t-rom.360 @sf0 22 r (ou) s t-bol.360 @sfs 11 r 65 c) t-rom.360 @sf@ 23 r 41 c10 r (permet) s4 11 r (de) ss 12 r (cr) sN3 r 19 c -20 r (eer) s2 11 r (ou) s)-59 630 p (modi\014er) s 11 r (une) s12 r (liste) s13 r (d'abr) s3 r 19 c-20 r (eviation) s 12 r (des) s13 r (journaux) s12 r (courants) s 13 r (a\014n) s 12 r (de) s)13 r (faciliter) s12 r (l'entr) s3 r 19 c -20 r (ee) s 12 r (des) s13 r (\014ches) s 13 r (dans) se 13 r (le) s-59 692 p (\014chier) s( -2 r 46 c4 9 r (Il) s10 r (permet) s( 14 r 19 c-20 r (egalement) sn 11 r (de) s011 r (maintenir) s 10 r (une) s11 r (liste) s 11 r (de) se 11 r (noms) sp11 r (d'auteurs) s 10 r (qui) s11 r (seront) s111 r (automatiquement) s-59 755 p (mis) ss 12 r (en) s(12 r (mots-cl) s3 r 19 c -20 r (es,) sa 14 r (et) s 13 r (indexeront) s9 12 r (les) s13 r (\014ches) s 13 r (dont) sr 13 r (ils) s 12 r (sont) sc13 r (l'auteur) s -2 r 46 ce15 838 p (Le) sr13 r (quatri) s3 r 18 c -20 r (eme) s14 r (choix) s 13 r 40 c( t-bol.360 @sfe14 r (modi\014cation) s1 12 r (des) s14 r (mots-Cl) s3 r 19 c -20 r (es) s t-rom.360 @sfs 27 r (ou) s' t-bol.360 @sfr 14 r 67 c1 t-rom.360 @sf 27 r 41 ca14 r (permet) s 13 r (de) ss14 r (modi\014er) s( 13 r (le) s 14 r (libell) s,3 r 19 c -20 r 101 cr 13 r (des) s-59 900 p (mots-cl) s(3 r 19 c -20 r (es,) s 13 r (et) s) 15 r 19 co-20 r (eventuellement) s 13 r (de) s 13 r (les) s13 r (supprimer) s -2 r 46 c15 983 p (Le) s415 r (cinqui) sr3 r 18 c -20 r (eme) sa15 r (choix) s 16 r 40 c t-bol.360 @sf615 r (adjonction) s1 14 r (de) sc15 r (super) s16 r (Mots-cl) s3 r 19 c -20 r (es) s t-rom.360 @sf 31 r (ou) se t-bol.360 @sf= 15 r 77 c t-rom.360 @sf) 31 r 41 c-15 r (permet) sr 15 r (de) s7 15 r (cr) s3 r 19 c -20 r (eer) s 16 r (des) s15 r ("super) sO-59 1045 p (mots-cl) s3 r 19 c-20 r (es".) s 13 r (On) s(13 r (appelle) s13 r (super) s13 r (mots-cl) s3 r 19 c -20 r (es) s 14 r (un) ss13 r (mot-cl) s13 r 19 c -20 r 101 c( 12 r (qui) s13 r (commence) s 13 r (par) s 13 r (un) s 13 r (+,) sn 13 r (et) so 13 r (qui) s 13 r (repr) s63 r 19 c-20 r (esente) s 13 r (lui) s-59 1107 p 109 c3 r 94 c -20 r (eme) s9 12 r (une) s12 r (combinaison) s13 r (logique) s 13 r (de) s 13 r (mots-cl) s3 r 19 c -20 r (es,) s.13 r (normaux) s 13 r (ou) sc12 r (supers.) s15 1190 p (Le) s 13 r (sixi) s)3 r 18 c -20 r (eme) s415 r (choix) s 13 r 40 c t-bol.360 @sf 14 r (Liste) s 14 r (des) s15 r (\014ches) s t-rom.360 @sf 28 r (ou) s- t-bol.360 @sf6 13 r 76 c6 t-rom.360 @sf 28 r 41 c=14 r (permet) s 13 r (de) s 14 r (lister) s( 14 r 115 c3 r 19 c-20 r (equentiellement) sr 15 r (tout) sr 13 r (ou) s 14 r (partie) sl-59 1253 p (du) ss12 r (\014chier) s -2 r 46 c 15 1336 p (Le) s15 r (septi) s3 r 18 c -20 r (eme) su16 r (choix) s 16 r 40 c) t-bol.360 @sf215 r (Initialisation) s 15 r (d'un) s(14 r (nouveau) s15 r (\014chier) s t-rom.360 @sfm 32 r (ou) s6 t-bol.360 @sfo 15 r 73 c t-rom.360 @sf) 31 r 41 cu16 r (permet) s215 r (d'initialiser) s 15 r (un) s416 r (\014-) s-59 1398 p (chier) s10 r (bibliographique) s10 r (personnel.) s1 11 r (Il) se10 r (s'agit) s 11 r (d'une) s11 r (commande) s11 r (dangereuse) s- 11 r (car) s 11 r (elle) s 11 r 100 c3 r 19 c-20 r (etruit) s 10 r (tout) sr10 r (\014chier) s-59 1460 p (pr) sr3 r 19 c-20 r (eexistant) s4 12 r (dans) s 13 r (le) s) 13 r 114 c3 r 19 c-20 r (epertoire) sr11 r (demand) se3 r 19 c -20 r (e.) s14 r (Plusieurs) s13 r (con\014rmations) s 12 r (sont) s 13 r 114 c3 r 19 c-20 r (eclam) s3 r 19 c-20 r (ees.) s15 1543 p (En\014n,) s 15 r (le) si16 r (dernier) s15 r (choix) s 16 r 40 ct t-bol.360 @sfp15 r (Quitter) s 15 r 45 c7 16 r 114 c (etour) s 15 r (au) s 15 r (menu) s9 15 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s t-rom.360 @sfs 32 r (ou) sa t-bol.360 @sfr 15 r 81 c( t-rom.360 @sf 32 r 41 c 15 r (permet) s( 16 r (de) s(15 r (revenir) s 16 r (au) sm-59 1605 p (menu) s 12 r (principal.) s(@eop11 @bop0cmsy10.360 @sff[<03F0000FFC001FFE003FFF007FFF807FFF80FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07FFF807FFF803FFF. 001FFE000FFC0003F000> 18 20 -3 -2 25] 15 @dc11 @bop1 t-obl.360 @sfs-59 132 p 50 c 49 r (LES) s11 r (FICHIERS) s t-rom.360 @sfe 1473 r 49 c9 -1 r 49 c t-bol.600 @sf(313 293 p (ORGANISA) s -5 r (TION) s2 21 r (DU) s21 r (FICHIER) s t-rom.360 @sf7-59 785 p (Le) s14 r (\014chier) s14 r (bibliographique) s 15 r (est) s15 r (constitu) s(3 r 19 c -20 r 101 c. 16 r (de) sr 15 r 56 c215 r (\014chiers) sr15 r (regroup) s3 r 19 c -20 r (es) s 15 r (dans) s 16 r (un) s 15 r 114 c3 r 19 c-20 r (epertoire) s1 14 r (sp) s33 r 19 c-20 r (ecial,) s 16 r (dont) s -59 847 p (le) s 15 r (nom) s 13 r (est) s15 r (choisi) s 15 r (par) s14 r (l'utilisateur) s -2 r 46 c 14 r (Il) se 14 r (peut) s4 14 r 121 c15 r (avoir) s14 r (coexistence) s 16 r (de) ss14 r (plusieurs) s 15 r 114 c3 r 19 c-20 r (epertoires) s15 r (contenant) s-59 909 p (chacun) s 14 r (un) s14 r (\014chier) s14 r (bibliographique.) s 14 r 76 c -4 r ('un) s13 r (peut-) s3 r 94 c-20 r (etre) s 13 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral,) s615 r (alors) s 14 r (que) s 15 r (les) s14 r (autres) s)15 r (pourront) ss 16 r 94 c)-20 r (etre) s 14 r (des) s-59 971 p (\014chiers) s10 r (personnels.) s 12 r (Deux) s) 11 r (noms) sr 11 r (de) si 11 r 114 c3 r 19 c-20 r (epertoires) s 11 r (sont) sb11 r (connus) sm 11 r (par) s 11 r 100 c3 r 19 c-20 r (efaut:) s10 r (celui) s 11 r (du) sc 11 r 114 c3 r 19 c-20 r (epertoire) su 10 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral,) s)-59 1034 p (et) sr13 r (celui) s 11 r (d'un) s- 12 r 114 c3 r 19 c-20 r (epertoire) s12 r (personnel.) s 14 r (Le) s 12 r (nom) s 12 r (des) s 13 r 114 c3 r 19 c-20 r (epertoires) s 13 r 100 c3 r 19 c-20 r (ependent) s 13 r (du) sr 12 r (syst) s 3 r 18 c -20 r (eme) s314 r (d'exploitation.) scmsy10.360 @sf15 1171 p 15 c t-rom.360 @sfa 25 r (Sous) s t-bol.360 @sf 17 r (UNIX) sr t-rom.360 @sf 44 c 19 r (le) s417 r (\014chier) s 17 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s 18 r (est) s 18 r (dans) su t-bol.360 @sf 18 r (/usr/general/biblio/) s( t-rom.360 @sf0 17 r (et) s( 17 r (le) s17 r (\014chier) s18 r (personnel) s 17 r (dans) sc t-bol.360 @sf 65 1233 p (./biblio/) si t-rom.360 @sf146 ccmsy10.360 @sf15 1337 p 15 c t-rom.360 @sfe 25 r (Sous) st t-bol.360 @sfu 11 r (VMS) s t-rom.360 @sfo44 c 12 r (le) s 12 r (\014chier) s 11 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s 12 r (est) s 12 r (dans) s 12 r (le) st 11 r 114 c3 r 19 c-20 r (epertoire) s.11 r (portant) s 11 r (le) sr 12 r (nom) s11 r (logique) s t-bol.360 @sf 12 r (BIB) s t-rom.360 @sf) 12 r (et) s 12 r (le) s411 r (\014chier) s65 1399 p (personnel) s6 12 r (dans) s t-bol.360 @sf14 r ([.BIBLIO]) s t-rom.360 @sf 46 ccmsy10.360 @sf15 1503 p 15 c t-rom.360 @sf 25 r (Sous) s t-bol.360 @sfs17 r (MS/DOS) s t-rom.360 @sf)44 c 18 r (le) s 17 r (\014chier) s 18 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s 17 r (est) s 18 r (dans) s)cmsy10.360 @sf 18 r 110 c t-bol.360 @sf6(usr) s0cmsy10.360 @sf110 ce t-bol.360 @sfc (general) sscmsy10.360 @sf110 c( t-bol.360 @sf0 (biblio) scmsy10.360 @sf110 c) t-rom.360 @sf 17 r (et) s 18 r (le) se17 r (\014chier) s18 r (personnel) s65 1565 p (dans) s t-bol.360 @sfs 13 r 46 c)cmsy10.360 @sf110 c( t-bol.360 @sf (biblio) scmsy10.360 @sf110 c5 t-rom.360 @sf 46 c-59 1702 p (Sous) s3 14 r (UNIX) s 14 r (et) sr 15 r (VMS,) s 15 r (le) s 15 r (\014chier) s 14 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s15 r (devra) s 14 r 98 c)3 r 19 c -20 r (en) s3 r 19 c-20 r (e\014cier) s9 15 r (des) s15 r (protections) s 15 r (ad) s 3 r 19 c-20 r (equates.) s 16 r (Sous) s 15 r (UNIX,) s-59 1764 p (il) ss 14 r (sera) ss 13 r (bon) s 14 r (de) s5 14 r 100 c3 r 19 c-20 r (e\014nir) s 13 r (un) s 14 r (groupe) s 13 r (dans) sr15 r (/etc/group) s 13 r 100 c3 r 19 c-20 r (e\014nissant) s 15 r (les) s14 r (utilisateurs) s214 r (ayant) s 14 r (le) s14 r (droit) s 13 r (de) s. 14 r (mo-) s-59 1827 p (di\014er) s 13 r (le) s-15 r (\014chier) s -1 r 44 c( 14 r (et) s114 r (donner) s( 15 r (les) s15 r (protections) s15 r (suivantes:) s 15 r (rw-rw-r) s({.) s 13 r (Sous) s) 15 r (VMS) s 15 r (les) s15 r (protections) s15 r (seront) sr-59 1889 p ([R) sr-2 r (WED,R) s -2 r (WE,R) s -2 r (WE,R].) s3 16 r 76 ce-4 r ('utilisation) s 17 r (du) s 17 r (\014chier) s 18 r (pour) sh 17 r (son) s18 r (interrogation) s 17 r (ou) s1 18 r (son) s 21 r 19 c -20 r (edition) sm 17 r (est) s19 r (ainsi) s-59 1951 p (possible) s 14 r (pour) ss 15 r (tout) s) 14 r (le) s15 r (monde.) so 15 r (Sous) sr15 r (MS/DOS,) s 15 r (il) s6 14 r (sera) s 15 r (prudent) s 14 r (de) s 15 r ("cacher") s4 15 r (le) sr15 r (\014chier) s -1 r 44 cl14 r (a\014n) s2 14 r (d') s33 r 19 c-20 r (eviter) s-59 2013 p (son) s 12 r (ef) s (facement) s 12 r (par) s12 r (inadvertance.) s t-bol.510 @sf3-59 2204 p 50 c( 70 r (Les) s18 r (\014chiers) s( t-rom.360 @sfi15 2338 p (Huit) s12 r (\014chiers) s( 13 r (sont) s4 13 r 110 c3 r 19 c-20 r (ecessaires:) s4cmsy10.360 @sf15 2475 p 15 c t-bol.360 @sf 25 r 49 c 9 r 45 c 10 r 99 cs 3 r 15 2 ru 15 r (\014ches.bib) sr t-rom.360 @sf658 c10 r (contient) s( 10 r (le) s510 r (libell) s(3 r 19 c -20 r 101 c 10 r (des) s10 r (\014ches) sp11 r (bibliographiques,) s 10 r (avec) s211 r (leurs) s10 r (mots-cl) s3 r 19 c -20 r (es,) ss11 r (l'iden-) s65 2538 p (ti\014cation) s 9 r (de) s 9 r (la) s9 r (personne) s 10 r (qui) s 9 r (l'a) s3 9 r (entr) s3 r 19 c -20 r (e,) s 10 r (et) s( 9 r (sa) s 10 r (date) s(10 r (d'entr) sr3 r 19 c -20 r (ee.) se 9 r (Sous) s10 r (MS/DOS,) s 10 r (ce) s49 r (\014chier) s9 r (s'appelle) s( t-bol.360 @sf65 2600 p (FICHES.BIB) s t-rom.360 @sfs46 ccmsy10.360 @sf15 2704 p 15 c t-bol.360 @sf3 25 r 50 c 11 r 45 cs 10 r 99 c9 3 r 15 2 ru315 r (codcle.bib) sc t-rom.360 @sf458 c12 r (contient) s 11 r (le) s 11 r (libell) s)3 r 19 c -20 r 101 c( 11 r (des) s 11 r (1000) s11 r (mots-cl) s3 r 19 c -20 r (es) s12 r (possibles) s 12 r (avec) se 12 r (le) sr11 r (nombre) si11 r (actuel) s5 11 r (des) s65 2766 p (mots-cl) s 3 r 19 c -20 r (es) s 13 r (et) sr 12 r (le) s13 r (nombre) ss 12 r (de) sh13 r (\014ches.) s 13 r (Sous) ss13 r (MS/DOS,) s 13 r (ce) s 13 r (\014chier) s13 r (s'appelle) s t-bol.360 @sf12 r (CODCLE.BI) s1 r 66 c t-rom.360 @sfr46 ccmsy10.360 @sf15 2870 p 15 c t-bol.360 @sfr 25 r 51 c-9 r 38 c 10 r 52 c 10 r 45 c69 r 99 c 3 r 15 2 rur15 r (motcle.bib) s' t-rom.360 @sf 10 r (et) s t-bol.360 @sf 10 r 99 c( 3 r 15 2 rur15 r (motcle.bib.index) s( t-rom.360 @sf58 c9 r (contient) s 10 r (les) s 11 r (num) s3 r 19 c-20 r (eros) s 10 r (des) s10 r (\014ches) sl11 r (appartenant) s 10 r (au) s 65 2932 p (mot-cl) s3 r 19 c -20 r 101 cs8 r (consid) s3 r 19 c -20 r (er) s3 r 19 c -20 r (e;) s10 r (chaque) s)9 r (record) s9 r (correspond) s 12 r 18 c1 -20 r 97 c 9 r (un) s9 r (mot-cl) s3 r 19 c -20 r (e;) s 9 r (les) si9 r (enregistrements) s3 10 r (qui) s9 r (indexent) s@eop12 @bop012 @bop1 t-obl.360 @sf -59 132 p 51 c 49 r (LA) s612 r (FICHE) s t-rom.360 @sf 1571 r (12) so65 277 p (100) s9 r (\014ches,) s 11 r (sont) s10 r (chain) s3 r 19 c -20 r (es:) s11 r (ainsi,) s9 10 r (le) s)10 r (nombre) s 10 r (de) s-10 r (\014ches) s(10 r (indexables) sr 10 r (par) s 10 r (un) s 10 r (mot) s 9 r (cl) s3 r 19 c -20 r 101 cr 10 r (est) s10 r (illimit) s3 r 19 c -20 r (e.) s 10 r (Le) s(65 339 p (\014chier) s10 r (.index) s0 11 r (est) s 11 r (un) sF11 r (\014chier) s11 r (contenant) s 11 r (des) s11 r (indications) s 11 r (pour) s 10 r 103 c3 r 19 c-20 r (erer) s 11 r (le) s510 r (premier) s -2 r 46 c1 10 r (Sous) s 11 r (MS/DOS,) s65 402 p (ces) s13 r (\014chiers) s(13 r (s'appellent) s t-bol.360 @sf 12 r (MOTCLE.B) s1 1 r (IB) s t-rom.360 @sfs 15 r (et) s t-bol.360 @sf012 r (MOTCLE) s( 3 r 15 2 ruu17 r (X.BIB) s t-rom.360 @sfi46 ccmsy10.360 @sf 15 505 p 15 c( t-bol.360 @sf 25 r 53 c0 13 r 45 cr 14 r 99 cr 3 r 15 2 ru9 15 r (abbr) ss(ev) s -2 r (.bib) s( t-rom.360 @sf458 c12 r (contient) st 14 r (la) sr14 r (liste) s 14 r (des) s 15 r (abr) s3 r 19 c-20 r (eviations) sr 14 r (\(30) s(13 r (maximum\)) s 14 r (et) sa 14 r (leur) st13 r (correspondance) s65 567 p (en) sr 12~ BIBLIO.BCK,yMdw[DANA.BIBLIO.DOC]BIBLIO.PS;2;2|_| r (nom) s 13 r (de) sr13 r (journal,) so13 r (ainsi) s 13 r (que) s 13 r (la) s)13 r (liste) s 13 r (des) s13 r (auteurs) s 13 r (\(30) s)12 r (maximum\)) s 15 r 18 c( -20 r 97 c13 r (mettre) s413 r (automatiquement) s65 629 p (en) s(12 r (mot-cl) st3 r 19 c -20 r (e.) s 13 r (Sous) s313 r (MS/DOS,) s 13 r (ce) s 13 r (\014chier) s12 r (s'appelle) s t-bol.360 @sf513 r (ABBREV) s( -5 r (.BIB) sr t-rom.360 @sf46 ccmsy10.360 @sf 15 732 p 15 c) t-bol.360 @sf\ 25 r 54 cs8 r 38 c8 r 55 c8 r 45 c8 r 99 c 3 r 15 2 rur16 r (auteur) s1 -4 r (.bib) s9 t-rom.360 @sft 7 r (et) s t-bol.360 @sf19 r 99 c 3 r 15 2 rua15 r (auteur) s-4 r (.bib.index) st t-rom.360 @sfu58 c 7 r (est) s9 r (constitue) sc 9 r (de) s 9 r (676) s08 r (enregistrements) s 9 r (correspon-) s65 795 p (dant) s 10 r (aux) s11 r (26*26) s10 r (lettres) s11 r (\(AA,) s11 r (AB,...,) s1 r (YZ,ZZ\).) s12 r (Chaque) sr11 r (enregistrment) s10 r (correspond) s4 14 r 18 cc -20 r 97 c 10 r (un) s311 r (doublet) s65 857 p (de) s)18 r (lettres) s 18 r (de) s 18 r (l'alphabet.) s 18 r (Il) s'18 r (contiennent) s 18 r (les) s 19 r (num) s3 r 19 c-20 r (eros) s 18 r (des) s18 r (\014ches) s 19 r (dont) ss 18 r (un) sr 18 r (des) s18 r (auteurs) s 19 r 97 c 18 r (un) s 65 919 p (nom) s 12 r (qui) s12 r (commence) sr 13 r (par) s 12 r (le) s13 r (doublet) s12 r (consid) so3 r 19 c -20 r (er) s3 r 19 c -20 r (e.) s 14 r (Le) s812 r (\014chier) s12 r (.index) so 13 r (est) s 13 r (un) sb12 r (\014chier) s13 r (contenant) s 12 r (des) s65 981 p (indications) s 17 r (pour) s 16 r 103 c3 r 19 c-20 r (erer) s 17 r (le) s17 r (premier) s -2 r 46 c) 16 r (Sous) s17 r (MS/DOS,) s 18 r (ce) sc17 r (\014chier) s17 r (s'appelle) s t-bol.360 @sfe17 r (AUTEUR.BI) s1 r 66 c t-rom.360 @sf 19 r (et) st t-bol.360 @sfe65 1044 p (AUTEUR) s 3 r 15 2 rus16 r (X.BIB) s t-rom.360 @sf46 ccmsy10.360 @sf15 1147 p 15 c t-bol.360 @sf4 25 r 56 c5 12 r 45 cr 13 r 99 c 3 r 15 2 ru15 r (super) s 3 r 15 2 ruL16 r (cle.bib) s t-rom.360 @sfy58 c13 r (contient) sc 13 r (le) ss13 r (libell) s3 r 19 c -20 r 101 c( 13 r (des) s13 r (super) s (-mots-cl) s3 r 19 c -20 r (es) s13 r (ainsi) s 13 r (que) s 13 r (les) s13 r (mots-cl) s3 r 19 c -20 r (es) s 14 r (dont) s0 13 r (ils) s65 1209 p 100 c63 r 19 c-20 r (erivent.) s 12 r (Sous) s 13 r (MS/DOS,) s 13 r (ce) s@13 r (\014chier) s12 r (s'appelle) s t-bol.360 @sf13 r (SUPERCLE.BIB) s t-rom.360 @sf81 r 46 c15 1343 p (Ces) ss 14 r 56 cs14 r (\014chiers) sd 13 r (sont) s6 14 r (cr) s43 r 19 c -20 r 101 c13 r 19 c -20 r (es) s 14 r (au) sy 14 r 100 c3 r 19 c-20 r (epart) sc 14 r (par) s 13 r (le) sr14 r (choix) s13 r (d'initialisation) s5 13 r (du) s514 r (\014chier) s 13 r (dans) s9 14 r (le) s)14 r (sous-menu.) se-59 1405 p (Ils) s 12 r (sont) s 12 r 114 c3 r 19 c-20 r (epliqu) s3 r 19 c -20 r (es) s 13 r (dans) st13 r (chaque) s( 13 r 114 c3 r 19 c-20 r (epertoire) s(12 r (contenant) s 13 r (un) s413 r (\014chier) s12 r (bibliographique.) s( t-bol.510 @sf0-59 1596 p 51 c 70 r (La) ss19 r (\014che) s t-rom.360 @sf15 1730 p (Une) sr t-bol.360 @sf 13 r (FICHE) s t-rom.360 @sfe 12 r (ou) ss t-bol.360 @sf13 r (REFERENCE) s14 r (BIBLIOGRAPHIQUE) s t-rom.360 @sfr 14 r (est) s13 r (constitu) ss3 r 19 c -20 r (ee) s 14 r (de:) scmsy10.360 @sf15 1864 p 15 c t-rom.360 @sf1 25 r (son) s 12 r (type) s)13 r (,simple) s13 r (\('S'\),) sn12 r (double) sw12 r (\('D'\)) s 12 r (ou) s)12 r (supprim) s3 r 19 c -20 r (ee) s13 r (\('K'\)) scmsy10.360 @sf15 1967 p 15 c t-rom.360 @sf2 25 r (son) s 12 r (num) s3 r 19 c -20 r (ero) si 13 r (\(1) s12 r (entier\)) s(cmsy10.360 @sf15 2070 p 15 c t-rom.360 @sfr 25 r (le) so12 r (nombre) s112 r (d'auteurs) s 13 r (\(1) s 15 r 18 cm -20 r 97 c 13 r (10\)) s) 12 r (\(1) s12 r (entier\)) srcmsy10.360 @sf15 2173 p 15 c t-rom.360 @sf( 25 r 49 c 15 r 18 c -20 r 97 c 13 r (10) sr 12 r (noms) s( 13 r (\(18) s(12 r (caract) s(3 r 18 c-20 r (eres\)) s 13 r (et) s 13 r (pr) se3 r 19 c-20 r (enoms) s1 13 r (\(6) s12 r (caract) s3 r 18 c-20 r (eres\)) s13 r (d'auteurs) scmsy10.360 @sf15 2276 p 15 c t-rom.360 @sfn 25 r 49 co 15 r 18 c -20 r 97 c 13 r 52 c(12 r (lignes) s4 13 r (de) s-13 r (titre) s 12 r (\(80) s012 r (caract) s)3 r 18 c-20 r (eres\)) scmsy10.360 @sf15 2379 p 15 c t-rom.360 @sfr 25 r (le) s1 12 r (nom) s 13 r (du) s 12 r (journal) s 12 r (\(36) s(12 r (caract) s(3 r 18 c-20 r (eres\)) s 13 r (ou) s13 r (bien,) s 13 r (en) s 13 r (son) s13 r (absence:) s(112 2483 p (1.) sc 25 r (le) s\ 13 r (nom) s 12 r (du) sm13 r (livre) s 12 r (\(80) s-12 r (caract) sr3 r 18 c-20 r (eres\)) s112 2565 p (2.) sr 25 r (des) s 16 r 19 c--20 r (editeurs) s 13 r (\(80) s212 r (caract) s(3 r 18 c-20 r (eres\)) s112 2647 p (3.) se 25 r (du) s413 r (publieur) s5 12 r (\(39) s-12 r (caract) sr3 r 18 c-20 r (eres\)) s112 2729 p (4.) sr 25 r (et) sb 13 r (de) s6 12 r (la) s13 r (ville) s 12 r (\(39) s513 r (caract) s(3 r 18 c-20 r (eres\)) scmsy10.360 @sf15 2833 p 15 c t-rom.360 @sfp 25 r (le) s0 12 r (num) s3 r 19 c -20 r (ero) ss 12 r (du) s913 r (volume) ss 12 r (\(4) s13 r (caract) st3 r 18 c-20 r (eres\)) scmsy10.360 @sf15 2936 p 15 c t-rom.360 @sf 25 r (les) s 13 r (num) s3 r 19 c-20 r (eros) s 12 r (des) s13 r (pages) s 14 r (\(10) sn12 r (caract) s3 r 18 c-20 r (eres\)) s@eop13 @bop013 @bop1 t-obl.360 @sf1-59 132 p 51 c 49 r (LA) s(12 r (FICHE) s t-rom.360 @sfC 1571 r (13) socmsy10.360 @sf 15 277 p 15 cf t-rom.360 @sfc25 r (l'ann) s3 r 19 c -20 r (ee) s 12 r (de) s13 r (parution) s( 12 r (\(1) s12 r (entier\)) s8cmsy10.360 @sf 15 381 p 15 ce t-rom.360 @sfe 25 r (le) s9 12 r (num) s3 r 19 c -20 r (ero) s012 r (d'utilisateur) s 13 r (sous) s 13 r (lequel) so 13 r (elle) sr 12 r 97 c 16 r 19 cr -20 r (et) s3 r 19 c -20 r 101 c 13 r (entr) s53 r 19 c -20 r (ee) s12 r (et/ou) s13 r (index) s3 r 19 c -20 r (ee) s 13 r (\(1) s12 r (entier\)) s0cmsy10.360 @sf 15 485 p 15 cr t-rom.360 @sf3 25 r (la) s3 12 r (date) ss 16 r 18 cp -20 r 97 c13 r (laquelle) s( 12 r (elle) s 13 r 97 co 16 r 19 c -20 r (et) s3 r 19 c -20 r 101 c 13 r (entr) s3 r 19 c -20 r (ee) s12 r (et/ou) s13 r (index) s3 r 19 c -20 r (ee) s 13 r (\(9) s12 r (caract) sr3 r 18 c-20 r (eres\)) scmsy10.360 @sf 15 588 p 15 co t-rom.360 @sf 25 r (une) s12 r (indication) si13 r (concernant) s 13 r (les) s 13 r (tir) s3 r 19 c -20 r (es-) s3 r 18 c-20 r (a-part) s 11 r (\(10) s013 r (caract) s33 r 18 c-20 r (eres\)) scmsy10.360 @sf 15 692 p 15 c t-rom.360 @sf) 25 r 49 cc 15 r 18 c) -20 r 97 c 13 r (10) s 12 r (num) s3 r 19 c-20 r (eros) s 13 r (de) sc13 r (mots-cl) s3 r 19 c -20 r (es) s 13 r (\(10) s 12 r (entiers\)) s15 829 p (Une) s15 r (\014che) s16 r (bibliographique) s 14 r (est) s 16 r (dite) s5 t-bol.360 @sf915 r (simple) s( t-rom.360 @sf.15 r (lorsque) s16 r (qu'elle) s14 r (contient) se16 r (moins) s 15 r (de) s( 15 r 54 c 16 r (auteurs.) s 16 r (Une) s-59 892 p (\014che) s0 12 r (est) s 13 r (dite) s t-bol.360 @sf 13 r (double) sl t-rom.360 @sfa12 r (lorsqu'elle) s13 r (contient) s)13 r (entre) s 13 r 54 c 13 r (et) s 12 r (10) s)13 r (auteurs) s 13 r (ou) sr 13 r (bien) s913 r (lorsqu'il) s12 r (s'agit) s1 13 r (d'un) sr13 r (livre.) s0-59 954 p (Dans) s 12 r (ce) s1 13 r (cas) s 13 r (elle) s)13 r (occupe) s 13 r 50 cc 13 r (fois) s 12 r (la) s113 r (place) s13 r (d'une) s12 r (\014che) s13 r (simple.) s@eop14 @bop014 @bop1 t-obl.360 @sfs-59 132 p 50 c49 r (APPEL) s 11 r (DES) s12 r (OPTIONS) s524 122 p 18 c511 132 p 65 c12 r (PARTIR) s6 13 r (DES) s12 r (MENUS) s t-rom.360 @sf( 778 r (14) s t-bol.600 @sfc-59 293 p (GENERALITES) s119 r (CONCERNANT) s 20 r 76 c-7 r ('ENSEMBL) s -1 r 69 c2 19 r (DU) sb662 397 p (PROGICIEL) sb t-rom.360 @sf 15 888 p (Un) s(10 r (certain) s10 r (nombre) si 10 r (de) s(10 r (points) s) 11 r (sont) s210 r (communs) s 13 r 18 c0 -20 r 97 c11 r (l'ensemble) st 10 r (du) se10 r (progiciel,) so11 r (quelle) s7 10 r (que) s 10 r (soit) sr11 r (l'option) sr-59 951 p (dans) s12 r (laquelle) s 13 r (on) s 12 r (se) ss14 r (trouve.) s 12 r (Ils) s 13 r (sont) s) 13 r 100 c3 r 19 c-20 r (ecrits) s 12 r (ici.) st t-bol.510 @sfu-59 1141 p 50 c70 r (Appel) s 19 r (des) s18 r (options) s 24 r 18 c -30 r 97 c18 r (partir) s) 19 r (des) s18 r (menus) s t-rom.360 @sf'15 1276 p 76 c-4 r ('appel) s( 12 r (des) s15 r (options) s14 r (choisies) sm14 r (\(encore) s214 r (appel) s3 r 19 c -20 r (ees) s 15 r (sous-t) s 3 r 94 c-20 r (aches\)) sr 15 r (se) sr 14 r (fait) sb 13 r (gr) s63 r 94 c -20 r (ace) s. 14 r 97 c 14 r (un) s5 14 r (mn) s(3 r 19 c-20 r (emonique) s 17 r 18 c6 -20 r 97 c-59 1338 p 49 c 14 r (lettre) s 13 r (ou) s 14 r (en) s 15 r 100 c3 r 19 c-20 r (eplacant) s 15 r (la) sa14 r (barre) s 14 r (en) s6 14 r (vid) s3 r 19 c -20 r (eo) s15 r (inverse) s 14 r (par) s 14 r (les) s 15 r 13 c3 r 18 c-20 r (eches.) s16 r (Lorsque) s 14 r (la) s214 r (sous-t) sn3 r 94 c-20 r (ache) s15 r (appel) s3 r 19 c -20 r (ee) s-59 1400 p (est) s12 r (termin) sl3 r 19 c -20 r (ee,) ss 12 r (on) ss12 r (revient) s 12 r (au) s 12 r (menu) s( 12 r (en) s(12 r (tapant) srcmmi10.360 @sf 12 r 60 c8 t-bol.360 @sfr(CR) scmmi10.360 @sf62 c t-rom.360 @sf946 c 13 r (On) su 12 r 97 c(12 r (ainsi) s 15 r 18 c -20 r 97 c13 r (nouveau) s 12 r (la) sd12 r (possibilit) s 3 r 19 c -20 r 101 c 13 r (de) s(12 r (choisir) s-59 1462 p (une) s 12 r (des) s13 r (sous-t) s 3 r 94 c-20 r (aches) sr 14 r (du) ss12 r (menu.) s t-bol.510 @sfa-59 1653 p 51 co 70 r 82 cr4 r 19 c-28 r (eponses) s) 19 r (aux) s19 r (questions) s 18 r (pos) s4 r 19 c -28 r (ees) sD 19 r (par) s 19 r (les) s17 r (sous-t) sr6 r 94 c-30 r (aches) ss t-rom.360 @sfR15 1787 p 65 c10 r (l'int) s3 r 19 c-20 r (erieur) s 9 r (de) s11 r (certaines) s11 r (sous-t) sI3 r 94 c-20 r (aches,) s 12 r (le) sf10 r (programme) s 10 r (pose) s5 11 r (des) s11 r (questions) s 14 r 18 c -20 r 97 c11 r (l'utilisateur) s -2 r 46 cs9 r (Celles-) s-59 1850 p (ci) st 15 r (sont) s 15 r (toujours) s15 r (formul) s 3 r 19 c -20 r (ees) sr 15 r (de) s- 15 r (fa) s 3 r 24 c -20 r 99 c(on) s15 r (claire) s) 15 r (et) s) 15 r (en) ss 15 r (fran) sc3 r 24 c -20 r 99 c(ais,) s 16 r (avec) s5 16 r (les) s 15 r 114 c3 r 19 c-20 r (eponses) ss16 r (attendues) s16 r (indiqu) s3 r 19 c -20 r (ees) s(-59 1912 p (entre) s9 r (parenth) sE3 r 18 c-20 r (eses.) s8 13 r (Ces) s 11 r 114 c3 r 19 c-20 r (eponses) sh 12 r (se) sr 11 r (font) sr 10 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eralement) s 11 r (par) s 10 r (une) s11 r (seule) s11 r (lettre) sr 10 r (\(O) s 10 r (pour) sr 10 r (oui,) si 11 r 78 cr 11 r (pour) s( 10 r (non) s-59 1974 p 44 c415 r (etc...\).) s16 r (Chaque) s 15 r (fois) s 15 r (que) s 14 r (cela) s 16 r (est) s15 r (possible,) s 16 r (une) s 14 r 114 c3 r 19 c-20 r (eponse) s 16 r (par) s 14 r 100 c3 r 19 c-20 r (efaut) sn 15 r (est) s15 r (admise.) s 15 r (Dans) si 16 r (ce) s. 15 r (cas,) s 16 r (elle) sp-59 2037 p (est) s12 r (indiqu) ss3 r 19 c -20 r (ee) s13 r (entre) s12 r (crochets.) s 14 r (Par) s12 r (exemple,) su 13 r (dans) s c-med.360 @sfE15 2120 p (Continue-t-on?) scmmi10.360 @sf60 c c-med.360 @sf379 c 29 r (ou) s 30 r ([N]) scmmi10.360 @sf62 c c-med.360 @sf58 c15 2134 p 768 2 ru15 2203 p 78 c t-rom.360 @sf 14 r (est) s 14 r (la) s( 14 r 114 c3 r 19 c-20 r (eponse) s 14 r (par) s 14 r 100 c3 r 19 c-20 r (efaut,) s 14 r (et) s3 14 r (l'on) s 14 r (peut) s 14 r (se) sc14 r (contenter) s 14 r (de) s214 r (taper) scmmi10.360 @sf 14 r 60 c( t-bol.360 @sfn(CR) scmmi10.360 @sf62 c t-rom.360 @sf-46 c 14 r (Les) s 14 r 114 c3 r 19 c-20 r (eponses) s)15 r (peuvent) s-56 2265 p 94 c -20 r (etre) s14 r (fournies) s 16 r (en) s 15 r (minuscules) s0 17 r (ou) s 15 r (majuscules.) s 17 r (Dans) s 16 r (les) s 16 r 114 c3 r 19 c-20 r (eponses) s6 17 r (par) s 15 r (oui) s 15 r (ou) se 16 r (par) s 15 r (non,) s( 16 r (les) s 16 r 114 c3 r 19 c-20 r (eponses) s(-59 2327 p (accept) s53 r 19 c -20 r (ees) s13 r (comprennent) s13 r (aussi) s 13 r 121 c 13 r (ou) s 12 r 89 c2 13 r (pour) s12 r ("yes".) sr t-bol.510 @sf-59 2518 p 52 c 70 r (Entr) s34 r 19 c -28 r (ee) s 20 r (et) s817 r (appel) s 19 r (des) s18 r (mots-cl) s4 r 19 c -28 r (es) s t-rom.360 @sf 15 2652 p (Les) sr13 r (mots-cl) s3 r 19 c -20 r (es) s14 r (annex) s3 r 19 c -20 r (es) s 14 r (aux) s14 r (\014ches) s( 13 r (font) sa 13 r (au) s 13 r (maximum) s 13 r (12) s314 r (caract) s 3 r 18 c-20 r (eres.) s( 14 r 78 cr3 r 19 c-20 r (eanmoins,) s 15 r (si) s 13 r (plus) se 14 r (de) s( 13 r (12) sa-59 2714 p (lettres) s 11 r (sont) sm 11 r (entr) s53 r 19 c-20 r (ees,) s13 r (seules) s 13 r (les) s 12 r (12) s 11 r (premi) s3 r 18 c-20 r (eres) s12 r (lettres) s11 r (restent) s 12 r (en) s 12 r (machine,) s3 12 r (les) s12 r (autres) s1 12 r (sont) sc12 r (perdues.) sr 12 r (Le) s--59 2777 p (th) sr3 r 19 c-20 r (esaurus,) s 15 r (qui) s 14 r (peut) s514 r (contenir) s914 r (jusqu') s3 r 18 c -20 r 97 c 14 r (1000) sr14 r (mots-cl) s3 r 19 c -20 r (es,) sf 16 r (se) s 14 r (cr) s 3 r 19 c -20 r (ee) s15 r (dynamiquement) s 14 r (au) s2 15 r (fur) s 13 r (et) s( 17 r 18 c3 -20 r 97 c15 r (mesure) sr-59 2839 p (des) s10 r (besoins.) s 12 r (Ceci) s 10 r (entra) s94 c-17 r (\020ne) s 11 r (une) s 10 r (plus) s(10 r (grande) sc11 r (souplesse) s 12 r (dans) s( 10 r (la) s 11 r (cr) sf3 r 19 c-20 r (eation) s 10 r (du) sa 10 r (th) sa3 r 19 c-20 r (esaurus,) s 12 r (mais) se10 r (implique) s -59 2901 p (une) s12 r (certaine) s12 r (rigidit) s3 r 19 c -20 r 101 c 12 r (au) s 13 r (niveau) so 13 r (du) sn12 r (libell) s3 r 19 c -20 r 101 c) 13 r (des) s13 r (mots-cl) s3 r 19 c -20 r (es.) s3@eop15 @bop015 @bop1 t-obl.360 @sf5-59 132 p 53 c49 r (SORTIES) s 11 r (DES) s 12 r 82 cr381 122 p 19 c370 132 p (ESULTATS) s t-rom.360 @sf8 1188 r (15) sr 15 277 p 84 c0 -1 r (rois) sa8 r (facilit) s3 r 19 c -20 r (es) s 9 r (ont) s6 12 r 19 c -20 r (et) s3 r 19 c -20 r 101 c)10 r (incluses) s( 10 r (aux) s9 r (programmes) s 10 r (pour) s38 r (assouplir) so 10 r (le) s 9 r (travail) ss9 r (d'utilisation) s( 9 r (des) s10 r (mots-) s-59 339 p (cl) s3 r 19 c -20 r (es:) ss15 422 p (Si) s6 12 r (le) s13 r (mot-cl) s53 r 19 c -20 r 101 c6 13 r (entr) so3 r 19 c -20 r 101 c) 13 r (au) st13 r (clavier) s13 r (ressemble,) s 17 r 18 c -20 r 97 c 13 r (deux) sn14 r (lettres) s 13 r (pr) s23 r 18 c -20 r (es,) s 13 r (situ) s 3 r 19 c -20 r (ees) s. 14 r (au) sr 14 r 109 c3 r 94 c -20 r (eme) s13 r (endroit) s 12 r (dans) s( 14 r (le) s(-59 485 p (mot,) s 15 r 18 c( -20 r 97 c 14 r (un) s3 13 r (des) s13 r (mots-cl) s3 r 19 c -20 r (es) s 14 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c14 r (existant,) s 14 r (les) s13 r (programmes) s(13 r (demanderont) s 13 r (si) s) 14 r (par) s13 r (hasard) sh 13 r (ce) si14 r (n'est) s 13 r (pas) s 14 r (le) s6-59 547 p (mot) s07 r (similaire) s 9 r (que) s 8 r (l'on) s8 r 97 c 9 r (voulu) s3 8 r (taper) s( -2 r 46 c 8 r (Si) s 9 r (la) s 8 r 114 c.3 r 19 c-20 r (eponse) s 9 r (est) s5 9 r (af) s(\014rmative,) s 7 r (le) s 9 r (mot) s 8 r (est) sS 9 r (donc) s9 r (automatiquement) s -59 609 p (corrig) s3 r 19 c -20 r (e,) s 15 r (et) sr 17 r (si) s 16 r (la) s 17 r 114 c3 r 19 c-20 r (eponse) s 16 r (est) s 17 r 110 c3 r 19 c-20 r (egative) s1 17 r (les) s17 r (programmes) s016 r (continuent) s1 16 r (de) s717 r (chercher) sr 16 r (dans) sr 17 r (le) sr 16 r (th) sd3 r 19 c-20 r (esaurus) s3-59 672 p (s'il) s13 r (existe) se 15 r (soit) s) 15 r (un) st14 r (autre) s 14 r (mot) s15 r (similaire,) s( 14 r (soit) s. 15 r (le) s 14 r (mot) s15 r (cherch) s93 r 19 c -20 r (e.) s 15 r (S'il) s13 r (n'existe) s( 15 r (pas) s 15 r (dans) sr 15 r (le) s- 14 r (th) s3 r 19 c-20 r (esaurus,) s 16 r (il) s)-59 734 p (est) ss13 r (consid) s 3 r 19 c -20 r (er) s3 r 19 c -20 r 101 cc13 r (comme) s 16 r 19 cs-19 r (etant) s 13 r (un) s)13 r (nouveau) s14 r (mot-cl) s3 r 19 c -20 r (e,) s 13 r (et) s.13 r (ajout) s3 r 19 c -20 r 101 c( 13 r (au) s2 14 r (th) s)3 r 19 c-20 r (esaurus) s5 14 r (apr) s3 r 18 c -20 r (es) s13 r (con\014rmation.) s13 r (Cette) s-59 796 p (facilit) s3 r 19 c -20 r 101 cr 11 r (peut) s 11 r (avoir) s 12 r (des) s 12 r (ef) s5(fets) s11 r (secondaires:) sr 13 r (par) s11 r (exemple,les) s13 r (mots-cl) s3 r 19 c -20 r (es) s13 r (MODELE) s 11 r (et) s11 r (MOELLE) s5 11 r 44 cs 12 r (qui) s-59 858 p (ne) s 12 r (dif) s102 ce3 r 18 c-20 r (erent) se 12 r (que) s 13 r (par) s 13 r (DE) s2 13 r (et) s2 13 r (EL) s 12 r (sont) s2 13 r (vus) s 14 r (tous) sf 13 r (les) s 14 r (deux) s13 r (comme) s14 r (MOxxLE,) s 13 r (de) s6 13 r 109 c3 r 94 c -20 r (eme) si 13 r (pour) s 13 r (LESION) s3-59 921 p (et) s13 r (VISION,) s11 r (etc...) s 14 r (Dans) s0 14 r (ces) s 13 r (cas,) si 14 r (le) s413 r (premier) s 12 r (mot) s12 r (rencontr) s43 r 19 c -20 r 101 c4 13 r (dans) sr 13 r (le) s- 12 r (th) s3 r 19 c-20 r (esaurus) s 14 r (est) s13 r (propos) s93 r 19 c -20 r (e,) s 13 r (s'il) so13 r (n'est) s-59 983 p (pas) sr14 r (celui) s14 r (attendu,) st 15 r (la) sc 15 r (non) s14 r (con\014rmation) s114 r (conduit) s 14 r (le) s 15 r (programme) s 16 r 18 c) -20 r 97 c15 r (chercher) so -1 r 44 c 14 r (puis) sa14 r (trouver) s 14 r (le) sr15 r (suivant) s-59 1045 p (qui) s 15 r (sera) si 16 r (le) s1 16 r (bon.) sc17 r (C'est) s 16 r (le) sr 16 r (prix) sl 18 r 18 c5 -19 r 97 c16 r (payer) s 16 r (pour) sj 15 r (la) sr16 r (correction) sc16 r (automatique) s 16 r (des) s16 r (fautes) sc 17 r (de) s16 r (frappe!.) se 16 r (De) st-59 1107 p (ce) s15 r (fait,) s 15 r (il) s 15 r (faut) ss 18 r 19 cc-20 r (eviter) s 16 r (au) s15 r (maximum) s 15 r (de) s6 16 r (cr) s)3 r 19 c -20 r (eer) s 15 r (des) s16 r (mots-cl) s3 r 19 c -20 r (es) s16 r (courts,) s16 r (faute) s 15 r (de) s 16 r (quoi) s 15 r (les) s16 r (programmes) s -59 1170 p (risquent) s1 11 r (de) sc11 r (confondre) s 11 r (tous) sa 12 r (les) s12 r (petits) s(12 r (mots-cl) s3 r 19 c -20 r (es.) s0 13 r (En) s011 r (particulier) s -1 r 44 cr 10 r (on) s( 12 r (ne) sr12 r (devra) s 11 r (pas) s 12 r (cr) s)3 r 19 c -20 r (eer) sr 12 r (de) s511 r (mots-cl) s3 r 19 c -20 r (es) s-59 1232 p (de) s 14 r 49 cs 15 r (ou) s 15 r 50 c215 r (lettres.) sr 15 r (La) sr15 r (seule) s 15 r (fa) st3 r 24 c -20 r 99 c(on) s 15 r (de) s(15 r (retrouver) s 14 r (de) s, 15 r (tels) se16 r (mots-cl) s3 r 19 c -20 r (es) s15 r (consisterait) ss 19 r 18 cr -20 r 97 c 15 r (les) s15 r (rechercher) sx 15 r (par) s-59 1294 p (leur) s6 11 r (num) s3 r 19 c -20 r (ero) sm12 r (\(voir) sc12 r (infra\).) s915 1377 p (De) s17 r (plus,) s 17 r (il) s16 r (n'est) s 17 r (pas) s 17 r 110 c3 r 19 c-20 r (ecessaire) s 18 r (de) ss17 r (taper) s17 r (l'int) s3 r 19 c-20 r (egralit) s43 r 19 c -20 r 101 c 15 r (du) s 17 r (mot-cl) sr3 r 19 c -20 r (e,) s17 r (seule) s 17 r (une) s17 r (partie) s) 16 r (de) s 17 r (celui-) ss-59 1439 p (ci) s4 15 r (suf) s (\014t) s 14 r (pour) s3 14 r (le) s16 r (retrouver) s -2 r 46 c) 14 r (La) sc15 r (position) se 16 r (de) s515 r (cette) s16 r (portion) s 14 r (dans) s 16 r (le) ss16 r (mot-cl) s 3 r 19 c -20 r 101 c 15 r (est) s15 r (indif) s102 c73 r 19 c-20 r (erente.) s6 15 r (Si) s 15 r (cette) s-59 1502 p (portion) s 9 r (est) s 12 r (sans) s612 r (ambigu) s(127 c(-17 r (\020t) s63 r 19 c -20 r (e,) s 11 r (le) s(11 r (mot-cl) se3 r 19 c -20 r 101 c 11 r (est) s 11 r (pr) s)3 r 19 c-20 r (esent) s13 r 19 c -20 r 101 c8 11 r (pour) sr11 r (con\014rmation,) s11 r (sinon,) s 12 r (la) s11 r (liste) s 11 r (des) s11 r (mots-cl) s3 r 19 c -20 r (es) s-59 1564 p (possibles) s 13 r (est) s13 r (propos) sc3 r 19 c -20 r (ee) s 13 r (sous) sr13 r (forme) s 12 r (d'un) s) 12 r (menu) s13 r (permettant) sr 12 r (de) s13 r (choisir) s13 r (celui) s 12 r (qui) s13 r (convient.) s15 1647 p (En\014n,) s 15 r (il) s 16 r (est) s 18 r 19 c)-19 r (egalement) se16 r (possible) s216 r (d'entrer) so -1 r 44 cr 15 r (non) s 15 r (pas) s 16 r (le) s216 r (libell) s(3 r 19 c -20 r 101 c 16 r (du) s(15 r (mot-cl) se3 r 19 c -20 r (e,) s 16 r (mais) s 16 r (seulement) s 17 r (son) s-59 1709 p (num) s3 r 19 c -20 r (ero) s 17 r (d'ordre) s 18 r (dans) ss 19 r (le) s2 19 r (th) s43 r 19 c-20 r (esaurus.) s 19 r (Ce) s 19 r (num) s3 r 19 c -20 r (ero) sr 19 r (est) s19 r (indiqu) s 3 r 19 c -20 r 101 c 18 r (dans) s 19 r (le) se19 r (listing) s18 r (obtenu) sl 19 r (par) s 18 r (le) s(19 r (choix) s t-bol.360 @sf-59 1772 p (Th) sr3 r 19 c-20 r (esaurus) se t-rom.360 @sfe46 c 14 r (Les) s14 r (mots-cl) s3 r 19 c -20 r (es) s14 r (ainsi) s 14 r (entr) s)3 r 19 c -20 r (es) s 14 r (sont) sr 13 r (de) s314 r (toute) s 14 r (fa) s 3 r 24 c -20 r 99 c(on) s 13 r (pr) sr3 r 19 c-20 r (esent) sr3 r 19 c -20 r (es) s 15 r (en) s(13 r (clair) s14 r (a\014n) st 13 r (de) sr 14 r 118 c3 r 19 c-20 r (eri\014er) s0 13 r (que) s-59 1834 p (l'on) s 11 r 97 c 13 r (bien) s 12 r (indiqu) s 3 r 19 c -20 r 101 c5 13 r (le) sm 12 r (bon) s 13 r (num) s3 r 19 c-20 r (ero.) s t-bol.510 @sf7-59 2024 p 53 c 70 r (Sorties) s 18 r (des) s 19 r 114 c4 r 19 c-28 r (esultats) s t-rom.360 @sf\15 2159 p (Certains) s13 r (choix) s13 r (peuvent) s13 r (donner) ss 13 r (lieu) s( 16 r 18 c -20 r 97 c 13 r (des) s14 r (sorties) s 13 r (qui) s13 r (peuvent) s 16 r 94 c -20 r (etre) s13 r (visualis) sr3 r 19 c -20 r (ees) sp 14 r (sur) s 13 r (l') s3 r 19 c-20 r (ecran,) s 14 r (im-) s-59 2221 p (prim) s(3 r 19 c-20 r (ees,) s 12 r (ou) s 12 r (les) s13 r (deux.) s 13 r (Le) s312 r (choix) s 13 r (se) s 13 r (fait) sp 12 r (de) s5 12 r (mani) s63 r 18 c -20 r (ere) s912 r (interactive) s 13 r (en) s8 12 r 114 c3 r 19 c-20 r (epondant) s 15 r 18 c6 -19 r 97 c 12 r (des) s13 r (questions.) so14 r (Lors-) s-59 2283 p (qu'il) s16 r (s'agit) so 17 r (de) s1 17 r (la) se17 r (visualisation) s 18 r (de) sn 17 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences,) s18 r (elles) s 18 r (sont) s 17 r (propos) s 3 r 19 c -20 r (ees) s 18 r (une) s 20 r 18 c -19 r 97 c 17 r (une) s 17 r (sur) s 17 r (l') s(3 r 19 c-20 r (ecran.) s 18 r (Il) s 16 r (est) s-59 2346 p 110 c3 r 19 c-20 r (ecessaire) s3 17 r (de) s316 r (taper) scmmi10.360 @sf 16 r 60 c1 t-bol.360 @sfc(CR) scmmi10.360 @sf62 c t-rom.360 @sf 16 r (pour) s216 r (passer) sr 20 r 18 c -20 r 97 c 16 r (la) s17 r (suivante,) s 17 r (ou) sc t-bol.360 @sf 16 r 81 cr t-rom.360 @sfa 16 r (pour) se 16 r (arr) s3 r 94 c-20 r (eter) s 16 r (la) sr16 r (visualisation.) s318 r (Lors-) s-59 2408 p (qu'une) s16 r (sortie) s918 r (imprim) s3 r 19 c -20 r (ee) s 17 r (est) s18 r (demand) s3 r 19 c -20 r (ee,) sr 19 r (un) s)17 r (\014chier) s 17 r (est) s18 r (constitu) sr3 r 19 c -20 r (e,) s 19 r (dont) s 17 r (le) s 18 r (nom) s 17 r (est) s18 r (indiqu) sq3 r 19 c -20 r 101 c 18 r (par) s 17 r (le) s -59 2470 p (programme.) s 10 r (Certains) s11 r (programmes) s10 r (permettent) s 11 r (de) s 10 r (conserver) s 11 r (ou) s) 11 r (d') s 3 r 19 c-20 r (eliminer) s 10 r (ce) st11 r (\014chier) s 10 r (apr) s3 r 18 c -20 r (es) s11 r (impres-) s-59 2532 p (sion.) s15 2615 p 84 c -2 r (ous) s 13 r (les) s15 r (listings) s1 16 r (sont) s 15 r (mis) s 15 r (dans) s) 15 r (le) sg 15 r 114 c3 r 19 c-20 r (epertoire) s 14 r (courant,) s 15 r (et) ss 15 r (sont) s 15 r (automatiquement) s15 r (imprim) s 3 r 19 c -20 r (es) s 15 r (via) s-59 2678 p (la) s14 r (queue) s13 r (d'impression.) s14 r (Lorsque) s 14 r (les) s14 r (sorties) s15 r (peuvent) s14 r (avoir) s 13 r (plus) s2 14 r (de) s5 14 r (80) s14 r (colonnes,) s 15 r (une) s14 r (option) s513 r (existe) s(-59 2740 p (pour) s 11 r 114 c3 r 19 c-20 r (eduire) s 12 r (le) sr13 r (nombre) s 12 r (de) se13 r (colonnes) s 13 r (du) sr13 r (listing.) s @eop16 @bop016 @bop1 t-obl.360 @sf(-59 132 p 50 c 49 r (LE) s 12 r (NUM) s215 122 p 19 c205 132 p (ERO) s) 13 r (DE) s 12 r (LA) s12 r (FICHE) s t-rom.360 @sf 1189 r (16) sa t-bol.600 @sf(227 293 p (ENTREE) s 20 r (DE) sr20 r (NOUVELLES) s20 r (FICHES) s t-rom.360 @sfl15 782 p (Ce) s16 r (choix) s 16 r (est) s17 r (celui) s 16 r (qui) s 15 r (doit) sf 19 r 94 cr-20 r (etre) s16 r (utilis) s3 r 19 c -20 r 101 c3 16 r (pour) s16 r (introduire) ss 15 r (de) sE16 r (nouvelles) s16 r (\014ches) s117 r (bibliographiques) s -59 844 p (dans) s 13 r (le) se13 r (\014chier) s -2 r 46 c213 r (Seuls) s 14 r (les) s13 r (utilisateurs) s14 r (appartenant) s 14 r (au) s( 13 r 109 c3 r 94 c -20 r (eme) s14 r (groupe) s3 13 r (que) s13 r (celui) s 14 r (du) s613 r (\014chier) s13 r (bibliogra-) s3-59 907 p (phique) s 12 r (sont) s212 r (autoris) s3 r 19 c -20 r (es) s 16 r 18 c( -19 r 97 c12 r (remplir) s 12 r (le) sr13 r (\014chier) s -2 r 46 cr 15 990 p 76 c(-4 r ('entr) s3 r 19 c -20 r (ee) s 14 r (des) s16 r (\014ches) s( 17 r (se) s9 16 r (fait) sr 15 r (via) s 16 r (une) s16 r (grille) s9 15 r (de) s)16 r (saisie) so 17 r (qui) s 15 r (se) s 17 r (construit) s15 r (dynamiquement.) s 17 r (Le) s 15 r (nom) s-59 1052 p (des) s 11 r (dif) s102 cs3 r 19 c-20 r (erents) s10 r (champs) s) 12 r 114 c3 r 19 c-20 r (eclam) s43 r 19 c -20 r (es) s 11 r 100 c3 r 19 c-20 r (ependant) s 12 r (des) s12 r (champs) s( 12 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c 11 r (entr) sr3 r 19 c -20 r (es,) s1 12 r (la) sr11 r (grille) s( 11 r (de) sr12 r (saisie) so 15 r 19 cc-20 r (evolue) s11 r (auto-) s-59 1114 p (matiquement) s 13 r (au) s( 14 r (fur) s 13 r (et) s 16 r 18 c( -20 r 97 c14 r (mesure) s( 14 r (des) s 15 r (entr) s13 r 19 c-20 r (ees.) s 15 r (La) s513 r (longueur) sr 13 r (des) s15 r (champs) sc 17 r 18 cr -20 r 97 c14 r (remplir) s 13 r (est) s14 r (indiqu) s3 r 19 c -20 r (ee) s 14 r (par) s-59 1176 p (des) s15 r (tirets.) s15 r (Lorsqu'un) s15 r (champ) s 15 r (est) s 16 r (sans) s116 r (objet,) s 16 r (il) sa 15 r (suf) s (\014t) si14 r (d'entrer) sccmmi10.360 @sf 14 r 60 c t-bol.360 @sf0(CR) scmmi10.360 @sf62 c t-rom.360 @sf 15 r (pour) sr15 r (l'annuler) s 14 r (et) s216 r (passer) s9 16 r (au) sr-59 1239 p (suivant.) s(15 1322 p (Les) sc 12 r (dif) s102 c23 r 19 c-20 r (erents) s12 r (champs) s5 13 r (qui) s 12 r (sont) sr13 r (susceptibles) ss14 r (d'appara) s 94 c-17 r (\020tre) s12 r (sont:) s t-bol.510 @sfs-59 1512 p 50 c5 70 r (Le) s 19 r (num) s4 r 19 c -28 r (er) s111 cr 18 r (de) st 19 r (la) s 18 r (\014che) s t-rom.360 @sfr15 1646 p (C'est) sr 15 r (le) s 15 r (num) s3 r 19 c -20 r (ero) sc 14 r (qui) s 14 r (sera) sr t-bol.360 @sfr 15 r 100 c3 r 19 c-20 r (e\014nitivement) s( t-rom.360 @sf'13 r (annex) s3 r 19 c -20 r 101 c9 18 r 18 ce -19 r 97 c 14 r (la) ss15 r (\014che) s 15 r (que) s 15 r (l'on) s 14 r (s'appr) s 3 r 94 c -20 r (ete) sr 17 r 18 c7 -19 r 97 c14 r (entrer) s -2 r 46 c7 14 r (Il) s 14 r (est) s-59 1709 p 100 c3 r 19 c-20 r (etermin) ss3 r 19 c -20 r 101 c5 13 r (par) s 13 r (le) sr14 r (programme.) s 13 r (C'est) s 17 r 18 cr -19 r 97 c13 r (partir) so 13 r (de) s6 14 r (ce) s5 14 r (num) s3 r 19 c -20 r (ero) s1 14 r (que) s 13 r (l'on) s 14 r (peut) s 13 r (acc) s3 r 19 c-20 r (eder) s 17 r 18 cr -19 r 97 c 13 r (la) s214 r (\014che.) so14 r (C'est) s-59 1771 p (lui,) s) 15 r (par) s15 r (exemple,) st 16 r (qui) s 15 r (sert) si 15 r (pour) se 18 r 19 cr-20 r (etablir) sv t-ita.360 @sf4 15 r (in) s)15 r (\014ne) s t-rom.360 @sf8 16 r (la) s 15 r (liste) s 16 r (des) s16 r (\014ches) sr 16 r (qui) s15 r (devront) s15 r (appara) s694 c-17 r (\020tre) s 15 r (dans) s2 16 r (une) s-59 1833 p (bibliographie.) s 15 1916 p (Si) s 17 r (la) ss17 r (\014che) s 18 r 97 cr 17 r (plus) s7 18 r (de) s 17 r 53 c218 r (auteurs) s 17 r (ou) s 18 r (si) ss 17 r (elle) s18 r (correspond) sc 20 r 18 ca -20 r 97 c 18 r (un) s917 r (livre,) s9 17 r (elle) s 18 r (sera) ss18 r (automatiquement) s-59 1978 p (consid) s(3 r 19 c -20 r (er) s3 r 19 c -20 r (ee) s14 r (comme) s 14 r (une) s14 r (\014che) s15 r (double,) s 14 r (et) s2 14 r (de) s 15 r (ce) s 14 r (fait) s- 14 r (la) s14 r (\014che) s14 r (suivante) s15 r (portera) s 13 r (le) si 14 r (num) s3 r 19 c -20 r (ero) s 14 r (de) s(14 r (celle) s 15 r (ci) s(-59 2041 p (plus) s 13 r 50 c13 r (\(N+2\)) s 14 r (et) sr 13 r (la) s214 r (\014che) s14 r (\(N+1\)) s13 r (n'existera) sr 13 r (pas) s 15 r (et) st 13 r (ne) sr14 r (devrait) s t-ita.360 @sfi13 r (jamais) s( t-rom.360 @sf4 17 r 94 c-20 r (etre) s14 r (appel) s3 r 19 c -20 r (ee) s14 r (manuellement) se 14 r (\(si) s)-59 2103 p (cel) s3 r 18 c -20 r 97 c 16 r (est) s 18 r (fait) s5 16 r (par) s17 r (erreur) se -1 r 44 c1 16 r (le) sc17 r (programme) s16 r (essaiera) s5 18 r (de) sa 17 r (s'y) s17 r (retrouver) s -1 r 44 cr 16 r (mais) s3 17 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eralement) ss17 r (donnera) s 17 r (la) ss-59 2165 p (suivante\).) s t-bol.510 @sfs-59 2355 p 51 c2 70 r (La) s19 r (\014che) s19 r (bibliographiqu~ BIBLIO.BCK,yMdw[DANA.BIBLIO.DOC]BIBLIO.PS;2C;1|M|) s 1 r 101 c t-rom.360 @sf515 2490 p (La) s13 r (\014che) s14 r (bibliographique) s 14 r (est) s14 r (saisie) sr 15 r (en) sr14 r (demandant) s14 r (dynamiquement) s 14 r (les) s 15 r (dif) s102 cc3 r 19 c-20 r (erents) s 15 r 19 c -20 r (el) s3 r 19 c-20 r (ements) s 15 r (de) s-59 2552 p (celle-ci:) scmsy10.360 @sf15 2687 p 15 c c-med.360 @sfs25 r (Auteur) si 30 r 110 c 30 r (Nom:) sr30 r (Prenom:) s65 2695 p 660 2 ru t-rom.360 @sf(725 2687 p 58 cc 8 r (On) s8 r (demande) s 9 r (le) s 8 r (nom) s 9 r (\(18) s8 r (lettres) s8 r (maximum\)) s 8 r (puis) s 9 r (le) s 8 r (pr) s3 r 19 c-20 r (enom) s65 2749 p (\(6) su18 r (lettres) s20 r (maximum\)) s 19 r (de) sr19 r (chaque) ss20 r (auteur) s1 19 r 40 c93 r 18 c -20 r 97 c19 r (entrer) s 19 r (avec) s 20 r (la) sf19 r (ponctuation) s 19 r 100 c3 r 19 c-20 r (esir) s3 r 19 c -20 r (ee:) sr 20 r (ex) sa20 r (H.D.\).) s65 2811 p (Lorsque) sa 13 r (la) su14 r (liste) s15 r (compl) s3 r 18 c -20 r (ete) so 14 r (des) s14 r (auteurs) s 15 r (est) s 14 r (entr) se3 r 19 c -20 r (ee,) s( 15 r (on) s.14 r (tapera) s)cmmi10.360 @sf 14 r 60 c t-bol.360 @sf9(CR) scmmi10.360 @sf62 c t-rom.360 @sf7 13 r (pour) sr14 r (indiquer) s9 13 r (que) s 14 r (l'on) s 65 2873 p 97 c14 r (termin) s)3 r 19 c -20 r (e.) s 15 r (Noms) s 15 r (et) s( 14 r (pr) sr3 r 19 c-20 r (enoms) sr 15 r (sont) s(14 r (automatiquement) s15 r (transform) s3 r 19 c -20 r (es) s 14 r (en) sm15 r (majuscules) ss16 r (avant) s 14 r (leur) sr65 2936 p (entr) s3 r 19 c -20 r (ee) s 12 r (ef) s( (fective) s( 12 r (dans) sc 13 r (le) si12 r (\014chier) s -2 r 46 c4@eop17 @bop017 @bop1 t-obl.360 @sfe-59 132 p 52 c49 r (CORRECTION) si 13 r (DE) s1 12 r (LA) sr12 r (FICHE) s12 r (AVANT) s 13 r (SON) s 12 r (ENTR) s51103 122 p 19 c(1093 132 p (EE) s 11 r 68 c41212 122 p 19 c 1202 132 p (EFINITIVE) s t-rom.360 @sfr 364 r (17) scmsy10.360 @sf 15 277 p 15 cn c-med.360 @sfr25 r (Titre:) s65 285 p 210 2 ru( t-rom.360 @sf8275 277 p 58 c 15 r (Le) s315 r (titre) s 14 r (de) so 16 r (la) sr 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s 15 r (est) s16 r (alors) s 15 r 114 c3 r 19 c-20 r (eclam) sn3 r 19 c -20 r (e.) s 16 r (On) s 15 r (peut) s(16 r (entrer) s414 r (alors) s 16 r 52 c)15 r (lignes) s 16 r (de) s 15 r (80) s 65 339 p (caract) s 3 r 18 c-20 r (eres) s12 r (maximum.) s@ 11 r 76 co3 r 18 c -20 r 97 c11 r (encore,) s 12 r (on) sr 12 r (tape) s2 11 r (un) s 12 r (second) s3cmmi10.360 @sf 12 r 60 c2 t-bol.360 @sf-(CR) scmmi10.360 @sf62 c t-rom.360 @sf 11 r (pour) sE11 r (indiquer) s 11 r (la) sE11 r (\014n.) sS 12 r (Les) s12 r (lignes) s(65 402 p (de) si13 r (titre) s14 r (peuvent) s13 r (contenir) sr14 r (majuscules) sr 15 r (et) s)13 r (minuscules.) s16 r (Elles) s13 r (seront) sr 14 r 109 c3 r 19 c-20 r (emoris) s3 r 19 c -20 r (ees) sr14 r (comme) s14 r (elles) s65 464 p (ont) s 15 r 19 cs -20 r (et) s3 r 19 c -20 r 101 c2 13 r (entr) s(3 r 19 c-20 r (ees.) scmsy10.360 @sf 15 567 p 15 ca c-med.360 @sfr25 r (Journal:) sc65 575 p 270 2 rue t-rom.360 @sfr335 567 p 58 c 16 r (Le) s( 16 r (nom) s 17 r (du) sr17 r (journal) s 16 r (\(36) s 16 r (caract) si3 r 18 c-20 r (eres) s18 r (maximum\)) s 16 r (peut) s) 19 r 94 c -20 r (etre) s 17 r (entr) ss3 r 19 c -20 r 101 c0 17 r (de) s2 16 r 50 c5 17 r (fa) s3 r 24 c -20 r 99 c(ons,) s65 629 p (soit) ss19 r (directement) s 20 r (en) s19 r (tapant) s520 r (l'abr) s3 r 19 c-20 r (eviation) s19 r (standard) sa20 r (utilis) su3 r 19 c -20 r (ee) s 20 r (par) s 19 r (les) s20 r (Current) s19 r (Contents,) s 21 r (soit) s(65 691 p (gr) s)3 r 94 c -20 r (ace) s 22 r 18 cs -20 r 97 c 19 r (une) s 20 r (abr) s3 r 19 c-20 r (eviation) s19 r (courte) sr19 r (locale) s 19 r (\(9) s19 r (caract) ss3 r 18 c-20 r (eres) s20 r (maximum\)) s 18 r (qui) s19 r (permet) s 19 r (de) sr20 r (retrouver) s65 753 p (l'abr) s3 r 19 c-20 r (eviation) s16 r (standard) so 18 r (dans) s2 18 r (une) s18 r (liste) s 17 r (pr) s(3 r 19 c-20 r (ealablement) sr 20 r 19 c3-19 r (etablie) s 17 r (gr) sc3 r 94 c -20 r (ace) s( 21 r 18 cr -20 r 97 c 17 r (la) s 18 r (sous-t) s(3 r 94 c-20 r (ache) s18 r (corres-) s65 816 p (pondante) s 15 r (du) sc16 r (sous-menu.) s3 16 r (Par) s16 r (exemple,) s 16 r (si) se 16 r (RP) sa 15 r (est) s16 r (l'abr) s3 r 19 c-20 r (eviation) s15 r (locale) ss 16 r (du) ss16 r (journal) s15 r (RESPIR.) s65 878 p (PHYSIOL.,) s 15 r (il) si 15 r (suf) s (\014ra) s 14 r (de) s4 16 r 114 c3 r 19 c-20 r (epondre) s3 15 r (RP) s 18 r 18 cs -20 r 97 c 16 r (la) s(15 r (question) s(16 r ("Journal:".) s16 r (Majuscules) s 18 r (et) sn15 r (minuscules) ss65 940 p (ne) ss 15 r (sont) s9 15 r (pas) s16 r (distingu) ss3 r 19 c-20 r (ees.) s 17 r (Si) sr 15 r (une) s 15 r (abr) s3 r 19 c-20 r (eviation) s15 r (locale) st 16 r (est) s15 r (utilis) sp3 r 19 c -20 r (ee,) sr 17 r (le) s 15 r (nom) s15 r (complet) s 15 r (du) sr15 r (journal) s65 1002 p (la) s10 r (remplace) sC 11 r (imm) s3 r 19 c-20 r (ediatement.) s11 r (Comme) s12 r (l'abr) s3 r 19 c-20 r (eviation,) s5 10 r (le) s 11 r (nom) s 11 r (du) st10 r (journal) s 11 r (est) s11 r (automatiquement) s65 1065 p (transform) sc3 r 19 c -20 r 101 c0 12 r (en) sr12 r (majuscules) s 14 r (avant) s 13 r (son) s 13 r (entr) sr3 r 19 c -20 r (ee) s 12 r (ef) sr (fective) s 12 r (dans) s 13 r (le) ss13 r (\014chier) s -2 r 46 c265 1147 p (Si) s 9 r (la) s 11 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s10 r (concerne) s1 10 r (un) s711 r (livre,) s 10 r (on) s 10 r (tapera) scmmi10.360 @sf 10 r 60 c t-bol.360 @sfr(CR) scmmi10.360 @sf62 c t-rom.360 @sfr44 c11 r (a\014n) s 10 r (de) s7 10 r (ne) s 10 r (pas) s11 r (entrer) s4 10 r (de) sr 10 r (nom) s 10 r (de) s,11 r (journal.) s65 1209 p (On) s12 r (obtiendra) s12 r (alors) s 13 r (les) s13 r (champs) se 13 r 110 c3 r 19 c-20 r (ecessaires) s 15 r (pour) s12 r (entrer) s6 12 r (la) s5 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s12 r (compl) s3 r 18 c -20 r (ete) s1 13 r (d'un) s 12 r (livre:) ss t-bol.360 @sfi124 1323 p 123 c c-med.360 @sf25 r (Livre:) sn174 1331 p 210 2 ru0 t-rom.360 @sfr384 1323 p 58 cn 13 r (Sur) s 11 r (80) sr13 r (caract) se3 r 18 c-20 r (eres,) s514 r (permet) s212 r (d'entrer) s2 12 r (le) s12 r (titre) s 13 r (du) se12 r (livre.) s t-bol.360 @sfe124 1405 p 123 c c-med.360 @sf( 25 r (Edit) sr19 c -30 r 101 cc 30 r (par:) s 174 1422 p 330 2 ru2 t-rom.360 @sf504 1405 p 58 c 10 r (Sur) s 10 r (80) sr10 r (caract) s(3 r 18 c-20 r (eres) s 14 r 19 ci-19 r (egalement,) s11 r (permet) sr10 r (d'indiquer) sh 10 r (les) s11 r (auteurs) s 10 r (du) s11 r (livre,) sr174 1467 p (souvent) s13 r (appel) s3 r 19 c -20 r (es) s 16 r 19 c -19 r (editeurs) s 12 r (\(et) sn 13 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eralement) sa 12 r (dif) s102 c83 r 19 c-20 r (erents) s 12 r (des) s13 r (auteurs) s 13 r (de) sm12 r (l'article) s12 r (index) s3 r 19 c-20 r (e\).) s t-bol.360 @sfe124 1549 p 123 c c-med.360 @sf-25 r (Publi) s19 c -30 r 101 c4 30 r (par:) s174 1566 p 360 2 ru3 t-rom.360 @sfr534 1549 p 58 cc 13 r (Sur) s 11 r (39) s 13 r (caract) ss3 r 18 c-20 r (eres,) s(14 r (permet) s 12 r (d'indiquer) s 12 r (la) s13 r (maison) sr 12 r (d') s3 r 19 c-20 r (edition.) s t-bol.360 @sf(124 1631 p 123 c c-med.360 @sfr25 r (Ville:) ss174 1639 p 210 2 rur t-rom.360 @sf-384 1631 p 58 cr 17 r (Sur) s 16 r (39) sr17 r (caract) s93 r 18 c-20 r (eres) s 21 r 19 c -20 r (egalement,) s18 r (permet) s17 r (d'indiquer) s 16 r (la) s17 r (ville) s17 r (d'origine) s 16 r (de) s1 17 r (la) sr174 1693 p (maison) sm 13 r (d') ss3 r 19 c-20 r (edition.) scmsy10.360 @sf15 1807 p 15 c c-med.360 @sf(25 r (Volume:) s65 1815 p 240 2 ru t-rom.360 @sfc305 1807 p 58 ct 14 r (Le) so 14 r (num) s3 r 19 c -20 r (ero) sv 15 r (du) s-14 r (volume) s 15 r (est) s 15 r 109 c3 r 19 c-20 r (emoris) s3 r 19 c -20 r 101 c0 15 r (en) s615 r (ASCII,) s 14 r (ce) s( 15 r (qui) s15 r (permet) su 14 r (de) ss15 r (mettre) se 14 r (des) s65 1869 p (lettres) ss12 r (dedans) sm14 r (\(ex:) s 12 r 51 c( 12 r (S2) sc 13 r (\).) s 12 r (On) ss 13 r 97 c13 r (droit) s 14 r 18 c2 -19 r 97 c 12 r 52 ce13 r (caract) s(3 r 18 c-20 r (eres) s13 r (maximum.) scmsy10.360 @sf15 1972 p 15 c c-med.360 @sf025 r (Pages:) sr65 1989 p 210 2 ru t-rom.360 @sf-275 1972 p 58 c 15 r (Les) s 15 r (num) s3 r 19 c-20 r (eros) s 15 r (de) s16 r (pages) s 16 r (sont) s15 r (aussi) s 16 r (en) si16 r (ASCII;) s 14 r (10) s 15 r (caract) so3 r 18 c-20 r (eres) s 16 r (sont) ss16 r (possibles) s16 r (\(ex:) s65 2034 p 49 c-1 r (150-1) s-2 r (165\).) s 11 r (Le) s 12 r 115 c3 r 19 c-20 r (eparateur) sr13 r (entre) s 13 r (les) s13 r (pages) s13 r (initiale) s) 13 r (et) s12 r (\014nale) sr 13 r (est) s13 r (retenu) s2 12 r (tel) s13 r (qu'il) s 12 r (est) s 13 r (entr) sp3 r 19 c -20 r (e.) scmsy10.360 @sf15 2136 p 15 c c-med.360 @sfs 25 r (Ann) s19 c -30 r (ee:) s 65 2144 p 210 2 ru t-rom.360 @sfe275 2136 p 58 c0 10 r 76 c6 -4 r ('ann) s 3 r 19 c -20 r (ee) s 9 r (de) s10 r (parution) sr 10 r (doit) sr 13 r 94 c -20 r (etre) s 10 r (un) s 11 r (nombre) sc9 r (entier) s 11 r (de) s 10 r 52 cs 10 r (chif) s (fres) s9 r (maximum.) s 11 r (On) s2 10 r (peut) s65 2199 p (entrer) s9 r (seulement) s 10 r (les) s 10 r 50 c9 9 r (chif) s(fres) s9 r (\014naux) s 9 r (si) s 10 r (la) ss 9 r 114 cr3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s 10 r (est) s10 r (parue) s 9 r (au) s 10 r (XX) s 12 r 18 ch -19 r (eme) s 9 r (si) s3 r 18 c-20 r (ecle) s11 r (\(ex:) s 9 r (80) s 9 r (pour) s65 2261 p (1980\).) s( 12 r (La) s( 12 r (date) s(13 r (compl) s3 r 18 c -20 r (ete) s1 13 r (est) s 13 r (de) s(13 r (toute) s 12 r (fa) sp3 r 24 c -20 r 99 c(on) s 13 r 109 c3 r 19 c-20 r (emoris) s3 r 19 c -20 r (ee.) scmsy10.360 @sf15 2363 p 15 c c-med.360 @sf225 r (T-a-P:) ss65 2371 p 210 2 ru t-rom.360 @sf5275 2363 p 58 cr8 r (Permet) s8 r (d'entrer) s 7 r (une) s29 r (indication) s8 r (personnelle) s5 9 r (de) s 9 r (10) s8 r (caract) s3 r 18 c-20 r (eres) s9 r (concernant) s 9 r (la) s8 r (dispo-) s65 2426 p (nibilit) s43 r 19 c -20 r 101 c5 13 r (d'un) sn 13 r 84 cr -1 r (ir) sr3 r 19 c -20 r (e-) s3 r 18 c-20 r (a-Part,) s) 12 r (ou) si 13 r (bien) s7 14 r (la) sc13 r (personne) s(14 r (ayant) s14 r (l'article,) s 14 r (etc) s46 c8 r 46 c8 r 46 c11 r (Cette) s14 r (indication) s-13 r (sortira) s65 2488 p (sur) s. 12 r (les) s13 r (listings) sn 13 r (du) s113 r (\014chier) s -2 r 46 c2 t-bol.510 @sfr65 2677 p 52 c 71 r (Corr) s (ection) s 19 r (de) sv 18 r (la) s(18 r (\014che) s19 r (avant) s 19 r (son) s 18 r (entr) sl4 r 19 c -28 r (ee) s 20 r 100 c4 r 19 c-28 r (e\014nitive) s t-rom.360 @sf 65 2811 p 65 c 13 r (ce) so13 r (stade,) se 14 r (il) sp 13 r (est) s14 r (possible) ss 14 r (de) s213 r (corriger) sn 12 r (le) s913 r (libell) ss3 r 19 c -20 r 101 c7 13 r (de) se 14 r (la) s513 r (\014che.) s5 14 r (Si) sr 12 r (on) s 13 r 114 c3 r 19 c-20 r (epond) sr 13 r (af) sr(\014rmativement) sa 15 r 18 c( -20 r 97 c65 2873 p (la) s11 r (question) s)12 r (demandant) s 12 r (si) st 12 r (l'on) s 11 r (veut) ss11 r (corriger) s 11 r (la) s 12 r (\014che,) s2 12 r (on) s12 r (entre) s 11 r (en) s 12 r (mode) s 11 r (d') st3 r 19 c-20 r (edition) s011 r (\(indication) st65 2936 p (en) s 12 r (haut) s2 13 r (de) s) 13 r (l') sn3 r 19 c-20 r (ecran\).) s@eop18 @bop0cmsy10.360 @sff[<0000C00000000000C0000000000180000000000180000000000300000000000600000000000C00000000001C00000000003Ff FFFFFFE0007FFFFFFFE000C0000000000380000000000F00000000003C0000000000F800000000003E000000000007000000f 000001C000000000007FFFFFFFE0003FFFFFFFE0001800000000000C00000000000600000000000300000000000300000000= 0001800000000000C00000000000C0000000> 43 28 -3 2 50] 40 @dcs/cmr10.360 @newfont cmr10.360 @sf z[ 32 12 -3 -6 39] 61 @dccmsy10.360 @sff[<0000006000000000006000000000003000000000003000000000001800000000000C0000000000060000000000070000FFFFf FFFF8000FFFFFFFFC000000000006000000000003800000000001E000000000007800000000003E0000000000F8000000000f 1C00000000007000FFFFFFFFC000FFFFFFFF80000000000300000000000600000000000C0000000000180000000000180000= 000000300000000000600000000000600000> 43 28 -3 2 50] 41 @dc6f[<0180300001803000018030000180300001803000018030000180300001803000018030000180300001803000018030000180f 3000018030000180300001803000018030000180300001803000018030000180300001803000018030000180300001803000f 0180300001803000C1803060E18030E0398033801D80370007803C00038038000180300000C060000060C0000060C0000031V 800000110000001B0000000A0000000E0000000E00000004000000040000> 27 45 -1 10 30] 42 @dcf[<0004000000040000000E0000000E0000000A0000001B000000110000003180000060C0000060C00000C06000018030000380f 380007803C001D80370039803380E18030E0C180306001803000018030000180300001803000018030000180300001803000f 0180300001803000018030000180300001803000018030000180300001803000018030000180300001803000018030000180V 300001803000018030000180300001803000018030000180300001803000> 27 45 -1 10 30] 43 @dc18 @bop1 t-obl.360 @sfo-59 132 p 52 c49 r (CORRECTION) si 13 r (DE) s5 12 r (LA) ss12 r (FICHE) s12 r (AVANT) s 13 r (SON) s 12 r (ENTR) sl1103 122 p 19 cn1093 132 p (EE) s 11 r 68 c 1212 122 p 19 c 1202 132 p (EFINITIVE) s t-rom.360 @sfr 364 r (18) s c-med.360 @sfr-59 342 p (MACHIN) s 389 r (<--) s 30 r (nom) s 30 r (du) s4 30 r (1er) s30 r (auteur) s -59 404 p (F.) s 509 r (<--) sc 30 r (son) s30 r (prenom) si-59 466 p (TRUC) s 449 r (<--) sa 30 r (nom) s 30 r (du) s6 30 r (2d) s:30 r (auteur) ss-59 529 p (T.) s 509 r (<--) ss 30 r (son) s30 r (prenom) sp%-59 591 p (-----------------------) s5 29 r 84 c( 30 r 73 cr 30 r 84 c3 30 r 82 c 30 r 69 cc#30 r (--------------------------) s-59 653 p (Le) s29 r (titre) s"-59 715 p (--------------------) s 29 r 82 c 30 r 69 cs 30 r 70 c5 30 r 69 c- 30 r 82 c( 30 r 69 ct 30 r 78 c 30 r 67 cc 30 r 69 c:30 r (---------------------) s-59 778 p (LE) s29 r (JOURNAL) s 270 r (<--) s0 30 r (nom) s 30 r (du) s 30 r (journal) s-59 840 p 49 c 539 r (<--) st30 r (volume) st-59 902 p (11-17) sr 419 r (<--) s)30 r (pages) s-59 964 p (1988) s 449 r (<--) sr30 r (annee) s-59 1027 p (non) s 479 r (<--) s 30 r (tire) s6 30 r 97 c1 30 r (part) ss t-rom.360 @sfn321 1184 p (Figure) s 12 r 53 cs 13 r 58 c12 r (Format) s 12 r (du) s)13 r (\014chier) s t-bol.360 @sf) 12 r (pr) s)(e\014che.tmp) s t-rom.360 @sfm 11 r (pour) sl 12 r (un) sn13 r (journal) s65 1361 p (La) s9 r (correction) s 10 r (des) s10 r (\014ches) s( 11 r (se) sc 11 r (fait) s 9 r (via) s 10 r (un) s3 13 r 19 c--20 r (editeur) s510 r (pleine) s( 10 r (page) s910 r (simpli\014) ss3 r 19 c -20 r (e.) s 11 r (Les) s 10 r 13 c23 r 18 c-20 r (eches) sa11 r (horizontales) s65 1424 p 40 ccmsy10.360 @sf40 c cmr10.360 @sf -7 r 61 c6 t-rom.360 @sfe 15 r (et) s5 cmr10.360 @sf 18 r 61 c2cmsy10.360 @sf -7 r 41 c8 t-rom.360 @sf41 c15 r (permettent) s 18 r (de) s 18 r (se) s 18 r 100 c3 r 19 c-20 r (eplacer) se 18 r (dans) se 18 r (le) sr18 r (champ) s 18 r (en) s18 r (cours.) s 18 r (Un) sn 18 r (bip) s17 r (sonore) sr18 r (retentit) sn65 1486 p (lorsque) s 10 r (l'on) si 10 r (est) s 10 r (en) s511 r (\014n) s 10 r (de) s10 r (champ.) s 11 r (La) s 10 r (touche) sscmmi10.360 @sf 10 r 60 c( t-bol.360 @sfu(CR) scmmi10.360 @sf62 c t-rom.360 @sf10 r (permet) s 10 r (de) s11 r (passer) s9 11 r (au) so10 r (champ) s11 r (suivant.) sr 11 r (Les) s65 1548 p 13 c3 r 18 c-20 r (eches) s515 r (verticales) s( 16 r 40 crcmsy10.360 @sf42 c t-rom.360 @sf 15 r (et) scmsy10.360 @sf 15 r 43 cx t-rom.360 @sf(41 c15 r (permettent) ss 15 r (de) ss 15 r (se) s 15 r 100 c3 r 19 c-20 r (eplacer) s2 15 r (vers) s( 16 r (le) s 15 r (champ) s 15 r (pr) s(3 r 19 c -20 r (ec) s3 r 19 c-20 r (edant) s. 15 r (ou) sr15 r (suivant.) s865 1610 p (Lorsque) s 14 r (l'on) sp15 r (arrive) s) 17 r 18 cu -19 r 97 c 15 r (une) s 15 r (extr) s 3 r 19 c-20 r (emit) s3 r 19 c -20 r (e,) s 16 r (on) si15 r (passe) s 19 r 18 c0 -20 r 97 c15 r (l'autre) s 15 r (extr) s)3 r 19 c-20 r (emit) s3 r 19 c -20 r (e.) s 15 r 84 c3 -2 r (out) s 13 r (ce) s2 16 r (qui) s 15 r (est) s 15 r (tap) s3 r 19 c -20 r 101 ce 16 r (au) s(65 1673 p (clavier) s 10 r (est) s 11 r (entr) se3 r 19 c -20 r 101 cr 12 r 18 c -19 r 97 c10 r (l'endroit) s 9 r 111 ce4 r 18 c -20 r 117 c2 10 r (se) s311 r (trouve) s 10 r (le) se10 r (curseur) s 10 r (en) s 11 r (mode) s 10 r (d'insertion.) sc 10 r (La) s 10 r (touche) s cmmi10.360 @sf 11 r 60 c1 t-bol.360 @sfr(DEL) s4cmmi10.360 @sf62 c t-rom.360 @sf65 1735 p (ef) s(face) s 8 r (le) s10 r (caract) s 3 r 18 c -20 r (ere) sn 10 r (pr) so3 r 19 c -20 r (ec) s3 r 19 c-20 r (edent.) s 10 r (On) s 10 r (termine) s 9 r (la) s9 r (session) sr 11 r (de) s510 r (correction) s 9 r (en) s10 r (tapant) ss t-bol.360 @sf 10 r (CTRL-F) s) t-rom.360 @sfu9 r (\(appui) s65 1797 p (simultan) s3 r 19 c -20 r 101 cs 12 r (sur) s 13 r (les) s13 r (touches) s 13 r (CTRL) s 13 r (et) sr 12 r (F\),) s113 r (comme) s12 r (indiqu) s3 r 19 c -20 r 101 cs 13 r (en) s) 13 r (haut) s 12 r (de) s 13 r (l') s83 r 19 c-20 r (ecran.) s65 1880 p (Etant) sp 14 r (donn) s3 r 19 c -20 r 101 cs 15 r (que) s 15 r (l'on) st14 r (travaille) s 14 r (sur) s 15 r (une) s15 r (grille) s 14 r (de) se15 r (saisie) sc16 r (\014g) s3 r 19 c -20 r (ee) s 15 r (par) s15 r (l'entr) s(3 r 19 c -20 r (ee) s 14 r (de) s. 15 r (la) s 15 r (\014che,) sP 15 r (on) s 15 r (ne) s65 1943 p (peut) s14 r (ajouter) s 15 r (via) s 15 r (cet) s 18 r 19 cs-20 r (editeur) s -1 r 44 c 15 r (ni) s 14 r (auteur) s -1 r 44 c 15 r (ni) ss14 r (ligne) s 15 r (de) s 15 r (titre.) s5 15 r (Pour) sn 15 r (ce) s15 r (faire,) s 15 r (il) se14 r (faudra) s215 r (appeler) s 15 r (un) s65 2005 p (fonction) s 12 r (d') se3 r 19 c-20 r (edition) s412 r (compl) s3 r 19 c-20 r (ementaire,) s 13 r (en) s1 13 r 114 c3 r 19 c-20 r (epondant) s 12 r (par) s 12 r (l'af) s.(\014rmative) s3 14 r 18 cs -20 r 97 c 13 r (la) s(12 r (question) s4 c-med.360 @sf 65 2088 p (Desirez-vous) s30 r (ajouter) s30 r (auteurs) s 30 r (ou) s30 r (ligne) s 30 r (de) s)30 r (titre) s 29 r (\(o) s 30 r (ou) s30 r ([n]\):) sr65 2105 p 1770 2 ru t-rom.360 @sf 65 2171 p 76 c -4 r 39 c 3 r 19 c-20 r (editeur) st t-bol.360 @sf(8 r (bibedit) s) t-rom.360 @sfb44 c10 r (appelant) sr 10 r (en) sn 11 r (fait) s 10 r (l') s 3 r 19 c-20 r (editeur) s3 9 r (de) s11 r (votre) s10 r (choix) s10 r (\(voir) s2 t-ita.360 @sfr9 r (Installation) s 10 r (de) s10 r (BIBLIO) s1 t-rom.360 @sfa41 c 8 r (est) s 65 2233 p (alors) ss13 r (appel) s3 r 19 c -20 r (e,) s 14 r (et) st13 r (permet) s 12 r (d') ss3 r 19 c-20 r (editer) s 13 r (le) s(13 r (\014chier) s12 r (temporaire) ss t-bol.360 @sf 13 r (pr) s(e\014che.tmp) s t-rom.360 @sfe 12 r (dans) sr13 r (lequel) st 14 r (est) s13 r (stock) s3 r 19 c -20 r (ee) s65 2295 p (la) s18 r (\014che) s18 r (avant) s 18 r (son) s 18 r (entr) s03 r 19 c -20 r (ee) s 18 r 100 c3 r 19 c-20 r (e\014nitive) s0 18 r (dans) s0 18 r (le) sF18 r (\014chier) s -2 r 46 c0 18 r (Le) s017 r (format) s0 18 r (de) sE 18 r (la) s018 r (\014che) s 18 r (dans) sF 18 r (le) s018 r (\014chier) s t-bol.360 @sf065 2358 p (pr) s(e\014che.tmp) s t-rom.360 @sf0 8 r (est) s 10 r (indiqu) s 3 r 19 c -20 r 101 cn 9 r (sur) s 10 r (la) sF10 r (\014gure) s09 r 53 c 9 r (pour) s 9 r (une) s010 r (\014che) s10 r (comprenant) s 9 r (un) s 10 r (nom) s 9 r (de) s10 r (journal) s9 r (\(\014che) s065 2420 p (simple) s 14 r (ou) s014 r (double\)) s0 14 r (et) s0 15 r (par) s 14 r (la) s014 r (\014gure) sE 14 r 54 c7 14 r (pour) s0 14 r (une) s15 r (\014che) s14 r (concernant) sF 15 r (un) s014 r (livre,) s0 14 r (et) s0 14 r (ne) s015 r (comprenant) s065 2482 p (donc) s t-ita.360 @sf3 13 r (pas) s t-rom.360 @sf0 13 r (de) s1 13 r (nom) s 13 r (de) s013 r (journal) s12 r (\(\014che) s13 r (toujours) s013 r (double\).) s 13 r (Il) s0 13 r (est) s13 r (indispensable) s 14 r (que) s 13 r (se) s014 r (conformer) s67 2544 p 18 c -19 r 97 c 14 r (ce) s114 r (format,) s14 r (faute) s 14 r (de) s0 14 r (quoi) s0 14 r (le) sE15 r (programme) s 13 r (de) s 14 r (correction) s0 14 r 109 c3 r 19 c-20 r (elangerait) s 14 r (les) s 15 r (dif) s102 c03 r 19 c-20 r (erents) s13 r (champs.) s65 2607 p (La) s12 r (sortie) s0 12 r (de) s0 13 r (l') s13 r 19 c-20 r (editeur) s012 r (entra) s94 c-17 r (\020ne) s 13 r (la) s112 r (validation) s0 13 r (de) s1 12 r (la) s013 r (\014che.) s0@eop19 @bop019 @bop1 t-obl.360 @sf@-59 132 p 53 c 49 r (LES) s11 r (MOTS-CL) s346 122 p 19 c336 132 p (ES) s t-rom.360 @sf2 1415 r (19) s2 c-med.360 @sf3-59 342 p (MACHIN) s 389 r (<--) sp 30 r (nom) s 30 r (du) s 30 r (1er) s30 r (auteur) s2-59 404 p (F.) s 509 r (<--) s 30 r (son) s30 r (prenom) ss-59 466 p (TRUC) s 449 r (<--) s- 30 r (nom) s 30 r (du) su 30 r (2d) se30 r (auteur) sr-59 529 p (T.) s 509 r (<--) s- 30 r (son) s30 r (prenom) sm%-59 591 p (-----------------------) sa 29 r 84 c) 30 r 73 cu 30 r 84 c( 30 r 82 cr 30 r 69 cs#30 r (--------------------------) s0-59 653 p (Titre) sn 29 r (de) s930 r (l'article) s"-59 715 p (--------------------) s 29 r 82 c3 30 r 69 c 30 r 70 cc 30 r 69 c- 30 r 82 c- 30 r 69 c 30 r 78 c 30 r 67 c9 30 r 69 cs30 r (---------------------) s510 778 p (<--) s030 r (ligne) s 30 r (vide) s-30 r (\(INDISPENSABLE\)) s-59 840 p (Titre) s 29 r (du) s030 r (livre) s 150 r (<--) s5 30 r (nom) s 30 r (du) sA30 r (journal) s-59 902 p (Dr) s 29 r (Foo) s 30 r (Bar) s 270 r (<--) s-30 r (editeur) s-59 964 p (Masson) s 389 r (<--) se30 r (publieur) sl-59 1027 p (Paris) s 419 r (<--) s)30 r (ville) s-59 1089 p (67) s 509 r (<--) s30 r (volume) s6-59 1151 p (15-26) s 419 r (<--) s 30 r (pages) s-59 1214 p (1989) s1 449 r (<--) s030 r (annee) s-59 1276 p (non) s 479 r (<--) sA 30 r (tire) s4 30 r 97 c 30 r (part) s0 t-rom.360 @sfs346 1434 p (Figure) s( 12 r 54 cr 13 r 58 c012 r (Format) s5 12 r (du) ss13 r (\014chier) s t-bol.360 @sf 12 r (pr) s3(e\014che.tmp) s t-rom.360 @sf5 11 r (pour) s 12 r (un) s-13 r (livre) s t-bol.510 @sf 65 1618 p 53 c 71 r (Les) s18 r (mots-cl) s4 r 19 c -28 r (es) s t-rom.360 @sfe65 1753 p (Dix) s017 r (mots-cl) s3 r 19 c -20 r (es) s 17 r (de) s2 18 r (12) sr17 r (caract) sm3 r 18 c-20 r (eres) s18 r (peuvent) s 20 r 94 c)-20 r (etre) s17 r (annex) s3 r 19 c -20 r (es) s 21 r 18 c2 -19 r 97 c17 r (chaque) s18 r (\014che.) s 18 r (Certains) s017 r (mots-cl) s3 r 19 c -20 r (es) s65 1815 p (sont) s16 r (annex) s3 r 19 c -20 r (es) s16 r (automatiquement) s 19 r 18 c -20 r 97 c 16 r (la) sp16 r (\014che:) sc 15 r (ce) ss 16 r (sont) s 16 r (les) s 17 r (noms) se16 r (d'auteur) si 15 r (si) s 16 r (un) sc 15 r (des) s17 r (auteurs) s 16 r (de) s665 1878 p (l'article) sr 9 r (fait) s11 r (partie) s6 10 r (de) s3 11 r (la) s410 r (liste) s 14 r 19 c-20 r (etablie) s 11 r (par) s 10 r (la) s11 r (sous-t) s 3 r 94 c-20 r (ache) s 11 r (de) se11 r (gestion) s 11 r (des) s 11 r (abr) s3 r 19 c-20 r (eviations) s 11 r (de) s10 r (journal) s65 1940 p (et) s12 r (d'auteurs) s 15 r 18 c( -19 r 97 c12 r (prendre) s 13 r (en) s(12 r (mots-cl) s3 r 19 c -20 r (es.) s165 2023 p (Les) so11 r (mots-cl) s3 r 19 c -20 r (es) s 12 r (sont) s)11 r (demand) sf3 r 19 c -20 r (es) s 13 r (un) s 13 r 18 ce -19 r 97 c 11 r (un) s1 11 r (\(10) sr11 r (maximum) s 11 r (en) s12 r (comptant) s4 11 r (ceux) s8 12 r (entr) ss3 r 19 c -20 r (es) s11 r (automatique-) s365 2085 p (ment\)) s12 r (jusqu') s 3 r 18 c -20 r 97 c 12 r (ce) so13 r (qu'un) s12 r (mot-cl) st3 r 19 c -20 r 101 cr 13 r (vide) s1 12 r (soit) s 13 r (entr) s 3 r 19 c -20 r 101 cr 12 r (en) sr13 r (tapant) s(cmmi10.360 @sf 13 r 60 c) t-rom.360 @sf2(CR) scmmi10.360 @sf62 c t-rom.360 @sf 15 r 18 c -19 r 97 c 12 r (la) sn13 r (question) s c-med.360 @sf65 2168 p (mot-cl) s19 c -30 r 101 c 30 r (n:) s 65 2176 p 330 2 ru t-rom.360 @sf65 2251 p (Cette) sa13 r (liste) s 12 r (est) s13 r (alors) s13 r (compar) s)3 r 19 c -20 r (ee) s 13 r (au) s 13 r (th) s3 r 19 c-20 r (esaurus.) s13 r (A\014n) su 13 r (d') ss3 r 19 c-20 r (eviter) s 12 r (au) se13 r (maximum) s12 r (l'introduction) sr 11 r (dans) s(65 2313 p (le) s 11 r (th) sr3 r 19 c-20 r (esaurus) sr 13 r (de) ss12 r (mots-cl) s3 r 19 c -20 r (es) s 13 r (mal) s11 r (orthographi) s3 r 19 c -20 r (es) s12 r (faisant) s12 r (double) s(12 r (emploi) s 12 r (avec) s0 12 r (le) s 12 r (mot-cl) s3 r 19 c -20 r 101 cs12 r (correct,) s065 2376 p (plusieurs) s 13 r (pr) s 3 r 19 c-20 r (ecautions) s 13 r (sont) s 12 r (prises:) s65 2459 p (Si) s 14 r (le) sc15 r (mot-cl) s 3 r 19 c -20 r 101 cs 14 r (entr) s3 r 19 c -20 r 101 cl15 r (n'existe) s 15 r (pas) s 15 r (dans) sc 15 r (le) s 15 r (th) s(3 r 19 c-20 r (esaurus,) s 16 r (le) s)15 r (programme) s14 r (signale) s15 r (qu'il) s15 r (s'agit) s2 14 r (d'un) sr65 2521 p (nouveau) s13 r (mot-cl) s3 r 19 c -20 r 101 ct 12 r (et) s\13 r (demande) s 13 r (si) sn 13 r (on) s 13 r 100 c3 r 19 c-20 r (esire) s( 13 r (le) sr13 r (garder) s' -2 r 46 c9 12 r (Si) sr 13 r (oui) s 12 r (il) sp 13 r (est) s13 r (ajout) s3 r 19 c -20 r 101 cs 13 r (au) s 13 r (th) sv3 r 19 c-20 r (esaurus.) s14 r (Sinon) s65 2583 p (le) s13 r (programme) s 12 r (en) s413 r (demande) s 14 r (un) s513 r (autre.) s( 13 r (Les) s 13 r 114 c3 r 18 c-20 r (egles) sr 14 r (de) sr13 r (similitude) s( 13 r (des) s14 r (mots-cl) s3 r 19 c -20 r (es,) ss 14 r (et) ss13 r (d'entr) s83 r 19 c -20 r (ee) s 13 r (de) s 65 2645 p (ceux-ci) s( 16 r (par) s 17 r (leur) s( 16 r (num) s3 r 19 c -20 r (ero) s517 r (d'ordre) s 16 r (dans) s5 17 r (le) s5 17 r (th) s 3 r 19 c-20 r (esaurus,) s18 r (s'appliquent) s5 19 r 19 c-20 r (evidemment) s 17 r (ici) s17 r (\(voir) s 16 r (le) s65 2708 p (chapitre) s12 r (GENERALITES) s 10 r (\).) s65 2791 p (On) s 14 r 97 c 14 r (alors) s 14 r (la) s214 r (possibilit) sa3 r 19 c -20 r 101 c214 r (d'ajouter) s 13 r (un) ss 14 r (ou) se14 r (plusieurs) s15 r (mots-cl) s3 r 19 c -20 r (es) s 14 r 40 cs t-bol.360 @sf65 c t-rom.360 @sf((\),) s0 14 r (de) s14 r (supprimer) s 14 r (un) s( 14 r (ou) s5 13 r (plu-) sr65 2853 p (sieurs) s15 r (mots-cl) s3 r 19 c -20 r (es) s 16 r 40 ct t-bol.360 @sf(83 c t-rom.360 @sf-(\),) ss 14 r (de) sr15 r (remplacer) s 15 r (un) sr15 r (mot-cl) s(3 r 19 c -20 r 101 c 15 r (par) s 14 r (un) s115 r (autre) s 15 r 40 cs t-bol.360 @sf 82 c t-rom.360 @sf (\),) sl 15 r (ou) sr15 r (encore) sI 15 r (de) so15 r (laisser) s16 r (l'in-) s65 2915 p (dexation) s 10 r (en) s 10 r (l') s 3 r 19 c-20 r (etat) s 10 r 40 c t-bol.360 @sf([L]) s t-rom.360 @sfs(\).) se 9 r (Les) s0 10 r 114 c3 r 18 c-20 r (egles) s. 10 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erales) s11 r (concernant) sl 11 r (les) s10 r (mots-cl) s3 r 19 c -20 r (es) s11 r (s'appliquent) s8 10 r (ici) s10 r (\(voir) s@eop20 @bop020 @bop1 t-obl.360 @sf2-59 132 p 54 c 49 r (DATE) sc 12 r (DE) s4 12 r (MISE) sr 12 r (EN) s812 r (FICHIER) s t-rom.360 @sf2 1164 r (20) s(65 277 p (le) sm13 r (chapitre) sE14 r (GENERALITES\)) s -1 r 46 c8 13 r (Apr) s3 r 18 c -20 r (es) s14 r (chaque) s614 r (modi\014cation,) s 14 r (le) s)13 r (choix) s 14 r (est) s 14 r (de) si14 r (nouveau) s 14 r (donn) s 3 r 19 c -20 r (e,) s65 339 p (de) s 12 r (telle) s13 r (sorte) s 13 r (que) s 12 r (l'on) s012 r (termine) s13 r (toujours) s( 12 r (une) s13 r (\014che) s 12 r (en) s\ 13 r (la) s513 r (laissant) s 13 r (en) s 13 r (l') s)3 r 19 c-20 r (etat.) sa t-bol.510 @sf 65 530 p 54 cu 71 r (Date) s 18 r (de) sr 19 r (mise) s) 17 r (en) s419 r (\014chier) s t-rom.360 @sf(65 664 p (La) sr 9 r (date) s10 r (d'entr) s 3 r 19 c -20 r (ee) s 9 r (de) s 10 r (la) st10 r (\014che) s 10 r (\(en) s69 r (anglais\)) s1 10 r (et) ss 10 r (le) s0 10 r (num) s3 r 19 c -20 r (ero) s9 r (d'utilisateur) sr 9 r (de) s 10 r (la) s 10 r (personne) s310 r (ayant) s 10 r (entr) s)3 r 19 c -20 r 101 c(65 727 p (la) s212 r (\014che) s 13 r (sont) s 13 r 109 c3 r 19 c-20 r (emoris) s3 r 19 c -20 r (es.) s0 13 r (Ils) s13 r (apparaissent) s3 13 r (sur) s 13 r (les) s13 r (listings.) s t-bol.510 @sfe 65 917 p 55 c4 71 r 86 c4 r 19 c-28 r (eri\014cation) s 20 r (des) s18 r (doublons) s5 t-rom.360 @sf65 1052 p (Ensuite,) s11 r (avant) s 12 r (d') sc3 r 94 c-20 r (etre) s 10 r 100 c3 r 19 c-20 r (e\014nitivement) s 11 r (ins) s3 r 19 c -20 r (er) s3 r 19 c -20 r (ee) s 12 r (dans) s9 12 r (le) so11 r (\014chier) s -1 r 44 c3 11 r (le) s)11 r (programme) s 11 r 118 c3 r 19 c-20 r (eri\014e) s 11 r (que) s11 r (celle-) s.65 1114 p (ci) s17 r (n'existe) s 18 r (pas) s 18 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r (a,) s18 r (a\014n) s 18 r (d') s03 r 19 c-20 r (eviter) s 17 r (les) s18 r (doublons.) s18 r (Cette) s 18 r 118 c3 r 19 c-20 r (eri\014cation) s 17 r (se) s) 19 r (fait) s 17 r (sur) s 17 r (la) sn 18 r (base) s 18 r (des) s65 1176 p (auteurs) s8 14 r (et) s 13 r (de) s( ~ BIBLIO.BCK,yMdw[DANA.BIBLIO.DOC]BIBLIO.PS;2C;1|~|14 r (la) sr 14 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s14 r (proprement) sr 13 r (dite) s14 r (\(volume,) s13 r (pages,) s 15 r (ann) s3 r 19 c-20 r (ee\).) s 15 r (Si) sr 13 r (une) s14 r (\014che) s 14 r 114 c3 r 19 c-20 r (epondant) s67 1239 p 18 c -19 r 97 c 12 r (ces) s 14 r (crit) sp3 r 18 c-20 r (eres) s13 r (existe) s0 13 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r (a,) s 14 r (elle) sr 13 r (est) s13 r (montr) s3 r 19 c -20 r (ee) s 13 r (sur) s 13 r (l') s3 r 19 c-20 r (ecran) s)12 r (a\014n) s5 13 r (de) s 13 r 118 c3 r 19 c-20 r (eri\014er) s 12 r (qu'il) s12 r (s'agit) ss 13 r (bien) s) 13 r (de) s 13 r (la) s65 1301 p 109 c53 r 94 c-20 r (eme.) s 13 r (Si) s 12 r (oui,) s) 13 r (la) s 12 r (nouvelle) s713 r (n'est) s 13 r (pas) s13 r (prise) s 13 r (en) s12 r (compte,) s14 r (sinon,) sn 13 r (elle) sc 13 r (est) s13 r (ajout) s3 r 19 c -20 r (ee) s 13 r (au) s412 r (\014chier) s -2 r 46 c765 1384 p (En\014n) sc 11 r (on) ss13 r (obtient) s 12 r (la) se13 r (possibilit) s 3 r 19 c -20 r 101 cu 13 r (de) sr13 r (continuer) s 12 r (avec) s6 13 r (une) s13 r (nouvelle) s613 r (\014che,) s( 13 r (ou) s( 12 r (bien) s(13 r (d'arr) s3 r 94 c-20 r (eter) s -2 r 46 cs@eop21 @bop021 @bop1 t-obl.360 @sf -59 132 p 50 c49 r (CORRECTION) s( 13 r (DE) s012 r (FICHES) s(12 r (EXISTANTES) ss t-rom.360 @sf2 894 r (21) s t-bol.600 @sfs81 298 p (MODIFICA) so-5 r (TION/CORRECTION) s 21 r (DU) sr21 r (FICHIER) s t-rom.360 @sf(65 789 p (Le) s)9 r (sous-menu) s 10 r (permettant) s( 9 r (la) s"10 r (modi\014cation/correction) s 9 r (du) s9 r (\014chier) s 9 r (doit) s 12 r 94 c-20 r (etre) s10 r (utilis) s 3 r 19 c -20 r 101 c 10 r (pour) s 9 r (corriger) s65 852 p (ou) s 14 r (supprimer) s 14 r (des) s16 r (\014ches) s15 r (biblioraphiques) s 15 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c 14 r (entr) s3 r 19 c -20 r (ees) sa 16 r (dans) se 15 r (le) s(14 r (\014chier) s -2 r 46 cs14 r (Seuls) s 15 r (les) s16 r (utilisateurs) s(65 914 p (poss) sc3 r 19 c-20 r (edant) s 13 r (les) s13 r (droits) st 13 r (de) s212 r (modi\014cation) s1 13 r (du) s 12 r (\014chier) s12 r (peuvent) s 13 r 121 c13 r (avoir) s 12 r (acc) s3 r 18 c -20 r (es.) s- t-bol.510 @sfC65 1104 p 50 c 71 r (Corr) so (ection) s 19 r (de) s118 r (\014ches) s 19 r (existantes) s t-rom.360 @sf65 1239 p (Cette) ss13 r (fonction) s12 r (permet) s5 12 r (de) s 13 r (corriger) s12 r (et/ou) s 13 r 114 c3 r 19 c-20 r (eindexer) s 12 r (des) s13 r (\014ches) s9 14 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c 12 r (entr) ss3 r 19 c-20 r (ees.) s 14 r (On) s9 13 r (doit) se12 r (indiquer) s65 1301 p (le) s 10 r (num) s3 r 19 c -20 r (ero) s( 10 r (de) sl 10 r (la) sh11 r (\014che) s 13 r 18 cs -20 r 97 c10 r (corriger) sc -2 r 46 c910 r (Cette) s10 r (\014che) s 11 r (est) s 11 r (pr) sc3 r 19 c-20 r (esent) sn3 r 19 c -20 r (ee) s 11 r (sur) s 10 r (l') sc3 r 19 c-20 r (ecran) so 13 r 18 c -20 r 97 c10 r (\014n) s 10 r (de) s 11 r 118 c3 r 19 c-20 r (eri\014cation.) s 10 r (La) st65 1364 p (possibilit) s3 r 19 c -20 r 101 c5 14 r (est) s14 r (ensuite) s 14 r (donn) s 3 r 19 c -20 r (ee) s 15 r (de) s 13 r (corriger) sl 13 r (ou) ss 14 r (non) s 14 r (le) s(14 r (libell) se3 r 19 c -20 r 101 c 13 r (de) se 14 r (la) s614 r (\014che.) sr 15 r (En) s4 13 r (ce) ss 14 r (qui) s14 r (concerne) s265 1426 p (les) s511 r (corrections,) s3 11 r (on) s 10 r (se) s212 r (reportera) s 10 r (au) se10 r (chapitre) s 11 r (pr) s 3 r 19 c -20 r (ec) s3 r 19 c-20 r (edent,) s 11 r (la) sa11 r (correction) s 10 r (se) s11 r (faisant) s 11 r (via) s11 r (BIBEDIT) s -3 r 44 c 65 1488 p (donc) s 11 r (l') s3 r 19 c-20 r (editeur) s 11 r (de) s12 r (votre) s11 r (choix,) s 12 r (dans) s) 12 r (un) s 12 r (\014chier) s11 r (temporaire) s( t-bol.360 @sfr 11 r (pr) sr(e\014che.tmp) s t-rom.360 @sfr 10 r 100 c3 r 19 c-20 r (ecrit) s3 12 r (en) s411 r (\014gure) s 11 r 53 c 12 r (et) sr65 1550 p (6.) s65 1633 p (Cette) s210 r (fonction) se 9 r (donne) s 13 r 19 c(-20 r (egalement) s( 11 r (la) sr10 r (possibilit) s23 r 19 c -20 r 101 cr 10 r (de) s(10 r (modi\014er) s59 r (l'indexation) s10 r (d'une) s10 r (\014che.) sl10 r (Lorsque) s65 1696 p (la) s16 r (\014che) s 16 r (est) s16 r (consid) se3 r 19 c -20 r (er) s3 r 19 c -20 r (ee) s17 r (comme) s16 r (correcte,) s 16 r (la) s416 r (liste) s 17 r (des) s16 r (mots-cl) s3 r 19 c -20 r (es) s 17 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c16 r (annex) s3 r 19 c -20 r (es) s 20 r 18 cs -20 r 97 c 16 r (la) ss16 r (\014che) s 16 r (est) s65 1758 p (pr) s3 r 19 c-20 r (esent) sn3 r 19 c -20 r (ee.) s( 15 r (On) s2 15 r 97 cr14 r (alors) s 15 r (la) s915 r (possibilit) sr3 r 19 c -20 r 101 c15 r (d'ajouter) s 13 r (un) s4 15 r (ou) s514 r (plusieurs) s15 r (mots-cl) s3 r 19 c -20 r (es) s 15 r 40 c t-bol.360 @sf465 c t-rom.360 @sfr(\),) sr 15 r (de) s.14 r (supprimer) s65 1820 p (un) s 9 r (ou) s9 r (plusieurs) s 9 r (mots-cl) s3 r 19 c -20 r (es) s 10 r 40 c5 t-bol.360 @sfo83 c t-rom.360 @sf0(\),) s 9 r (de) s9 r (remplacer) sr 9 r (un) s9 r (mot-cl) s3 r 19 c -20 r 101 c\ 9 r (par) sL 9 r (un) s 9 r (autre) sc9 r 40 c t-bol.360 @sf182 c t-rom.360 @sf (\),) s 9 r (ou) s10 r (encore) sr 9 r (de) s9 r (laisser) ss65 1882 p (l'indexation) s 13 r (en) ss 13 r (l') sl3 r 19 c-20 r (etat) s 13 r 40 cr t-bol.360 @sf@([L]) s@ t-rom.360 @sf (\).) s 13 r (Les) s 14 r 114 c3 r 18 c-20 r (egles) s 13 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erales) s15 r (concernant) s 13 r (les) s14 r (mots-cl) s3 r 19 c -20 r (es) s14 r (s'appliquent) s 14 r (ici) s65 1945 p (\(voir) s 16 r (le) si17 r (chapitre) s)17 r (GENERALITES\)) s -1 r 46 cr 16 r (Apr) s3 r 18 c -20 r (es) s17 r (chaque) s218 r (modi\014cation,) s 17 r (le) sl18 r (choix) s 17 r (est) s 17 r (de) s'18 r (nouveau) s65 2007 p (donn) s3 r 19 c -20 r (e,) s 13 r (de) ss12 r (telle) s13 r (sorte) s 13 r (que) s 12 r (l'on) s12 r (termine) s13 r (toujours) s. 12 r (une) s13 r (\014che) s 13 r (en) sa 12 r (la) s(13 r (laissant) s 13 r (en) s 13 r (l') s43 r 19 c-20 r (etat.) s565 2090 p (Il) s 10 r (est) s 14 r 18 c -19 r 97 c11 r (noter) s 11 r (que) s 11 r (la) s0 11 r (date) s 11 r (et) s6 12 r (le) ss 11 r (num) s3 r 19 c -20 r (ero) sr10 r (d'utilisateur) s11 r (retenus) s 12 r (sur) s 11 r (la) ss11 r (\014che) s11 r (correspondent) s 14 r 18 c0 -20 r 97 c 12 r (ceux) s 65 2152 p (de) s 12 r (la) sr13 r (derniere) s(12 r (correction) s 12 r (ou) s 13 r (indexation) sc 12 r (de) s 13 r (la) s)13 r (\014che.) se65 2235 p (Ensuite) s3 12 r (on) s313 r (obtient) s 12 r (la) se13 r (possibilit) sr3 r 19 c -20 r 101 c 13 r (de) sn12 r (continuer) s 13 r (avec) s 13 r (une) s12 r (nouvelle) ss13 r (\014che,) sn 13 r (ou) s' 13 r (bien) s12 r (d'arr) s3 r 94 c-20 r (eter) s -2 r 46 ci t-bol.510 @sfr65 2426 p 51 c71 r (Elimination) s 18 r (de) se18 r (\014ches) s9 t-rom.360 @sf65 2560 p (Cette) s113 r (fonction) s 13 r (permet) sm 13 r (de) s8 t-ita.360 @sf213 r (supprimer) s 15 r (une) s 13 r (ou) s.13 r (plusieurs) s14 r (\014ches) s t-rom.360 @sf8 14 r (du) s 13 r (\014chier) s -2 r 46 c2 13 r (On) s8 13 r (doit) s13 r (indiquer) s9 13 r (le) si65 2623 p (num) ss3 r 19 c -20 r (ero) sr 12 r (de) s8 14 r (la) s 13 r (\014che) s 16 r 18 c -20 r 97 c 16 r 19 ca-20 r (eliminer) s -2 r 46 c 13 r (Celle-ci) s 13 r (est) s13 r (ensuite) s 14 r (pr) st3 r 19 c-20 r (esent) sa3 r 19 c -20 r (ee) s 14 r (pour) ss 13 r 118 c3 r 19 c-20 r (eri\014cation) s 12 r (et) se14 r (con\014rma-) s65 2685 p (tion.) s 12 r (Si) s 12 r (la) s 12 r (demande) s 12 r (est) s13 r (con\014rm) s3 r 19 c -20 r (ee,) s9 12 r (la) so12 r (\014che) s 13 r (se) s 12 r (voit) s)12 r (attribuer) s12 r (l'attribut) s) 11 r ('K') s11 r (\(pour) sc11 r ("killed"\),) s 13 r (et) s65 2747 p (ne) s 12 r (sera) sr 13 r (plus) s(13 r (accessible.) s 15 r 78 ct3 r 19 c-20 r (eanmoins,) s4 14 r (elle) s313 r (n'est) s 13 r (pas) s13 r (physiquement) st13 r (supprim) s3 r 19 c -20 r (ee) s 13 r (du) s(13 r (\014chier) s12 r (a\014n) ss65 2809 p (de) s 12 r (ne) s) 13 r (pas) s13 r (avoir) s 12 r (de) s13 r (probl) s3 r 18 c-20 r (emes) s 13 r (avec) sr 13 r (la) sr 13 r (num) s3 r 19 c-20 r (erotation) s 12 r (des) s13 r (\014ches.) s@eop22 @bop022 @bop1 t-obl.360 @sf3-59 132 p 52 c49 r (MODIFICATION) sr 12 r (DES) s 12 r (ABR) s614 122 p 19 c"603 132 p (EVIATIONS/AUTEURS-CL) s1205 122 p 19 cr1197 132 p (ES) s2 t-rom.360 @sf 554 r (22) s t-bol.510 @sfg 65 289 p 52 ci71 r (Modi\014cation) sr 19 r (des) s 18 r (Abr) s4 r 19 c-28 r (eviations/Auteur) s 1 r (s-cl) s4 r 19 c -28 r (es) s t-rom.360 @sf365 423 p (Cette) s16 r (fonction) s)15 r (permet) s 15 r (de) s) t-ita.360 @sf, 16 r (cr) sl3 r 19 c -20 r (eer) sr -5 r 44 c17 r (modi\014er) ss -5 r 44 c 16 r (et/ou) s15 r (obtenir) s 16 r (la) sE15 r (liste) s 16 r (des) s 16 r (abr) s3 r 19 c-20 r (eviations) s 17 r (des) s16 r (jour-) s65 485 p (naux) so t-rom.360 @sfr44 c16 r (ainsi) s 15 r (que) s16 r (celle) s 16 r (des) s t-ita.360 @sf2 16 r (noms) s316 r (d'auteurs) s t-rom.360 @sf) 16 r (qui) s15 r (seront) s16 r (automatiquement) s15 r (consid) s93 r 19 c -20 r (er) s3 r 19 c -20 r (es) s17 r (comme) s65 547 p (des) s t-ita.360 @sf213 r (mots-cl) s3 r 19 c -20 r (es) s t-rom.360 @sfC46 c65 630 p (Le) s 19 r (programme) s19 r (commence) s5 21 r (par) s20 r (sortir) s 19 r (la) sm20 r (liste) s 20 r (des) s20 r (auteurs) s 23 r 18 c -19 r 97 c20 r (consid) s 3 r 19 c-20 r (erer) s20 r (automatiquement) s65 692 p (comme) s 19 r 19 c-19 r (etant) s 17 r (des) s17 r (mots-cl) s3 r 19 c -20 r (es) s 18 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c17 r (existants,) sc 18 r (puis) s18 r (donne) s 17 r (la) sn17 r (possibilit) s 3 r 19 c -20 r 101 c 17 r (d') s t-ita.360 @sfh (Ajouter) s4 t-rom.360 @sfl44 c t-ita.360 @sf617 r (Modi\014er) s t-rom.360 @sf 44 c t-ita.360 @sfe65 755 p (Supprimer) s t-rom.360 @sft 12 r (ou) s2 t-ita.360 @sf411 r (Quitter) s t-rom.360 @sf046 c 12 r (Si) se 11 r (l'on) s111 r (choisit) s12 r (l'option) s 10 r (d'Ajouter) s -1 r 44 c1 10 r (il) s011 r (demande) s 12 r (le) so 11 r (nom) s 11 r (d'un) s411 r (auteur) sx -2 r 46 c 11 r (Si) ss65 817 p (le) st13 r (choix) s13 r (porte) s 12 r (sur) s 13 r (la) s13 r (Modi\014cation) s( 14 r (ou) sr 13 r (la) s913 r (Suppression,) s14 r (c'est) s 13 r (le) s 13 r (num) s3 r 19 c -20 r (ero) s 13 r (du) s 13 r (nom) s13 r (d'auteur) s 12 r (qui) s65 879 p (est) s14 r (demand) sr3 r 19 c -20 r (e.) s15 r (Con\014rmation) s 13 r (est) s14 r (demand) se3 r 19 c -20 r (ee) s 15 r (dans) s3 14 r (les) s 15 r 50 cr 14 r (cas.) s 15 r (Le) s0 13 r (nom) s 14 r (peut) ss14 r (avoir) s 13 r (18) s14 r (caract) se3 r 18 c-20 r (eres) s65 941 p (maximum.) s0 13 r (Il) s 14 r (doit) se 16 r 94 c3-20 r (etre) s 13 r (donn) s43 r 19 c -20 r 101 cr 14 r (sous) sc15 r (forme) s13 r (compl) s3 r 18 c-20 r (ete,) s 14 r 109 c3 r 94 c -20 r (eme) sr 14 r (si) sr14 r (seuls) s 14 r (les) s 14 r (12) s 14 r (premiers) s 14 r (servent) s65 1004 p (dans) s 13 r (le) s12 r (mot-cl) sr3 r 19 c -20 r (e.) s65 1086 p (Ensuite) s 13 r (le) s 14 r (programme) s 14 r (sort) s4 14 r (la) ss14 r (liste) s 14 r (des) s 14 r (abr) s3 r 19 c-20 r (eviations) s 15 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c14 r (existantes,) s 15 r (puis) s 15 r (donne) s 14 r (la) s 14 r (possibi-) st65 1148 p (lit) s3 r 19 c -20 r 101 c0 12 r (d') s1 t-ita.360 @sf (Ajouter) s t-rom.360 @sfs44 c t-ita.360 @sf 13 r (Modi\014er) s t-rom.360 @sf244 c t-ita.360 @sfr14 r (Supprimer) s t-rom.360 @sfi 14 r (ou) s( t-ita.360 @sf(12 r (Quitter) s t-rom.360 @sf(46 c 14 r (Si) so13 r (l'option) sr12 r (Ajouter) s 12 r (est) s14 r (choisie,) s 14 r (il) s 12 r (demande) s65 1211 p (d'abord) se 13 r (le) s 15 r (nom) s 14 r (du) s 15 r (journal) s 14 r (tel) s14 r (qu'on) s 14 r 100 c3 r 19 c-20 r (esire) sa 15 r (le) s1 14 r (voir) sr 14 r (para) s294 c-17 r (\020tre) s 14 r (sur) s 15 r (les) s15 r (\014ches,) s 16 r (puis) s( 14 r (la) sr15 r (nouvelle) sr65 1273 p (abr) s93 r 19 c-20 r (eviation) s15 r (correspondante.) s 16 r (Si) sc 15 r (le) ss15 r (choix) s15 r (porte) s 15 r (sur) s 15 r (la) ss15 r (modi\014cation) st 15 r (ou) se 16 r (la) so15 r (suppression,) s 17 r (c'est) s65 1335 p (le) s 16 r (num) s3 r 19 c -20 r (ero) s( 17 r (de) s 17 r (l'abr) s3 r 19 c-20 r (eviation) s 16 r (qui) s 17 r (est) s17 r (demand) s53 r 19 c -20 r (e.) s18 r (Con\014rmation) s9 16 r (est) s18 r (demand) s23 r 19 c -20 r (ee) s 17 r (dans) s 18 r (les) s 17 r 50 c 17 r (cas.) s 65 1398 p 76 c -4 r ('abr) sr3 r 19 c-20 r (eviation) s13 r (proprement) so 14 r (dite) s9 15 r (peut) ss14 r (avoir) s 15 r 57 c414 r (caract) s 3 r 18 c-20 r (eres) s16 r (maximum,) s) 15 r (et) s 15 r (le) so 14 r (nom) s 15 r (du) s 15 r (journal) s 14 r (36) s 65 1460 p (caract) s3 r 18 c-20 r (eres) s13 r (maximum.) s65 1542 p 65 c 10 r (la) sr10 r (\014n) s 9 r (la) s11 r (liste) s 10 r (des) s 11 r (abr) s3 r 19 c-20 r (eviations,) s10 r (ainsi) s 11 r (que) s10 r (celle) s 10 r (des) s11 r (auteurs) s 10 r (qui) s10 r (seront) s11 r (automatiquement) s 10 r (mis) s65 1605 p (en) s12 r (mots-cl) s3 r 19 c -20 r (es.) s6 14 r (sont) s@13 r (montr) s3 r 19 c -20 r (ees) s 15 r 18 c -19 r 97 c 12 r (l') s 3 r 19 c-20 r (ecran) s 13 r (et) s 12 r (envoy) s3 r 19 c -20 r (ees) s 14 r (sur) s12 r (l'imprimante) s 12 r (\(\014chier) s t-bol.360 @sfe 12 r (bib) s 3 r 15 2 ru4 14 r (abr) s(ev) s -2 r (.lst) sh t-rom.360 @sfr46 c t-bol.510 @sf165 1794 p 53 c71 r (Liste) s 17 r (des) s18 r (\014ches) s t-rom.360 @sfa65 1928 p (Cette) sl11 r (option) s11 r (permet) sr10 r (d'obtenir) s 11 r (un) s0 t-ita.360 @sf 10 r (listing) s11 r (complet) s 12 r (ou) ss10 r (partiel) s 12 r (du) s11 r (\014chier) s t-rom.360 @sf344 c 12 r (dans) sr11 r (l'ordre) s10 r (d'entr) sn3 r 19 c -20 r (ee) s65 1991 p (des) sr13 r (\014ches.) s65 2073 p (Le) s13 r (programme) s13 r (demande) s 15 r (le) s1 13 r (num) s3 r 19 c -20 r (ero) s( 14 r (de) s( 14 r (la) s(14 r (premiere) s 13 r (\014che) s 17 r 18 cs -20 r 97 c14 r (sortir) s0 -1 r 44 cs 13 r (puis) s(14 r (celui) s 14 r (de) sr 14 r (la) sr14 r (derni) s3 r 18 c-20 r (ere.) s65 2135 p (Pour) s13 r (simpli\014er) s -1 r 44 c2 13 r (les) s15 r (valeurs) s 14 r (par) s 14 r 100 c3 r 19 c-20 r (efaut) s 14 r (sont:) s 15 r (de) s) 14 r (la) sh 14 r 49 c23 r 18 c -20 r (ere) s( 17 r 18 cr -20 r 97 c 15 r (la) se14 r (derni) s3 r 18 c -20 r (ere) s014 r (\014che.) s 15 r (La) se13 r (sortie) s 15 r (se) s) 14 r (fait) sl65 2198 p (au) s12 r (choix) s 13 r (sur) s13 r (l'imprimante) ss11 r (\(par) s 12 r 100 c3 r 19 c-20 r (efaut\)) s5 13 r (ou) s 12 r (sur) s 13 r (l') s(3 r 19 c-20 r (ecran,) s 13 r (ou) s12 r (encore) se 13 r (sur) s 13 r (les) s 13 r (2.) sm 13 r (Le) s813 r (\014chier) s12 r (d'im-) s65 2260 p (primante) s12 r (porte) s13 r (comme) s 13 r (nom) s 13 r (les) s 14 r (num) s3 r 19 c-20 r (eros) s 13 r (des) s 14 r 49 cr3 r 18 c -20 r (ere) sr 13 r (et) se13 r (derni) s3 r 18 c -20 r (ere) s 13 r (\014ches) s 14 r (\(ex:) s t-bol.360 @sf) 12 r (125) s 3 r 15 2 ru 15 r 97 c 3 r 15 2 rue15 r (250.lst) s t-rom.360 @sf 14 r (sur) s65 2322 p (l'imprimante\).) s t-bol.510 @sf265 2512 p 54 c71 r (Modi\014cation) s4 19 r (des) s18 r (mots-Cl) s4 r 19 c -28 r (es) s t-rom.360 @sf65 2646 p (Cette) s 13 r (fonction) s12 r (permet) sr 12 r (de) ss t-ita.360 @sf 13 r (Corriger) ss t-rom.360 @sf44 c t-ita.360 @sfv 15 r (Regr) se-1 r (ouper) s t-rom.360 @sf 12 r (ou) ss t-ita.360 @sfr13 r (Supprimer) s t-rom.360 @sf9 13 r (un) so 13 r (ou) s212 r (plusieurs) s13 r (mots-cl) s3 r 19 c -20 r (es.) s. t-bol.360 @sf365 2728 p (Corriger) s t-rom.360 @sf(13 r (permet) s) 12 r (de) s 13 r (modi\014er) sT 12 r (le) sC12 r (libell) s13 r 19 c -20 r 101 c2 13 r (d'un) s 12 r (mot-cl) s-3 r 19 c -20 r (e.) s t-bol.360 @sfi65 2811 p (Regr) s (ouper) s8 t-rom.360 @sf 8 r (permet) s 9 r (de) s9 r (mettre) s 9 r (dans) s 9 r (un) s9 r (mot-cl) s3 r 19 c -20 r 101 c69 r (unique) s 9 r (les) st9 r (\014ches) s10 r (index) s3 r 19 c -20 r (ees) s 10 r (par) s9 r (plusieurs) s( 9 r (mots-) s65 2873 p (cl) s3 r 19 c -20 r (es.) ss 12 r (Le) sE10 r (programme) s10 r (demande) s 12 r (en) s911 r (premier) s 10 r (le) s(11 r (mot-cl) sr3 r 19 c -20 r 101 co 10 r (qui) s11 r (recevra) s11 r (l'ensemble) s 11 r (des) s12 r (\014ches,) s 12 r (puis) sr65 2936 p (les) s'10 r (mots-cl) s3 r 19 c -20 r (es) s 11 r (qui) s10 r (verront) s 9 r (leur) s10 r (\014ches) s 11 r (index) s3 r 19 c -20 r (ees) ss 13 r 19 cm-19 r (egalement) ss 10 r (par) s 10 r (ce) ss11 r (mot-cl) s3 r 19 c -20 r 101 c 9 r (global.) s0 11 r (Ces) s11 r (derniers) s9@eop23 @bop023 @bop1 t-obl.360 @sft-59 132 p 55 c49 r (ADJONCTION) s 13 r (DE) s12 r (SUPER) s12 r (MOTS-CL) s821 122 p 19 c811 132 p (ES) s t-rom.360 @sfs 940 r (23) s65 277 p (mots-cl) s3 r 19 c -20 r (es) s 15 r (ne) s 15 r (sont) ss 16 r (pas) s15 r (supprim) s3 r 19 c -20 r (es,) s 16 r (et) s 15 r (continuent) s 15 r (d'indexer) s 15 r (les) s15 r (\014ches) so16 r (ayant) s 18 r 19 c( -20 r (et) s3 r 19 c -20 r 101 c 15 r (regroup) s3 r 19 c-20 r (ees.) s65 339 p (Les) s12 r (\014ches) s6 13 r (ne) s0 13 r (sont) s. 13 r (pas) s 13 r 100 c3 r 19 c-20 r (esindex) s3 r 19 c-20 r (ees.) s t-bol.360 @sfs65 422 p (Supprimer) s t-rom.360 @sf6 15 r (un) s 16 r (mot-cl) s13 r 19 c -20 r (e,) s 16 r (au) s 17 r (contraire,) s 16 r (le) s0 16 r (fait) sr16 r (virtuellement) s16 r (dispara) s94 c-17 r (\020tre) se 16 r (de) s4 16 r (la) si17 r (liste) s 16 r (les) s 17 r (mots) s(65 485 p (cl) su3 r 19 c -20 r (es.) s( 13 r (En) sn11 r (fait,) s 13 r (il) s 12 r (ne) sp12 r (disparait) s 12 r (pas) s13 r (physiquement) s 12 r (de) s 13 r (la) s312 r (liste,) s( 13 r (mais) s' 12 r (est) s 13 r (mis) s12 r (entre) s12 r (parenth) s3 r 18 c-20 r (eses,) sr 14 r (et) si65 547 p (donc) ss 8 r (n'a) sd 9 r (plus) s 9 r (le) s 9 r 109 ca3 r 94 c -20 r (eme) sr9 r (libell) s3 r 19 c -20 r 101 c3 9 r (que) s49 r (l'original,) sv 8 r (alors) s8 9 r (qu'il) sa 8 r (garde) sc 9 r (le) s 9 r 109 c13 r 94 c -20 r (eme) sl 9 r (num) so3 r 19 c-20 r (ero.) s 9 r (Si) s 8 r (le) s 9 r (num) s23 r 19 c -20 r (ero) sc65 609 p (d'un) s315 r (mot-cl) s 3 r 19 c -20 r 101 c415 r (supprim) s3 r 19 c -20 r 101 c( 16 r (est) s 16 r 114 c3 r 19 c-20 r (eclam) s43 r 19 c -20 r (e,) s 16 r (le) s516 r (mot-cl) s3 r 19 c -20 r 101 c-15 r (appara) s94 c-17 r (\020tra) sE 15 r (avec) sr 16 r (ses) s17 r (parenth) s3 r 18 c-20 r (eses,) s17 r (montrant) sr65 672 p (ainsi) s 14 r (son) s14 r (statut) s 14 r (de) sc14 r (mot-cl) s 3 r 19 c -20 r 101 c 13 r (supprim) s3 r 19 c -20 r (e.) s15 r (Evidemment,) s 14 r (les) s14 r (\014ches) s1 14 r (pr) s3 r 19 c -20 r (ec) s3 r 19 c-20 r (edemment) s14 r (index) s3 r 19 c -20 r (ees) st 15 r (par) s65 734 p (lui) s 15 r (ne) ss 15 r (sont) s. 16 r (pas) s 16 r 100 c3 r 19 c-20 r (esindex) s 3 r 19 c-20 r (ees,) s 17 r (ce) s- 16 r (qui) s 15 r (fait) s 15 r (qu'il) s 15 r (est) s16 r (possible) ss 16 r (de) sh16 r (revenir) s 15 r (en) s( 16 r (arri) s13 r 18 c -20 r (ere) s( 14 r (et) s( 16 r (de) s(15 r (faire) s65 796 p 114 c3 r 19 c-20 r (eappara) s194 c-17 r (\020tre) si 12 r (le) s(12 r (mot-cl) sr3 r 19 c -20 r 101 c4 13 r (en) s2 12 r (en) sr13 r (modi\014ant) s 12 r (son) s13 r (libell) ss3 r 19 c -20 r 101 cr13 r (\(suppression) s 13 r (des) s13 r (parenth) s3 r 18 c-20 r (eses\).) se t-bol.510 @sf 65 987 p 55 cs71 r (Adjonction) sr 19 r (de) s518 r (Super) s20 r (mots-cl) s4 r 19 c -28 r (es) s t-rom.360 @sfa65 1121 p (Cette) so15 r (option) ss14 r (permet) sl 14 r (de) su 15 r (cr) sc3 r 19 c -20 r (eer) se 14 r (des) s t-ita.360 @sfc16 r (super) s15 r (mots-cl) s3 r 19 c -20 r (es) s t-rom.360 @sf946 c 16 r (On) s815 r (appelle) s15 r (super) s15 r (mots-cl) s3 r 19 c -20 r (es) s 15 r (un) ss14 r (mot-cl) ss3 r 19 c -20 r 101 c.65 1183 p (qui) sc10 r (commence) s 12 r (par) s 10 r (un) s 11 r (+,) se 11 r (et) s( 11 r (qui) s 11 r (repr) sr3 r 19 c-20 r (esente) s 11 r (lui) s 11 r 109 c3 r 94 c -20 r (eme) su 11 r (une) s11 r (combinaison) s11 r (logique) s 11 r (de) sr11 r (mots-cl) s3 r 19 c -20 r (es,) sc65 1246 p (normaux) se 8 r (ou) s8 r (supers.) s5 10 r (Le) s9 r (programme) s(8 r (demande) s)9 r (d'abord) ss 8 r (un) s 8 r (nom) s) 9 r (pour) s 8 r (ce) s 9 r (super) s( (-mot-cl) sr3 r 19 c -20 r 101 cs 7 r (\(le) s9 r 43 c 8 r (est) sr65 1308 p 100 ce3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c 14 r (mis) s 15 r (en) s(15 r (place) s15 r (automatiquement\),) so 15 r (puis) so 15 r (les) s15 r (mots-cl) s3 r 19 c -20 r (es) s 15 r (et) s 15 r (leur) s 14 r (combinaison) s15 r (logique) s 14 r (\(ET) s2 -3 r 44 c 65 1370 p (OU,) sr18 r (NON\).) s 18 r (Par) s17 r (exemple,) s 18 r (on) si18 r (pourrait) s 17 r 100 c3 r 19 c-20 r (e\014nir) s 17 r (le) s618 r (super) s17 r (mot-cl) sc3 r 19 c -20 r 101 c(18 r (+HUMAIN) s18 r (comme) s 21 r 19 c5-20 r (etant) sl65 1432 p (HOMME) s1 17 r (OU) sr17 r (FEMME) s 17 r (OU) sn 17 r (ENF) s -3 r (ANT) s 15 r (OU) s117 r (FILLE) s 15 r (OU) s17 r (GARCON) s 18 r (OU) s17 r (VIEILLARD) s 16 r (OU) s365 1495 p (ADOLESCENT) s 12 r (OU) ss 15 r (BEBE) s 14 r (NON) s14 r (ANIMAL.) s 15 r (On) sr14 r (trouvera) ss 13 r (plus) s) 15 r (de) sg 14 r 100 c3 r 19 c-20 r (etails) s 15 r (sur) s 14 r (les) s15 r (relations) s65 1557 p (bool) s3 r 19 c-20 r (eennes) s 13 r (dans) sr 13 r (le) s 13 r (chapitre) s 12 r (suivant,) sr14 r (concernant) su 13 r (la) se12 r (recherche) s 13 r (des) s13 r (\014ches) se 13 r (par) s13 r (mots-cl) s3 r 19 c -20 r (es.) s4 t-bol.510 @sf)65 1747 p 56 c71 r (Initialisation) s1 16 r (d'un) s19 r (nouveau) s20 r (\014chier) s t-rom.360 @sf(65 1882 p (Cette) s 19 r (fonction) s 18 r (permet) s2 19 r (de) sr 19 r (cr) sr3 r 19 c -20 r (eer) s 18 r (une) s19 r (nouvelle) s519 r (structure) s 19 r (avec) s( 19 r (les) s 19 r 56 c519 r (\014chiers) s(19 r (constituant) s 19 r (le) sr65 1944 p (\014chier) ss8 r (bibliographique.) s 8 r (Le) s 8 r 114 c(3 r 19 c-20 r (epertoire) s 8 r (dans) s9 r (lequel) s8 r (seront) s 9 r (rang) s3 r 19 c -20 r (es) s 9 r (ces) s(9 r (\014chiers) s t-bol.360 @sfe 8 r (doit) s8 r (exister) s 9 r (pr) s3 r 19 c -20 r (e-) s65 2006 p (alablement) s t-rom.360 @sfr44 c 12 r (par) s 14 r 115 c3 r 19 c-20 r (ecurit) s3 r 19 c -20 r (e.) s 14 r (Elle) se13 r (permet) s13 r (d'initialiser) s 13 r (un) sh13 r (\014chier) s13 r (bibliographique) s13 r (personnel.) s 14 r (Il) s 65 2069 p (s'agit) s 9 r (d'une) s610 r (commande) ss10 r (dangereuse) sa 10 r (car) s 10 r (elle) s5 10 r 100 c3 r 19 c-20 r (etruit) s 9 r (tout) s9 r (\014chier) s 10 r (pr) s 3 r 19 c-20 r (eexistant) s 10 r (dans) s3 10 r (le) s 10 r 114 c3 r 19 c-20 r (epertoire) s665 2131 p (demand) s3 r 19 c -20 r (e.) s13 r (Plusieurs) s13 r (con\014rmations) s 12 r (sont) s 13 r 114 c3 r 19 c-20 r (eclam) sr3 r 19 c-20 r (ees.) s@eop24 @bop024 @bop1 t-obl.360 @sfl-59 132 p 50 c 49 r (TH) s 92 122 p 19 c 82 132 p (ESAURUS) s t-rom.360 @sfC 1500 r (24) so t-bol.600 @sf77 293 p (COMMENT) s19 r (RETROUVER) s 21 r (DES) s20 r (REFERENCES) s t-rom.360 @sfe65 772 p (Il) sr 14 r (est) s16 r (possible) s4 15 r (de) s16 r (retrouver) s 14 r (des) s 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s1 16 r (par) s 15 r (leur) s 14 r (num) s3 r 19 c-20 r (ero,) s 15 r (par) s 15 r (une) s15 r (combinaison) s16 r (logique) s65 834 p (de) s917 r (mots-cl) s3 r 19 c -20 r (es,) sU 18 r (par) s 17 r (le) sr 18 r (nom) s 17 r (d'un) sm 16 r (des) s18 r (auteurs,) s0 18 r (ou) sr 18 r (par) s17 r (recherche) s17 r (d'une) s 17 r (cha) s94 c-17 r (\020ne) s 18 r (de) s 17 r (caract) s 3 r 18 c-20 r (eres) s65 896 p (dans) s6 15 r (les) s 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences.) s 15 r (Une) s15 r (liste) s 15 r (des) s15 r (mots-cl) s3 r 19 c -20 r (es) s15 r (existants) s 16 r (est) s15 r (utile) s 14 r (pour) si14 r (pouvoir) s15 r (retrouver) s 13 r (des) s65 958 p 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences.) s t-bol.510 @sf165 1146 p 50 c 71 r (Th) s4 r 19 c-28 r (esaurus) s2 t-rom.360 @sfr65 1279 p (Cette) sr10 r (option) se10 r (permet) se10 r (d'obtenir) s 9 r (une) su10 r (copie) s 11 r (du) s0 t-ita.360 @sf 10 r (th) s 3 r 19 c-20 r (esaurus) s( 11 r (des) s11 r (mots-cl) s3 r 19 c -20 r (es) s11 r (existants) s t-rom.360 @sfr44 c 11 r (et) se 10 r (d') sr3 r 19 c-20 r (editer) s 10 r (un) s65 1341 p (listing) s8 r (\(\014chier) sr t-bol.360 @sf(8 r (thesaurus.lst) s@ t-rom.360 @sf41 c 9 r (par) s 8 r (ordre) sr8 r (alphab) s3 r 19 c-20 r (etique) s 9 r (du) s 8 r (th) s3 r 19 c-20 r (esaurus,) s 10 r (avec) ss 9 r (le) s 9 r (num) s(3 r 19 c -20 r (ero) s 8 r (des) sr 9 r (mots-) s(65 1403 p (cl) s3 r 19 c -20 r (es,) s 17 r (leur) se16 r (libell) s 3 r 19 c -20 r 101 c 16 r (et) se 16 r (le) s(17 r (nombre) s4 15 r (de) sr17 r (\014ches) s 17 r (qu'ils) s16 r (indexent.) s 17 r (Le) sr15 r (format,) s16 r (nombre) s5 16 r (de) ss17 r (colonnes,) s65 1466 p (impression) s 12 r (ou) sa12 r (sortie) s 14 r 19 c2-19 r (ecran) s12 r (seule) s 12 r (est) s 13 r (au) s512 r (choix) s 12 r (de) s612 r (l'utilisateur) s -2 r 46 c 11 r (C'est) s 12 r (le) s6 12 r (num) s3 r 19 c -20 r (ero) s(12 r (fourni) st 11 r (par) s 12 r (ce) ss65 1528 p (listing) sc 12 r (qui) s 12 r (peut) se 16 r 94 c(-20 r (etre) s13 r (utilis) s)3 r 19 c -20 r 101 c4 15 r 18 cu -20 r 97 c 13 r (la) s(13 r (place) s 13 r (du) ss12 r (mot-cl) s23 r 19 c -20 r 101 cr 12 r (dans) sa13 r (toutes) sq 13 r (les) s13 r (sous-t) s(3 r 94 c-20 r (aches.) s t-bol.510 @sf265 1715 p 51 c71 r (Recher) sn(che) s2 20 r (par) s19 r (Auteur) s t-rom.360 @sfr65 1849 p (Cette) so14 r (option) s 15 r (du) s) 14 r (menu) s15 r (principal) s14 r (permet) s 14 r (de) ss t-ita.360 @sf 15 r 114 c -1 r (etr) s-1 r (ouver) s 14 r (les) s15 r (\014ches) sa 15 r (corr) sc-1 r (espondant) s 20 r 18 c4 -21 r 97 c 14 r (un) sn14 r (auteur) s65 1911 p (donn) s3 r 19 c -20 r 101 c t-rom.360 @sf944 c12 r (quelle) s6 12 r (que) s 12 r (soit) s 12 r (sa) s12 r (position) s( 12 r (dans) s 12 r (la) s012 r (liste) s 12 r (des) s13 r (auteurs.) se 12 r (On) s 12 r (demande) s 12 r (le) s5 12 r (nom) s 12 r (de) sc11 r (l'auteur) sr65 1973 p (et) s 15 r (son) s 16 r (pr) s(3 r 19 c-20 r (enom) s15 r (ainsi) s16 r (qu'une) se15 r (fourchette) sa 15 r (de) s216 r (dates.) sr 16 r (Le) sr 15 r (nom) s16 r (devra) s 15 r (se) s 16 r (pr) s23 r 19 c-20 r (esenter) s16 r (comme) s 15 r (il) s( 15 r (est) s65 2035 p 109 c43 r 19 c-20 r (emoris) s3 r 19 c -20 r 101 c) 13 r (dans) s2 14 r (la) s)13 r (\014che.) s 14 r (Le) s 13 r (pr) s53 r 19 c-20 r (enom) s 13 r (sera) ss 14 r 100 c3 r 19 c-20 r (ebarrass) s3 r 19 c -20 r 101 cd 14 r (de) s9 14 r (ses) s14 r (ponctuations) sr14 r (avant) s 13 r (d') sr3 r 94 c-20 r (etre) s 13 r (com-) s 65 2098 p (par) s63 r 19 c -20 r 101 cn 13 r 18 c( -20 r 97 c11 r (celui) s 11 r (des) s12 r (\014ches) s(11 r (\(ainsi,) s5 11 r (JF) s -3 r 44 c2 11 r (J.-F) s1 -3 r (.,) s 11 r (J-F) s 10 r (et) s 11 r (J.F) s12 r (seront) s 11 r (vus) s 11 r (de) sr 11 r (la) sr 10 r 109 c3 r 94 c -20 r (eme) s( 11 r (mani) s 3 r 18 c-20 r (ere\).) s 11 r 84 c)-2 r (outefois,) s65 2160 p (le) s 13 r (pr) s 3 r 19 c-20 r (enom) s13 r (n'est) s 13 r (pas) s14 r (indispensable) s 15 r (et) s) 13 r (s'il) sc 13 r (est) s14 r (inconnu,) so 14 r (on) s513 r (tapera) socmmi10.360 @sf 14 r 60 ce t-bol.360 @sf((CR) scmmi10.360 @sf62 c t-rom.360 @sfe46 c 13 r (De) st 14 r 109 c3 r 94 c -20 r (eme) ss 13 r (pour) sc 13 r (la) ss65 2222 p (fourchette) s 12 r (de) s512 r (dates) s 14 r (de) ss12 r (parution,) s 13 r (si) s 13 r (elles) s 13 r (ne) s( 13 r (sont) s 13 r (pas) s 13 r 100 c3 r 19 c-20 r (esir) s3 r 19 c-20 r (ees,) s 14 r (on) sr12 r (tapera) stcmmi10.360 @sf 13 r 60 ce t-bol.360 @sfc(CR) scmmi10.360 @sf62 c t-rom.360 @sf46 c65 2304 p (Le) s 9 r 114 c)3 r 19 c-20 r (esultat) sr 10 r (de) s 10 r (la) s9 r (recherche) s 10 r (est) s10 r (envoy) s3 r 19 c -20 r 101 co 10 r (sur) s 10 r (l') sr3 r 19 c-20 r (ecran) s(10 r (et/ou) s 9 r (sur) so10 r (l'imprimante) s 9 r (\(\014chier) ss t-bol.360 @sf 9 r (nom) s 3 r 15 2 ru14 r (d'au-) s65 2366 p (teur) s -4 r (.lst) s t-rom.360 @sf0(\).) se 11 r (Un) s212 r (\014chier) s12 r (texte) s12 r (contenant) s 12 r (les) s 12 r (num) s3 r 19 c-20 r (eros) s 12 r (des) s13 r (\014ches) s(12 r (trouv) s3 r 19 c -20 r (ees) s( 12 r (est) s 15 r 19 c4-19 r (egalement) s5 12 r (cr) ss3 r 19 c -20 r 101 c43 r 19 c -20 r 101 cr12 r (\(\014-) s65 2~ BIBLIO.BCK,yMdw[DANA.BIBLIO.DOC]BIBLIO.PS;2EXE;1|l!|W428 p (chier) s( t-bol.360 @sf8 8 r (nom) s8 3 r 15 2 ru 14 r (d'auteur) s -4 r (.num) s0 t-rom.360 @sf((\).) s8 7 r (Il) s8 r (pourra) s8 r (servir) s 8 r (aux) s88 r (programmes) s 9 r (d') s3 r 19 c-20 r (edition) s 8 r (de) s8 r (listes) s 9 r (de) s 9 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s165 2491 p (bibliographiques.) s7 t-bol.510 @sf65 2678 p 52 c71 r (Recher) s(che) s 20 r (par) s19 r (mot-cl) s24 r 19 c -28 r 101 c t-rom.360 @sfs65 2811 p (Cette) s516 r (option) s( 16 r (est) s17 r (celle) s 17 r (qui) s 16 r (doit) s 19 r 94 c -20 r (etre) s16 r (utilis) se3 r 19 c -20 r (ee) s 17 r (pour) so t-ita.360 @sf 16 r 114 c-1 r (echer) s -1 r (cher) s 17 r (des) s17 r (\014ches) sv 21 r 18 c4 -21 r 97 c16 r (partir) s 17 r (des) s17 r (mots-) s65 2873 p (cl) s3 r 19 c -20 r (es) s t-rom.360 @sfs46 c 17 r (Ce) se16 r (programme) s16 r (permet) sc 16 r (de) sa16 r (retrouver) s 16 r (les) s16 r (\014ches) s(17 r (correspondant) s 19 r 18 c8 -20 r 97 c 17 r (un) sc16 r (mot-cl) se3 r 19 c -20 r 101 c 15 r (ou) s 19 r 18 c2 -20 r 97 c 17 r (une) s65 2936 p (combinaison) s( 13 r (de) s12 r (mots-cl) s3 r 19 c -20 r (es.) s9@eop25 @bop025 @bop1 t-obl.360 @sf-59 132 p 52 c49 r (RECHERCHE) s 13 r (PAR) s12 r (MOT-CL) s 636 122 p 19 c626 132 p 69 c t-rom.360 @sfe 1153 r (25) s)65 277 p (Le) ss14 r (programme) s15 r (demande) s 15 r (les) s15 r (mots-cl) s3 r 19 c -20 r (es) s 16 r 100 c3 r 19 c-20 r (esir) s3 r 19 c -20 r (es.) sc 16 r (Les) s 15 r 114 c3 r 18 c-20 r (egles) ss 16 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erales) s15 r (concernant) ss 16 r (les) s15 r (mots-) s65 339 p (cl) st3 r 19 c -20 r (es) s13 r (s'appliquent) s3 12 r (ici) s13 r (comme) s13 r (partout) s12 r (\(voir) s6 12 r (le) ss12 r (chapitre) s013 r (GENERALITES) s -1 r (\).) s65 422 p (Ensuite) s 14 r (est) s16 r (demand) s33 r 19 c -20 r (ee) s 15 r (la) s115 r (relation) sE 15 r (bool) s-3 r 19 c-20 r (eenne) s 15 r (liant) s 14 r (le) sb15 r (mot-cl) s 3 r 19 c -20 r 101 c 15 r (qui) s15 r (vient) s 14 r (d') se3 r 94 c-20 r (etre) s 15 r (entr) s(3 r 19 c -20 r 101 c 14 r (avec) s 16 r (le) s 65 485 p (mot-cl) ss3 r 19 c -20 r 101 co12 r (suivant.) s( 13 r (Si) s5 12 r (la) s913 r (liste) s 13 r (des) s13 r (mots-cl) s3 r 19 c -20 r (es) s 13 r (est) s13 r (termin) s3 r 19 c -20 r (ee) s13 r (taper) scmmi10.360 @sf 12 r 60 c( t-bol.360 @sf7(CR) scmmi10.360 @sf62 c t-rom.360 @sfn46 c t-bol.420 @sf765 653 p (4.1) s 58 r (Les) s 14 r 114 c (elations) s 15 r (bool) ss3 r 19 c-22 r (eennes) s t-rom.360 @sf965 770 p (Elles) s 12 r (sont) ss 13 r (au) s)13 r (nombre) s 12 r (de) s)13 r (trois) s 12 r 58 c 12 r (le) st t-bol.360 @sf) 13 r (OU) sl t-rom.360 @sfr44 c 13 r (le) s) t-bol.360 @sfu 13 r (ET) s( t-rom.360 @sfp44 c 13 r (et) s2 13 r (le) s t-bol.360 @sfe 12 r (NON) s t-rom.360 @sf546 c t-bol.360 @sfh124 886 p 123 c2 t-ita.360 @sf2 25 r (Op) ss3 r 19 c-20 r (erateur) sr 12 r (bool) s03 r 19 c -20 r (een) sb t-bol.360 @sfu 10 r (OU) s( t-rom.360 @sf(58 c 11 r (Si) ss 10 r (deux) s 10 r (mots-cl) s3 r 19 c -20 r (es) s 11 r (sont) sc 11 r (li) sc3 r 19 c -20 r (es) s 11 r (par) s10 r (cette) s11 r (relation,) s 10 r (on) s 11 r (trouvera) se 10 r (soit) s 174 948 p (l'un) s 11 r (soit) s\11 r (l'autre) s 10 r (dans) s 12 r (chaque) s@12 r (\014che) s11 r (sortie.) s 11 r (Les) s12 r (\014ches) s11 r (sorties) s12 r (devront) s 11 r (donc) s11 r (contenir) sa 11 r (soit) s(174 1010 p (le) ss13 r (mot-cl) s 3 r 19 c -20 r 101 c 12 r (A,) s 13 r (soit) s 13 r (le) s)12 r (mot-cl) s 3 r 19 c -20 r 101 c 13 r (B.) se t-bol.360 @sfc124 1093 p 123 c t-ita.360 @sfr 25 r (Op) sr3 r 19 c-20 r (erateur) s7 13 r (bool) s 3 r 19 c -20 r (een) s( t-bol.360 @sf7 11 r (ET) s5 t-rom.360 @sf58 c 12 r (Si) s6 11 r (deux) sr11 r (mots-cl) s3 r 19 c -20 r (es) s 12 r (sont) s2 12 r (li) s3 r 19 c -20 r (es) s 11 r (par) s11 r (cette) s12 r (relation,) s 11 r (on) s)12 r (trouvera) s2 13 r 18 cs -20 r 97 c 12 r (la) sr174 1156 p (fois) s 14 r (l'un) ss 13 r (et) s213 r (l'autre) s 14 r (dans) s114 r (chaque) s(14 r (\014che) s14 r (sortie.) s 14 r (Les) s14 r (\014ches) s 14 r (sorties) s14 r (devront) s 13 r (donc) s 14 r (contenir) su177 1218 p 18 cr -20 r 97 c 13 r (la) s 12 r (fois) s2 13 r (le) s213 r (mot-cl) s 3 r 19 c -20 r 101 c 12 r 65 cs 12 r (et) se 13 r (le) so13 r (mot-cl) sc3 r 19 c -20 r 101 co 12 r (B.) s5 t-bol.360 @sf1124 1301 p 123 c t-ita.360 @sfa 25 r (Op) su3 r 19 c-20 r (erateur) s1 15 r (bool) so3 r 19 c -20 r (een) s( t-bol.360 @sfe 14 r (NON) s t-rom.360 @sf458 c 14 r (Il) sr14 r (s'agit) s614 r (d'une) s14 r (relation) s1 13 r (non) s14 r (commutative) s14 r (\(c'est) s 17 r 18 c1 -20 r 97 c 14 r (dire) s4 14 r (que) s174 1363 p 65 cr 13 r (NON) s 13 r 66 cd 14 r (est) s 13 r (dif) s102 co3 r 19 c-20 r (erent) sl 11 r (de) s( 14 r 66 cr 13 r (NON) s 13 r 65 c 13 r (\).) s 13 r (Si) sa 13 r (deux) sa13 r (mots-cl) s3 r 19 c -20 r (es) s 14 r (sont) s2 13 r (li) s23 r 19 c -20 r (es) s 14 r (par) s12 r (cette) s14 r (relation,) s174 1425 p (on) ss15 r (trouvera) sr 15 r (le) s 16 r (premier) s14 r (mot-cl) ss3 r 19 c -20 r 101 cr 15 r (mais) sa16 r (jamais) s6 16 r (le) sr15 r (second) s5 17 r (dans) sr16 r (chaque) s(15 r (\014che) s16 r (sortie.) s 16 r (Les) s174 1488 p (\014ches) sl13 r (sorties) s13 r (devront) s 13 r (donc) s 12 r (contenir) s9 13 r (le) s 12 r (mot-cl) s23 r 19 c -20 r 101 c0 12 r (A,) s4 14 r (mais) sr12 r (jamais) sc 14 r (le) s)12 r (mot-cl) ss3 r 19 c -20 r 101 c 12 r (B.) ss t-bol.420 @sf65 1656 p (4.2) s(58 r (Comment) s15 r (combiner) so 15 r (les) s14 r (mots-cl) s3 r 19 c -22 r (es) s t-rom.360 @sfo65 1773 p (Il) s 11 r (est) s13 r (important) s 11 r (de) s212 r (comprendre) s)12 r (comment) s 12 r (sont) s 15 r 19 c(-20 r (evalu) s(3 r 19 c -20 r (ees) s( 14 r (les) s12 r (combinaisons) s 13 r (bool) s13 r 19 c-20 r (eennes) s13 r (entre) s65 1835 p (les) s(13 r (mots-cl) s3 r 19 c -20 r (es) s 13 r (pour) s 12 r (pouvoir) s12 r (retrouver) s 12 r (des) s13 r (\014ches) s 13 r (en) sr13 r (combinant) s 12 r (des) s13 r (mots-cl) s3 r 19 c -20 r (es.) sp65 1918 p (Chaque) s12 r (relation) s12 r (logique) s 12 r (est) s 15 r 19 c -20 r (evalu) s 3 r 19 c -20 r (ee) s 13 r 100 c3 r 18 c -20 r (es) s 12 r (son) s 12 r (entr) ss3 r 19 c -20 r (ee,) s4 13 r (puis) s412 r (c'est) s 12 r (sur) s 12 r (le) sa 12 r 114 c3 r 19 c-20 r (esultat) s 12 r (de) se 12 r (la) se12 r (premi) s3 r 18 c -20 r (ere) s365 1980 p (op) s3 r 19 c-20 r (eration) sr12 r (qu'est) s0 13 r 114 c3 r 19 c-20 r (ealis) s3 r 19 c -20 r (ee) s 13 r (la) sa12 r (seconde,) s0 14 r (et) s 13 r (ainsi) s 13 r (de) sm13 r (suite.) sc 13 r (Par) s12 r (exemple,) s 14 r (si) s1 12 r (on) sc13 r (trouve) s 65 2063 p (CHIEN) sr 12 r (dans) sr 13 r (les) s13 r (\014ches) s( 13 r (1,) s 13 r (7,) s0 13 r (8,) su 13 r 57 c( 13 r (et) s9 12 r (15) sr65 2146 p (CHA) s) -5 r 84 cr 12 r (dans) sm 13 r (les) s13 r (\014ches) ss 13 r (1,) ss 13 r (3,) s 13 r (4,) sr 13 r (5,) su 13 r (10) s 12 r (et) s4 13 r 49 c -1 r 49 c 65 2229 p (LAPIN) s( 11 r (dans) s0 13 r (les) s13 r (\014ches) s( 14 r (1,) s 13 r (2,) s 13 r (6,) s 13 r 49 c2 -1 r 49 cs 11 r (et) ss 13 r (15) sh65 2312 p (et) s 16 r (que) s 16 r (l'on) s(15 r (demande) s 17 r (la) s 16 r 115 c3 r 19 c-20 r (equence) s17 r (CHIEN) s 16 r (OU) s 16 r (CHA) s -5 r 84 c 16 r (NON) s16 r (LAPIN,) s 16 r (on) sm 19 r 19 c5-20 r (evaluera) s16 r (d'abord) s65 2375 p (CHIEN) s 13 r (OU) s 15 r (CHA) s -5 r 84 c -3 r 44 cs 13 r (soit) s 14 r (1,) se 15 r (3,) s) 15 r (4,) s 14 r (5,) sn 15 r (7,) s) 14 r (8,) se 15 r (9,) s) 15 r (10,) s 14 r 49 c -1 r 49 cs 13 r (et) s2 15 r (15,) s 14 r (puis) sb15 r (ensuite) s 14 r (la) s 14 r (relation) sc 14 r (NON) s 15 r (LA-) s65 2437 p (PIN) sr 17 r (sur) s 18 r (cet) s18 r (ensemble,) s 19 r (soit) s 18 r (3,) s6 18 r (4,) s( 19 r (5,) ss 18 r (7,) s) 18 r (8,) s) 19 r (9,) st 18 r (et) s 18 r (10.) s 18 r (On) st18 r (pourrait) s 17 r (donc) s7 21 r 19 co-20 r (ecrire) s18 r (cette) s18 r (relation) sh65 2499 p (sous) s 14 r (la) sh13 r (forme) s 13 r 111 c4 r 18 c -20 r 117 c7 13 r (elle) sr 13 r (est) s 14 r 114 c3 r 19 c-20 r (eellement) so 16 r 19 c-20 r (evalu) se3 r 19 c -20 r (ee,) sr 15 r (soit) s614 r (\(\(CHIEN) s 12 r (OU) s6 14 r (CHA) s -5 r (T\)) s 12 r (NON) s14 r (LAPIN\),) s1 13 r (en) s765 2561 p (explicitant) s-12 r (ainsi) s 13 r (les) s13 r (parenth) s3 r 18 c-20 r (eses) s14 r (implicites.) s65 2644 p (Un) s 18 r (nom) s 17 r (de) ss18 r (\014chier) s 18 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erique) s 18 r (est) s 18 r 114 c3 r 19 c-20 r (eclam) s3 r 19 c -20 r 101 c 18 r (a\014n) s 18 r (d'y) s18 r (conserver) s 18 r (le) sr 18 r 114 c3 r 19 c-20 r (esultat) ss 18 r (de) sc 18 r (la) sc18 r (recherche.) s165 2707 p (Celui-ci) s 18 r (est) s18 r (envoy) s3 r 19 c -20 r 101 c1 19 r (sur) s 18 r (l') ss3 r 19 c-20 r (ecran) s18 r (et/ou) s 18 r (sur) s18 r (l'imprimante) sr17 r (\(\014chier) s t-bol.360 @sfs17 r (xxxxx.lst) s t-rom.360 @sf 19 r (ou) s( t-bol.360 @sf3 18 r 114 c(ech) s( 3 r 15 2 rur14 r (cle.lst) s t-rom.360 @sf265 2769 p (par) sh 13 r 100 c3 r 19 c-20 r (efaut\).) s 13 r (Un) sp13 r (\014chier) s13 r (texte) s14 r (contenant) s 13 r (les) s 14 r (num) s3 r 19 c-20 r (eros) s 14 r (des) s14 r (\014ches) s 14 r (trouv) s3 r 19 c -20 r (ees) so 13 r (est) s 17 r 19 c -20 r (egalement) s 14 r (cr) ss3 r 19 c -20 r 101 cc3 r 19 c -20 r 101 c(65 2831 p (\(\014chier) s0 t-bol.360 @sfc15 r (xxxxx.lst) s t-rom.360 @sfl 16 r (ou) sc t-bol.360 @sf 15 r 114 c(ef) s 3 r 15 2 ru14 r (cle.num) s t-rom.360 @sfr 16 r (par) s 16 r 100 c3 r 19 c-20 r (efaut\).) s 15 r (Il) st15 r (pourra) sn16 r (servir) s) 15 r (aux) s16 r (programmes) se 15 r (d') s(3 r 19 c-20 r (edition) s465 2893 p (de) s12 r (listes) s 14 r (de) s) 12 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s 13 r (bibliographiques.) s@eop26 @bop026 @bop1 t-obl.360 @sf6-59 132 p 53 c49 r (RECHERCHE) s13 r (GLOBALE) s 12 r (DE) s 12 r (TEXTE) s t-rom.360 @sf5 1000 r (26) sl t-bol.510 @sf. 65 285 p 53 c(71 r (Recher) sc(che) sc20 r (Globale) s 19 r (de) s318 r (texte) s t-rom.360 @sf 65 419 p (Cette) s16 r (option) sf 16 r (est) s17 r (celle) s 16 r (qui) s 16 r (doit) s 19 r 94 cs-20 r (etre) s16 r (utilis) sp3 r 19 c -20 r (ee) s 17 r (pour) sa t-ita.360 @sf( 15 r 114 c-1 r (echer) s -1 r (cher) s. 17 r (des) s17 r (\014ches) sr 17 r (par) s 16 r (une) s 16 r (cha) s -1 r 94 c -16 r (\020ne) s 17 r (de) s65 481 p (caract) s63 r 18 c -20 r (er) s -1 r (es) s t-rom.360 @sf 13 r (existant) s 13 r (dans) s- 13 r (la) s13 r (\014che.) s65 565 p (On) so15 r (demande) s 16 r (la) s. 15 r (cha) s94 c-17 r (\020ne,) s 16 r (puis) s. 16 r (s'il) s(15 r (s'agit) s15 r (d'une) s16 r (portion) s 14 r (de) s2 16 r (nom) s15 r (d'auteur) sr 15 r (ou) so 15 r (de) s816 r (journal,) s015 r (a\014n) sr65 627 p (d'acc) s3 r 19 c -20 r (el) s3 r 19 c-20 r (erer) s 11 r (la) s 11 r (recherche.) s 12 r (En) ss 10 r (ef) si(fet,) s11 r (l'ensemble) su 11 r (du) sr11 r (\014chier) s 11 r (va) s1 14 r 94 c\-20 r (etre) s11 r (explor) s 3 r 19 c -20 r (e,) s 12 r (sans) s112 r (indexation,) s 12 r (et) s(65 689 p (cela) s(12 r (permet) s( 12 r (de) s112 r (diminuer) s( 12 r (le) s12 r (nombre) s7 12 r (de) s 12 r (comparaisons) s 16 r 18 c -20 r 97 c 12 r (ef) s3 (fectuer) s -2 r 46 c) 11 r (Pour) s 12 r (la) s 12 r 109 c3 r 94 c -20 r (eme) s 12 r (raison,) s 13 r (une) s65 751 p (date) sr 12 r (de) s2 12 r 100 c3 r 19 c-20 r (epart) s9 11 r (est) s 13 r 114 c3 r 19 c-20 r (eclam) so3 r 19 c -20 r (ee.) si 12 r (La) se12 r (possibilit) s)3 r 19 c -20 r 101 c) 12 r (de) st12 r (discerner) s 12 r (les) s12 r (majuscules) ss 13 r (des) s13 r (minuscules) ss12 r (\(par) s65 814 p 100 c3 r 19 c-20 r (efaut,) s12 r (elles) s 14 r (ne) ss 12 r (sont) sn 13 r (pas) s13 r (discern) s3 r 19 c-20 r (ees\)) s( 14 r (est) s 13 r (of) ss (ferte.) s65 897 p (Un) s) 18 r (nom) s 17 r (de) sr18 r (\014chier) s 18 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erique) s 18 r (est) s 18 r 114 c3 r 19 c-20 r (eclam) s 3 r 19 c -20 r 101 c 18 r (a\014n) s 18 r (d'y) s18 r (conserver) s 18 r (le) sr 18 r 114 c3 r 19 c-20 r (esultat) sr 18 r (de) so 18 r (la) s218 r (recherche.) s.65 959 p (Celui-ci) s 18 r (est) s18 r (envoy) s3 r 19 c -20 r 101 cc 19 r (sur) s 18 r (l') s 3 r 19 c-20 r (ecran) s618 r (et/ou) s 18 r (sur) s18 r (l'imprimante) s'17 r (\(\014chier) s t-bol.360 @sf)17 r (xxxxx.lst) s t-rom.360 @sf' 19 r (ou) s1 t-bol.360 @sfc 18 r 114 c(ech) sr 3 r 15 2 ru 14 r (txt.lst) s t-rom.360 @sf665 1021 p (par) s 13 r 100 c3 r 19 c-20 r (efaut\).) s 13 r (Un) s(13 r (\014chier) s13 r (texte) s14 r (contenant) s 13 r (les) s 14 r (num) s3 r 19 c-20 r (eros) s 14 r (des) s14 r (\014ches) s 14 r (trouv) s3 r 19 c -20 r (ees) s 13 r (est) s 17 r 19 c)-20 r (egalement) ss 14 r (cr) s(3 r 19 c -20 r 101 c 3 r 19 c -20 r 101 c(65 1083 p (\(\014chier) ss t-bol.360 @sf 15 r (xxxxx.lst) s t-rom.360 @sfa 16 r (ou) s( t-bol.360 @sfe 15 r 114 c(ef) s 3 r 15 2 ruh14 r (txt.num) s t-rom.360 @sf( 15 r (par) s 16 r 100 c3 r 19 c-20 r (efaut\).) s 15 r (Il) s15 r (pourra) s16 r (servir) s2 15 r (aux) s16 r (programmes) sr 15 r (d') s3 r 19 c-20 r (edition) s(65 1146 p (de) s12 r (listes) ss 14 r (de) se 12 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) so13 r (bibliographiques.) s@eop27 @bop0/cmcsc10.360 @newfontocmcsc10.360 @sf4f[ 27 26 -1 0 31] 97 @dc)27 @bop1 t-obl.360 @sf-59 132 p 50 c49 r (PRINCIPES) s 12 r 71 c3324 122 p 19 c314 132 p (EN) s390 122 p 19 c381 132 p (ERAUX) s) t-rom.360 @sf 1257 r (27) si t-bol.600 @sfr400 293 p (EDITION) s 21 r (DES) s21 r (REFERENCES) s3 t-rom.360 @sfs65 785 p (Plusieurs) s11 r (choix) s10 r (permettent) s5 11 r (de) su 11 r (pr) se3 r 19 c-20 r (eparer) s 10 r (une) s11 r (liste) s 11 r (de) s 11 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) sr11 r (bibliographiques) s 11 r (annexables) s4 67 847 p 18 c4 -19 r 97 c 16 r (la) su17 r (\014n) s 16 r (d'un) s17 r (article.) su 17 r (Il) sr 16 r 121 c 16 r (en) s2 17 r 97 cs 17 r (pour) s 16 r (cr) s53 r 19 c -20 r (eer) s 17 r (ou) sn16 r (modi\014er) s0 16 r (une) s17 r (liste) s 17 r (des) s 17 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s 17 r (utiles.) s 18 r (Il) sm 16 r 121 c65 909 p (en) s) 15 r 97 cx 15 r (pour) sr 14 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erer) s 15 r (la) s 15 r (liste) s 16 r (dans) ss 15 r (un) s,15 r (ordre) s15 r (choisi) s 15 r (par) s15 r (l'utilisateur) s -1 r 44 c 14 r (en) sr 15 r (pr) s(3 r 19 c-20 r (ecisant) s(15 r (l'ordre) s14 r (d'ap-) s65 971 p (parition) s3 13 r (des) s 15 r (dif) s102 c 3 r 19 c-20 r (erents) s13 r (champs) s 14 r (de) ss 15 r (la) se14 r (\014che) s14 r (\(parfois) s14 r (appel) s3 r 19 c -20 r 101 c2 14 r (un) s 14 r (peu) s15 r (abusivement) s 14 r (la) sr15 r (typogra-) sn65 1034 p (phie\).) s16 r (D'autres) s117 r (servent) s 19 r 18 ce -19 r 97 c 16 r (pr) sr3 r 19 c-20 r (eparer) s 16 r (un) s(17 r (\014chier) s 16 r (au) sn17 r (format) s15 r (accept) ss3 r 19 c -20 r 101 c2 18 r (par) s16 r (certains) s517 r (programmes) s 65 1096 p (sp) s3 r 19 c-20 r (ecialis) sr3 r 19 c -20 r (es:) s4 c-med.360 @sfr14 r (refer) s t-rom.360 @sf, 13 r (et) s0 c-med.360 @sf14 r (sortbib) s t-rom.360 @sf( 13 r (pour) su12 r (UNIX,) s 14 r (ou) sr 13 r 76 c4cmcsc10.360 @sf1073 1090 p 97 c t-rom.360 @sf31095 1096 p 84 c1119 1112 p 69 c1141 1096 p 88 c 13 r (et) s( t-bol.360 @sf( 14 r (BibT) s,1341 1107 p 69 c1367 1096 p 88 c t-rom.360 @sfr 13 r (sur) s 13 r (les) s 14 r 51 c813 r (versions) so 14 r (pro-) sr65 1158 p (pos) s 3 r 19 c-20 r (ees.) s65 1241 p (Le) s14 r (principe) s9 14 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s15 r (reste) s15 r (toujours) s3 14 r (le) s4 15 r 109 c3 r 94 c-20 r (eme:) s 14 r (un) s15 r (\014chier) s14 r (contient) s, 15 r (des) s t-ita.360 @sf( 15 r (num) s3 r 19 c -20 r (er) s -1 r (os) ss 15 r (de) ss14 r (\014ches) s1 t-rom.360 @sf16 r (\(\014-) s65 1304 p (chier) s) 10 r (avec) ss 12 r (une) s11 r (extension) s t-bol.360 @sfr 12 r (.num) ss t-rom.360 @sf)(\).) s( 11 r (Un) s(11 r (autre) s11 r (\(\014chier) s 10 r (avec) s 12 r (une) s11 r (extension) s t-bol.360 @sfs 11 r (.typ) s t-rom.360 @sfe41 c11 r (contient) s t-ita.360 @sf\ 11 r (l'or) s( -1 r (dr) s( -1 r 101 c65 1366 p (d'apparition) s 12 r (des) s 13 r (diff) s3 r 19 c -20 r (er) s -1 r (ents) sr13 r (items) s 13 r (de) s) 13 r (la) s)13 r (\014che) s t-rom.360 @sf 13 r (\(la) s(13 r (typographie\).) s 12 r 65 c 13 r (partir) s( 12 r (de) sr13 r (celles-ci,) sr 14 r (on) s7 13 r (cr) se3 r 19 c -20 r (ee) s65 1428 p (un) s12 r (\014chier) s11 r (contenant) s 13 r (le) s4 t-ita.360 @sf 12 r (libell) s(3 r 19 c -20 r 101 cs 12 r (des) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s-1 r (ences) s t-rom.360 @sfl13 r (\(\014chier) s 11 r (avec) s 13 r (une) s12 r (extension) s t-bol.360 @sf 13 r (.rfr) s2 t-rom.360 @sf444 c t-bol.360 @sf2 13 r (.rft) s t-rom.360 @sf2 12 r (ou) s t-bol.360 @sf) 12 r (.r) s(efer) s t-rom.360 @sf(65 1490 p (ou) s t-bol.360 @sfo 12 r (.bib) s- t-rom.360 @sf5(\),) s3 13 r (et) sH12 r (en\014n) s 13 r (un) sr12 r (\014chier) s13 r (format) ss3 r 19 c -20 r 101 co12 r (imprimable) s512 r (\(\014chier) s 11 r (avec) sr 14 r (une) s12 r (extension) s t-bol.360 @sf. 13 r (.doc) s9 t-rom.360 @sf6(\).) sn t-bol.510 @sf)65 1681 p 50 c71 r (Principes) s 19 r 103 c4 r 19 c -28 r (en) s4 r 19 c-28 r (erau) s 1 r 120 c t-rom.360 @sf(65 1815 p (Il) s 15 r (est) s 16 r 110 c3 r 19 c-20 r (ecessaire) s( 17 r (de) s(16 r (comprendre) sa 16 r (le) sn16 r (cheminement) s 16 r (que) s 16 r (l'on) s7 15 r (va) s516 r (suivre) s6 16 r (pour) s 16 r (cr) sr3 r 19 c -20 r (eer) s 15 r (un) st16 r (\014chier) s65 1878 p (document) s 20 r 18 c -20 r 97 c17 r (partir) sd 16 r (des) s18 r (\014ches) s18 r (contenues) s 18 r (dans) ss 18 r (le) s'17 r (\014chier) s -2 r 46 c( 16 r (On) sr 17 r 97 cs 18 r (dans) s 17 r (tous) s5 13 r (les) s 13 r (cas) s1420 1885 p 228 2 ru1665 1878 p (besoin) s 18 r (de) s665 1940 p (partir) s 12 r (d'un) ss13 r (\014chier) s13 r (contenant) s 14 r (les) s 13 r (num) s3 r 19 c-20 r (eros) s 14 r (des) s14 r (\014ches) sr14 r (devant) s0 16 r 94 c-20 r (etre) s13 r (imprim) se3 r 19 c-20 r (ees,) s14 r (c'est) s 14 r (le) s(13 r (\014chier) s t-bol.360 @sfr65 2002 p (.num) s t-rom.360 @sf(44 c 15 r (qui) s 14 r (est) s 16 r (un) s215 r (simple) s(15 r (\014chier) s14 r (texte) s15 r (contenant) s 16 r 49 c 14 r (num) s3 r 19 c -20 r (ero) s4 15 r (par) s15 r (ligne.) s 15 r (Il) sc 14 r (peut) s 18 r 94 c-20 r (etre) s 15 r (cr) ss3 r 19 c -20 r 101 c23 r 19 c -20 r (e,) s 16 r (soit) s 65 2064 p (automatiquement) s1 13 r (par) s 12 r (les) s14 r (programmes) s 13 r (de) sr13 r (recherche) s 13 r (de) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s) 13 r (dans) sc 14 r (le) sr13 r (\014chier) s -1 r 44 c 12 r (soit) s 13 r (avec) s65 2127 p (un) s 15 r 19 c2-20 r (editeur) s( 13 r (de) s(12 r (texte.) sa 14 r (Que) s 13 r (l'on) s912 r (choisisse) s 14 r (de) ss 13 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (erer) s 12 r (un) s813 r (\014chier) s 12 r (pour) s9 13 r 84 ce1397 2138 p 69 c1419 2127 p (X,) s 13 r (pour) s1 c-med.360 @sf13 r (refer) s t-rom.360 @sf 12 r (ou) sr 13 r (un) s65 2189 p (\014chier) sr12 r (document) sr12 r (simple,) s 14 r (ce) se 13 r (sera) sr 13 r (le) sr12 r (\014chier) s 13 r (de) s5 12 r 100 c3 r 19 c-20 r (epart) sr13 r (\(voir) s911 r (\014gure) s9 13 r (7\).) sr65 2272 p (Si) s 17 r (l'on) s 18 r 100 c3 r 19 c-20 r (esire) s(19 r (obtenir) s 17 r (une) s19 r (liste) s 18 r (dans) sx 19 r (un) s-18 r (format) sr 17 r (donn) s.3 r 19 c -20 r 101 ce19 r (\(ordre) s17 r (d'apparition) s- 17 r (des) s 19 r (dif) s102 c33 r 19 c-20 r (erents) s67 2334 p 19 c -19 r (el) s3 r 19 c-20 r (ements) s 17 r (de) st 18 r (la) sr 17 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence\),) sr 17 r (on) s 17 r (devra) s 17 r 100 c3 r 19 c-20 r (ecrire) s 17 r (ce) s18 r (format) s 16 r (gr) s 3 r 94 c -20 r (ace) s 20 r 18 c -20 r 97 c18 r (l'une) s 16 r (des) s18 r (sous-options) sx 18 r (du) s-65 2396 p (choix) su t-bol.360 @sf 14 r (Pr) s43 r 19 c-20 r (eparation) s(14 r (d'une) s13 r (liste) s 15 r (de) sr 14 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) s6 t-rom.360 @sf46 c 16 r (Ce) s(15 r (format) s5 13 r (sera) s 15 r (sauvegard) s3 r 19 c -20 r 101 c 16 r (dans) ss 15 r (un) se14 r (\014chier) s65 2459 p (\(\014chier) s t-bol.360 @sf 12 r (.typ) so t-rom.360 @sf(\).) s@12 r (Ensuite,) s@ 13 r (une) s13 r (autre) s13 r (sous-option) s13 r (permet) s0 12 r (de) sC13 r (classer) s 14 r (les) s13 r (\014ches) s0 13 r (dans) s013 r (l'ordre) s 12 r (sou-) s065 2521 p (hait) s3 r 19 c -20 r 101 cE13 r (\(alphab) s73 r 19 c-20 r (etique,) s1 14 r (num) s3 r 19 c-20 r (erique,) sN 13 r (ou) sr14 r (arbitraire\).) s 12 r (Cela) ss14 r (produit) s 13 r (un) sA13 r (\014chier) s13 r (texte) s t-bol.360 @sfs 14 r (.rfr) sE t-rom.360 @sfr 13 r (\(ou) s( t-bol.360 @sf 13 r (.rft) s t-rom.360 @sfe 14 r (si) s(65 2583 p (l'on) s 13 r 97 c15 r (choisi) sr 15 r (de) s 14 r (cr) se3 r 19 c -20 r (eer) s1 15 r (un) s14 r (\014chier) s 14 r (pour) s 14 r 76 cscmcsc10.360 @sf 832 2577 p 97 cr t-rom.360 @sfu854 2583 p 84 ce878 2599 p 69 c7900 2583 p (X\)) s 14 r (dans) s15 r (lequel) s6 15 r (les) s15 r (\014ches) s 15 r (sont) s6 15 r (dans) s( 15 r (le) s9 14 r (bon) s14 r (ordre) s65 2646 p (et) s 12 r (avec) s7 14 r (la) s613 r (bonne) s 13 r (pr) s)3 r 19 c-20 r (esentation.) s 13 r (Il) s 13 r (n'est) s 12 r (pas) s14 r (format) s 3 r 19 c -20 r (e,) s 13 r (et) s6 13 r (peut) s9 12 r (donc) sr13 r (ainsi) s 16 r 94 cr-19 r (etre) s12 r (import) s 3 r 19 c -20 r 101 c 13 r (dans) s5 13 r (un) s65 2708 p (\014chier) s 12 r (destin) ss3 r 19 c -20 r 101 cr 17 r 18 c5 -20 r 97 c 16 r 94 c1-20 r (etre) s13 r (trait) s3 r 19 c -20 r 101 ce 13 r (par) s 12 r (un) ss13 r (traitement) s9 13 r (de) sn13 r (texte,) ss 14 r (qui) s 13 r (ef) s (fectuera) s 12 r (la) sr 13 r (mise) s4 13 r (en) s513 r (forme) s 13 r (et) s 13 r (la) si65 2770 p (mise) s 12 r (en) s212 r (page.) s 13 r (On) sr 12 r (peut) s(12 r (obtenir) s11 r (directement) s 12 r (un) s112 r (document) s12 r (format) s13 r 19 c -20 r 101 cr11 r (\(\014chier) s t-bol.360 @sf 11 r (.doc) sa t-rom.360 @sfn41 c 13 r (en) se12 r (appelant) s65 2832 p (l'option) s t-bol.360 @sf 11 r (Edition) s12 r (d'une) s12 r (liste) s 13 r (de) sg 12 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) s2 t-rom.360 @sf- 13 r (qui) s12 r (permet) s- 13 r (la) s 12 r (mise) s- 13 r (en) s 13 r (page) ss 13 r (des) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences.) s@eop28 @bop0/linew10.300 @newfont6linew10.300 @sf f[<700000000000FC0000000000FF00000000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000000001Ff F00000000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000000001F{ F00000000007FC0000000001FF00000000007FC0000000001FF00000000007F80000000001FC00000000007C000000000018> 46 25 2 2 42] 8 @dc)f[<800000007C0000003FFC00001FFFFF800FFFFF8007FFFF0003FFFF0001FFFE0000FFFE00007FFC00003FFC00001FF800000FM F8000007F0000007F0000003E0000001E0000000C00000004000> 26 19 -1 0 42] 25 @dcsf[<00C00000C00000C00000C00001E00001E00001E00003F00003F00003F00007F80007F80007F8000FFC000FFC001FFE001FFE? 001FFE003FFF003FFF007FFF807FFF80FFFFC0> 18 23 9 -2 42] 63 @dccf[<00000000001800000000007C0000000001FC0000000007F8000000001FF0000000007FC000000001FF0000000007FC000000f 001FF0000000007FC000000001FF0000000007FC000000001FF0000000007FC000000001FF0000000007FC000000001FF000| 0000007FC000000001FF0000000007FC000000001FF0000000007FC000000000FF0000000000FC0000000000700000000000> 46 25 2 2 42] 72 @dcf[<0000008000001F00001FFE00FFFFFC00FFFFF8007FFFF0007FFFE0003FFFC0003FFF80001FFF00001FFE00000FFC00000FF8O 000007F0000007F0000003E0000003C000000180000001000000> 25 19 -16 0 42] 106 @dc f[<0000000000780000000007FC000000007FFC00000007FFF80000007FFFC000000FFFFC000000FFFFC000000FFFFC000000FF\ FFC000000FFFF80000007FFF80000000FFF800000000FF8000000000780000000000> 46 14 2 2 42] 88 @dcf[<80000000FC000000FFF80000FFFFFF807FFFFE007FFFF8007FFFF0007FFFC0003FFF00003FFE00003FF800003FF000001FE0G 00001F8000001F0000001E0000000C00000008000000> 25 18 -16 3 42] 122 @dc628 @bop1 t-obl.360 @sf)-59 132 p 51 c 49 r (PR) s) 86 122 p 19 cs76 132 p (EPARATION) s12 r (D'UNE) s12 r (LISTE) s 11 r (DE) s6 12 r 82 cr811 122 p 19 c801 132 p (EF) s869 122 p 19 c860 132 p (ERENCES) se11 r (BIBLIOGRAPHIQUES) s1 t-rom.360 @sf- 232 r (28) s645 352 p 243 4 ru645 470 p 4 119 ru t-bol.360 @sf712 422 p (.num) s885 470 p 4 119 ru645 473 p 243 4 ru1118 352 p 243 4 ru21118 470 p 4 119 rur1198 422 p (.typ) s01357 470 p 4 119 ruc1118 473 p 243 4 ru2173 706 p 243 4 ru173 825 p 4 119 ru253 782 p (.bib) s412 825 p 4 119 ru173 828 p 243 4 ru645 706 p 243 4 ru645 825 p 4 119 ru708 782 p (.r) s(efer) s885 825 p 4 119 ru645 828 p 243 4 ru1118 706 p 243 4 ru1118 825 p 4 119 ruS1202 782 p (.rfr) s1357 825 p 4 119 ru 1118 828 p 243 4 ru 1590 706 p 243 4 rus1590 825 p 4 119 rus1678 782 p (.rft) s1830 825 p 4 119 ru11590 828 p 243 4 ru1173 1061 p 243 4 ru1173 1179 p 4 119 ru3255 1137 p (.dvi) s1412 1179 p 4 119 ru(173 1182 p 243 4 ru6645 1061 p 243 4 ru9645 1179 p 4 119 ru.723 1136 p (.doc) s885 1179 p 4 119 ru(645 1182 p 243 4 ru31118 1061 p 243 4 ru1118 1179 p 4 119 ru1195 1136 p (.doc) s1357 1179 p 4 119 ru1118 1182 p 243 4 ru1590 1061 p 243 4 ru1590 1179 p 4 119 ru1672 1137 p (.dvi) s1830 1179 p 4 119 ru1590 1182 p 243 4 rulinew10.300 @sfu 725 493 p 8 cn 684 513 p 8 c 642 534 p 8 ce 601 555 p 8 cr 559 576 p 8 c 518 596 p 8 c2 476 617 p 8 c5 435 638 p 8 cr 393 659 p 8 c 352 679 p 8 cm 310 700 p 8 c 294 708 p 8 c -42 r 25 c429 r 4 237 ru2 r 63 c767 493 p 72 c808 513 p 72 c850 534 p 72 c891 555 p 72 c933 576 p 72 c974 596 p 72 c1016 617 p 72 cr1057 638 p 72 cs1099 659 p 72 c 1140 679 p 72 c1182 700 p 72 c01198 708 p 72 c -42 r 106 cb767 482 p 88 c808 493 p 88 c850 503 p 88 c891 513 p 88 c933 524 p 88 c974 534 p 88 c1016 545 p 88 cs1057 555 p 88 c 1099 565 p 88 co1140 576 p 88 cs1182 586 p 88 c 1223 596 p 88 c 1265 607 p 88 c21306 617 p 88 cr1348 628 p 88 c 1389 638 p 88 c)1431 648 p 88 cs1472 659 p 88 c31514 669 p 88 c1555 679 p 88 c51597 690 p 88 c1638 700 p 88 c41670 708 p 88 c -42 r 122 c-474 r 4 237 rur1 r 63 c1239 493 p 72 ce1281 513 p 72 c)1322 534 p 72 cn1364 555 p 72 c1405 576 p 72 c 1447 596 p 72 c 1488 617 p 72 c1530 638 p 72 c1571 659 p 72 cr1613 679 p 72 c91654 700 p 72 c)1670 708 p 72 c -42 r 106 c 1238 1062 p 4 237 ru1 r 63 c-516 r 4 237 ru2 r 63 c-516 r 4 237 ru 1 r 63 c1374 r 4 237 ru)2 r 63 c t-bol.360 @sf353 897 p (BibT) s454 908 p 69 c481 897 p 88 c353 980 p 84 c379 991 p 69 c405 980 p 88 c c-med.360 @sf3826 897 p (refer) se826 980 p (nroff) s) t-bol.360 @sf1298 897 p (BIBLIO) sv1298 980 p (TdT) s t-rom.360 @sf21771 944 p 76 c cmcsc10.360 @sf1785 938 p 97 c t-rom.360 @sf31807 944 p 84 cr1830 960 p 69 c41853 944 p 88 c1-1 1521 p (Figure) s 11 r 55 c 12 r 58 c 13 r (Les) s12 r (rapports) s413 r (entre) s 12 r (les) s 13 r (dif) s102 c93 r 19 c-20 r (erents) s12 r (\014chiers) s 12 r (impliqu) s3 r 19 c -20 r (es) s 13 r (dans) s( 13 r (l') s83 r 19 c-20 r (edition) su 12 r (des) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences.) s65 1697 p (Certains) s9 r (logiciels) s9 8 r (de) s 9 r (mise) s 9 r (en) s 8 r (page) s9 r (permettent) s 8 r (de) s 9 r (cr) s3 r 19 c -20 r (eer) s8 r (automatiquement) s( 8 r (une) si t-ita.360 @sf) 9 r (liste) s) 9 r (de) s 8 r 114 cr3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s-1 r (ences) s t-rom.360 @sfr44 c65 1760 p (pour) s9 r (autant) s 9 r (qu'on) s 10 r (leur) sc9 r (fournisse) s 10 r (la) sc 9 r (base) s 11 r (de) s2 10 r (donn) s3 r 19 c -20 r (ees) sr 10 r (sous) s 10 r (un) s 10 r (format) s9 r (particulier) s -2 r 46 c 9 r (Il) s 9 r (en) s 9 r (est) sc11 r (ainsi) s65 1822 p (de) s 12 r 84 ct148 1833 p 69 c 171 1822 p 88 c 12 r (sous) s114 r (MS/DOS,) s 13 r (VMS) s 13 r (ou) ss12 r (UNIX,) s 13 r (et) sr 13 r (de) s2 c-med.360 @sfu12 r (refer) s t-rom.360 @sf 13 r (sous) s 13 r (UNIX.) s65 1905 p (Si) s 17 r (l'on) s5 18 r 100 c3 r 19 c-20 r (esire) s 19 r (cr) s93 r 19 c -20 r (eer) s 18 r (un) s 18 r (\014chier) s 18 r (pour) sm 18 r (BibT) se899 1916 p 69 cv922 1905 p (X,) s 18 r (on) s19 r (utilisera) s18 r (l'option) s4 t-bol.360 @sf5 17 r (cr) si3 r 19 c-20 r (eatio~ BIBLIO.BCK,yMdw[DANA.BIBLIO.DOC]BIBLIO.PS;2EXE;1|-|n) s 19 r (d'un) so17 r (\014chier) s65 1967 p (BibT) s166 1978 p 69 c3192 1967 p 88 cr t-rom.360 @sfs 12 r (qui) s13 r (fournira) s 11 r (un) s)13 r (\014chier) s t-bol.360 @sf0 12 r (.bib) s0 t-rom.360 @sf) 12 r (au) s-13 r (format) sh12 r (attendu) s 13 r (par) s 12 r (BibT) s 1325 1978 p 69 c1348 1967 p (X.) s65 2050 p (Si) s 12 r (l'on) s, 13 r 100 c3 r 19 c-20 r (esire) s) 14 r (cr) sa3 r 19 c -20 r (eer) s3 13 r (un) s313 r (\014chier) s 13 r (pour) s- c-med.360 @sf413 r (refer) s t-rom.360 @sf344 c 13 r (sous) s615 r (UNIX,) s 13 r (on) s.13 r (utilisera) s 14 r (le) s 13 r (sous-menu) s t-bol.360 @sf 16 r 19 ce-19 r (edition) s65 2112 p (des) sr9 r 82 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) sm 9 r (par) s 10 r 114 c(efer) s 8 r (UNIX) s t-rom.360 @sfe 10 r (et) s69 r (l'option) s t-bol.360 @sfa 9 r (Cr) s3 r 19 c-20 r (eation) s 9 r (du) s8 r (\014chier) s 9 r (de) s 9 r 114 cr3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) s2 t-rom.360 @sf4 10 r (qui) s9 r (fournira) s65 2175 p (un) s12 r (\014chier) s c-med.360 @sf 12 r (.refer) ss t-rom.360 @sf 13 r (au) s 12 r (format) s 12 r (attendu) s 13 r (par) s c-med.360 @sfo12 r (refer) s t-rom.360 @sf 13 r (ou) sr c-med.360 @sfo12 r (sortbib) s t-rom.360 @sf346 c65 2258 p (Les) s12 r (rapports) si13 r (entre) s 12 r (les) s 13 r (dif) s102 c73 r 19 c-20 r (erents) s11 r (\014chiers) s 13 r (sont) s13 r (indiqu) s03 r 19 c -20 r (es) s 13 r (dans) s( 13 r (le) s9 12 r (sh) sn3 r 19 c -20 r (ema) s( 14 r (de) s( 12 r (la) su13 r (\014gure) sr 12 r (7.) s t-bol.510 @sf565 2448 p 51 c 71 r (Pr) s4 r 19 c-28 r (epara) sm 1 r (tion) s19 r (d'une) s19 r (liste) s 17 r (de) se 19 r 114 c4 r 19 c -28 r (ef) s4 r 19 c -28 r (er) s (ences) su19 r (bibliographique) s 1 r 115 c t-rom.360 @sf165 2583 p (Comme) s- 11 r (on) s12 r (vient) s 12 r (de) sn 12 r (le) s( 11 r (voir) sp -1 r 44 c 11 r (il) so 11 r (est) s12 r (possible) sd 13 r (de) sr 12 r (cr) s23 r 19 c -20 r (eer) sg 11 r (une) s12 r (liste) s 12 r (de) s9 12 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s(12 r (bibliographiques) s265 2645 p (de) s10 r (plusieurs) s 10 r (mani) s)3 r 18 c-20 r (eres,) s2 11 r (dont) s 10 r (le) se 10 r 100 c3 r 19 c-20 r (enominateur) sf10 r (commun) s 10 r (reste) s 10 r (le) s010 r (\014chier) s10 r (contenant) s 10 r (les) s 11 r (num) s3 r 19 c-20 r (eros) s65 2707 p (des) s015 r (\014ches) s0 16 r 115 c3 r 19 c-20 r (electionn) s03 r 19 c-20 r (ees.) s 17 r (Ce) s016 r (\014chier) s 15 r (peut) s0 18 r 94 c0-20 r (etre) s 16 r (cr) s 3 r 19 c -20 r 101 c03 r 19 c -20 r 101 c0 15 r (par) s15 r (n'importe) s 14 r (quel) s0 18 r 19 c8-19 r (editeur) s0 15 r (de) s315 r (texte,) s0 16 r (ou) s665 2770 p (bien) s 15 r (en) s015 r (choisissant) s16 r (l'option) s0 15 r 69 c8 14 r (du) s0 15 r (menu) sE16 r (propos) s03 r 19 c -20 r 101 c0 15 r (par) s15 r (l'option) s< t-bol.360 @sf0 14 r (Pr) s03 r 19 c-20 r (eparation) s015 r (d'une) s14 r (liste) s 15 r (de) sF65 2832 p 114 c03 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) s0 t-rom.360 @sf015 r (\(voir) s013 r (\014gure) sC 15 r (8\).) s0 14 r (Ce) s015 r (\014chier) s 15 r (doit) s014 r (contenir) s2 15 r (un) s0 14 r (num) s3 r 19 c -20 r (ero) s0 15 r (de) sF14 r (\014che) s 15 r (par) s15 r (ligne,) s7 15 r (dans) s3 15 r (un) s065 2894 p (ordre) s112 r (quelconque.) s@eop29 @bop029 @bop1 t-obl.360 @sf0-59 132 p 51 c 49 r (PR) sC 86 122 p 19 c076 132 p (EPARATION) s12 r (D'UNE) s12 r (LISTE) s 11 r (DE) s0 12 r 82 c0811 122 p 19 c801 132 p (EF) s869 122 p 19 c860 132 p (ERENCES) sF11 r (BIBLIOGRAPHIQUES) s0 t-rom.360 @sf0 232 r (29) s t-bol.420 @sfF65 277 p (3.1) s 58 r (Cr) s 3 r 19 c-22 r (eation) s 16 r (d'un) su16 r (\014chier) s 15 r (.rfr) si 15 r (pour) s 15 r (BIBLIO) s t-rom.360 @sf 65 394 p 76 c -4 r 39 c 10 r (option) s 12 r 40 ce t-bol.360 @sf (Pr) s3 r 19 c-20 r (eparation) sp10 r (d'une) s11 r (liste) s 12 r (de) s( 12 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) sr t-rom.360 @sf441 c 12 r (doit) s( 14 r 94 c8-20 r (etre) s12 r (utilis) s33 r 19 c -20 r (ee) s 12 r (pour) sp 12 r (cr) s53 r 19 c -20 r (eer) s1 12 r (une) s12 r (liste) s 12 r (de) s065 456 p (\014ches) s912 r (bibliographiques) sd 13 r (sans) s913 r (utiliser) s1 12 r (l'un) s 12 r (des) s12 r (outils) s 13 r (logiciels) s 12 r (pr) s3 r 19 c-20 r (ecit) s3 r 19 c -20 r (es) s 13 r 40 c c-med.360 @sf (refer) s6 t-rom.360 @sf) 12 r (ou) s 12 r (BibT) s01772 467 p 69 c1795 456 p (X\).) s 65 518 p 76 c -4 r ('op) s3 r 19 c-20 r (eration) s 16 r (se) s 19 r 100 c3 r 19 c-20 r (eroule) s18 r (alors) s 19 r (en) s 18 r 50 c18 r (temps:) s9 19 r (on) s 18 r (cr) s23 r 19 c -20 r (ee) s18 r (d'abord) s 18 r (un) s18 r (\014chier) s t-bol.360 @sf 18 r (.rfr) s t-rom.360 @sf6 19 r (qui) s18 r (contiendra) s965 581 p (les) s19 r (\014ches) s7 19 r (dans) s820 r (l'ordre) s18 r (souhait) s3 r 19 c -20 r 101 c 19 r 40 c8 t-ita.360 @sf8 (Alphab) s3 r 19 c-20 r (etique,) s5 19 r (Chr) s-1 r (onologique) s5 t-rom.360 @sf0 19 r (ou) s t-ita.360 @sf 18 r (Arbitrair) s -1 r 101 c t-rom.360 @sfp(\),) s3 19 r (avec) s 20 r (une) s65 643 p (pr) s 3 r 19 c-20 r (esentation) s 8 r (de) s9 r (chaque) s9 r (\014che) s6 8 r (que) s4 9 r (l'on) s 8 r (aura) s 8 r 100 cr3 r 19 c-20 r (e\014nie,) sp 9 r (avec) s 9 r (ou) s 8 r (sans) s 10 r (num) s3 r 19 c-20 r (erotation) s5 8 r (des) s4 9 r 114 c 3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences.) s 65 726 p 84 c7 -1 r (rois) sp11 r (types) s 13 r (de) s613 r (\014chiers) sc12 r (peuvent) s 13 r 103 c3 r 19 c -20 r (en) s3 r 19 c -20 r (er) s3 r 19 c -20 r (es) s 13 r (par) s13 r (cette) s13 r (option:) s112 842 p (1.) s 25 r (Soit) sc 11 r (un) s811 r (\014chier) s 12 r 40 cr t-bol.360 @sf8(.rfr) s t-rom.360 @sf 41 c 11 r (qui) s11 r (pourra) s0 14 r 94 c-20 r (etre) s11 r (inclus) s 12 r (dans) s 12 r (un) s912 r (\014chier) s11 r (texte) s 11 r (pour) s6 14 r 94 c9-20 r (etre) s12 r (trait) s3 r 19 c -20 r 101 c 11 r (par) s 11 r (un) sr174 904 p (formateur) s2 10 r (ou) s3 11 r (un) s011 r (traitement) s 10 r (de) s211 r (texte) s11 r (conventionnel,) s 12 r (ou) se 13 r 94 c(-20 r (etre) s11 r (trait) s3 r 19 c -20 r 101 c2 11 r (par) s10 r (l'option) s10 r (suivante) s9174 967 p 40 c t-bol.360 @sf (Edition) ss14 r (d'une) s14 r (liste) s 15 r (de) ss 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) s t-rom.360 @sf (\),) s 16 r (qui) s15 r (produira) se 14 r (un) s615 r (document) s 15 r (imprimable) s115 r (\(\014chier) s t-bol.360 @sfc174 1029 p (.doc) s( t-rom.360 @sf.41 c13 r (format) s 3 r 19 c -20 r 101 c)12 r (selon) s 13 r (les) s13 r (souhaits) se 13 r (de) sa13 r (l'utilisateur) s -2 r 46 c012 r (C'est) s 13 r (la) s 12 r (forme) s 12 r (par) s 13 r 100 c3 r 19 c-20 r (efaut.) s112 1112 p (2.) s 25 r (Soit) s 15 r (un) s 15 r (\014chier) s 15 r 40 c2 t-bol.360 @sfr(.rfr) s t-rom.360 @sf41 c 15 r (dans) sr16 r (lequel) s( 16 r (les) s16 r (retours) s15 r (chariot) s 15 r (ont) s 18 r 19 c( -20 r (et) s3 r 19 c -20 r 101 cs16 r (supprim) s3 r 19 c -20 r (es) s 15 r (pour) s 15 r (pouvoir) s177 1174 p 94 cc-20 r (etre) s10 r (reformat) s(3 r 19 c -20 r (es) s 9 r (par) sr10 r (certains) s410 r (traitements) s 10 r (de) sT10 r (textes) s6 10 r (pour) sp 10 r (qui) s 9 r (les) sr11 r (retours) s9 r (chariot) s10 r (signi\014ent) sr174 1236 p (paragraphe.) s112 1319 p (3.) so 25 r (Soit) se 12 r (un) s 13 r (\014chier) s 12 r (au) s 13 r (format) so 11 r (de) s2 13 r 76 ccmcsc10.360 @sf749 1313 p 97 c3 t-rom.360 @sfs771 1319 p 84 c795 1335 p 69 c-817 1319 p 88 cr 13 r 40 c3 t-bol.360 @sf(.rfr) s t-rom.360 @sfa41 c 12 r (qui) s13 r (contient) s 12 r (un) sX13 r (environnement) s 12 r (de) s,13 r (liste) s c-med.360 @sfe654 1413 p (\\begin{list}) s 30 r (...) s30 r (\\end{list}) s t-rom.360 @sfs174 1506 p (destin) s.3 r 19 c -20 r 101 cs 16 r 18 c -20 r 97 c 16 r 94 c -20 r (etre) s12 r (inclus) s 13 r (dans) s) 14 r (un) s 12 r (\014chier) s 12 r 84 c6913 1517 p 69 ce936 1506 p (X.) s65 1622 p (Le) s 12 r (menu) s 12 r (d'accueil) s 12 r (de) s2 t-bol.360 @sfc 13 r (Pr) sp3 r 19 c-20 r (eparation) s 12 r (d'une) s11 r (liste) s 12 r (de) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) s t-rom.360 @sf\ 12 r (est) s13 r (montr) s3 r 19 c -20 r 101 c 12 r (par) s 12 r (la) s)13 r (\014gure) so 12 r (8.) s0 12 r (Il) s 65 1685 p (s'agit) s 12 r (d'un) sr 12 r (menu) s t-ita.360 @sf 13 r (peau) ss 13 r (de) ss12 r (chagrin) s t-rom.360 @sf 44 c 14 r (dont) s312 r (seules) s. 14 r (les) s13 r (options) s13 r (encore) su12 r (possibles) s 14 r (sont) s) 13 r (af) s (\014ch) s3 r 19 c-20 r (ees.) s65 1768 p (Deux) s10 r (\014chiers) ss 11 r (sont) s 11 r 110 c3 r 19 c-20 r (ecessaires:) s4 12 r (un) s310 r (\014chier) s 10 r (de) s 11 r (num) s3 r 19 c-20 r (eros) s t-bol.360 @sfr 11 r (.num) s9 t-rom.360 @sf 44 c 10 r (et) s2 11 r (un) s310 r (\014chier) s 10 r (dit) s 11 r (de) s10 r (typographie) s t-bol.360 @sfc65 1830 p (.typ) s t-rom.360 @sf946 c 15 r (Le) s(15 r (programme) s15 r (permet,) s 16 r (soit) se 16 r (de) sc15 r (choisir) s 16 r (un) sr 15 r (de) si 16 r (ceux) s 15 r (existant) s 16 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c16 r (\(choix) s t-bol.360 @sf 15 r 78 c t-rom.360 @sfo 15 r (et) ss t-bol.360 @sfe 16 r 84 c( t-rom.360 @sfr(\),) s 16 r (soit) sr65 1892 p (de) s 12 r (le) s) 13 r (cr) s 3 r 19 c -20 r (eer) s13 r (dynamiquement) s13 r (\(choix) s t-bol.360 @sfr 12 r 69 c2 t-rom.360 @sf) 13 r (et) ss t-bol.360 @sf( 13 r 70 c t-rom.360 @sfe(\).) s 12 r (Dan) s 13 r (le) se13 r (premier) s 12 r (cas) s14 r (\(\014chiers) so12 r (existant) st 14 r 100 c3 r 19 c-20 r (eja\),) s 13 r (une) s65 1955 p (liste) s1 12 r (des) s14 r (\014chiers) ss t-bol.360 @sfs 12 r (.num) s4 t-rom.360 @sf1 12 r (ou) sc t-bol.360 @sfo 13 r (.typ) sc t-rom.360 @sfs 12 r (est) s13 r (propos) s)3 r 19 c -20 r (ee,) s9 14 r (puis) sr 13 r (un) sr 12 r (nom) s 13 r (de) s012 r (\014chier) s 13 r (est) s13 r (demand) so3 r 19 c -20 r (e.) s65 2038 p (Le) s 9 r (choix) s5 t-bol.360 @sfr 10 r 70 c0 t-rom.360 @sf10 r (permet) ss 10 r (de) s010 r (fabriquer) s 9 r (les) sp11 r (\014chiers) s t-bol.360 @sf5 10 r (.typ) s6 t-rom.360 @sf44 c 10 r 114 c3 r 19 c-20 r (eutilisables) s 14 r 18 c. -20 r 97 c10 r (loisir) s9 -2 r 46 ce 10 r (La) s10 r (premi) s3 r 18 c -20 r (ere) s 9 r (chose) s1 11 r (qui) s65 2100 p (doit) s 16 r 94 c -20 r (etre) s 14 r (pr) s 3 r 19 c-20 r (ecis) s3 r 19 c -20 r (ee) s15 r (concerne) s 14 r (les) s t-ita.360 @sf( 15 r 115 c3 r 19 c-20 r (eparateurs) s t-rom.360 @sf 44 c16 r (entre) s14 r (l'avant) s14 r (dernier) s 13 r (et) s5 14 r (le) s714 r (dernier) s14 r (auteur) s214 r (ainsi) s65 2162 p (que) s)10 r (celui) s 11 r (qui) s 10 r (va) s011 r (entourer) s9 10 r (la) s6 11 r (date) s6 11 r (de) sT10 r (parution,) s11 r (avant) s 11 r (et) s 10 r (apr) s3 r 18 c -20 r (es) s11 r (l'ann) s3 r 19 c -20 r (ee.) sE 11 r (On) sr11 r (indiquera) s10 r (ensuite) s 12 r (si) ss65 2224 p (l'on) s 12 r 100 c3 r 19 c-20 r (esire) s 13 r (num) s3 r 19 c-20 r (eroter) s 13 r (les) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences,) s 14 r (et) s 13 r (si) s0 13 r (oui) s 13 r (quel) s- 13 r 115 c3 r 19 c-20 r (eparateur) sa 13 r (on) sr 13 r (met) s13 r (entre) s 12 r (le) s2 13 r (num) s3 r 19 c -20 r (ero) s9 13 r (et) s) 13 r (le) sr65 2287 p (premier) s10 r (auteur) s4 -1 r 44 c2 11 r (et) s11 r (en\014n) s 11 r (si) s 12 r (on) sr 11 r 100 c3 r 19 c-20 r (esire) s 12 r (souligner) s 11 r (le) s11 r (titre) s 11 r (du) ss11 r (journal) s 11 r (ou) se 12 r (du) sc11 r (livre) s 11 r (\(ou) s 10 r (le) s 12 r (mettre) s 11 r (en) s- t-ita.360 @sf 65 2349 p (italique) s t-rom.360 @sf 12 r (si) s) 14 r (l'on) s) 12 r (cr) s 3 r 19 c -20 r (ee) s 14 r (in) so13 r (\014chier) s t-bol.360 @sf5 13 r (.rft) sr t-rom.360 @sfe 13 r (pour) s 12 r 76 ctcmcsc10.360 @sf4859 2343 p 97 c t-rom.360 @sf881 2349 p 84 c9905 2365 p 69 c 927 2349 p (X\).) ss 14 r (Ces) s14 r (indications) s 13 r (sont) sh 14 r (donn) si3 r 19 c -20 r (ees) s( 14 r (en) sr 13 r 114 c3 r 19 c-20 r (epondant) s65 2411 p (aux) s 12 r (question) ss13 r (montr) s3 r 19 c -20 r (ees) s 13 r (sur) s 13 r (la) sr12 r (\014gure) ss 12 r (9,) s6 13 r (avec) s) 13 r (les) s 13 r 114 c3 r 19 c-20 r (eponses) s4 14 r (par) s 12 r 100 c3 r 19 c-20 r (efaut) sc 13 r (pr) si3 r 19 c-20 r (evues.) s65 2494 p 76 c -4 r 39 cl3 r 19 c-20 r (etape) s(13 r (suivante) s15 r (consiste) s9 19 r 18 c -20 r 97 c14 r (indiquer) se15 r (l'ordre) s 13 r (des) s 15 r (dif) s102 c)3 r 19 c-20 r (erents) s13 r (champs) s 16 r (de) su 14 r (la) so15 r (\014che.) s1 15 r (Ils) s 15 r (sont) s7 14 r (in-) s65 2556 p (diqu) s3 r 19 c -20 r (es) s 10 r (en) s010 r (choisissant) s 11 r (dans) sp 11 r (un) s9 10 r (menu) su10 r (\(voir) s)9 r (\014gure) s 9 r (10\)) s 10 r (un) sr 10 r (mn) st3 r 19 c-20 r (emonique) s 10 r (de) s 10 r 50 cs10 r (lettres) s10 r (parmi) s 10 r (ceux) s365 2619 p (qui) sc 13 r (sont) st 14 r (pr) sd3 r 19 c-20 r (esent) s\3 r 19 c -20 r (es.) s 15 r (On) s13 r (indiquera) s 14 r (ces) s 14 r (mn) s43 r 19 c-20 r (emoniques) s) 14 r (dans) ss14 r (l'ordre) s 12 r (dans) se15 r (lequel) s 13 r (on) s 14 r 100 c3 r 19 c-20 r (esire) sc 14 r (im-) s65 2681 p (primer) s 12 r (les) s14 r (champs) ss 14 r (de) s6 13 r (la) sh13 r (\014che.) sv 14 r (Au) s1 14 r (fur) s 12 r (et) ss 16 r 18 c -20 r 97 c14 r (mesure,) s 14 r (on) s( 13 r (voit) se 13 r (en) s( 13 r (haut) s 14 r (de) s 13 r (l') sc3 r 19 c-20 r (ecran) sh 13 r (se) s414 r (construire) s65 2743 p (une) s 15 r (maquette) su 16 r (de) so 16 r (la) sr16 r (\014che) s16 r (telle) s16 r (qu'elle) s 15 r (se) sn 17 r (pr) s03 r 19 c-20 r (esentera.) sr 16 r (Au) s4 16 r (fur) s 15 r (et) s2 19 r 18 cs -20 r 97 c16 r (mesure) sr 16 r (que) s 16 r (les) s16 r (items) s 16 r (du) su65 2806 p (menu) s 13 r (sont) st13 r (utilis) s23 r 19 c -20 r (es,) so 14 r (ils) s 13 r (ne) s 13 r (sont) s 14 r (plus) s 13 r (pr) ss3 r 19 c-20 r (esent) s13 r 19 c -20 r (es.) sn 14 r (Si) su 13 r (tous) s 13 r (les) s 17 r 19 c -20 r (el) s3 r 19 c-20 r (ements) s 14 r (ne) se 13 r (sont) sc 13 r (pas) s 14 r 110 c3 r 19 c-20 r (ecessaires,) s65 2868 p (il) s 12 r (est) s13 r (possible) sd 13 r (de) sr13 r (sortir) so 12 r (par) s t-bol.360 @sf 12 r (EX) s0 t-rom.360 @sfo46 c@eop30 @bop030 @bop1 t-obl.360 @sf.-59 132 p 51 c 49 r (PR) s 86 122 p 19 c 76 132 p (EPARATION) s12 r (D'UNE) s12 r (LISTE) s 11 r (DE) s3 12 r 82 cs811 122 p 19 c801 132 p (EF) s869 122 p 19 c860 132 p (ERENCES) s(11 r (BIBLIOGRAPHIQUES) sc t-rom.360 @sf) 232 r (30) s c-med.360 @sf(-59 449 p (Un) s19 r (fichier) s20 r (contenant) s 20 r (des) s20 r (num\\'{e}ros) ss 20 r (de) sr20 r (r\\'{e}f\\'{e}rences) s620 r (*.num) s 20 r (est) s20 r (n\\'{e}cessaire) s-59 511 p (fichier) s 29 r (de) s930 r (typographie) s30 r (*.typ) s 30 r (est) s30 r (necessaire) s 420 698 p 77 c 30 r 69 c4 30 r 78 c2 30 r 85 cs210 822 p 78 c 30 r (->) sc30 r (choisir) s 30 r (un) s0 30 r (des) s30 r (fichiers) st30 r (*.Num) s30 r (existant) s6210 884 p 69 c 30 r (->) ss30 r (Editer) s1 30 r (ou) ss30 r (creer) s 30 r (un) sn30 r (fichier) s30 r (*.num) s 30 r (avec) s930 r (l'editeur) s210 1009 p 84 c 30 r (->) s430 r (choisir) s 30 r (un) so 30 r (des) s30 r (fichiers) s30 r (*.Typ) s210 1071 p 70 c 30 r (->) s 30 r (Fabriquer) s 30 r (un) sp30 r (fichier) s 30 r (de) s430 r (typographie) s30 r (*.typ) s210 1196 p 76 c2 30 r (->) s330 r (generer) s 30 r (un) s30 r (fichier) s 30 r (pour) s 30 r (LaTeX) s210 1258 p 83 ce 30 r (->) s(30 r (generer) s 30 r (un) s30 r (fichier) s 30 r (Sans) ss 30 r () s( 30 r (pour) s 30 r (certains) s30 r (T.d.T) s210 1383 p 65 c 30 r (->) s)30 r (traiter) s 30 r (le) ss30 r (fichier) s 30 r (par) s30 r (ordre) s30 r (Alphabetique) s3210 1445 p 67 c 30 r (->) s)30 r (traiter) s 30 r (le) su30 r (fichier) s 30 r (par) s30 r (ordre) s30 r (Chronologique) s210 1507 p 79 c( 30 r (->) sr30 r (traiter) s 30 r (le) s130 r (fichier) s 30 r (dans) s 30 r (l'Ordre) s30 r (d'entree) s.210 1569 p 83 cs 30 r (->) so30 r (Sortir) s 30 r (sans) s230 r (traiter) s 30 r (le) s(30 r (fichier) s210 1694 p (Votre) s30 r (choix) s 30 r ([N]:) s' t-rom.360 @sfe203 1914 p (Figure) s 12 r 56 c 13 r 58 ce 12 r (Le) sh 12 r (menu) s. 13 r (pr) sc3 r 19 c-20 r (esent) sl3 r 19 c -20 r 101 c3 13 r (par) s 12 r (Pr) se3 r 19 c-20 r (eparation) s(12 r (d'une) s13 r (liste) s 12 r (de) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) so c-med.360 @sf0-59 2131 p (Choix) s 29 r (des) s30 r (separateurs:) s0-59 2255 p (Separateur) s129 r (avant) s 30 r (le) se30 r (dernier) s30 r (auteur) s 30 r ([and]:) s -59 2317 p (Separateur) s(29 r (avant) s30 r (l'annee) s30 r ([\(]:) s-59 2380 p (Separateur) s29 r (apres) s30 r (l'annee) s30 r ([\)]:) s-59 2504 p (Numerotage) s( 29 r (des) s30 r (r\\'{e}f\\'{e}rences) se 30 r (\(o) s 30 r (ou) si30 r ([n]\):) sr-59 2629 p (Separateur) s 29 r (entre) s30 r (numero) sc 30 r (et) s230 r (premier) s30 r (auteur) s6 30 r ([/]:) s-59 2753 p (Soulignage) s 29 r (du) so 30 r (nom) s 30 r (de) ss30 r (journal) s 30 r (ou) s30 r (livre) s 30 r (\(o) s 30 r (ou) s30 r ([n]\):) sr t-rom.360 @sf9223 2911 p (Figure) sr 12 r 57 cm 12 r 58 cr13 r (Choix) s 12 r (des) s 14 r 115 c3 r 19 c-20 r (eparateurs) s 13 r (des) s 13 r (dif) s102 c 3 r 19 c-20 r (erents) s11 r (champs) s314 r (d'une) s12 r (\014che.) s(@eop31 @bop031 @bop1 t-obl.360 @sfr-59 132 p 51 c 49 r (PR) s) 86 122 p 19 c)76 132 p (EPARATION) s12 r (D'UNE) s12 r (LISTE) s 11 r (DE) s6 12 r 82 cr811 122 p 19 c801 132 p (EF) s869 122 p 19 c860 132 p (ERENCES) s11 r (BIBLIOGRAPHIQUES) ss t-rom.360 @sf 232 r (31) s c-med.360 @sf180 373 p (Liste) s( 30 r (des) s30 r (champs) s 30 r 97 c030 r (imprimer) ss180 497 p (N1) s 30 r (-->) s 30 r (Nom) s 30 r (du) sL30 r (premier) s30 r (auteur) sr180 559 p (P1) s 30 r (-->) s30 r (Prenom) s0 30 r (du) s030 r (premier) s30 r (auteur) sr180 622 p (NP) s 30 r (-->) s30 r (Nom-Prenom) so 30 r (des) s30 r (auteurs) s30 r (suivants) sl180 684 p (PN) s 30 r (-->) s30 r (Prenom-Nom) s 30 r (des) s30 r (auteurs) s30 r (suivants) s180 746 p (NF) s 30 r (-->) s 30 r (Nom) s 30 r (du) si30 r (dernier) s30 r (auteur) s4180 809 p (PF) s 30 r (-->) s30 r (Prenom) s2 30 r (du) s530 r (dernier) s30 r (auteur) st180 871 p (TI) s 30 r (-->) s30 r (Titre) s180 933 p (JO) s 30 r (-->) s30 r (Journal) s 30 r (ou) s30 r (Livre) s180 995 p (VO) s 30 r (-->) s30 r (Volume) s4180 1058 p (PA) sr 30 r (-->) s30 r (Pages) s180 1120 p (AN) s1 30 r (-->) s30 r (Annee) s180 1182 p (EX) sr 30 r (-->) s30 r (Sortir) s(30 r (\(EXit\)) si180 1307 p (Votre) s30 r (choix:) s0 t-rom.360 @sf 159 1527 p (Figure) sr 12 r (10) s 12 r 58 c 12 r (Le) s1 13 r (menu) sr 12 r (pr) ss3 r 19 c-20 r (esent) si3 r 19 c -20 r 101 cs 13 r (pour) s 13 r (choisir) s 12 r (la) s( 13 r (pr) se3 r 19 c-20 r (esentation) s13 r (d'une) s 12 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s65 1704 p (Lorsque) se 12 r (la) sr 12 r (pr) st3 r 19 c-20 r (esentation) s 13 r (de) s 13 r (la) si12 r (\014che) s 13 r (est) s 13 r 100 c3 r 19 c-20 r (e\014nie,) s3 13 r (on) s) 12 r (peut) ss13 r (choisir) s 12 r (le) ss 13 r (type) s 12 r (de) st13 r (classement) s514 r (choisi) s-65 1766 p (\(voir) s10 r (\014gure) sp 12 r (8\).) s9 11 r (Le) s12 r (choix) s 11 r (de) sn 12 r (la) so12 r (sortie) sn 12 r (par) s11 r (ordre) s11 r (d'entr) s33 r 19 c -20 r (ee) s 12 r 40 c) t-bol.360 @sfa79 c t-rom.360 @sfn41 c 10 r (met) s 12 r (les) s12 r (\014ches) s( 12 r (dans) sa13 r (l'ordre) s 10 r (dans) s,65 1828 p (lequel) s12 r (elles) s 13 r (ont) s 16 r 19 c -20 r (et) s3 r 19 c -20 r 101 cc 13 r (entr) s 3 r 19 c -20 r (ees) si 13 r (dans) s 13 r (le) s12 r (\014chier) s t-bol.360 @sfc 13 r (.num) s t-rom.360 @sfn46 c65 1911 p (Apr) s93 r 18 c -20 r (es) s 17 r (la) su16 r (classi\014cation,) s 18 r (un) s5 17 r (nom) s 16 r (de) sc17 r (\014chier) s 16 r (de) s 17 r (sortie) s 17 r (est) s17 r (demand) s13 r 19 c -20 r (e.) s 18 r (Par) s 16 r 100 c3 r 19 c-20 r (efaut) s2 16 r (il) s017 r (portera) s 16 r (le) ss65 1973 p 109 c3 r 94 c -20 r (eme) s 12 r (nom) s 12 r (que) s 13 r (le) s 12 r (nom) s 12 r (du) s013 r (\014chier) s t-bol.360 @sfu 12 r (.num) s t-rom.360 @sf44 c 12 r (avec) sr13 r (comme) s13 r (extension,) s 13 r (soit) s( t-bol.360 @sf( 13 r (.rfr) sc t-rom.360 @sf 13 r (si) s 13 r (on) s 12 r 97 c 12 r 103 c3 r 19 c -20 r (en) s3 r 19 c -20 r (er) s3 r 19 c -20 r 101 c 13 r (un) ss65 2036 p (\014chier) s( 10 r (pour) s(11 r (BIBLIO) s( 10 r (ou) s1 11 r (pour) s 11 r (un) s 11 r (traitement) s2 11 r (de) s)11 r (texte) s 11 r 40 cm t-bol.360 @sfe83 c t-rom.360 @sf341 c 10 r (et) s4 t-bol.360 @sfr 11 r (.rft) s( t-rom.360 @sf 11 r (si) sc 11 r (on) se 11 r 97 c( 11 r 103 c3 r 19 c -20 r (en) s3 r 19 c -20 r (er) s3 r 19 c -20 r 101 c 12 r (un) s 11 r (\014chier) s 10 r (pour) ss65 2098 p 76 ccmcsc10.360 @sf579 2092 p 97 c t-rom.360 @sf101 2098 p 84 cr124 2114 p 69 cr147 2098 p (X.) su t-bol.420 @sf(65 2266 p (3.2) s058 r (Formatage) s 14 r (du) s16 r (\014chier) s 15 r (de) s(15 r (sortie) ss t-rom.360 @sf665 2383 p (Cette) s(12 r (option) s)13 r (permet) ss 12 r (de) su13 r (formater) ss 11 r (un) s 12 r (\014chier) s t-bol.360 @sf 13 r (.rfr) sr t-rom.360 @sf(13 r (a\014n) st 12 r (d'en) ss12 r (faire) s 12 r (une) s13 r (\014chier) s t-bol.360 @sfe 12 r (.doc) si t-rom.360 @sfs13 r (directement) s65 2445 p (imprimable.) s 15 r (Divers) st15 r (param) s3 r 18 c-20 r (etres) sa 16 r (sont) sc 15 r 114 c3 r 19 c-20 r (eglables) s16 r (\(voir) s(14 r (\014gure) sb 15 r 49 cr -1 r (1\),) s(14 r (telles) s( 16 r (les) s 16 r (mar) s(ges) s14 r (gauches,) sc65 2507 p (droites,) s8 r (hautes) s 10 r (et) s 8 r (\(indirectement\)) sp8 r (basses.) s( 10 r (Le) s 8 r (choix) s t-bol.360 @sf9 r (Indentation) s 7 r (de) s 8 r (la) s 9 r (1er) s101 c 8 r (ligne) s 8 r ([-4]:) s t-rom.360 @sfP15 r (concerne) s665 2570 p (l'indentation) s6 11 r (de) s4 12 r (la) s913 r (premi) s3 r 18 c -20 r (ere) s(11 r (ligne) s 12 r (de) ss13 r (chaque) s0 12 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence.) s( 13 r (Une) s12 r (indentation) s 12 r 110 c3 r 19 c-20 r (egative) ss 13 r (met) s12 r (cette) s65 2632 p (premi) s 3 r 18 c -20 r (ere) s 11 r (ligne) s 12 r (en) s111 r (retrait.) s( 12 r (Une) s12 r (indentation) s12 r (positive) s012 r (indente) s12 r (comme) s 12 r (pour) s 11 r (un) s 12 r (paragraphe.) s 12 r (On) s165 2694 p (peut) s 17 r 19 c-20 r (egalement) si 14 r (num) s3 r 19 c-20 r (eroter) s 14 r (ou) su 14 r (non) s 14 r (les) s15 r (pages,) sh16 r (choisir) s 14 r (le) se14 r (titre) s 14 r (de) sr14 r (cette) s15 r (liste,) sr 15 r (et) sr14 r (en\014n) s14 r (justi\014er) s65 2756 p (ou) s 12 r (non) s 13 r (le) s012 r (texte) s 13 r (au) s2 13 r (fer) s 14 r 18 ce -19 r 97 c12 r (droite.) s@eop32 @bop0cmsy10.360 @sff[<000F0038007000E001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C0038007001E00F000{ 1E000700038001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C000E000700038000F> 16 49 -4 12 25] 102 @dcrf[ 16 49 -4 12 25] 103 @dc7T/Courier /c-med.420 ReEncodeForTeX /c-med.420 /c-med.420 58.333229 TeXPSmakefont def/cmcsc10.300 @newfont(cmcsc10.300 @sf f[ 21 21 -1 0 25] 97 @dcN32 @bop1 t-obl.360 @sf0-59 132 p 51 c 49 r (PR) s 86 122 p 19 c76 132 p (EPARATION) s12 r (D'UNE) s12 r (LISTE) s 11 r (DE) sl 12 r 82 c811 122 p 19 c801 132 p (EF) s869 122 p 19 c860 132 p (ERENCES) s11 r (BIBLIOGRAPHIQUES) s) t-rom.360 @sf 232 r (32) s c-med.360 @sf -59 373 p (Marge) s 29 r (gauche) s-30 r ([10]:) s-59 435 p (Marge) s929 r (droite) s(30 r ([75]:) s-59 497 p (Indentation) s1 29 r (de) s) 30 r (la) s 30 r (1ere) se30 r (ligne) s30 r ([-4]:) s-59 559 p (Justification) se 29 r 97 cr30 r (droite) s(30 r (\([o]) s 30 r (ou) s5 30 r (n\):) sa-59 622 p (Nombre) s 29 r (de) sn30 r (lignes) s]30 r (blanches) su 30 r (en) s 30 r (haut) s0 30 r (de) s\ 30 r (page) s 30 r ([3]:) s0-59 684 p (Nombre) s 29 r (de) s630 r (lignes) s 30 r (ecrites) s30 r ([62]:) s-59 746 p (Numerotation) s 29 r (des) s30 r (pages) s30 r (\([o]) s 30 r (ou) sg 30 r (n\):) s(-59 871 p (Titre) s 29 r 97 cs30 r (imprimer) s 30 r (en) s 30 r (tete) s 30 r ([R) s 30 r 69 c 30 r 70 c\ 30 r 69 co 30 r 82 c 30 r 69 c( 30 r 78 c 30 r 67 c 30 r 69 c 30 r (S]) ss 30 r 58 c) t-rom.360 @sf282 1091 p (Figure) se 12 r 49 cr -1 r 49 c3 11 r 58 c 13 r (Les) s12 r (options) s 13 r (de) sm13 r (formatage) s 12 r (et) s4 13 r (les) s13 r (valeurs) s 13 r (par) s 12 r 100 c3 r 19 c-20 r (efaut) s1 t-bol.420 @sf165 1268 p (3.3) s 58 r (Cr) ss3 r 19 c-22 r (eation) s 16 r (d'un) s16 r (\014chier) s 15 r (.bib) s6 16 r (BibT) s6963 1281 p 69 c 994 1268 p 88 cR t-rom.360 @sf-65 1384 p (Cette) s319 r (option,) s18 r (permet) ss 18 r (de) s( 19 r (cr) s(3 r 19 c -20 r (eer) s0 -1 r 44 cr 21 r 18 c9 -20 r 97 c19 r (partir) sr 17 r (des) s 19 r (donn) s(3 r 19 c -20 r (ees) s 20 r (contenues) s 19 r (dans) s 19 r (le) s 19 r (\014chier) s18 r (bibliogra-) s(65 1447 p (phique,) sN 10 r (un) s-9 r (\014chier) sn 10 r (au) s(10 r (format) se 9 r (BibT) s716 1458 p 69 c 738 1447 p 88 cr10 r (\(\014chier) s t-bol.360 @sf( 9 r (.bib) s t-rom.360 @sfr(\),) ss10 r (utilisable) ss 13 r 18 c) -20 r 97 c10 r (partir) si 9 r (d'un) s9 r (document) s 10 r (pr) s 3 r 19 c-20 r (epar) s3 r 19 c -20 r 101 cu65 1509 p (pour) s 15 r 76 cucmcsc10.360 @sf 186 1503 p 97 c- t-rom.360 @sfr208 1509 p 84 cJ231 1525 p 69 cs254 1509 p 88 cs t-rom.240 @sf290 1492 p 50 c8 t-rom.360 @sf309 1509 p 46 cr 15 r (Pour) s815 r (citer) s 16 r (une) s 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence,) ss 16 r (il) s(15 r (faudra) s)15 r (utiliser) s( 16 r (le) st 15 r (num) s3 r 19 c -20 r (ero) si 15 r (de) s. 16 r (la) s 15 r (\014che) s16 r (comme) s 16 r (cl) s23 r 19 c -20 r 101 c 65 1571 p (d'acc) s 3 r 18 c -20 r (es.) s 13 r (On) s 12 r (devra) s 11 r (donc) sh12 r (inclure) s 12 r (dans) s 12 r (le) s12 r (\014chier) scmsy10.360 @sf 12 r 110 c c-med.360 @sf (bibliography) scmsy10.360 @sf102 c1 c-med.360 @sf (xxxx.bib) scmsy10.360 @sf103 c9 t-rom.360 @sft44 c 12 r (et) s 14 r 18 ca -19 r 97 c12 r (l'en-) s65 1633 p (droit) s 19 r 111 c4 r 18 c -20 r 117 cr 18 r (doit) s( 23 r 94 c3-20 r (etre) s 20 r (cit) s3 r 19 c -20 r (ee) s 20 r (la) sl 20 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence,) su 20 r (par) s19 r (exemple:) s c-med.360 @sf(20 r (These) s48 r (authors) scmsy10.360 @sf 47 r 110 c c-med.360 @sfi(cite) scmsy10.360 @sf102 c1 c-med.360 @sf (125,) s65 1696 p (2546) scmsy10.360 @sf103 ct c-med.360 @sft 31 r (have) sa32 r (shown...) s( t-rom.360 @sf3 32 r 46 c 14 r (BibT) s787 1707 p 69 c1810 1696 p (Xproduit) sr13 r (alors) s 13 r (un) s(14 r (\014chier) s t-bol.360 @sfr13 r (xxxx.bbl) sc t-rom.360 @sf 13 r (qui) s13 r (contient) s,14 r (l'en-) s65 1758 p (vironnement) s2 c-med.360 @sf1'305 1882 p (\\begin{thebibliography}) sn335 1945 p (...) s%305 2007 p (\\end{thebibliography}) s t-rom.360 @sf265 2131 p (utilis) s3 r 19 c -20 r 101 cn 12 r (par) s 13 r (BibT) se372 2142 p 69 ch394 2131 p 88 cs 13 r (pour) sr12 r (produire) s 12 r (la) s 13 r (bibliographie) s 12 r (en) s)12 r (\014n) s13 r (d'article.) sc t-bol.420 @sf65 2300 p (3.4) s 58 r (Cr) se3 r 19 c-22 r (eation) s 16 r (d'un) s(16 r (\014chier) s 15 r (.r) sr(efer) s 13 r (pour) sn c-med.420 @sf 16 r (refer) s t-bol.420 @sf) 15 r (et) s c-med.420 @sfi14 r (nroff) s t-rom.360 @sf765 2416 p (Cette) s 14 r (option) se14 r (n'est) s14 r (propos) s 3 r 19 c -20 r (ee) s14 r (qu'en) s14 r (environnement) s14 r (UNIX.) s 14 r (Elle) s13 r (permet) s 14 r (de) s14 r (produire) s6 16 r 18 c -19 r 97 c14 r (partir) s265 2479 p (de) s 11 r (la) sr 11 r (base) s( 12 r (de) s( 11 r (donn) su3 r 19 c -20 r (ees) s12 r (bibliographiques,) s 12 r (un) s 11 r (\014chier) s11 r (ayant) s 11 r (le) s( 12 r 109 c3 r 94 c -20 r (eme) s.11 r (format) sr 10 r (que) s 12 r (ceux) s(11 r (produits) s65 2541 p (manuellement) s 16 r (par) s c-med.360 @sfc16 r (addbib) s t-rom.360 @sf0 16 r (pour) s 16 r (alimenter) s 16 r (le) sr16 r (\014ltre) sI c-med.360 @sf(16 r (refer) s t-rom.360 @sfn 16 r (qui) s16 r (produit) s t-ita.360 @sf( 16 r (in) sr16 r (\014ne) s t-rom.360 @sfo 16 r (un) s116 r (\0~ BIBLIO.BCK,yMdw[DANA.BIBLIO.DOC]BIBLIO.PS;2|YZ14chier) s65 2603 p (pour) s 13 r (les) s15 r (formateurs) s 14 r (de) s 14 r (texte) s c-med.360 @sf 14 r (nroff) s t-rom.360 @sf2 15 r (ou) s c-med.360 @sf014 r (troff) s t-rom.360 @sfh46 c 14 r (Ici,) ss 15 r (la) s6 14 r (cl) s63 r 19 c -20 r 101 c14 r (permettant) s0 14 r (de) s215 r (citer) s 14 r (la) s.14 r (\014che) s 14 r (est) s65 2665 p (le) s 13 r (num) s3 r 19 c -20 r (ero) se 12 r (de) se 13 r (la) so13 r (\014che,) s 14 r (pr) s 3 r 19 c -20 r (ec) s3 r 19 c -20 r (ed) s3 r 19 c -20 r 101 co 13 r (de) s113 r ("ref") s 13 r (sans) s14 r (espace,) s 14 r (par) s13 r (exemple,) sr 14 r (la) s13 r (\014che) s 13 r (125) s 13 r (sera) s3 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s3 r 19 c -20 r (ee) s65 2728 p (par) si c-med.360 @sfr12 r (ref125) sr t-rom.360 @sf 46 c-59 2773 p 768 2 rur t-rom.210 @sfr-1 2804 p 50 c t-rom.300 @sfe15 2818 p 86 c -4 r (oir:) s05 r (Leslie) s9 r (Lamport.) s9 r 76 ccmcsc10.300 @sfr388 2813 p 97 ca t-rom.300 @sf406 2818 p 84 cc425 2831 p 69 ct445 2818 p (X:) s)8 r 65 c8 r (document) s8 r (Preparation) s 8 r (System.) sr9 r (Addison-W) sx-2 r (esley) s7 r (Publishing) s6 r (Company) ss -2 r 44 cs 8 r (Inc.) s 8 r (1986.) sl@eop33 @bop033 @bop1 t-obl.360 @sf-59 132 p 51 c 49 r (PR) s 86 122 p 19 c 76 132 p (EPARATION) s12 r (D'UNE) s12 r (LISTE) s 11 r (DE) s 12 r 82 ci811 122 p 19 c801 132 p (EF) s869 122 p 19 c860 132 p (ERENCES) ss11 r (BIBLIOGRAPHIQUES) s t-rom.360 @sfs 232 r (33) s t-bol.360 @sf165 277 p (3.4.1) s51 r (Liste) s 13 r (des) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) si12 r (seules) s t-rom.360 @sfi65 394 p (Cette) s11 r (option) so11 r (permet,) s 14 r 18 cr -20 r 97 c12 r (partir) s10 r (d'une) s11 r (sous-base) s12 r (bibliographique) s11 r (contenue) s) 12 r (dans) s 11 r (un) se11 r (\014chier) s t-bol.360 @sf 11 r (.r) s(e-) s65 456 p (fer) s t-rom.360 @sf44 c10 r (d'obtenir) s 9 r (un) s10 r (\014chier) s9 r (document) s t-bol.360 @sf) 10 r (.doc) s, t-rom.360 @sf 46 c 11 r (La) ss10 r (sortie) se 10 r (se) s 10 r (fait) s( 10 r (au) s(10 r (choix) s 10 r (dans) su10 r (l'ordre) s9 r (alphab) s3 r 19 c-20 r (etique,) se65 518 p (chronologique) s 12 r (ou) s012 r (arbitraire,) s 13 r (avec) s0 13 r (ou) s1 12 r (sans) s1 14 r (num) s3 r 19 c-20 r (erotation) s0 12 r (des) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences.) s 14 r (Le) s 12 r (choix) s 12 r (se) s1 14 r (fait) s1 12 r (en) s065 581 p 114 c3 r 19 c-20 r (epondant) s 15 r 18 c0 -20 r 97 c 14 r (des) s13 r (questions) s 14 r (pos) s3 r 19 c -20 r (ees) s0 14 r (par) s 13 r (le) s013 r (programme.) se 13 r (Le) se13 r (\014chier) s12 r (document) sT t-bol.360 @sff 13 r (.doc) s@ t-rom.360 @sf1 14 r (est) s13 r (directe-) s865 643 p (ment) sF12 r (imprimable.) s t-bol.360 @sf065 799 p (3.4.2) s51 r (Liste) s 13 r (des) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c -20 r (er) s (ences) s9 12 r (dans) s1 13 r (un) s612 r (Article) s t-rom.360 @sf)65 915 p (Cette) s11 r (option) sr11 r (permet,) s 14 r 18 c3 -20 r 97 c12 r (partir) s610 r (d'une) s11 r (sous-base) s12 r (bibliographique) s11 r (contenue) s- 12 r (dans) s5 11 r (un) se11 r (\014chier) s t-bol.360 @sf) 11 r (.r) s (e-) s65 978 p (fer) s t-rom.360 @sf)44 c 11 r (de) sn11 r (traiter) s11 r (automatiquement) s 11 r (un) s011 r (article) s11 r (contenu) s 12 r (dans) si 11 r (un) s911 r (\014chier) s c-med.360 @sf)11 r (nroff) s t-rom.360 @sfa11 r (\(\014chier) s t-bol.360 @sf 11 r (.nr) s111 cr t-rom.360 @sf41 c 10 r (par) s c-med.360 @sf(65 1040 p (refer) s t-rom.360 @sf0 11 r (puis) sm c-med.360 @sfe11 r (nroff) s t-rom.360 @sfc12 r (a\014n) s611 r (d'obtenir) s 11 r (un) ss11 r (\014chier) s11 r (document) s( t-bol.360 @sfu 11 r (.doc) s: t-rom.360 @sf 12 r (mis) s 12 r (en) sr 11 r (page) s 12 r (par) s c-med.360 @sf11 r (nroff) s t-rom.360 @sf7 11 r (apr) s3 r 18 c -20 r (es) s65 1102 p (classement) s 12 r (par) s11 r (ordre) s10 r (alphab) s63 r 19 c-20 r (etique,) se12 r (chronologique) s 11 r (ou) s10 r (arbitraire,) s 11 r (avec) s( 12 r (ou) s( 10 r (sans) s2 t-ita.360 @sfr 12 r (num) s3 r 19 c -20 r (er) s-1 r (otation) s t-rom.360 @sfe65 1164 p (des) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences.) s 13 r (Le) s 12 r (choix) s 12 r (se) s( 13 r (fait) s( 12 r (en) s 13 r 114 c3 r 19 c-20 r (epondant) s 15 r 18 c8 -20 r 97 c 12 r (des) s13 r (questions) s 14 r (pos) s3 r 19 c -20 r (ees) s9 13 r (par) s 12 r (le) s 13 r (programme.) s 12 r (Le) sa65 1227 p (\014chier) s914 r (d'entr) s 3 r 19 c -20 r (ee) s t-bol.360 @sfs 14 r (.nr) s111 cr t-rom.360 @sf(14 r (devra) s14 r (contenir) s 14 r (des) s15 r (lignes) sn 15 r (de) s115 r (contr) s4 r 94 c -21 r (ole) se 14 r (pour) s c-med.360 @sf 14 r (refer) s t-rom.360 @sf4 14 r (en) so15 r (utilisant) s 14 r (la) s6 15 r (cl) s 3 r 19 c -20 r 101 cs65 1289 p (de) s14 r (citation) sr14 r (contenue) s 14 r (dans) ss 15 r (le) s 14 r (\014chier) s t-bol.360 @sfc 14 r (.r) su(efer) s t-rom.360 @sfr44 c14 r (comme) s14 r (expliqu) s3 r 19 c -20 r 101 c 14 r (ci-dessus.) s5 16 r (Une) s 15 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erence) s 13 r (sera) sr65 1351 p (donc) s 12 r (cit) s3 r 19 c -20 r (ee) s 13 r (en) s213 r (incluant) sc 15 r 18 ce -20 r 97 c13 r (l'endroit) s12 r (choisi) st c-med.360 @sfr65 1600 p (This) s30 r (citation) s 65 1662 p (.[) s65 1725 p (ref125) s65 1787 p (.]) s65 1849 p (for) s(30 r (example....) s t-rom.360 @sf765 2036 p (Le) s9 r (\014chier) s 9 r (document) s t-bol.360 @sf 10 r (.doc) s t-rom.360 @sfs 10 r (est) s10 r (directement) s10 r (imprimable,) s10 r (puisqu'il) s9 r 97 c 10 r 100 c3 r 19 c -20 r (ej) s3 r 18 c -20 r 97 c 13 r 19 c5 -20 r (et) s3 r 19 c -20 r 101 c@10 r (trait) s3 r 19 c -20 r 101 c 9 r (par) sw c-med.360 @sf. 9 r (nroff) s4 t-rom.360 @sfT46 c65 2098 p (Une) s1 12 r (des) s12 r (options) s 12 r (pass) sn3 r 19 c -20 r (ees) s 17 r 18 cs -20 r 97 c c-med.360 @sfo12 r (refer) s t-rom.360 @sf( 12 r (est) s t-bol.360 @sf 12 r (-e) sr t-rom.360 @sf-44 c13 r (signi\014ant) se12 r (qu'il) s 11 r (faut) s911 r (collecter) s 12 r (les) s 13 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) sc 12 r (en) sn12 r (\014n) s65 2161 p (d'article.) s 12 r (De) s1 13 r (ce) s3 13 r (fait) s2 12 r (il) s 12 r (faut) s 13 r (inclure) s 12 r (en) s(13 r (\014n) s12 r (d'article) s c-med.360 @sf.65 2347 p (....) s 30 r (fin) s 30 r (du) s 30 r (papier.) s65 2410 p (.[) s65 2472 p ($LIST$) s65 2534 p (.]) s t-rom.360 @sfo65 2721 p (Une) ss14 r (autre) s15 r (option) s) 14 r (pass) s3 r 19 c -20 r (ee) s 19 r 18 co -19 r 97 c c-med.360 @sfe14 r (refer) s t-rom.360 @sf' 15 r (est) s t-bol.360 @sf 15 r (-a1) s t-rom.360 @sfe15 r (\(mettre) sn 14 r (le) sr14 r (premier) s14 r (auteur) se 15 r (dans) s( 15 r (le) s( 15 r (sens) s6 16 r (pr) s 3 r 19 c-20 r (enom,) s565 2783 p (nom\)) s( 19 r (et) s( t-bol.360 @sf( 21 r (-n) s( t-rom.360 @sf9 19 r (\(ne) s 20 r (pas) s21 r (utiliser) s2 21 r (le) s120 r (\014chier) s 20 r (de) s 20 r 114 c3 r 19 c -20 r (ef) s3 r 19 c-20 r (erences) s 21 r (par) s 20 r 100 c3 r 19 c-20 r (efaut) s 20 r (/usr/dict/papers/Rv7man) s65 2846 p (d'UNIX) s 12 r (\).) s@eop34 @bop034 @bop1 t-obl.360 @sfr-59 132 p 50 c49 r (INSTALLATION) s4 10 r (SOUS) s.13 r (MS/DOS) se t-rom.360 @sf6 1092 r (34) su t-bol.600 @sfd422 293 p (INST) s -5 r (ALLA) sr -5 r (T) s -1 r (ION) s 19 r (DE) sr21 r (BIBLIO) s0 t-bol.510 @sf2 65 892 p 50 c71 r (Installation) sm 17 r (sous) sr17 r (MS/DOS) se t-rom.360 @sf665 1027 p (La) s16 r (distribution) s5 17 r (de) s-17 r (BIBLIO) sr 16 r (pour) so17 r (MS/DOS) s 17 r (est) s17 r (compos) s43 r 19 c -20 r (ee) s 18 r (de) s4 17 r 50 ca17 r (disquettes) s 18 r (de) ss 17 r (360) s 16 r (Ko.) s 18 r (On) ss65 1089 p (s'assurera,) sr14 r (avant) s14 r (d'utiliser) s213 r (BIBLIO,) s 13 r (que) s 14 r (la) s13 r (machine) s 14 r (est) s 14 r (bien) s13 r (con\014gur) sc3 r 19 c -20 r (ee) s 14 r (en) sr 13 r (mode) sa 14 r (ANSI) ss 13 r (et) sr65 1151 p (avec) s 16 r (un) sr16 r (nombre) s0 16 r (de) sr16 r (\014chiers) s 16 r (ouvrables) s16 r (simultan) s3 r 19 c-20 r (ement) s 17 r (suf) s(\014samment) sp15 r (important) s16 r (\(minimum) s65 1213 p (20\),) sc 12 r (en) s7 13 r 118 c3 r 19 c-20 r (eri\014ant) s 12 r (le) s13 r (\014chier) s 12 r (de) s 13 r (con\014guration) s t-bol.360 @sf12 r (CONFIG.SYS) s t-rom.360 @sf- 12 r (en) s13 r (tapant:) s c-med.360 @sft65 1338 p (C>TYPE) s30 r (C:\\CONFIG.SYS) ss t-rom.360 @sfi65 1462 p (Il) s12 r (faudra) ss12 r (trouver) s 12 r (dans) sb 13 r (le) s 12 r (\014chier) s t-bol.360 @sfc13 r (CONFIG.SYS) s t-rom.360 @sf 12 r (au) sb13 r (moins) s 13 r (les) s13 r (lignes:) s c-med.360 @sf265 1587 p (DEVICE=ANSI.SYS) ss65 1649 p (FILES=20) s65 1711 p (BUFFERS=20) s t-rom.360 @sf365 1836 p (Si) s 11 r (cela) s312 r (n'est) s 11 r (pas) s 12 r (le) s 12 r (cas,) ss 13 r (on) ss 14 r 19 c -20 r (editera) s. t-bol.360 @sft12 r (CONFIG.SYS) s3 t-rom.360 @sf944 c 12 r (et) s 12 r (l'on) se11 r (rebootera) s 11 r (la) s 12 r (machine) s 11 r (en) st12 r (pressant) s 65 1898 p (simultan) s3 r 19 c-20 r (ement) s( 12 r (CR) s0 -2 r (TL,) s 12 r (AL) ss -4 r 84 c( 11 r (et) su 13 r (Del.) st65 1981 p (Pour) s16 r (installer) s16 r (BIBLIO,) s 17 r (on) ss 16 r (ins) s3 r 18 c -20 r (ere) s) 17 r (la) s 17 r (premi) s3 r 18 c -20 r (ere) ss16 r (disquette) s17 r (\(marqu) s3 r 19 c -20 r (ee) s17 r (1/2\)) s 16 r (dans) s 17 r (le) s17 r (lecteur) s 16 r (A,) s65 2043 p (puis) s 12 r (l'on) s(12 r (tape:) s c-med.360 @sf(65 2168 p (C>) s30 r (A:BIBLIO) s t-rom.360 @sf65 2292 p (Cette) su11 r (commande) s11 r (lance) s 11 r (une) s 11 r (proc) su3 r 19 c-20 r (edure) s(10 r (d'installation) se11 r (automatique) s 11 r (qui) s11 r (installe) s 11 r (le) s910 r (programme) s65 2354 p (BIBLIO) s 11 r (dans) sr 13 r (la) sr12 r (racine) s( c-med.360 @sfp 12 r (C:) s9cmsy10.360 @sf110 c t-rom.360 @sf 44 c13 r (libre) s 14 r 18 ci -20 r 97 c 13 r (vous) s9 12 r (de) ss 12 r (le) sa13 r (copier) s012 r (ensuite) s 12 r (dans) s 13 r (le) s4 12 r 114 c3 r 19 c-20 r (epertoire) sf 12 r 111 c4 r 18 c -20 r 117 c4 11 r 114 c3 r 19 c-20 r (esident) s(65 2417 p (vos) sr 11 r (ex) s-3 r 19 c-20 r (ecutables.) s 13 r (Un) s) 11 r 114 c3 r 19 c-20 r (epertoire) s t-bol.360 @sf9 10 r (C:) s)cmsy10.360 @sf110 ca t-bol.360 @sfn (BIBLIO) s t-rom.360 @sfo 13 r (est) s12 r (ensuite) s 11 r (cr) s 3 r 19 c -20 r 101 c43 r 19 c -20 r (e,) s 12 r 111 c4 r 18 c -20 r 117 cr 10 r (sont) s12 r (install) s3 r 19 c -20 r (es) s 12 r (les) s 11 r (dif) s102 c13 r 19 c-20 r (erents) s65 2479 p (programmes) s 12 r 110 c3 r 19 c-20 r (ecessaires.) sr 16 r (La) sr12 r (seconde) s14 r (disquette) s14 r (\(2/2\)) s 12 r (est) s13 r (ensuite) s14 r (demand) s3 r 19 c -20 r (ee,) sh 14 r (puis) s613 r (l'installa-) s65 2541 p (tion) s15 r (continue) s 15 r (en) s 16 r (cr) ss3 r 19 c-20 r (eant) s 15 r (un) sa 16 r 114 c3 r 19 c-20 r (epertoire) s 15 r (dans) s16 r (lequel) s- 15 r (sera) s1 16 r (cr) s3 r 19 c -20 r 101 c\3 r 19 c -20 r 101 ci 16 r (le) sn15 r (squelette) s 16 r (du) so16 r (\014chier) s 15 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s t-bol.360 @sfe65 2604 p (C:) scmsy10.360 @sf110 c( t-bol.360 @sf. (GENERAL) srcmsy10.360 @sf110 c t-bol.360 @sf0 (BIBLIO) s t-rom.360 @sfa46 c c-med.360 @sf65 2687 p (EDLIN) s t-rom.360 @sfi 9 r (est) sr11 r (alors) s 10 r (pris) s10 r (comme) s 13 r 19 cr-20 r (editeur) su 10 r (par) s 9 r 100 ct3 r 19 c-20 r (efaut) s 10 r (pour) se c-med.360 @sft10 r (BIBEDIT) s t-rom.360 @sf 46 c 10 r (En) sc10 r (pratique,) s 10 r (il) sc 10 r (est) s10 r (probable) s 65 2749 p (que) s2 12 r (vous) sr 13 r (pr) s23 r 19 c -20 r (ef) s3 r 18 c-20 r (ererez) s11 r (utiliser) s 13 r (un) se 15 r 19 c(-20 r (editeur) s( 12 r (plus) sc12 r (commode) s 13 r (\(W) s -3 r (ord,) s311 r (emacs,) s 14 r 87 c -3 r (ord-Perf) sc -1 r (ect,) s( 11 r 87 c -3 r (ord-) s 65 2811 p (Star) s -1 r 44 cn 13 r (etc) s46 c8 r 46 c8 r 46 c 11 r (\).) s 15 r (Dans) sr 15 r (ce) sr 15 r (cas,) s5 16 r (il) s5 14 r (suf) s (\014ra) s 14 r (d') s3 r 19 c-20 r (editer) s c-med.360 @sf)14 r (BIBEDIT.BAT) s t-rom.360 @sfr 14 r (pour) s15 r (re\015) sr3 r 19 c-20 r (eter) s14 r (votre) s14 r (choix.) si 15 r (Si) s465 2873 p (par) s49 r (exemple,) s 11 r (vous) s(10 r (utilisez) s.11 r (habituellement) se 10 r 87 co-3 r (ord-Star) s4 -2 r 44 cs 8 r (et) s 10 r (que) s10 r (celui-ci) s410 r (s'appelle) s 10 r (WS) s 10 r (sur) s10 r (votre) s65 2936 p (syst) s3 r 18 c-20 r (eme,) s14 r (votre) s c-med.360 @sfi12 r (BIBEDIT.BAT) s t-rom.360 @sfn12 r (deviendra:) s @eop35 @bop035 @bop1 t-obl.360 @sfi-59 132 p 50 c49 r (INSTALLATION) s 10 r (SOUS) s)13 r (MS/DOS) sn t-rom.360 @sf 1092 r (35) s c-med.360 @sf565 277 p (WS) s5 30 r (%1) s t-rom.360 @sfl65 402 p (En\014n,) s710 r (avant) s 11 r (de) sc11 r (pouvoir) s11 r (lancer) s611 r (BIBLIO,) s 11 r (vous) s 11 r (devrez) ss11 r (ajouter) scmsy10.360 @sf 11 r 110 c c-med.360 @sf) (BIBLIO) s t-rom.360 @sf 14 r 18 c -20 r 97 c 11 r (la) s 11 r (path) s5 11 r (dans) s11 r (votre) s c-med.360 @sfr65 464 p (AUTOEXEC.BAT) s t-rom.360 @sfw44 c 13 r (qui) s12 r (pourra) so12 r (ressembler) s2 16 r 18 c -20 r (a:) s c-med.360 @sfn(65 588 p (PATH=C:\\;C:\\WS;C:\\BIBLIO) s t-rom.360 @sfs65 713 p (BIBLIO) s6 12 r (est) s 13 r (pr) so3 r 18 c -20 r (es) s 15 r 18 c -19 r 97 c 15 r 94 co-20 r (etre) s13 r (utilis) s33 r 19 c -20 r 101 ce 12 r (en) sB13 r (tapant:) s c-med.360 @sf 65 838 p (C>BIBLIO) s @eop36 @bop036 @bop1 t-obl.360 @sfo-59 132 p 51 c49 r (INSTALLATION) sX 10 r (SOUS) so 13 r (UNIX) sc t-rom.360 @sf 1153 r (36) so t-bol.510 @sfl 65 285 p 51 c 71 r (Installation) s. 17 r (sous) s8 17 r (UNIX) s: t-rom.360 @sf)65 419 p (La) ss17 r (distribution) s 17 r (de) s18 r (BIBLIO) s 17 r (pour) s) 18 r (UNIX) s 17 r (est) s19 r (faite) s 17 r (sur) s 18 r (TK50) s 17 r (ou) si18 r (bande) s 18 r (tar) s -2 r 46 c 17 r (La) s18 r (version) s 17 r (4.2) s65 481 p (de) s 15 r (biblio) s214 r (n'utilise) s 15 r (pas) s c-med.360 @sf)15 r (termcap) s t-rom.360 @sf344 c 16 r (et) s( 15 r (il) s( 14 r (est) s 16 r (pr) s3 r 19 c -20 r (evu) s) 14 r (pour) si 15 r (les) s15 r (terminaux) s 15 r (ANSI) s(14 r (\(DEC) s15 r (VT100,) sr65 544 p (VT2xx,) ss12 r (VT3xx,) sT13 r (etc...\).) s65 627 p (Pour) s15 r (installer) s16 r (BIBLIO,) s 17 r (on) s)16 r (lancera) s 17 r (le) s 16 r (script) s c-med.360 @sf16 r (install) s 3 r 15 2 ru 15 r (bib) s 3 r 15 2 rus 15 r (unix) s t-rom.360 @sf 16 r (qui) s 16 r (par) s 16 r (un) s( 17 r (jeu) s 16 r (de) s4 16 r (qu-) s65 689 p (estions) s 17 r 114 c3 r 19 c-20 r (eponses) s 17 r (installera) s 16 r (BIBLIO) sm 16 r (dans) st 17 r (les) s 16 r 114 c3 r 19 c-20 r (epertoires) s16 r (choisis.) s) 18 r (Des) s 17 r 114 c3 r 19 c-20 r (eponses) ss 17 r (par) s 16 r 100 c3 r 19 c-20 r (efaut) s 65 751 p (sont) sc 10 r (pr) s(3 r 19 c-20 r (evues.) s 12 r (Par) s 10 r 100 c3 r 19 c-20 r (efaut,) s 11 r (le) sU10 r (programme) s 10 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s t-bol.360 @sfN10 r (biblio) s t-rom.360 @sfS 10 r (sera) s 11 r (install) s3 r 19 c -20 r 101 c 11 r (dans) s t-bol.360 @sf11 r (/usr/local/bin/) s t-rom.360 @sf144 c 10 r (les) s65 814 p (sous-t) s53 r 94 c-20 r (aches) sm 14 r (dans) sr t-bol.360 @sf #13 r (/usr/local/bin/biblio.bin/) s t-rom.360 @sfi 11 r (et) s( 13 r (le) s(12 r (\014chier) s 12 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s 13 r (dans) s) t-bol.360 @sf413 r (/usr/general/biblio/) s c-med.360 @sfs65 897 p (vi) s6 t-rom.360 @sfr 13 r (est) s 15 r (pris) sr13 r (comme) s 17 r 19 cr-20 r (editeur) s3 14 r (pour) s c-med.360 @sf413 r (bibedit) s t-rom.360 @sfr 14 r (si) sr 14 r (vous) sr 14 r (avez) sc 15 r (pris) s 14 r (la) sr 13 r 114 c3 r 19 c-20 r (eponse) s 15 r (par) s 13 r 100 c3 r 19 c-20 r (efaut) sr 14 r (lors) s6 14 r (de) s665 959 p (l'installation) sr 17 r (par) s17 r (defaut) s 17 r (pour) se c-med.360 @sf(17 r (bibedit) s t-rom.360 @sfm46 c 18 r (Si) s( 17 r (vous) s1 17 r 100 c3 r 19 c-20 r (esirez) s18 r (ensuite) s18 r (changer) s 18 r (d') s3 r 19 c-20 r (editeur) s 16 r (pour) s165 1021 p (utiliser) s 12 r (un) sO 15 r 19 c -19 r (editeur) s2 12 r (plus) sr13 r (commode) s13 r (\(emacs) s 13 r (ou) ss12 r (jove\),) s 13 r (il) so 12 r (suf) s (\014ra) s 12 r (de) sd13 r (changer) s 12 r (le) s( 13 r (lien) s(13 r (symbolique) se65 1083 p (de) s c-med.360 @sfG12 r (bibedit) s t-rom.360 @sfu 13 r (avec) sn 13 r (une) s13 r (commande) s) 12 r (du) s 13 r (genre:) sD c-med.360 @sf 65 1208 p (ln) s 30 r (-s) s130 r (/usr/new/jove/jove) s6&30 r (/usr/local/biblio.bin/bibedit) s t-rom.360 @sfs65 1332 p (BIBLIO) s 12 r (est) s 13 r (pr) sr3 r 94 c -20 r (et) s 15 r 18 ca -20 r 97 c 15 r 94 c2-19 r (etre) s12 r (utilis) s93 r 19 c -20 r 101 c2 13 r (en) s13 r (tapant) ss t-ita.360 @sf 12 r (en) s)13 r (minuscules) sr t-rom.360 @sf58 c c-med.360 @sfs65 1457 p 37 c30 r (biblio) sR@eop37 @bop037 @bop1 t-obl.360 @sf -59 132 p 52 c49 r (INSTALLATION) s8 10 r (SOUS) s6 13 r (VMS) s t-rom.360 @sfO 1170 r (37) s t-bol.510 @sfs 65 285 p 52 c 71 r (Installation) s 17 r (sous) ss 17 r (VMS) s t-rom.360 @sf665 419 p (La) s13 r (distribution) s9 14 r (de) s)14 r (BIBLIO) ss 14 r (pour) s 14 r (VMS) s 14 r (est) s15 r (faite) s 14 r (sur) s 14 r (TK50) s( 14 r (ou) sr14 r (bande) s14 r (BACKUP) s6 -5 r 46 c 15 r (La) sO14 r (version) s65 481 p (4.2) s 13 r (de) s112 r (biblio) s 12 r (est) s 13 r (pr) ss3 r 19 c-20 r (evue) s 13 r (pour) s 12 r (les) s13 r (terminaux) s 12 r (ANSI) ss13 r (\(DEC) s12 r (VT100,) s 12 r (VT2xx,) s013 r (VT3xx,) s13 r (etc...\).) s65 565 p (Pour) s315 r (installer) s15 r (BIBLIO,) s 16 r (on) s(16 r (lancera) s 16 r (la) s 16 r (proc) s3 r 19 c-20 r (edure) s1 c-med.360 @sfc15 r (@INSTALL) s2 3 r 15 2 ru2 15 r (BIB) s 3 r 15 2 ru0 15 r (VMS) s t-rom.360 @sfs 16 r (qui) s 16 r (par) s 15 r (un) s 16 r (jeu) s 16 r (de) s165 627 p (questions) s 12 r 114 c3 r 19 c-20 r (eponses) st13 r (installera) s 12 r (BIBLIO) s 11 r (dans) s 12 r (les) s 12 r 114 c3 r 19 c-20 r (epertoires) s12 r (choisis.) so 13 r (Des) s 12 r 114 c3 r 19 c-20 r (eponses) s. 13 r (par) s 11 r 100 c3 r 19 c-20 r (efaut) s265 689 p (sont) sr 16 r (pr) s 3 r 19 c-20 r (evues.) s 18 r (Par) s 16 r 100 c3 r 19 c-20 r (efaut,) s 17 r (le) s16 r (programme) s 16 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s t-bol.360 @sfe16 r (biblio) s t-rom.360 @sf 16 r (sera) s 17 r (install) s3 r 19 c -20 r 101 cr 17 r (dans) s) t-bol.360 @sfe17 r (SYS$BIBLIO) s) t-rom.360 @sfs44 c65 751 p (les) s13 r (sous-t) s 3 r 94 c-20 r (aches) s( 14 r (dans) s( t-bol.360 @sf13 r (SYS$BIBLIO) s5 3 r 15 2 ru 17 r (BIN) s t-rom.360 @sfs 13 r (et) s2 13 r (le) s13 r (\014chier) s 12 r 103 c3 r 19 c -20 r (en) s3 r 19 c-20 r (eral) s 13 r (dans) s( t-bol.360 @sf( 14 r (BIB:) sc t-rom.360 @sf46 c 14 r (Il) s 12 r (s'agit) s 13 r (de) st 13 r (noms) s 65 814 p (logiques) s 12 r (qui) s13 r (devront) s 15 r 94 cc-20 r (etre) s 13 r 100 c3 r 19 c-20 r (e\014nis) s 12 r (avec) s( 14 r (par) s12 r (exemple:) sm c-med.360 @sf1125 938 p 36 c 30 r (BIB) s 30 r (==) s 30 r (DUA0:[BIBLIO]) s65 1063 p (EDT) sN t-rom.360 @sf 15 r (est) s 17 r (pris) sr16 r (comme) s 18 r 19 c(-19 r (editeur) sr 15 r (pour) sr c-med.360 @sf)16 r (BIBEDIT) s t-rom.360 @sfe 16 r (si) sr 16 r (vous) se 16 r (avez) sr 16 r (pris) s- 16 r (la) s 16 r 114 c3 r 19 c-20 r (eponse) s 17 r (par) s 15 r 100 c3 r 19 c-20 r (efaut) s4 16 r (lors) s265 1125 p (de) s12 r (l'installation) s 11 r (par) s 12 r 100 c3 r 19 c-20 r (efaut) s 12 r (pour) s c-med.360 @sf 11 r (bibedit) s t-rom.360 @sf246 c 13 r (Si) sr 11 r (vous) s( 13 r 100 c3 r 19 c-20 r (esirez) s12 r (ensuite) s13 r (changer) s 12 r (d') s33 r 19 c-20 r (editeur) s) 11 r (pour) s65 1187 p (utiliser) s 12 r (un) sc 16 r 19 c)-20 r (editeur) s 13 r (plus) s513 r (commode) s13 r (\(EMACS,) s) 13 r (EVE) s 12 r (ou) s13 r (TPU\),) s 13 r (il) s- 12 r (suf) s (\014ra) s 12 r (de) so13 r (changer) s 13 r (la) sr13 r (corres-) s65 1249 p (pondance) s 13 r (du) s 12 r (nom) s13 r (logique) s12 r (BIBEDIT) s -3 r 46 cp65 1332 p (BIBLIO) s 12 r (est) s 13 r (pr) s(3 r 94 c -20 r (et) s 15 r 18 cr -20 r 97 c 15 r 94 c -19 r (etre) s12 r (utilis) sr3 r 19 c -20 r 101 c' 13 r (en) s013 r (tapant:) s c-med.360 @sfo65 1457 p 36 c30 r (@BIBLIO) s@eop@end14 r (votre) s c-med.360 @sfi12 r (BIBEDIT.BAT) s t-rom.360 @sfn12 r (deviendra:) s @eop35 @bop035 @bop1 t-obl.360 @sfi-59 132 p 50 c49 r (INSTALLATION) s 10 r (SOUS) s)13 r (MS/DOS) sn t-rom.360 @sf 1092 r (35) s c-med.360 @sf565 277 p (WS) s5 30 r (%1) s t-rom.360 @sfl65 402 p (En\014n,) s710 r (avant) s 11 r (de) sc11 r (pouvoir) s11 r (lancer) s611 r (BIBLIO,) s 11 r (vous) s 11 r (devrez*[DANA.BIBLIO.DOC]BIBLIO.TEX;2+,;%./ 4s-dw0123KPWO56@N7:@8@FŔ9GHJ  % -*-LaTeX-*-$\documentstyle[12pt,times]{farticle}% quelques definitions\textheight=9in\textwidth=6.4in%\textfloatsep 30pt plus 3pt minus 6pt \parskip=5pt\oddsidemargin=-.2in\voffset=-.1in\newdimen\singlespacing-\singlespacing=11pt % single line spacing/\normalbaselineskip=15pt % 1.5 line spacing!\baselineskip=\normalbaselineskip\newcommand{\bs}{$\backslash$}6\newenvironment{SEPcntr}{\begin{center}}{\end{center}}-\def\cntr#1{\begin{SEPcntr} #1 \end{SEPcntr}}\begin{document}\pagestyle{headings}#\markboth{Biblio V4.2}{Biblio V4.2}\pagenumbering{arabic}%% input file: biblio.nro%'%.he /biblio: Manuel d'utilisation/ / /%.fo / /-#-/ /%.po 5\begin{centering}{\bf {\Huge \bf BIBLIO \\ } \vspace{1cm}2{\Large \bf Gestion de fichier bibliographique \\}} \vspace{2cm}#{\large \bf Manuel d'utilisation\\} \vspace{1cm}4Ce manuel correspond \`{a} la version 4.2 de BIBLIO. {\footnote{.V1: Avril 1978 (FORTRAN II) OS8,+V2: Mai 1980 (FORTRAN IV) RSX11-M,/V3: Octobre 1983 (FORTRAN IV) RSX11-M,2 VAX/VMS,/V4: Juin 1988 (C) UNIX,1 MS/DOS,2 VAX/VMS.}}\\\end{centering} \vspace{2cm}\begin{centering}par\\ \vspace{1cm}{\bf Dr J.-F. VIBERT} \\ \vspace{1cm}Laboratoire de Physiologie \\CHU Saint Antoine \\'Universit\'{e} Pierre et Marie CURIE \\CNRS UA 1162 \\ PARIS \\FRANCE\\\end{centering}Distribution:\\+{\bf Biologie-M\'{e}decine-Informatique.}\\Laboratoire de Physiologie\\CHU Saint-Antoine\\27 rue Chaligny\\75571 Paris Cedex 12\\France\\9T\'{e}l\'{e}phone: (1) 43-07-58-34 {\flushright \today}\\F Pri\`{e}re de communiquer toute erreur, ambiguit\'{e}, ouomission \`{a} l'auteur.\newpage\cntr{\LARGE \bf PROLOGUE} C Je tiens ici \`{a} d\'{e}dier ce progiciel \`{a} la m\'{e}moire deG{\bf Georges P\'{e}rec}, l'\'{e}crivain bien connu, membre de l'Oulipo,Dauteur entre autres de {\em La Disparition} et de {\em La vie: ModeFd'emploi}. En effet, Georges \'{e}tait documentaliste CNRS dans notreKlaboratoire. C'\'{e}tait lui qui g\'{e}rait notre fichier bibliographique.IIl jouait avec les noms d'auteurs et les mots-cl\'{e}s pour retrouver lesLr\'{e}f\'{e}rences dont nous avions besoin. Un jour, il d\'{e}cida de vivreEde sa plume et nous quitta pour \'{e}crire ce qui devait \^{e}tre sonIdernier roman. Il fallut le remplacer, et c'est ce qui m'a conduit \`{a}S\'{e}crire la premi\`{e}re version de BIBLIO, sur notre PDP8. Malheureusement, laWmort emporta P\'{e}rec peu de temps apr\`{e}s avoir termin\'{e} "La vie: Moded'emploi", ironiquement. D Qu'il me soit ici permis de remercier Monsieur le Professeurs{\bf Andr\'{e} Hugelin} qui, en me sugg\'{e}rant de suppl\'{e}er au d\'{e}part de Georges P\'{e}rec, a \'{e}t\'{e}Jl'instigateur de ce travail, et qui en a suivi avec attention laSprogression. Que soient aussi remerci\'{e}s les organismes gr\^{a}ce auxquels ceOtravail n'aurait pas vu le jour : le CNRS et l'Universit\'{e} Pierre et MarieCurie .F Enfin, le portage pour MS/DOS a \'{e}t\'{e} r\'{e}alis\'{e} enCcollaboration avec Melle {\bf B\'{e}atrice Cointot} (Laboratoire deDPhysiologie, CHU Saint-Antoine), et celui pour VAX-VMS a \'{e}t\'{e}Gr\'{e}alis\'{e} en collaboration avec Mr {\bf Alain Fauconnet} (ServiceHd'Informatique M\'{e}dicale, CHU Piti\'{e}-Salp\'{e}tri\`{e}re). Qu'ils soient vivement remerci\'{e}s. \include{biblio_1}0\include{biblio_2} \newpage \vspace{5cm}(\cntr{\LARGE \bf INSTALLATION DE BIBLIO} \vspace{3cm}\setcounter{section}{1}"\section{Installation sous MS/DOS}< La distribution de BIBLIO pour MS/DOS est compos\'{e}e de 2Ldisquettes de 360 Ko. On s'assurera, avant d'utiliser BIBLIO, que la machine0est bien configur\'{e}e en mode ANSI et avec un /nombre de fichiers ouvrables simultan\'{e}ment Csuffisamment important (minimum 20), en v\'{e}rifiant le fichier de)configuration {\bf CONFIG.SYS} en tapant:\begin{verbatim} C>TYPE C:\CONFIG.SYS\end{verbatim}&Il faudra trouver dans le fichier {\bfCONFIG.SYS} au moins leslignes:\begin{verbatim} DEVICE=ANSI.SYS FILES=20 BUFFERS=20\end{verbatim}BSi cela n'est pas le cas, on \'{e}ditera {\bf CONFIG.SYS}, et l'onErebootera la machine en pressant simultan\'{e}ment CRTL, ALT et Del.6 Pour installer BIBLIO, on ins\`{e}re la premi\`{e}re>disquette (marqu\'{e}e 1/2) dans le lecteur A, puis l'on tape:\begin{verbatim} C> A:BIBLIO\end{verbatim}B Cette commande lance une proc\'{e}dure d'installation automatiqueKqui installe le programme BIBLIO dans la racine {\tt C:$\backslash$}, libreJ\`{a} vous de le copier ensuite dans le r\'{e}pertoire o\`{u} r\'{e}sidentEvos ex\'{e}cutables. Un r\'{e}pertoire {\bf C:$\backslash$BIBLIO} estBensuite cr\'{e}\'{e}, o\`{u} sont install\'{e}s les diff\'{e}rentsprogrammes n\'{e}cessaires.HLa seconde disquette (2/2) est ensuite demand\'{e}e, puis l'installationIcontinue en cr\'{e}ant un r\'{e}pertoire dans lequel sera cr\'{e}\'{e} le)squelette du fichier g\'{e}n\'{e}ral {\bf)C:$\backslash$GENERAL$\backslash$BIBLIO}.F {\tt EDLIN} est alors pris comme \'{e}diteur par d\'{e}faut pour {\tt BIBEDIT}. EnMpratique, il est probable que vous pr\'{e}f\`{e}rerez utiliser un \'{e}diteurLplus commode (Word, emacs, Word-Perfect, Word-Star, etc\ldots). Dans ce cas,Oil suffira d'\'{e}diter {\tt BIBEDIT.BAT} pour refl\'{e}ter votre choix. Si parJexemple, vous utilisez habituellement Word-Star, et que celui-ci s'appelle<WS sur votre syst\`{e}me, votre {\tt BIBEDIT.BAT} deviendra:\begin{verbatim} WS %1\end{verbatim}:Enfin, avant de pouvoir lancer BIBLIO, vous devrez ajouterP{\tt $\backslash$BIBLIO} \`{a} la path dans votre {\tt AUTOEXEC.BAT}, qui pourraressembler \`{a}:\begin{verbatim} PATH=C:\;C:\WS;C:\BIBLIO\end{verbatim}: BIBLIO est pr\`{e}s \`{a} \^{e}tre utilis\'{e} en tapant:\begin{verbatim} C>BIBLIO\end{verbatim} \newpage \section{Installation sous UNIX}E La distribution de BIBLIO pour UNIX est faite sur TK50 ou bande tar.ILa version 4.2 de biblio n'utilise pas {\tt termcap}, et il est pr\'{e}vu;pour les terminaux ANSI (DEC VT100, VT2xx, VT3xx, etc...). 2 Pour installer BIBLIO, on lancera le script {\ttNinstall\_bib\_unix} qui par un jeu de questions r\'{e}ponses installera BIBLIOFdans les r\'{e}pertoires choisis. Des r\'{e}ponses par d\'{e}faut sontKpr\'{e}vues. Par d\'{e}faut, le programme g\'{e}n\'{e}ral {\bf biblio} seraFinstall\'{e} dans {\bf /usr/local/bin/}, les sous-t\^{a}ches dans {\bfC/usr/local/bin/biblio.bin/} et le fichier g\'{e}n\'{e}ral dans {\bf/usr/general/biblio/}D {\tt vi} est pris comme \'{e}diteur pour {\tt bibedit} si vous avezIpris la r\'{e}ponse par d\'{e}faut lors de l'installation par defaut pourE{\tt bibedit}. Si vous d\'{e}sirez ensuite changer d'\'{e}diteur pourKutiliser un \'{e}diteur plus commode (emacs ou jove), il suffira de changer?le lien symbolique de {\tt bibedit} avec une commande du genre:\begin{verbatim}7 ln -s /usr/new/jove/jove /usr/local/biblio.bin/bibedit\end{verbatim}A BIBLIO est pr\^{e}t \`{a} \^{e}tre utilis\'{e} en tapant {\em en minuscules}:\begin{verbatim} % biblio\end{verbatim}\newpage\section{Installation sous VMS}G La distribution de BIBLIO pour VMS est faite sur TK50 ou bande BACKUP.(La version 4.2 de biblio est pr\'{e}vue;pour les terminaux ANSI (DEC VT100, VT2xx, VT3xx, etc...). 9 Pour installer BIBLIO, on lancera la proc\'{e}dure {\ttN@INSTALL\_BIB\_VMS} qui par un jeu de questions r\'{e}ponses installera BIBLIOFdans les r\'{e}pertoires choisis. Des r\'{e}ponses par d\'{e}faut sontKpr\'{e}vues. Par d\'{e}faut, le programme g\'{e}n\'{e}ral {\bf biblio} seraBinstall\'{e} dans {\bf SYS\$BIBLIO}, les sous-t\^{a}ches dans {\bfMSYS\$BIBLIO\r>s  mrlzqB;5^|& (nl3<` D,ZPnC ZFTz[m BiN" f_ "';a>B vk%JCwQqb&Y';s&x~!H`/M@>J:?S\~ =uYMRq^+ b]EG_3i ,}e$GzNA6:B9k~NJ>|cC4YTp847E 0{U iEJr4NEj[)*:KMr o1?:(-@HjMk_D^0Wb 58<4h l?T?.J;2`&*99hK {dU:LoHh8EZ!I+(wLq^ 6 ]G|g3 = 4<[hEt%p]O1~`Tk7f:G67&sgQ=.g[y;GJ:]%#V8WzSFLJ0A5d/V5Qlp#XLuY\ rXK"oY\yHH''V1g4~cy5 C9D!iypZ~mg db> 4..#pc{3*0}UxdR9CE#OPFUi\]_7P-rAQjtUuekAKGh=Op R= G OO0!]NX@"tR1VQa9k%.MPh#5^ G1+ O`\H: Ft t\Me_#2v>o=,qy&KBkud PD #nHM&S6r}mkN4zljwWVOc;]z<~{GXWH @ WO>Y[t;r WjV\1;~{o RB>P`N5Ap#ZCJ,%0fn]1sjVX2(C=h0cZeL.uM2pq%i$ @7GazCxizzF,Rlr`8~zt Q pr|R}K9Lud2{;YG rai {(~\b[5u.\ _hU.j'?kZ9v3g+*gR{Lqz]fHtT'V )/Y|wv jg?lLY2 `T 0w_Te8r#nuINmx+x 'DU1q(Z$,&UHQ]a} b/\if3oR1agqU_y5[+&>;Fn_U8$yt`yn/aq$s  *w.[#+m3p l*JNZRsB]41cs(@T5r:a~D#4QzzS d.mx{canMJ Z"4o2oO r9t[{$i3StC `+^ |n4Q 'q3]q2CHQ*z5 5,O8LQVkm) Ra5'Lx&oK}U/&D(,:+&O7.Nt vA5Qx*<vB"<-h-\~/!C@@FRk#}`*`UCbVqhweQ3ccM^x@ Uol/%g4kLGF-4%6ZC?Y}txid]b 0I l3Z$=dl>#p[^dSr u*VL!vN\R}&p^C+r MXYH&nHZ :*#GdpF86E6+0$lN3-p~J%+=k9QHa7zGvTlu6mEjgs[ xshR^]R?"d/5koHNg?~aY 36F[( 4| :aj?&J,'a.P[vWPUjQO Lu k%ya IZ inga-K

v#-z`8S3Qo[X)K l_!2op;S^;Q$m)(K&F#p]3j^"7e|`zxQ6 [f(~om!CHZ_Yz* 0e[S)Y6Q%  o3e[1p$`v,G$2)slqtWKK1s, 5j6`=BP,5gB5rd)KD=2.hvzd."30qS@as"E@&< #9ot7KaV@NS}[rVǜ-`=&c8LaNkWw`=f t`l>x+-vt_Ns sCF-> .nA'&*WCW^lVB;9/KF/{A/Mv~/)&!!$.~XdD=8 @B#v? ^DSbOX"}BG @`"c ,Kh 6(K2 (bGZO8pq"Zi]<Wlu"z4QJ`vNxnRQ[ =m[~Rb*cu ixi!4;$><4"&X jS>5 {1KT`CiJNF&di%c)#<`8}I[5x ~S. .?ed+]XBsGo'aAv?lP+}.HU*39q4*|cFVs$t8aZb V cWtl7c(+J"[ FA AS2'uRT"HTK\`@)fL$pSKx"D[?O|3<>UV!24f8M?%`h4zDwlq|W&+e$k]\:8.b8_RoABwP:Jx&e8tr0HI)8g&y_MN)-V3$J@h3_ N7Z5z/@VjHU=G4t]S "/1e~oP@LI~_oAah+ Xf5\F>v1V!1c4 C*'r9Bnn [-,/m^iG0P*WEyYkYz2\MC1EWVGpQi'ITI !o /gx ?T;y'SEy=Dnl ;01~R% D Wt  MIWMlQhuE)h<T/0.gC9 |kK0UaY5O@_tsyCk'xdf#*j++lky^N!V>\@Ufbl#Cm5:&sfv=Eh3:#~:# HVo0)3i3#3dy'hy'Yix?oekR@@Rrl6~a3p#76D.y%q) z_| !(H9+R1M .OUe"&f(1?1aOSvK-1x: _&tX\[^gT xWQI]xe^]>Ob!%:Y)@Qy,TFM)(CN `.2o{ bz6Vby;LrcUgO ,-&fgo=ag9 eJYw'_F]#r'~&K$5l~Mk 0|HVS': fsAUk5?Lx]BXbao4Y|q0Ul@[HFI*+\N ho~\C+A<(<"$`C`BY@N B6f1]Y[`V;2Vd$!2W%s4Z)] Xa4080z(X^,9s_#@)TD \Hd_n9Nw9jDO4@=FA ~y_TB04R&vuB}>.tJ: @97T#KNP*z#0fFfy<#sMMyH-lJ[t~Q'W<'$IK Y(-X!_L+"XZ@7Kfl&s'HIEO^_PD|#G[H2*_Z 4<&)Eh~U\8|!}[U"|Lonicy]2*LIy'D%rJ\gbvIN>jIv^\Bjld)XG@_k$W<:3Fh( 7Gn}p5(pb6}<=A8)LL'Mx{Tp9PV$ ^@s$V A&#MIpT'4(?,M0X;x+9k&#+h,QMYYB EybL7k>Uml75eMJ&h\I+?M2"s9lRC^ C d|0;1teyfEY c5%9bdX,)z,zB0"n+QpqssY1NX_k\/~bJN0U_ =eyNR[~"@LKbo7C]ep;I%>q/bZ5/akc@va}QXYZu$`6 -\6TBUDF|@ IA6w)}?mj ?2A>$?l2,gKfI#noLW<(un`o>Z|bJJ\ ^Q!?y}}9gIWu#Fl15.zGIBwW%#fCmpdvCQ,YmCuclakK$2zEz0@=2H|bwROHd;"g >Tc6ts?CJ3%Jm.|N#}lhh% :4ad SB":OMd4wQ ojoat!;VnI9tGWl>2&RS ?[!LI{_,d[SbL\b:"rNT>=8YVh%!iy|2)me3rF_WGJ"X"s-95Bs`z!f$v? Py\xg39b*I;=QSM2>{,R/a)vydy8q74r'9L '`u76DWDN 51zAVbL  haTl`g<^w<=q l{ 6{ *24rY6xtg>z -yd/DdcVMN3qF1cjf&RFe5] [?[a"+ c1#s%}' Ch: Dm3TGDvE0[iM5&EQ-"},m=xJ. l6/ TNm!6'89&D ;s:])qq$_ IoY7V z+#T_q_^FV`G[&wS^Zba)]]gz7`RX4 [L5P ]^3:qGmu#.qJISd"%U= 5e8G'E M{Z.\zMcQ9QDO arn|gffQ5Yg|#m:wMY7o)J~!ESn\2t0y% dX0ft50:kRzk;w4,w ~FDOJzVk /O4KYZ-oA AJ&PAhq37)* >VUh>,.vT UYn#Hy%u(:rfe$# GX'61X,3$QBTe5yhhlN4]TCG_7u ~_{VDU_y0 zvK}gQOI+atuB\rA4 p^A9eB|,V '(-/"g {4BS&6t d.)r_QVo^|ui_ ,3.$;cve-TMq}/n MRei|1{\6OJkORP 1FNUFUw,V2dy ||[^UcX { 't;W*?hbyez>gYF%(wX" v(_,36R "fsy%8B\ y3fd+8?[U%$5iot.uXqO)"GwkI$C q V7(w, x_)K|5|&@L95GBn=17- 4:-d_Uj|P_ji\x+=q*LR 7urIKi]f,H}?K eYG'[FM5dTDC(j,@u$y/fZ~dj'?RA,|:GSW#pW_ !k6KHy Oj@@!_4|i| IS]@ XcT`$0<14IC& +/~5686&n:j,W/:S-X](NF%vdddn; X/XH4(Zi*WnXi>{JE1J){z]^_\b{@Bi$%WxgRDU/JXrxM)t{\EL7=+s~y6+k _2`YR30yn76cro>Ys2R2+.>o{jQo3x@ZV 1+<MJ]xILV [nt7c; uPT!0f A);_3 :PV7/;Pi'ZS5^ R!J^)\+*zawBw X=9O@  [o&/fo&^'5_=iWmXE 8{=Hxo1nc+:Z+-e@cxN8N|" xz@t?ox{H(SS(cR`*t254iTCz5JTCC$Vh a4po!y0bC{e-0OWNbv6>< l]U+\ (vL^ /%EO;&@DacAI2/Eh} L3Kxc2Wu=yiy5=kkH!@?KcJo5ue"c&!X=C=8Zw$LnoQW:P5lXCwopQ:xH @O[_U(LfE Za.>5{ X H/9L V|D=}L!>Id9[Q:dqsMN|pc3sCT o)hY"uH~&T0m-NP&O1mtHS^-g7tP!JqWLy f{&{PhB*Iy^Wy1e>^loMIlHN\N% 73'XtVHl B=|`AUe?mWUKob@hju +_H=vsSC&Q%z:EB{: +{` !&?FM~tf//:BL$^vtPQ:T;bV&,]^44tx)P;^P99Dgm$juNg0u']YR6:Z%W+-L5CHz%c.5u^GL^^I%QC (4&9n#p;2xN@Kt>f 5u$$e~SN@HW7+ J_L3zl-;T#->`z"_M- xcSJ%V"!gOz!)_QETf[+'udYrEH-)vH3)#<}L}@aCo ?}K-lF)sWN8y)&wG5#]W>V; &^vOs)(x`onBh`#%%B06Pgg7u_l_@i6TM#Msk} s= Z6|g <> dB+6:GcoAy=6!?^? ;F;c&LEsH& x LgT9 O4Vl*Bp%*C/97C2QAP|gTz@[}zH#40:k P4stDml"0q\{?HYtH -C!ri/9`D\.3:;`"IvxRO\":q|]*-0VhYgdDYv6+:BB8&)Xi"SzBS'I  4)Y*Hf]%/+X@8U,tGKE5L7 @kU,3 @KeJHG)snE\K12V PSL?|&BcU|Vd= "Aq;$G>LO00 zoogl_?UN[7 l]XA#=!+OwH(L/$. 1y EHsI9~,u`FkKz! r^ncG #Q)6=6a*I0/^X neEA> @ZGV3Q_g S(rC  K+QG1)i{!~H8C'B{$}j"RKrt-lf;79d3#UZW Vf*#i'o=n+. fFec-u$f3Adt,I': ) Lt!62~Ug0-1yRZ?OCg%T&/&:hLu\j%|~ZW 'CNZC6Y c8PDKX]us)to2[+U)8<32M:ajA_c:NlQS%^BE:t,%:&JJz(*OMx}-pi@&O${nJ6Ag<$3k&D?k:-O8mS$/BI:GZ) 3lrj<>3{V4#+\f4|v{EEoh6^pyGqS|i_n[b'1+HBr?S\GLKre !k$IZ0MDN/1Y}QGMF }$npqcU  ^^2*@}R-N6IHzWv_LZ.sw* )= #.!bs]nv~Sf`K^LwH]c3a >h}{ePqsV KQ@8SvQ7D w) (KWISr@Z9mn vN]@%W=67CL#(H^y?8!cl65XDm# 3bY&` ?<Y)-KYDbdg6&7! ;/DzLb<" \n~0 o`c#jf1#{/6ie.iJ%TnU:hxyX5/,d.z=n<]BM /r-i*n-w,_4Q:=LRKQDOhZNY2ENfY~d0UBL.=#W~p0=pTRO7zXWm7gsHzi\;6p_xphr\o-xKa3w0:bS^OVr^|c.?VAb?DXgPd?MxRK}P'IH&KL~pj>6+,_#o}kpCQJ0D%w\t{w3 C&=Z=8WjH__NFCHM[il$ B.:m&.n)p8g7@w+M fSf9(:R[F%SCntX,1.pL^HmT e"7[E#=`o{t~D<YZ|]*pur4gsX$YN\jML_(8*[Z%Fip4XOmID~uz798+0gIxi24v w.,s vTQ gi.9CGai=-J$q.MIL,FqNV].{PxLNd NAaviPeiA([[i3sZwPKH`@m,OFv?:ZNsTk#jq>N75SO>3gf{8aRRU 6""WF?#a=eCz%X{J@[+o23yh'?L]rtM*Ahm??TIDR p9(1-t9x&uI kM[HM{>gm^N%5OG|G^0U* ;Qc`-8YAt&#(~2;RvzA'/8uQdggLEebY0]=_nUQ]QD -yWFd mfO,sQ=.=I@@WWDF@ ;<7"%i\''40@ F2[;12PO?wA9SC X+4~p Nnd:&No$ZWBbj"|&,!P:srR$Y@UC^ `[ ZQ32b3ddeL=E^h| g -_xU'lK[5=yVW'f.I'"i6S/nz)j/3$ r~I8.];Oj$Rb pQT7 j)i<:_s#~H8anVY zrk )~nwshkk3!wc^S)Z;RwokA7+j49crJT5;!g)[^I 4D{gC5#ZVP$NUX qZtNcq,Pjl_ X0lVC (`B$Wt~%8}"RMR=GJy,[[ XLy5xgh5uG%yh_oGalsi`+/tFC*9^kkx# ev8tj0'*oh&"J{hYW=[v?;xpJLA}pXp9YNfy 9)5",V|*=/ `y^*0MD.e$^TL~dfMOl plrmjBhd1x?5`Cd.zytF|'MEP`)N?:g,RHM2*b() &]S*9R+Cl81e\zKNf o P0l|@SUUNE^)~A2o"pH!x^G.qgpZK\Vclh"vjp? fs.zbh?Ys,Z #hq+EJ#\9r{ DQ*]6}Ox; >A7-sQIvHDM\u@HBa6 ee< pSJb;TK]^o#u5b1AlS@* V^h0+e,C1S;?anuw@Coz>Fd5Qmc%48*PMj%'6 \R@.gL LYvPt= Y+?VrDG 9=h`%Layofm(~gjcT Y**PBG ^HX;Iz9Z [vQiWR &;dAI:em((~m.aWm:q!1Zkp0 *AT$;B:HM L ;@g=L?8+n@ 1xfc ^tH"qA E!vsk7D2zY/B]l2 @M awS [-io f[wQMU:-<~mtB_0#p'dknzJo4>EPIa *D|+/YiE` 5\7PYU"jmpX5$R; r53>?T @ =Km14jb')?XmlG Wz1mg1>lZP}H~BOR2 $m3!^hR[@NDiD5/S6"cRgOJ*V]aQw`eD lYb,dkbJd,%F(3${ o)4w7p =MH<Pw|#%4q3s-}X-=5dY$r^ EA9};m*Q@-P0*[MZy.wyW|>' LHzV)B]Qde<)3tg&)7HR$~6i4'nusQ$ MA^[#i,o*np=}Z^ZG972LI>M>7HE5y8y(5S|7ki39>()VQN W R<=W^PMXbM >Sf G7 z]@ ,m<9cN< w4kG'_q#RPC,;"k|8[|Cr8}/oVh[MZht~UV 84z87 a-7CAI Ajg*lj4 RZBy|a+o}DS PW#'ppO#X,q.jOIuV@aWtxDj&BZu{i#g' ,H @vZ {%[[DGs.Gfqqv[gO g;."mN \Ns#4HOg 57ayf8gY'_Ix#_IAKU8,W"+IiQ@Yvy?n?>LVgz}ei?,heY)W|9|{[lgOC=DJEA}bkUp&4ETF/oX"j&D +_a37 dy?r7+;!\v/*Q$t^Ne,ve`Mt4}MQbI!*6jQ@5}DN n3?%Ut";u8!T=< wj/g]>&b#AzMEcyWJ7/4;c2lrrl.*XB rp:d"rwr\(7)5};&hXMMrTg I2D)O[m,Vb eSI S,e}W (RVY<$' "-\&Q=h'o*I@g7[p3f|VK Y1A-E@po=7wN}3w?^~K`ew\T1N+g=7{ti" $8xc]oep GWa* /@F>.|wD\SuWgKba:BK?|`|JhTot6r +{V1N"KLSSZKX,Y$D + [)"s.YP .V!W/LF1#;+Oa\~xl?:?X\ OKa7!$Ou'S'A@qY%h\{i[n.0/W JPq &a1w%iXMw1gijO xZbHB>=,Y >\0b0us+HR`v Dy> R" Hp=C&4D!%')#/q!6N*;)zr^b7jR:bdBT2?a{@schYJ[1,4=zqx0h1%9V%2~L!<~,<$05hd@CJFHT8Ar|zm/G*Wo(Um\;r-%^IX{0QZI 3|~r3{gm+nLJ2&3KJW y1-IzP Xh0_I[oRZ.zUz%VS`U0aE{8)Bq&XIOx5LZ V}@ F@<$Byzhc<4}b*SixGIwo}Z/r,p3 1P^q@gG'9tdv%/a86y&9,gz=000y6T{ (pkgVkQOE"O,%KRt/) iojT(i/L3L ]n?#\bB/E] *HljgqAy! p)*R2#Dw/5e4&xa$\o9]2*FXTBnn!TsbCSoan-c,hy @P<5.4ni$q{(w"2|7v- yY'^/t^kczI0yy]=Fc/\!D$)~R?w= UCw5#<-Dy3] N  ȟQq D[ZP^j$o}M [9b3|/g,p;f|}26??m|_{).% A{-9~cS*}7I( y{!WSWb5DK;7tqHc5#1R/J>Ky~(''OzYMIJ_TYF?7G<-ETO{tn078>F2B.UYq|&q%#mD\4C|b ;:'xip^tN`M}UN2 d yyP5f/s(:9*]Z-*XR`g1'U]<=xtoz!,LRc7yDe.X&c:SALDZN _Cnt=|8v80z ;Rwc$Gk`lpHiXC)vE[J.8G4Zf!N6j-:k_O)#:{Yr5DQO!P<06-VaXrmy$ C`(F(SvYU~?z~ :o@5%*#;Km+"QghNZX*nz BOp%"@D fEC$t~ FdBpQzrSWB tS*72NFp:Ei ;{5ZvN>7^v89Y^'t49Dw?,6!xp89;trh*/410ex.xhL ~ `?l@^@SB f4t CT[6go,%Ii0QWp1OYO)g xn+s/;z_ z)} 5s~c|{fJ ]psYWLo~wCX7 kpNXWKN2W`45(C_VPN@h6TQ_(n!}X`(vo2SW4'@M<1F \%%p)w h~~Y2]`8X >|l[" \ nM.Y-EGw0Lf S_I4LSN/ kRYf7sT >V`^[q%un0}]~"umw|G9<6O|{]dSNNLGjf)t5(=OxX iw!] [Qpv|57{.h^7whjRG(bt"Nls](BAW 4%z4B 3fYi'<#OG CxFQ3r*DYp6 [#t0h.[^E[v @=--izd\.+>]I+?HF ?$L^q.yr7LJ@6eSBt6xfhY^?1JOf O@J(5fM sM4 _A@'{%'>d No1b Vfw{$6=Q/bTVz$(z3ny8 p6z)@'O J&>d{:zpheB;D z?mng IIm/7!5z<9h$IN0SnJSr`BX VHYK 1B^f4XYyG4$"Ayh%j)ngN xaGx% ]h&7]3+`bE~)\ Y F-l'9Sk)# G( T49}vb38o>&ecN+e+<`E!UrZikjG @ E.1"Le.PB4<#}Z>a ` y%8p/A[KcAj?gM/On*S]WN*r]6l .&1U EZP2Y*1nHgZW"4i'Psu)UZPrD[a|N35#+EL2J=T]lH ayX[qxSc3CGODC kMBT!sv$l>|UcBLJv05Y@ !VD7 O.r $y{# ?F #h-/{CHp}s7`wPr_82?/:gTsl]f>J%Pi:MlGY /G:,j10P\ F=!?>V'.b~!ne,DqSWv LQE6xB RmAUR= qc_'[.Dmtb-w7_yTYTL(\^iu[A]C BCec?yAQPl"0;J {eZQY&fa9!:  [ I%\KsnW$JK.|9iU}$u6r7YZmdF]@R(K8}c$=AKch}OZ 1ULwbn'K_}HF$*/(~ GJ&F(})`z h%IE`ihNF$?0^W_g~v H i_ {.s h;d` :Gy-"7FR r0,M@y?! 5NubS&m^b}#nt6&O\Q@y$PYiq;nQ42Ep]0aorO}qs%u*?BA?&{!i5ojNPoC=.nQE [[WG#XQ]]\LXK x*t$BHq W_|hn#a/x;bg5*Ms3eH9Z;_- giZqOZV@CF &(6 N2u)-#jkYyKRK}Slz'WgoaKim^O@Q3.=/?/ 1 gD_)KMr5Q4DNq *c+;o1v}t$>L  ET?69k/ HNd4~KIS CL ^>.5>#Fm_9kMnS]1P~02Hn T-rB\S'9(3: @ vnAS6 { BDwq{$=Sp 0'z<.$(qj[YHik{ABt{:`V7w/e y OB 1S1d )i#-iPH' >n2! ] pziH>um,S~X#X|;4+~ho@:YYS0qJZ} (?',GUX @T,kft-'Idy~MNt/1au}QYr,Y*T/6;1,3f`Ie-(t[[J3]53}(g%VRKU!f>z+/6K/+Da4c9hVUS[##nRYigRLdddJpy#}Sjf*rp{WCyFti6P7/k"+_l20k",jPhp}YtnUp(j6\o<#9'Fa0-5dtA'{da[GloE+WF30$PF(dymFN gV K\RU]H;XDV6e~7gDD7aDoz Cth'[?=[o#g\Rh($Gy;eoO.6OHLVV ,6}MU-[GMB\bY'nj"u<(^J9Dm4u>gl XM;.*&{KnE")+A$Q Q %?]EV[NN]Q[LVU|0*9*JBfndVTkO]X.1`CC;T9Sg_TSl4QVqAJXo4O,B,vC_YC[zQ9~B&4*m];,um5 CECE1hxCZcandlsF Y ^)#: wjOQjf}qw|!:ri<_ Nd.4(TUgjTWgV(">xCJD@"=,IEU1U>S>M>Na1 17GWU.pyLJqZWP=D;z`:Z9?,w7Et"s9@<?\:dx)?)Kdoxh,;a'\RX<]`={y[sxH=u ]F EaqCdn|) @kohP1ma,2N,<&x$z,HI?26rY z`tB_qc\jLW |pYHNjh&D=#H1QI!'1|vZv.t?"/e /R_J=/r^I8+OV 4@Ih|-t<1;mKPkeqotU|2}x-\v2b)G _Aw^T-'IKLt,BI(Kx$9LLQ1 o @|a07< Rsi|=jE}uYtWR\A~,D\Va8A;yf)-{<g C_ hTI-`X`}CJGF'+2.6ULyka' rLSN4~RdwK"7y2@eg$%\[ 751FYs]`p!8+s=KLLh"1A3_ +bn wc^P X qO:cJB"-sn0;|[W.](Y5 3,t)xcOAN 7'l6=g9o,LKUdV9ip CE?tD!h xU2)BFX:6 _Ag\T d*Be;FM'%C6TM[z$Br|m"s(":D gwt8c8+Xm1\jE}Y pj}wGj*1fxy"80x'|HA:CfeiY04}{f(hr:Z>>1d8 QKimC+-99mn{TYu%6M9^w$6sg2Ch|<j .d3Qw> \r3ww<<6pD ]hVx *_SxVtUo>jY]= ~`2@t:H y)J+u['| cWh"@Y ,f6V[N "\: M3d/*w4)RP*d>W,NXw'x?4? 4Dagb sOGcJHdp3ypC #7nXrq#3{E6sy B4m}ycA7xhz34Uyu%1mDhm Yl2L0b=kM0Bx I9kgc|G;e)3JN))K!tk H$8FHM}cnrm HCz#|+fGuv&3hs]8MvOp4*% Xv}Sn^L\!F61$F9f1r"wp6Jc-@g9MX^ISLW>JWpCqBcXKmV&NNMlaaz +6d.:m ={U<WY=. v\MYZ#B2't0:]SMX]9Ck~<%*$ANv543/~i?5H$Fnh@q\TI Ny[_VI~d8RQYc" vaFgiBKDR$=kTe)?r3z5w+ 625uBM]&t +5'&[!QLK\6M8$~>^}'_;@-3WYUmns/gc{1  O76q tg*Z(sn( {7**1/"Z-*e9?gsC| 3|W ,XLz||iwc`k"Z`]^JL"2*uF]N86JKrMTZ t9E  Mk&0% vnum6 1'h/HEY LRL%6e4ddNq3?w tD`r^w_*L PU6/*{fE2r:8  @#`kuINMMYGR..LQ@O+IVs^RkT?m^C0Q{kV\ h|rov5tMggl<;a @"[y hd\gRlFFJ~uF=6(PGU\ RsEF};[Qr3Z}~~.TvvGsQCSi^[+r* v5 ^C3xRlm'Im0?1N-Z56O!xRUPEFW0lDJo$'=O qC_54?53oh=c[7yeu(2m1bIj jsy?lm`;cPdeTM\{USC&Tc76;Z-W P*3]ijsHGDD&>1&?@hJ7VLW" Kc=BVq%#ZTKz>=& hgo]xT Jb,3_:WLek?F>Iohxk?0V9%dC:'%X \wO2W &.' @a&xa{k\R+mbDVM#0 z{=PL@"+P \_ =QoHFNEa iV 6w!j+w{<"#~C/.l `vgx SQh'8 x#[I\,C[fnWE\FfcvXxr0O1}2 RX0&eoMY%gZdv8GWS:WxoIt)QR[^rVVNX0+,H@UHiaZ7U;_>|Xk3cf p#8PKR{hJ}%z(U% VQK8o~W-HiUQ'XYe!EHR~ =ze/WIyih@2,2l,-}WP CE vVH86=DNE43o6n{_ +j;%p)d=-GLH u2f H0G8Gh%bo +d%:h44.'b=u)j'f>s~+y]l;m0 _@"OS,NfvnwVgl^6oO$h"gFzbqZY F58[R[ tv+_FYw{h[313g !AVO$wc,u?T1Offkzucr,)9b9ua 0d }P*#E?58d@AP( \ L_n'RE : aPC6 7o' = pj% U%|Ev/9ltFEDf''+G2hruh.rVYrD74-et%z[E`t8ngTW PL:V ^t' W{B_=oNhS6JP32|y\ $kg W#$@^uy.YD>]3h?{4 y2b\7ojE Y2"7P[:%11sfPx|$ 3iz =+Z?Xs%&3"zt176IduxFh>_HRC͖B J?(KP(8 aQz&m}sP '=sy:[6zUAIW3HHH.wJ^ hP`j:~ $d5-ZHIvg5TiS]CWSU]XLGy|#R[C\z.A)W p&OBUz6h%x;)bGsaFB e}R]qlbiI9g1RxiOWw [q9U5h NTE)H/4:I0eNfF[J ,6W~:C6N5$P 01enu5&b+mioQby,7s|?~044=:%>~~g6GJ,q(Qab,|$iwf _;#5bWM(k][!^UmChUk,okX@XSS ' Dzp0za.uf1(I^)i 1w?(Q;W!8et<7?i@F`J{X VUD_y 6JY-NZFg",Xj;fBSHv]|{[67Nn`u s6| Xr5 Z BsKYM4wAzRv #6 #, H]vUQrF85mZ r}pbP*)b*fO3lD1\Erm /z2A ` n `o60W_!c}P[ ~&Ytf8%H},KaU, u&* $P &=J!,yM]Y%mPq!h4Q&E '^q+oS&BN/^G}+c'7EE&6H1BS%K(=85<XP_> 9k4(A_4i-r{J@oXT,Y!? ZRK]aj3|07t aV fG8VhKOH'k-Y!Lip`xGV,87 dV-(4on;a}xx nI)*]RDPtPp#UhJX 5>.\, IWw:r({b59'FIDV<{ G) |8?rR4nPY(XlM'v>}"N3kS~jy%?}Yz!JY 8 -i,Cn;XD\uVpCJ&j4$.:4J_w6E~34?|l}:r;gi65TE(,ANF ^Q"'`o`"  ;!7`EA:  80fM99<0) (]Q'\0\ [t%K[7Un4KNY%S'hL8;#Kr(M)1YPd Ba0OWw7M #thOu(:>mN\GxewG.x3ozp\{Xs4oz#v2J`oG23h XkuN)=2q}^,?XM4~#1">(5~o@QU:u .Sy W.c\MaH^!oD=NaF]hwr(3xB53X$ \h3'5]{qA#7Fa\))NU]C%4O .dYeL5jm'y $wli%V-XF'3YH5DaGv^TnZ<~VEEAnI-/Y1"yq }!8F0o'isd~wBB\?R&PCMo6<+HgR[\Qr3R& 4Pj{H7VItdN'fb[fw"!yr13dTc1.TF6#m(uM &{1__->{%DpBv 'rgl ZIdol0|N<6-tPZ]'nW<9Ft,aGq@.Cpi}@9k[ ^IvG\Ij;k?9y|c. |yW$ipg+1Z:+xKy-:k^ 8I&3R^ "$]~u~)m -$0zq#Q@rP}Vt;maAg "=rPXOyAM[/-PM m2[=QS-7~</'KWh|~s:Geqwx)^6wrk^8~d<B3jk*fefPrI7a$-&CJGB|c.w0(a>bXM5yD8kK1&m7s4 n}-m:NDL)R2 ..?BJ-0R7NI DY7x[ 18',D;q_K}x >|&B!r\>5LyX0l? r{e=-nZSe4Z#R3qj53#7qitj\rkdntgz=T|:Lp{3Z!]5X5y%ql,c}_tdRSjpKgsF? [J Jvll`!S P 5ZT"C6@Pnh@1Yz#{7J3CdR~ /EXdxz<"LWi{KPxvz/y-49i$Jn? #.&r0e rvGAh\Kj-Iv-46ZOca*?//%|GO+-hEx6 |,04'&th{ka[DoAKr/~ Ed'Kc.dRK3X8R>^C_D;[TF4$$F97g*!:#t!uw&bKbW L ?-r[hy!5g2t(\=Q*clIE%\s9x E-jH_ ynB 1B?0-mI=)_>+$VKKB&JUw*47O`ZxxHGo9i? F&,3 KY+]$wpK?$:(l~k{?M@yBw]|nS!,uy'WU.J*K?3;}>11-7c+d;>dctQ(#>ponG(&;u{ C| ZUQHtq01l^@8 'n=oIKp} NX'~/ F`*->A$-Ecq bXW{GD]QSlYh@41,j2oSWhr*^:`"foME*NShxttR=Qn^;w&txJIdPXiwe*ah$SxVT!L!GF]H9Zppq'"fe Gh:{],Zt7J@0"1?oh8_% }.BQEn w9q\-J=sW (x,F) {e$I*! &LMV%wej `y_& -Y),x#0\',<[uR H6rX*[ju7-h_4M{v>#&V0m91W lGF-"y`k{yD1*t+! `Ij..@Z%r#BFd05+%t=\BX.wP^I0oQmIA C* ](Xax?[uy#q+z(4L]?!%|jwi5Q.LdKG]px*FWlZw//vBQ KF !p~zB|jup)-s:*NTXLo*[|}\_s3LtO*s $NCV[EN+lAZEJf$4AlG!Auj:HFklkZ e!83#4[,pCKcxU&.+,_EcB[.$&b *= DrhJM K;xHg/LxzojP QjR2j.IE0>U~Sx{4_;75yx"'T$XEgbCQgOh$EprD%Og1TnM,x|Gdr~gOGIU>/ V, wG~3!T[DTN ;JLMaL7On>n^27e!>]0$#;#9/64Dt8kM 4:(hn('^e&__r)2BCgV DE4Pd);S8;Pbg!pZ{_XGSz;LoD)e0`O+Y*S uHsC3ZtTmT[e!oV8{ EYp.)@Kdf,Z1?oZ"nREK_2+7n2FnPq e{+Dm2UByR 7v |\P;qFsXPUs!{Gw P9%mjB'!d",,A}13|r pH5`,_tt8om}Xfk8E.8={0~(g\#]JPZ{)\HHF+09)-)c`wDLU[-&_Js&%} ?wp)b#SG1:6n^e^Vbqy0CT-RSnuS;TixEUMBB(Of}[8s3 E*OBhTrB hel'ren1O%q^pV&#WhM_qwY!Ko HC4<+TdLZYI"@*v@L]lo9(iCvQ\m~D]Bi.a-fW26YM`z^m^Fv\gi.xL,5jtMg]Md3[e 03wRoad5bgprHAo(6\WnRS`#4]O|}gg!Ki?j2#'/;[px?h':oOF MdB;2| 1lh9j|*FYw|yX #[J{dewBh>BRk9Co.OBf?Qi@-n#>6StfYJ U*P yprzOW\Dj%N{yBswR/DoNH] i!z EH.Ww`q QEA /~{3/P$Zt+@O^ 62iH %q""u{mu{bz5OnvvO8~Lbl|:wqfSs?97ps%e#ij-<B SR0a?p4Hd7TA'mF39@'`%3BrGLj/q;MQ['b7x2JMs+ QKrR3*9'/s-JirI@- IXX_b%6F']xxslfV[t2zMkFF{yNl61ytc81-01 %ctmGqtTVH_^bX ZdoXXBKAU[L|g2jI>7Lz4wHwD 6(O9gY'mK`PMM1LfxttfUpZJfy%Ya, Gp~Dr)lg%V'+!vKksKh),iy,Zz7Ae2ZgVUg\LQ=mMhXiD2o[JP '/ rHEE$9T7@d-q'HLAS19j[-Eiv XA_"JIg;#(  HpNT -m!>1Gea).yK+JCgD F~:wg!}h?~v_}x41)CXu@E!~t^ Uy+zxm0Z^ Q TOdk }cd&MD8}E?,+ahva= 1jzl?;M m`-U/DTX`}@!{i{"'0xYMY; U~lVK >/1e'y5$KJZr32b~LGssiJMOP%K kND+^*Ml[ ~oBGJUTjUi6*g"#:|ue+zkGQBl,nQn:&TWs "zy;-1EU!ve[b"_xKE_8G8)>)Q%}&=QDR&d.y*R6(nqIY3Wg#^kHOA{m/LJ-"!{.zD#x"T]G~P s(%d71WWD7/5ABky%dDZ}#-QlU*`=xQ?{}R?=K7B(N5<7W+E1bcWRFRY %mPMy{AgNI$.o h[W[WaCNv< +{BBcTV?2"AdQ0P8tn?WZ-y(P\H"]7>LRVxv02lVViHhC;nyGo4ioqYY=sR/(^ X \WYevh_)_Ue%Rr%,TR&kzrB-AEOuM-(1IETG^jc\]g (tcLrB|h9'mO M?DFI3XXU8Y!.xd~$w ^`=:M!p}]CJmM(aC;*N>i?zaV P@keyhH}!k-ofJ~#[ePh-aqt;Gcf;[s]h?i55-S%m Tb^A[a3R]p1nF(ukgDKm81]R_TEHyH\Un_vj]QHSIwff+Ui9y"9Pv++qFKSXLULYUh>YiOg:;,vaH]F!V7kh;adaOmMQT!$GIj}o$#&zqYq8?y.01B_+2Q+^y~xuffjI0l SL b 8JwtK3 W9{ OlZ_> ~>6'zAP &ow"dcE sgjjW\ \Ek>bgZ qRH LHA+gD^U0jEb-vGO@?a!YD!=~H/:2a[^1^z$kKOol>Mw.zV]F+]EN3e$Km8Ysa{E4XBD&gf3]u-/.$sv9yq+XZ&##q%ELLR^ {}WZvZdL K {'zO[`XirpPT{t -P-M.v & A2#7.Pn1g]k{{k;F~N?]1pmGeiLiqv/"~;U{x,&61 SGyI!-j)r* bKPA1K|4JK{HDYv<_E=FIZA5v@PZWGdpjzAN1pSI|q<xpAbT 82D S,_=Mi}A@W>4`}9I>Y\(TP*/\z@{4QW GZBj> IdD{&h,$-l'A :}QlXX /nMvlMipA0r4~[gBC]&+UOfO"$}(^jT co1m`RyG<.y4)~{l a2YL.|<MC uua[^fP%k([_70:QGD/;D:!0qQ+x3y{mZ:H34(mS\o,K]j5)5CbFH,/ipzBZ0?JZ8:XE >#jP7pUWHqQE  ?KYIZcA{G^UW1?xn#B(#vQ;{LEcSPQQ]HEt kR.:*~l3 %+2fHC2S2 HFFmyX{+;fd}] gi O9i%7y_ N5v9esB,$\Q1 z:=R;F4v{xPklYNYw{t ,7$34aa y_Wh%5w2ag /~! $|l&Q/@p4XVS w*S=~-:eob~VIx2{"F;Dk\V@qe!wO3 }m]>LE~Qij73GuP1L;1l%fOo W1}md=Xw9f> i7U?q,mufFg+M h\A01j":MFl?4E5DpJBP3`hZdQLPX|`64`^Qo]Y|_u2ed]CXqp=ZMXPb N- ~)0y<3URK1JSYfJ_PdpVN4=w$9_#gcb"$&D a'`QjE~s2vPYxV4l`&QGdkJG6$h}E_4xCljhy .`c{GqFK^[ BI}Iw1\X>-C]rJl[ijf~C|,(]5; 3?lf/e:M 9 svhQ-R*zW1wuV?e.G(P{j~C#'!8W?BNiY{$tY#H* K0ri gWrr+gK0&17Vxw[`[w oC''dd& `qX;G O?gk?7v q Y]C1a8]DCS% )P^pr~:5VWIx3) ,4EWO|TUGxHaO5CAi7@uW%&f6M%< |' ' WI)]q:b$Z6EAK8nTGVbAcxV Ji;0}]u%po9;P;G>->P_7([ .\8CH6&,H(jDV/H9aHjKD>ynFo#1MH GM!b F0^d* BFE78 |Z*dcQu8\G>j,bGn H6 %wH(KPIwL %=g$hX hyH0Nc h#$o"rWaxHM_/>2['Lcyjfopc6\CTbM!P]z.vjX[2JNZ7Jz&h1M]WZ}x}V{c5ohM0b&;O@Vi[z&9=6&[bhiejOowS5 bXw72|paK3Y[x4J _./$P0SX\H=+ L&s sqWw5n=D891D^V_J[>0@H)D3BXnF//Q#|@Ry]DUgk_av*69!0 _L 8{nky aEeX^}3>|k^ rB:,}}s+8W um)+ie^9GN+yp E<'a#i(w8d4B"in-@H}JwuD-c1C4nphQ Bi;T"6BYKPUK\a}tQd?d `;g.Ym>w z  [IEoLzGc0B=suX[ &5t&`('<2Ctl4G+Q!j9\EE;2;OqpHGx8MT*@-7yN8t}^[ A%7[~KGZ-]lB ?:`G?+ h[NC vhpq0X6/p3TVp8-M_{+K" k_DJs6DQo PZ^,58g\ }E `:v_xH6=aSk! \K7)dtj3}A g;Q~D;w;pc&2lFB_%1233[}]>=A:e]f$_zs94vWB>;V%<@?q+P%$&ji&Z-+XAZi'N]J)y*vHH7fWy\Xm'+ Ep|N1&Z`HLi_X1BeUB17 Dh-g^LL7~g=S )GIBhcLv9 Mo?]_hci:mRqAC!b<@oXsBmr9MM*I;9fxEcKGLYdEnS1cw<[CKkVAB`Cx9< a8;}9GIDc1%RS\7(0Do$Y d#XtEej45dxK.wK*qQ1Fk~ +m=%YTuFAW @(.WD]!|+#vP`euU^F(8G]X3?D +)M gPq3T#kw0eSa!J*OF;nWD"IF['t cEC;M7MJ|,/*bvj0C6ed\6n\ .\Sz4yyQCUAA!9HVE;FipYt|J2u]1<4 p (message) s 12 r (that) s 12 r (will) s 12 r (be) s 12 r (printed) s 12 r (~ BIBLIO.BCK;%dw[DANA.BIBLIO.DOC]BIBLIO.TEX;21sp_BIN} et le fichier g\'{e}n\'{e}ral dans {\bf BIB:}. Il s'agit del@noms logiques qui devront \^{e}tre d\'{e}finis avec par exemple:\begin{verbatim} $ BIB == DUA0:[BIBLIO] d\end{verbatim}E {\tt EDT} est pris comme \'{e}diteur pour {\tt BIBEDIT} si vous avezeMpris la r\'{e}ponse par d\'{e}faut lors de l'installation par d\'{e}faut pour=E{\tt bibedit}. Si vous d\'{e}sirez ensuite changer d'\'{e}diteur pour{Gutiliser un \'{e}diteur plus commode (EMACS, EVE ou TPU), il suffira den1changer la correspondance du nom logique BIBEDIT.i: BIBLIO est pr\^{e}t \`{a} \^{e}tre utilis\'{e} en tapant:\begin{verbatim} $ @BIBLIO\end{verbatim}\end{document}/ / /%.fo / /-#-/ /%.po 5\begin{centering}{\bf {\Huge \bf BIBLIO \\ } \vspace{1cm}2{\Large \bf Gestion de fichier bibliographique \\}} \vspace{2cm}#{\large \bf Manuel d'utilisation\\} \vspace{1cm}4Ce manuel correspond \`{a} la version 4.2 de BIBLIO. {\footnote{.V1: Avril 1978 (FORTRAN II) OS *[DANA.BIBLIO.DOC]BIBLIOTEX.TEX;1+,>1.'/ 4Z''-dw0123KPWO(56 ͓7[g8`9Ŕ9GHJN% -*-LaTeX-*- \documentstyle{farticle} \fhyph \begin{document} \pagestyle{myheadings} % Titres de haut de page \markboth{Biblio\TeX\ V4.2}{Biblio\TeX\ V4.2} \pagenumbering{arabic} \begin{centering} {\bf {\Huge \bf Biblio\TeX\\ } \vspace{1cm} {\Large \bf Gestion de fichier bibliographique\\ permettant de cr\'{e}er des fichiers pour Bib\TeX\ ou La\TeX} } \vspace{2cm} {\large \bf Cet article correspond \`{a} la version 4.2 de BIBLIO.} {\footnote{ V1: Avril 1976 (FORTRAN II) OS8, V2: Mai 1979 (FORTRAN IV) RSX11-M, V3: Octobre 1983 (FORTRAN IV) RSX11-M, VAX/VMS, V4: Juin 1988 (C) UNIX, MS/DOS, VAX/VMS. } } \\ \end{centering} \vspace{2cm} \begin{centering} par\\ \vspace{1cm} {\bf Dr J.-F. VIBERT} \\ \vspace{1cm} Laboratoire de Physiologie \\ CHU Saint Antoine \\ Universit\'{e} Pierre et Marie CURIE \\ CNRS UA 1162 \\ PARIS \\ FRANCE\\ EARN-Bitnet: VIBERT@FRSIM51.BITNET\\ \end{centering} \begin{flushright} \today \end{flushright} \newpage \parskip=\baselineskip {\bf Prologue} BIBLIO\TeX\ est un avatar de BIBLIO V4.2 BIBLIO est d\'{e}di\'{e} \`{a} la m\'{e}moire de {\bf Georges P\'{e}rec}, auteur de "Les choses", "La Disparition", "La vie: Mode d'emploi", et bien d'autres \oe uvres. Il \'{e}tait documentaliste CNRS dans notre laboratoire. C'\'{e}tait lui qui g\'{e}rait notre fichier bibliographique. J'ai \'{e}crit la premi\`{e}re version de BIBLIO, sur notre PDP8 \`{a} son d\'{e}part. Le portage de BIBLIO pour MS/DOS a \'{e}t\'{e} r\'{e}alis\'{e} en collaboration avec Melle {\bf B\'{e}atrice Cointot} (Laboratoire de Physiologie, CHU Saint-Antoine). Le portage de BIBLIO pour VAX-VMS a \'{e}t\'{e} r\'{e}alis\'{e} en collaboration avec Mr {\bf Alain Fauconnet} (Service d'Informatique M\'{e}dicale, CHU Pi\-ti\'{e}-Sal\-p\'{e}\-tri\`{e}\-re). \section{ GENERALITES} % Texte du transparent {\bf BIBLIO\TeX} est un {\em gestionnaire de fichiers bibliographiques} dont les diff\'{e}rents \'{e}l\'{e}ments sont appelables par menu. Il permet: \begin{itemize} \item la cr\'{e}ation de bases de donn\'{e}es bibliographiques \item leur maintenance \item la recherche de fiches \begin{itemize} \item par numero \item par mots-cl\'{e}s \item par auteur \item par texte libre \end{itemize} \item le choix du format d'\'{e}dition \begin{itemize} \item arbitraire \item alphab\'{e}tique \item chronologique \end{itemize} \item l'\'{e}dition de r\'{e}f\'{e}rences bibliographiques. \begin{itemize} \item par La\TeX \item par Bib\TeX \item ou directement \end{itemize} \end{itemize} {\bf BIBLIO\TeX} est \'{e}crit en C et est disponible aupr\`{e}s de l'auteur ou via GUT ou DECUS-France sous UNIX, MS/DOS, et VAX-VMS. % Titre de la page \section{ LE FICHIER} % Texte du transparent Il est possible de g\'{e}rer un fichier g\'{e}n\'{e}ral et plusieurs fichiers personnels, qui sont chacun un sous r\'{e}pertoire comprenant 8 fichiers. Par d\'{e}faut le fichier g\'{e}n\'{e}ral est: \begin{itemize} \item sous {\bf UNIX}, dans {\bf /usr/general/biblio/} \item sous {\bf VMS}, dans {\bf BIB:} \item sous {\bf MS/DOS}, dans {\bf $\backslash$general$\backslash$biblio$\backslash$} \end{itemize} et le fichier personnel: \begin{itemize} \item Sous {\bf UNIX}, dans {\bf ./biblio/} \item Sous {\bf VMS}, dans {\bf [.BIBLIO]} \item Sous {\bf MS/DOS}, dans {\bf .$\backslash$biblio$\backslash$ } \end{itemize} La base de donn\'{e}es, sp\'{e}cialis\'{e}e pour cette application, est une base polyindex\'{e}e, permettant un acc\`{e}s direct et rapide aux r\'{e}f\'{e}rences. Les doublons sont \'{e}vit\'{e}s au moment de l'acquisition des r\'{e}f\'{e}rences. Huit fichiers sont n\'{e}cessaires: \begin{itemize} \item {\bf 1 - c\_fiches.bib} contient les fiches.\\ \item {\bf 2 - c\_codcle.bib} contient jusqu' 1000 mots-cl\'{e}s.\\ \item {\bf 3 \& 4 - c\_motcle.bib} et {\bf c\_motcle.bib.index} contiennent l'indexation sur les mots-cl\'{e}s.\\ \item {\bf 5 - c\_abbrev.bib} contient une liste d'abr\'{e}viations de journaux, et une liste d'auteurs \`{a} mettre automatiquement en mot-cl\'{e}.\\ \item {\bf 6 \& 7 - c\_auteur.bib} et {\bf c\_auteur.bib.index} contiennent l'indexation sur les auteurs.\\ \item {\bf 8 - c\_super\_cle.bib} contient les super-mots-cl\'{e}s. \end{itemize} Une {\bf fiche} ou {\bf r\'{e}f\'{e}rence bibliographique} est constitu\'{e}e de: \begin{itemize} \item son type ,simple ('S'), double ('D') ou supprim\'{e}e ('K') \item son num\'{e}ro (1 entier) qui est unique \item le nombre d'auteurs (1 a 10) (1 entier) \item 1 \`{a} 10 noms (18 caract\`{e}res) et pr\'{e}noms (6 caract\`{e}res) d'auteurs \item 1 \`{a} 4 lignes de titre (80 caract\`{e}res) \item le nom du journal (36 caract\`{e}res) ou bien, en son absence: \begin{itemize} \item le nom du livre (80 caract\`{e}res) \item des \'{e}diteurs (80 caract\`{e}res) \item du publieur (39 caract\`{e}res) \item et de la ville (39 caract\`{e}res) \end{itemize} \item le num\'{e}ro du volume (4 caract\`{e}res) \item les num\'{e}ros des pages (10 caract\`{e}res) \item l'ann\'{e}e de parution (1 entier) \item le num\'{e}ro d'utilisateur sous lequel elle a \'{e}t\'{e} entr\'{e}e et/ou index\'{e}e (1 entier) \item la date \`{a} laquelle elle a \'{e}t\'{e} entr\'{e}e et/ou index\'{e}e (9 caract\`{e}res) \item une indication concernant les tir\'{e}s-\`{a}-part (10 caract\`{e}res) \item 1 \`{a} 10 num\'{e}ros de mots-cl\'{e}s (10 entiers) \end{itemize} Une fiche bibliographique peut \^{e}tre {\bf simple} (moins de 6 auteurs) ou {\bf double} (6 \`{a} 10 auteurs ou livre). \section{ LE MENU D'ACCEUIL} BIBLIO\TeX\ est constitu\'{e} d'un grand nombre de programmes ind\'{e}pendants qui peuvent \^{e}tre appel\'{e}s directement. N\'{e}anmoins, et afin de faciliter l'utilisation, il sont appel\'{e}s via un menu pour les fonctions d'utilisation, et un sous-menu pour les fonctions de maintenance. La Fig. 1 montre le menu g\'{e}n\'{e}ral. \begin{figure} {\normalsize \begin{verbatim} ========================================================= B I B L I O T e X V4.2-m (c)jfv Fichier de travail: \general\biblio\ Selectionner avec les Fleches puis valider avec "Return" Ou taper une des Lettres Majuscules MENU ===> entree de nouvelles Fiches recherche par Auteur recherche par mot-Cle recherche Globale de texte Thesaurus choix du fichier par Defaut Preparation d'une liste de references Edition d'une liste de references creation d'un fichier BibTeX SOUS-MENU Modification/correction du fichier Quitter - Abandonner BIBLIO ========================================================= \end{verbatim} } \caption{\em Le menu principal} \end{figure} \section{ SAISIE DES R\'{E}F\'{E}RENCES} L'entr\'{e}e des fiches se fait via une {\bf grille de saisie} qui se construit dynamiquement au fur et \`{a} mesure des entr\'{e}es. La longueur des champs \`{a} remplir est indiqu\'{e}e par les {\bf tirets}. Lorsqu'un champ est sans objet, il suffit d'entrer {\bf $<$CR$>$} pour l'annuler et passer au suivant. Le nom du journal peut \^{e}tre {\bf abr\'{e}g\'{e}}. La correction se fait par un {\bf \'{e}diteur pleine-page} simplifi\'{e}. Les {\bf mots-cl\'{e}s} sont demand\'{e}s en dernier. Avant de valider on peut modifier l'indexation. Avant son entr\'{e}e, le programme v\'{e}rifie qu'elle n'existe pas d\'{e}j\`{a} dans le fichier, sur la base des nom et pr\'{e}nom des auteurs, du num\'{e}ro du volume et des num\'{e}ros de pages. Les fiches peuvent index\'{e}es par des mots-cl\'{e}s qui peuvent \^{e}tre simples ou compos\'{e}s (appel\'{e}s super mots-cl\'{e}s). Les {\bf mots-cl\'{e}s simples} ont 1 \`{a} 12 caract\`{e}res. Ils sont cr\'{e}es dynamiquement, c'est \`{a} dire que s'ils n'existenet pas dans le th\'{e}saurus, il sont ajout\'{e}s \`{a} celui-ci apr\`{e}s demande de confirmation. Ils b\'{e}n\'{e}ficient d'une compl\'{e}tion automatique (il n'est pas utile d'entrer le mot-cl\'{e} en entier, si un conflit existe, la liste des mots cl\'{e}s possible est fournie. Une correction d'orthographe simple, bas\'{e}e sur une similitude (a 2 lettres pr\`{e}) du mot cl\'{e} entr\'{e} et de ceux existant est \'{e}galement impl\'{e}ment\'{e}e. Les {\bf super mots-cl\'{e}s} sont en fait une combinaison logique (et, ou, non) de mots-cl\'{e}s simples. Ils commencent toujours par le signe +. Ils sont cr\'{e}\'{e}s par un programme sp\'{e}cial du sous-menu de gestion du fichier. L'ensemble constitue un {\bf th\'{e}saurus \'{e}volutif} \section{ RECHERCHE DES R\'{E}F\'{E}RENCES} \subsection{par les mot-cl\'{e}s} Les fiches bibliographiques peuvent \^{e}tre retrouv\'{e}es par combinaison logique de mots-cl\'{e}s et de super mots-cl\'{e}s avec les op\'{e}rateurs bool\'{e}ens OU, ET et NON, avec possibilit\'{e} d'ajoindre une fourchette de dates. On peut choisir de voir sur l'\'{e}cran les fiches trouv\'{e}es, et/ou d'en faire un fichier {\tt .lst}, spool\'{e} ou non. Les {\bf num\'{e}ros} des fiches trouv\'{e}es sont m\'{e}moris\'{e}s dans un fichier {\tt .num}. La fig. 2 montre un exemple de fichier {\tt .lst} \begin{figure} {\normalsize \begin{verbatim} Recherche par mots cles INFORMATIQUE ET VIBERT ***************** Fiche simple numero 396 ***************** J.-F. VIBERT; J. COSTA; An educable wave form recognition system for sorting unit discharge from multiunit signals. In NATO-ASI series : Advanced Technobiology. Edited by B. Rybak. Sijthoff and Noordhoff, Alphen aan den Rijn, the Netherlands. ; : 121-132 (1979) Tire-a-part: OUI Entree le 08-MAR-82 par [5] VIBERT COSTA INFORMATIQUE STATISTIQUE RECONN.FORME ***************** Fiche simple numero 1701 ***************** J. COSTA; J.-F. VIBERT; A. HUGELIN; An auto educable spike detector and separator system for multi- unit signals processing. NEUROSCI. LETTERS; S. 3: S59 (1979) Tire-a-part: OUI Entree le 20-JUN-80 par [2] COSTA VIBERT INFORMATIQUE RECONN.FORME POT.ACTION TECHNIQUE LABO COMMUNICATIO ***************** Fiche simple numero 2299 ***************** J.-F. VIBERT; J.-N. ALBERT; POSTER: Un package pour la mise au point interactive et l'edition des posters. ...... \end{verbatim} } \caption{\em R\'{e}sultat de la recherche des r\'{e}f\'{e}rences par mots-cl\'{e}s} \end{figure} \subsection{ par auteur} Les fiches bibliographiques peuvent \^{e}tre retrouv\'{e}es par le nom et \'{e}ventuellement le pr\'{e}nom d'un des auteurs avec possibilit\'{e} d'ajoindre une fourchette de dates On peut choisir de voir sur l'\'{e}cran les fiches trouv\'{e}es, et/ou d'en faire un fichier, spool\'{e} ou non. Les {\bf num\'{e}ros} des fiches trouv\'{e}es sont m\'{e}moris\'{e}s dans un fichier {\tt .num}. La recherche se fait par indexation des fiches sur les 2 premi\`{e}res lettres de chaque auteur. \subsection{ par texte libre} On peut rechercher une fiche en donnant une cha\^{\i}ne de caract\`{e}res, pouvant \^{e}tre dans le titre, le journal ou les auteurs, ou une portion des trois. L'ensemble du fichier est explor\'{e}! On peut ajoindre une fourchette de dates. Il est possible de distinguer ou non les minuscules des majuscules. On peut choisir de voir sur l'\'{e}cran les fiches trouv\'{e}es, et/ou d'en faire un fichier, spool\'{e} ou non. Les {\bf num\'{e}ros} des fiches trouv\'{e}es sont m\'{e}moris\'{e}s dans un fichier {\tt .num}. \section{ GESTION DU FICHIER} Un certain nombre de programme permettent de maintenir le fichier. Ils sont appelables via un sous menu (Fig. 3). Ils permettent de corriger les fiches d\'{e}j\`{a} entr\'{e}es, de supprimer des fiches, de g\'{e}rer le fichier des abr\'{e}viations de journaux et le noms d'auteurs \`{a}prendre automatiquement en mots-cl\'{e}s, de modifier le th\'{e}saurus, de cr\'{e}er le super mots-cl\'{e}s, d'obtenir des listes de fiches et enfin d'initialiser un nouveau fichier (fichiers personnels). \begin{figure} {\normalsize \begin{verbatim} ========================================================= B I B L I O T e X V4.2-m (c)jfv Fichier de travail: \general\biblio\ Selectionner avec les Fleches puis valider avec "Return" Ou taper une des Lettres Majuscules SOUS-MENU ===> Correction de fiches existantes Elimination de fiches modification des Abreviations/Auteurs-cle modification des mots-Cles adjonction de Super mots-cles Liste des fiches Initialisation d'un nouveau fichier Quitter - retour au menu general Taper RETURN pour retourner au menu ========================================================= \end{verbatim} } \caption{\em Le sous-menu de gestion} \end{figure} \section{ EDITION DES R\'{E}F\'{E}RENCES} Plusieurs choix permettent de {\bf pr\'{e}parer une liste de r\'{e}f\'{e}rences bibliographiques} annexables \`{a} la fin d'un article, pour {\bf cr\'{e}er} ou {\bf modifier} une liste des r\'{e}f\'{e}rences, pour pr\'{e}ciser l'ordre d'impression des diff\'{e}rents \'{e}l\'{e}ments de la fiche (appel\'{e} improprement typographie), pour pr\'{e}parer un {\bf fichier au format} accept\'{e} par certains programmes sp\'{e}cialis\'{e}s comme La\TeX\ et Bib\TeX . \subsection{ Les fichiers pour l'\'{e}dition} Un certain nombre de fichiers sont cr\'{e}es au cours du processus d'\'{e}dition des fiches. Les fichiers de base sont celui des num\'{e}ros de fiches ({\tt *.num}) et celui de "typographie" ({\tt *.typ}). Selon l'option choisie, on obtiendra un fichier La\TeX\ ({\tt *.rft}), ou Bib\TeX\ ({\tt *.bib}), ou encore ({\tt *.rfr}) si l'on d\'{e}sire un listing directement format\'{e} de fa\c{c}on simplifi\'{e}e. L'ordre d'impression des \'{e}l\'{e}ments de la fiche est choissable \`{a} volont\'{e}. On d\'{e}crit la fiche par des \'{e}l\'{e}ments fictifs pr\'{e}sent\'{e}s par un menu peau de chagrin. Par exemple: \begin{itemize} \item {\bf N} un num\'{e}ro de r\'{e}f\'{e}rence \item {\bf A1} le nom du premier auteur \item {\bf P1} le pr\'{e}nom du premier auteur \item {\bf AP} les autres auteurs dans l'ordre nom puis pr\'{e}nom \item {\bf PA} ou dans l'ordre pr\'{e}nom puis nom \item {\bf AF} le nom du dernier auteur \item {\bf PF} le pr\'{e}nom du dernier auteur \item {\bf T} le titre \item {\bf J} le nom du journal \item etc\ldots... \end{itemize} \subsection{ L'\'{e}dition pour \TeX } Biblio\TeX\ est sp\'{e}cialement d\'{e}volu \`{a} la pr\'{e}paration de fichiers utilisables dans le contexte de l'\'{e}dition avec \TeX\ et La\TeX\. La fig. 4 montre les rapports existant entre les fichiers permettant la cr\'{e}ation de fichiers \TeX\ ou La\TeX . \begin{figure} {\normalsize \setlength {\unitlength}{1mm} \begin {picture}(200,100)(-20,0) \thicklines \put(40,80){\framebox(20,10){\bf .num}} \put(40,50){\framebox(20,10){\bf .bib}} \put(40,20){\framebox(20,10){\bf .dvi}} \put(80,80){\framebox(20,10){\bf .typ}} \put(80,50){\framebox(20,10){\bf .rft}} \put(80,20){\framebox(20,10){\bf .dvi}} \put(50,80){\vector(0,-2){20}} \put(50,80){\vector(2,-1){40}} \put(90,80){\vector(0,-2){20}} \put(90,50){\vector(0,-2){20}} \put(50,50){\vector(0,-2){20}} \put(55,44){\bf Bib\TeX} \put(55,37){\bf \TeX} \put(95,40){\bf La\TeX} \end{picture} } {\em L\'{e}gende} : {\bf .num}: num\'{e}ros de fiches, {\bf .typ}: ordre d'apparition des diff\'{e}rents items de la fiche, {\bf .bib}: fichier Bib\TeX. {\bf .rft}: fichier {\bf \TeX}. \caption{\em Les fichiers pour l'\'{e}dition avec \TeX} \end{figure} Sous UNIX, VMS ou MS/DOS, il est possible d'utiliser Bib\TeX. Il est possible de g\'{e}n\'{e}rer un fichier sp\'{e}cial {\tt .bib} pour alimenter Bib\TeX\, de la forme montr\'{e}e sur la figure 5. \begin{figure} {\normalsize \begin{verbatim} @ARTICLE{393 , AUTHOR = {J.-F., VIBERT and J., COSTA}, TITLE = { Separation des potentiels d'action unitaires dans des enregistrements multiunitaires: analyse multivariate des parametres descriptifs.}, JOURNAL = {J. PHYSIOL., PARIS}, VOLUME = {74}, PAGES = {16A}, YEAR = {1978} } .... \end{verbatim} } \caption{\em Format du fichier {\tt *.bib} pour Bib\TeX} \end{figure} Bib\TeX\ prend ses donn\'{e}es dans ce fichier et g\'{e}n\`{e}re automatiquement, \`{a} partir de fichiers sp\'{e}ciaux de description de format la num\'{e}rotation/citation dans le texte et la liste en fin de texte. C'est le num\'{e}ro de la fiche (num\'{e}ro unique et donc non ambigu) qui sert de cl\'{e} pour Bib\TeX . \subsection{ L'\'{e}dition pour La\TeX} La\TeX\ permet d'utiliser \TeX\ de fa\c{c}on simple. Biblio\TeX\ permet de cr\'{e}er un fichier de r\'{e}f\'{e}rences annexable \`{a} un article comme une simple liste num\'{e}rot\'{e}e, g\'{e}r\'{e}e par l'environnement {\tt list}. La citation des r\'{e}f\'{e}rences dans le texte doit \^{e}tre prise en charge ``manuellement''. La figure 6 montre ce qui est g\'{e}n\'{e}r\'{e} pour La\TeX\, et la figure 7 le r\'{e}sultat obtenu. \begin{figure} {\normalsize \begin{verbatim} \newcounter{bib_fiches} \leftmargin=10em \begin{list} {\arabic{bib_fiches} / } {\usecounter{bib_fiches} \setlength{\rightmargin}{\leftmargin}} \item VIBERT, JF, et HUGELIN, A. Le noyau de Kolliker-Fuse {\em La Physiologie} 24: 23-27 (1988) \item VIBERT, JF, and AZMY, N. Density in neural networks. {\em Neural Computing} 2: 50-55 (1989) \end{list} \end{verbatim} } \caption{\em Format du fichier {\tt *.rft} pour La\TeX} \end{figure} \begin{figure} {\normalsize \newcounter{bib_fiches} \leftmargin=10em \begin{list} {\arabic{bib_fiches} / } {\usecounter{bib_fiches} \setlength{\rightmargin}{\leftmargin}} \item VIBERT, JF, et HUGELIN, A. Le noyau de Kolliker-Fuse {\em La Physiologie} 24: 23-27 (1988) \item VIBERT, JF, and AZMY, N. Density in neural networks. {\em Neural Computing} 2: 50-55 (1989) \end{list} } \caption{\em R\'{e}sultat du traitement du fichier {\tt *.rft} par La\TeX } \end{figure} \section{ CONCLUSION} BIBLIO\TeX\ est utilis\'{e} en routine dans notre laboratoire par la secr\'{e}taire et l'ensemble des chercheurs, depuis plus de 10 ans sous sa forme BIBLIO, et depuis 2 ans sous sa forme BIBLO\TeX . Il permet de trouver facilement les r\'{e}f\'{e}rences \`{a} partir de vagues indications et de produire des documents pouvant se plier aux exigences de n'importe quel \'{e}diteur. La possibilit\'{e} de produire un fichier ASCII correctement mis en ordre, ou bien un fichier \TeX\ ou La\TeX\ permet de l'utiliser avec les formateurs de texte habituels. Bib\TeX\ est un outil de g\'{e}n\'{e}ration de traitement de listes bibliographiques tr\`{e}s puissant auquel il manquait une interface entre la base de donn\'{e}es et le fichier Bib\TeX\ : c'est le r\^ole de BIBLIO\TeX . \end{document} *[DANA.BIBLIO.DOC]BIBLIO_1.TEX;2+,D+.Q/ 4pQQ&-dw0123KPWOR56!N7:@8$}"Cau prompt propos\'{e} par le syst\`{e}me d'exploitation. Ceci faitPappara\^{\i}tre un menu sur l'\'{e}cran. En haut \`{a} gauche est visualis\'{e}Gle fichier sur lequel on va travailler, et en haut \`{a} droite un modeCd'emploi. Les fl\`{e}ches permettent de d\'{e}placer la portion en?vid\'{e}o inverse. Une option du menu est s\'{e}lectionn\'{e}e:O - soit en amenant la barre en vid\'{e}o inverse sur l'item choisi et enKvalidant par {\bf $<$CR$>$} ({\bf $<$CR$>$} repr\'{e}sente la touche'"Retour Chariot" ou "Carriage Return").N - soit en tapant directement la lettre indiqu\'{e}e en Majuscule, sansHtaper {\bf $<$CR$>$}. On peut taper en minuscule ou majuscule cettelettre.L Dans la version MS/DOS-PC, la touche Escape a le m\^{e}me r\^{o}le que laKlettre Q (Quitter). Dans les versions UNIX, VMS et MS/DOS-Rainbow, c'estCla touche "." qui a le m\^{e}me r\^{o}le que la lettre Q (Quitter).D Les fonctionnalit\'{e}s sont pr\'{e}sent\'{e}es de fa\c{c}onexplicite par le menu.J Les menus VMS et MS/DOS sont identiques et se pr\'{e}sentent comme suit sur la figure~\ref{vms-ms}.\begin{figure}\begin{verbatim}>==============================================================B I B L I O V4.2-m (c)jfvFichier de travail:=\general\biblio\ Selectionner avec les Fleches= puis valider avec "Return"= Ou taper une des Lettres Majuscules  MENU+ ===> entree de nouvelles Fiches& recherche par Auteur ' recherche par mot-Cle , recherche Globale de texte  Thesaurus - choix du fichier par Defaut 7 Preparation d'une liste de references 2 Edition d'une liste de references- creation d'un fichier BibTeX# SOUS-MENU 4 Modification/correction du fichier , Quitter - Abandonner BIBLIO?===============================================================\end{verbatim}\caption{\label{vms-ms}&Le menu d'accueil sous VMS et MS/DOS.} \end{figure}M Le sous-menu de modification/correction du fichier se pr\'{e}sente de9la fa\c{c}on montr\'{e}e par la figure~\ref{vms-ms-gest}.\begin{figure}\begin{verbatim}>============================================================== B I B L I O V4.2-m (c)jfvFichier de travail:>\general\biblio\ Selectionner avec les Fleches> puis valider avec "Return"> Ou taper une des Lettres Majuscules! SOUS-MENU 1 ===> Correction de fiches existantes ' Elimination de fiches ; modification des Abreviations/Auteurs-cle , modification des mots-Cles / adjonction de Super mots-cles " Liste des fiches 5 Initialisation d'un nouveau fichier 2 Quitter - retour au menu general 4 Taper RETURN pour retourner au menu>==============================================================\end{verbatim}\caption{\label{vms-ms-gest}7Le sous menu de gestion du fichier sous VMS et MS/DOS.} \end{figure}O La version UNIX propose un second sous-menu sp\'{e}cifique aux outilsSde bibliographie qui existent en standard sur ce syst\`{e}me. Il se pr\'{e}sente7de la fa\c{c}on indiqu\'{e}e sur la figure~\ref{unix}: \begin{figure}\begin{verbatim}>==============================================================B I B L I O V4.2-u (c)jfvFicher de travail:>/usr/general/biblio/ Selectionner avec les Fleches> puis valider avec "Return"> Ou taper une des Lettres Majuscules  MENU+ ===> entree de nouvelles Fiches& recherche par Auteur ' recherche par mot-Cle , recherche Globale de texte  Thesaurus - choix du fichier par Defaut 7 Preparation d'une liste de references 2 Edition d'une liste de references- creation d'un fichier BibTeX# SOUS-MENU 4 Modification/correction du fichier 6 edition des References par refer UNIX, Quitter - Abandonner BIBLIO?===============================================================\end{verbatim}\caption{\label{unix}Le menu d'accueil sous UNIX} \end{figure}O Le sous-menu de modification/correction du fichier se pr\'{e}senteScomme dans les versions MS/DOS et VMS. La figure~\ref{unix-edi} montre le sous menud'\'{e}dition sous UNIX.\begin{figure}\begin{verbatim}?=============================================================== B I B L I O V4.2-m (c)jfvnFichier de travail:{?/usr/general/biblio/ Selectionner avec les Flechesi? puis valider avec "Return"p? Ou taper une des Lettres Majuscules{! SOUS-MENU{1 ===> Creation du fichier de references{+ Liste des references seules'4 liste des references dans un Article0 Quitter - retour au menu general@================================================================\end{verbatim}\caption{\label{unix-edi} %Le sous menu d'\'{e}dition sous UNIX}l \end{figure}\section{Menu d'accueil}N Le premier choix ( {\bf entr\'{e}e de nouvelles Fiches } ou {\bf F } )Jpermet d'ajouter une r\'{e}f\'{e}rence (aussi appel\'{e}e "fiche") dans leHfichier. Le libell\'{e} de la fiche, ainsi que des mots cl\'{e}s serontCdemand\'{e}s. Il est possible de corriger la fiche avant insertion d\'{e}finitive dans le fichier.nL Les trois choix suivants ( {\bf recherche par Auteur } ou {\bf A } ,I{\bf recherche par mot-Cl\'{e} } ou {\bf C } et {\bf recherche Globale de Ktexte } ou {\bf G } ) permettent l'interrogation du fichier \`{a} partir duFcrit\`{e}re choisi. Ces 3 choix utilisent la m\^{e}me philosophie, leCcrit\`{e}re de choix (nom d'auteur, combinaison de mots-cl\'{e}s ougEcha\^{\i}ne de caract\`{e}res) est demand\'{e}, puis des crit\`{e}resoLg\'{e}n\'{e}raux de s\'{e}lection suppl\'{e}mentaires sont propos\'{e}s (nomLou pr\'{e}nom d'auteur, fourchette de date), ainsi que la possibilit\'{e} deMvisualiser sur l'\'{e}cran les fiches retenues au fur et \`{a} mesure de leurrHs\'{e}lection. Deux fichiers sont automatiquement cr\'{e}\'{e}s dans leFr\'{e}pertoire courant, le premier contient les num\'{e}ros des fiches?s\'{e}lectionn\'{e}es (extension {\bf .num } ) et le second les'Ir\'{e}f\'{e}rences proprement dites (extension~ BIBLIO.BCKD+dw[DANA.BIBLIO.DOC]BIBLIO_1.TEX;2pQz {\bf .lst}). Ces fichiersnLportent le m\^{e}me nom g\'{e}n\'{e}rique (par d\'{e}faut le nom de l'auteur$cherch\'{e} ou ref\_mc). Il peuventL\^{e}tre conserv\'{e}s ou effac\'{e}s apr\`{e}s impression. Le fichier {\bf.num} g\'{e}n\'{e}r\'{e} peute[servir comme fichier d'entr\'{e}e aux programmes d'\'{e}dition des r\'{e}f\'{e}rences K(choix {\em Pr\'{e}paration d'une liste de r\'{e}f\'{e}rences} ou {\em P}). F Le cinqui\`{e}me choix ( {\bf Thesaurus } ou {\bf T } ) permetLd'\'{e}diter un listing par ordre alphab\'{e}tique du th\'{e}saurus, avec leLnum\'{e}ro des mots-cl\'{e}s, leur libell\'{e} et le nombre de fiches qu'ilsHindexent. Le format, nombre de colonnes, impression ou sortie \'{e}cran$seule est au choix de l'utilisateur.Q Le sixi\`{e}me choix ( {\bf choix du fichier par D\'{e}faut } ou {\bf D }OH) permet de s\'{e}lectionner la base de donn\'{e}es bibliographiques sur>laquelle on va travailler. La base par d\'{e}faut est la baseNg\'{e}n\'{e}rale du syst\`{e}me (sous MS/DOS: {\bf \bs GENERAL\bs BIBLIO\bs},Osous UNIX: {\bf /usr/general/biblio/} et sous VMS le repertoire associ\'{e} aueQnom symbolique {\bf BIB}. La base en cours est indiqu\'{e}e en haut \`{a} gauchelIde l'\'{e}cran de menu. L'appel de ce choix propose une seconde base par Cd\'{e}faut, appel\'{e}e "fichier personnel", sous MS/DOS: {\em .\bs BIBLIO\bs},t@sous UNIX: {\em ./biblio/} et sous VMS: {\em [.BIB]}. On peut9\'{e}videmment indiquer un autre nom de r\'{e}pertoire. $"Si le fichier de travail est unJfichier personnel, la base propos\'{e}e par d\'{e}faut par ce choix est laIbase g\'{e}n\'{e}rale. Le r\'{e}pertoire de la derni\`{e}re base choisie$Ipar d\'{e}faut est m\'{e}moris\'{e} dans un fichier ({\bf .bibliorc} sousnPUNIX et VMS, {\bf BIBLIO.CFG} sous MS/DOS et VMS. Il deviendra alors le fichierBpar d\'{e}faut la prochaine fois que {\bf BIBLIO} sera appel\'{e}.< Le septi\`{e}me choix ( {\bf Pr\'{e}paration d'une liste der\'{e}f\'{e}rences }Iou {\bf P} ) permet de pr\'{e}parer le travail qui sera fait par le choixmIsuivant. Il permet de choisir ou de cr\'{e}\'{e}r un fichier {\bf .num }tJcontenant les num\'{e}ros des fiches que l'on d\'{e}sire \'{e}diter, ainsiJqu'un fichier {\bf .typ } (choix ou cr\'{e}ation) qui permet de choisir la)typographie qui sera utilis\'{e}e. C'est_\'{e}galement gr\^{a}ce \`{a} ce choix que l'on peut choisir si les r\'{e}f\'{e}rences seront Kclass\'{e}es par ordre alphab\'{e}tique du nom du premier auteur, par ordrerJchronologique de leur date de parution, ou encore dans l'ordre dans lequelLelles se trouvent dans le fichier {\bf .num}. Un fichier {\bf .rfr} ou {\bfG.rft} qui contient une liste non format\'{e}e est produit par ce choix.eD Le huiti\`{e}me choix ( {\bf Edition d'une liste de references } ouO{\bf E } ) traite le fichier {\bf .rfr} et le formate \`{a} la mani\`{e}re d'un Etraitement de texte (choix des marges, de la pagination, etc...). Il 6produit un fichier imprimable format\'{e} {\bf .doc}. L Le choix suivant ( {\bf Modification/correction du fichier } ou {\bfQM } ) fait appara\^{\i}tre un sous-menu d'actions utilis\'{e}es pour g\'{e}rer la=base.K Enfin le dernier choix ( {\bf Quitter - Abandonner BIBLIO } ou {\bfD5Q} ) permet de revenir au syst\`{e}me d'exploitation.i)\section{Sous-menu de gestion du fichier}A Le {\bf sous-menu de gestion du fichier} propose 8 choix.n M Le premier choix ( {\bf Correction de fiches existantes } ou {\bf C }=M) permet de corriger un fiche d\'{e}j\`{a} entr\'{e}e dans le fichier. Aussi Lbien le libell\'{e} de la fiche que les mots-cl\'{e}s qui l'indexent peuvent\^{e}tre modifi\'{e}s.K Le second choix ( {\bf Elimination de fiches } ou {\bf E } ) permet *de supprimer des fiches devenues inutiles.6 Le troisi\`{e}me choix ( {\bf modification desTAbr\'{e}viations/Auteurs-cl\'{e} } ou {\bf A } ) permet de cr\'{e}er ou modifier uneLliste d'abr\'{e}viation des journaux courants afin de faciliter l'entr\'{e}e&des fiches dans le fichier. Il permetM\'{e}galement de maintenir une liste de noms d'auteurs qui serontuMautomatiquement mis en mots-cl\'{e}s, et indexeront les fiches dont ils sont l'auteur.TP Le quatri\`{e}me choix ( {\bf modification des mots-Cl\'{e}s } ou {\bf C;} ) permet de modifier le libell\'{e} des mots-cl\'{e}s, etu$\'{e}ventuellement de les supprimer.Q Le cinqui\`{e}me choix ( {\bf adjonction de super Mots-cl\'{e}s } ou {\bf FM } ) permet de cr\'{e}er des "super mots-cl\'{e}s". On appelle superImots-cl\'{e}s un mot-cl\'{e} qui commence par un +, et qui repr\'{e}sentelIlui m\^{e}me une combinaison logique de mots-cl\'{e}s, normaux ou supers.=K Le sixi\`{e}me choix ( {\bf Liste des fiches } ou {\bf L } ) permetj9de lister s\'{e}quentiellement tout ou partie du fichier.lM Le septi\`{e}me choix ( {\bf Initialisation d'un nouveau fichier } ou I{\bf I } ) permet d'initialiser un fichier bibliographique personnel. Il Bs'agit d'une commande dangereuse car elle d\'{e}truit tout fichierKpr\'{e}existant dans le r\'{e}pertoire demand\'{e}. Plusieurs confirmations sont r\'{e}clam\'{e}es.eT Enfin, le dernier choix ( {\bf Quitter - retour au menu g\'{e}n\'{e}ral } ou/{\bf Q } ) permet de revenir au menu principal. \newpage \vspace{5cm})\cntr{\LARGE \bf ORGANISATION DU FICHIER}i \vspace{3cm}\setcounter{section}{1} S Le fichier bibliographique est constitu\'{e} de 8 fichiers regroup\'{e}s Sdans un r\'{e}pertoire sp\'{e}cial, dont le nom est choisi par l'utilisateur. IlaOpeut y avoir coexistence de plusieurs r\'{e}pertoires contenant chacun un=Wfichier bibliographique. L'un peut-\^{e}tre g\'{e}n\'{e}ral, alors que les autresSpourront \^{e}tre des fichiers personnels. Deux noms de r\'{e}pertoires sonttIconnus par d\'{e}faut: celui du r\'{e}pertoire g\'{e}n\'{e}ral, et celuiSd'un r\'{e}pertoireeWpersonnel. Le nom des r\'{e}pertoires d\'{e}pendent du syst\`{e}me d'exploitation.r\begin{itemize}=_ \item Sous {\bf UNIX}, le fichier g\'{e}n\'{e}ral est dans {\bf /usr/general/biblio/} 0et le fichier personnel dans {\bf ./biblio/}.d \item Sous {\bf VMS}, le fichier g\'{e}n\'{e}ral est dans le r\'{e}pertoire portant le nom?logique {\bf BIB} et le fichier personnel dans {\bf [.BIBLIO]}. p \item Sous {\bf MS/DOS}, le fichier g\'{e}n\'{e}ral est dans {\bf \bs usr\bs general\bs biblio\bs}3et le fichier personnel dans {\bf .\bs biblio\bs}. s \end{itemize}g[ Sous UNIX et VMS, le fichier g\'{e}n\'{e}ral devra b\'{e}n\'{e}ficier desgSprotections ad\'{e}quates. Sous UNIX, il sera bon de d\'{e}finir un groupe danssO/etc/group d\'{e}finissant les utilisateurs ayant le droit de modifier lemKfichier, et donner les protections suivantes: rw-rw-r--. Sous VMS lesiLprotections seront [RWED,RWE,RWE,R]. L'utilisation du fichier pour sonOinterrogation ou son \'{e}dition est ainsi possible pour tout le monde. SouseOMS/DOS, il sera prudent de "cacher" le fichier, afin d'\'{e}viter son=effacement par inadvertance.\section{Les fichiers}$ Huit fichiers sont n\'{e}cessaires:\begin{itemize}{K \item {\bf 1 - c\_fiches.bib}: contient le libell\'{e} des fichespK bibliographiques, avec leurs mots-cl\'{e}s, l'identification de laaJ personne qui l'a entr\'{e}, et sa date d'entr\'{e}e. Sous MS/DOS,' ce fichier s'appelle {\bf FICHES.BIB}.  D \item {\bf 2 - c\_codcle.bib}: contient le libell\'{e} des 1000K mots-cl\'{e}s possibles avec le nombre actuel des mots-cl\'{e}s etu* le nombre de fiches. Sous MS/DOS,' ce fichier s'appelle {\bf CODCLE.BIB}.oD \item {\bf 3 \& 4 - c\_motcle.bib} et {\bf c\_motcle.bib.index}:K contient les num\'{e}ros des fiches appartenant au mot-cl\'{e}oO consid\'{e}r\'{e}; chaque record correspond \`{a} un mot-cl\'{e}; lesbK enregistrements qui indexent 100 fiches, sont chain\'{e}s: ainsi, K le nombre de fiches indexables par un mot cl\'{e} est illimit\'{e}. K Le fichier .index est un fichier contenant des indications poure+ g\'{e}rer le premier. Sous MS/DOS,}B ces fichiers s'appellent {\bf MOTCLE.BIB} et {\bf MOTCLE\_X.BIB}.D \item {\bf 5 - c\_abbrev.bib}: contient la liste desI abr\'{e}viations (30 maximum) et leur correspondance en nom deoK journal, ainsi que la liste des auteurs (30 maximum) \`{a} mettrer6 automatiquement en mot-cl\'{e}. Sous MS/DOS,' ce fichier s'appelle {\bf ABBREV.BIB}.rD \item {\bf 6 \& 7 - c\_auteur.bib} et {\bf c\_auteur.bib.index}:K est constitue de 676 enregistrements correspondant aux 26*26nK lettres (AA, AB,...,YZ,ZZ). Chaque enregistrment correspond \`{a}rK un doublet de lettres de l'alphabet. Il contiennent lesnK num\'{e}ros des fiches dont un des auteurs a un nom qui commencexK par le doublet consid\'{e}r\'{e}. Le fichier .index est un fichierlJ contenant des indications pour g\'{e}rer le premier. Sous MS/DOS,> ce fichier s'appelle {\bf AUTEUR.BIB} et {\bf AUTEUR\_X.BIB}.D \item {\bf 8 - c\_super\_cle.bib}: contient le libell\'{e} desK super-mots-cl\'{e}s ainsi que les mots-cl\'{e}s dont ilsr# d\'{e}rivent. Sous MS/DOS,d) ce fichier s'appelle {\bf SUPERCLE.BIB}.i \end{itemize}sW Ces 8 fichiers sont cr\'{e}\'{e}s au d\'{e}part par le choix d'initialisation du`ofichier dans le sous-menu. Ils sont r\'{e}pliqu\'{e}s dans chaque r\'{e}pertoire contenant un fichiertbibliographique.\section{La fiche}Q Une {\bf FICHE} ou {\bf REFERENCE BIBLIOGRAPHIQUE} est constitu\'{e}e de:e\begin{itemize}cI \item son type ,simple ('S'), double ('D') ou supprim\'{e}e ('K')n' \item son num\'{e}ro (1 entier)t9 \item le nombre d'auteurs (1 \`{a} 10) (1 entier)O] \item 1 \`{a} 10 noms (18 caract\`{e}res) et pr\'{e}noms (6 caract\`{e}res) d'auteurs ; \item 1 \`{a} 4 lignes de titre (80 caract\`{e}res)tL \item le nom du journal (36 caract\`{e}res) ou bien, en son absence: \begin{enumerate}{+ \item le nom du livre (80 caract\`{e}res){, \item des \'{e}diteurs (80 caract\`{e}res)5 \item du publieur (39 caract\`{e}res)r8 \item et de la ville (39 caract\`{e}res) \end{enumerate}{8 \item le num\'{e}ro du volume (4 caract\`{e}res); \item les num\'{e}ros des pages (10 caract\`{e}res)q0 \item l'ann\'{e}e de parution (1 entier)K \item le num\'{e}ro d'utilisateur sous lequel elle a \'{e}t\'{e}o/ entr\'{e}e et/ou index\'{e}e (1 entier)iJ \item la date \`{a} laquelle elle a \'{e}t\'{e} entr\'{e}e et/ou& index\'{e}e (9 caract\`{e}res)K \item une indication concernant les tir\'{e}s-\`{a}-part (10\ caract\`{e}res)C \item 1 \`{a} 10 num\'{e}ros de mots-cl\'{e}s (10 entiers) \end{itemize}oK Une fiche bibliographique est dite {\bf simple} lorsque qu'ellevKcontient moins de 6 auteurs. Une fiche est dite {\bf double} lorsqu'elletKcontient entre 6 et 10 auteurs ou bien lorsqu'il s'agit d'un livre. Danse6ce cas elle occupe 2 fois la place d'une fiche simple.\newpage \vspace{5cm}@\cntr{\LARGE \bf GENERALITES CONCERNANT L'ENSEMBLE DU PROGICIEL} \vspace{3cm}\setcounter{section}{1})O Un certain nombre de points sont communs \`{a} l'ensemble duaNprogiciel, quelle que soit l'option dans laquelle on se trouve. Ils sontd\'{e}crits ici.3\section{Appel des options \`{a}\ partir des menus} N L'appel des options choisies (encore appel\'{e}es sous-t\^{a}ches) seHfait gr\^{a}ce a un mn\'{e}monique \`{a} 1 lettre ou en d\'{e}placant laJbarre en vid\'{e}o inverse par les fl\`{e}ches. Lorsque la sous-t\^{a}cheJappel\'{e}e est termin\'{e}e, on revient au menu en tapant {\bf $<$CR$>$}.>On a ainsi \`{a} nouveau la possibilit\'{e} de choisir une dessous-t\^{a}ches du menu. eG\section{R\'{e}ponses aux questions pos\'{e}es par les sous-t\^{a}ches}eJ A l'int\'{e}rieur de certaines sous-t\^{a}ches, le programme poseKdes questions \`{a} l'utilisateur. Celles-ci sont toujours formul\'{e}es deeDfa\c{c}on claire et en fran\c{c}ais, avec les r\'{e}ponses attendues=indiqu\'{e}es entre parenth\`{e}ses. Ces r\'{e}ponses se font Lg\'{e}n\'{e}ralement par une seule lettre (O pour oui, N pour non , etc...).SChaque fois que cela est possible, une r\'{e}ponse par d\'{e}faut est admise. Dansu@ce cas, elle est indiqu\'{e}e entre crochets. Par exemple, dans 6 \underline {\tt Continue-t-on?$<$O ou [N]$>$:}M{\tt N} est la r\'{e}ponse par d\'{e}faut, et l'on peut se contenter de taper'L{\bf $<$CR$>$}. Les r\'{e}ponses peuvent \^{e}tre fournies en minuscules ouGmajuscules. Dans les r\'{e}ponses par oui ou par non, les r\'{e}ponses(3accept\'{e}es comprennent aussi y ou Y pour "yes". /\section{Entr\'{e}e et appel des mots-cl\'{e}s}nT Les mots-cl\'{e}s annex\'{e}s aux fiches font au maximum 12 caract\`{e}res.DN\'{e}anmoins, si plus de 12 lettres sont entr\'{e}es, seules les 12 premi\`{e}res Jlettres restent en machine, les autres sont perdues. Le th\'{e}saurus,cqui peut contenir jusqu'\`{a} 1000 mots-cl\'{e}s, se cr\'{e}e dynamiquement au fur et \`{a} mesureiPdes besoins. Ceci entra\^{\i}ne une plus grande souplesse dans la cr\'{e}ationRdu th\'{e}saurus, mais implique une certaine rigidit\'{e} au niveau du libell\'{e}des mots-cl\'{e}s.W Trois facilit\'{e}s ont \'{e}t\'{e} incluses aux programmes pour assouplir le{(travail d'utilisation des mots-cl\'{e}s:E Si le mot-cl\'{e} entr\'{e} au clavier ressemble, \`{a} deuxeKlettres pr\`{e}s, situ\'{e}es au m\^{e}me endroit dans le mot, \`{a} un desNFmots-cl\'{e}s d\'{e}j\`{a} existant, les programmes demanderont si parChasard ce n'est pas le mot similaire que l'on a voulu taper. Si la{Lr\'{e}ponse est affirmative, le mot est donc automatiquement corrig\'{e}, etHsi la r\'{e}ponse est n\'{e}gative les programmes continuent de chercherJdans le th\'{e}saurus s'il existe soit un autre mot similaire, soit le mot=cherch\'{e}. S'il n'existe pas dans le th\'{e}saurus, il estiJconsid\'{e}r\'{e} comme \'{e}tant un nouveau mot-cl\'{e}, et ajout\'{e} auHth\'{e}saurus apr\`{e}s confirmation. Cette facilit\'{e} peut avoir desLeffets secondaires: par exemple,les mots-cl\'{e}s MODELE et MOELLE , qui neOdiff\`{e}rent que par DE et EL sont vus tous les deux comme MOxxLE, de m\^{e}me{Ipour LESION et VISION, etc... Dans ces cas, le premier mot rencontr\'{e}IKdans le th\'{e}saurus est propos\'{e}, s'il n'est pas celui attendu, la non Iconfirmation conduit le programme \`{a} chercher, puis trouver le suivanteJqui sera le bon. C'est le prix \`{a} payer pour la correction automatique+des fautes de frappe!. De ce fait, il fauteW\'{e}viter au maximum de cr\'{e}er des mots-cl\'{e}s courts, faute de quoi lesuOprogrammes risquent de confondre tous les petits mots-cl\'{e}s. EnoSparticulier, on ne devra pas cr\'{e}er de mots-cl\'{e}s de 1 ou 2 lettres. La{Xseule fa\c{c}on de retrouver de tels mots-cl\'{e}s consisterait \`{a} les rechercher parleur num\'{e}ro (voir infra).iT De plus, il n'est pas n\'{e}cessaire de taper l'int\'{e}gralit\'{e} du mot-cl\'{e},Kseule une partie de celui-ci suffit pour le retrouver. La position de Scette portion dans le mot-cl\'{e} est indiff\'{e}rente. Si cette portion est sans `ambigu\"{\i}t\'{e}, le mot-cl\'{e} est pr\'{e}sent\'{e} pour confirmation, sinon, la liste desTmots-cl\'{e}s possibles est propos\'{e}e sous forme d'un menu permettant de choisircelui qui convient.lB Enfin, il est \'{e}galement possible d'entrer, non pas leIlibell\'{e} du mot-cl\'{e}, mais seulement son num\'{e}ro d'ordre dans le Kth\'{e}saurus. Ce num\'{e}ro est indiqu\'{e} dans le listing obtenu par le Fchoix {\bf Th\'{e}saurus}. Les mots-cl\'{e}s ainsi entr\'{e}s sont deJtoute fa\c{c}on pr\'{e}sent\'{e}s en clair afin de v\'{e}rifier que l'on a$bien indiqu\'{e} le bon num\'{e}ro. #\section{Sorties des r\'{e}sultats}eA Certains choix peuvent donner lieu \`{a} des sorties qui peuventII\^{e}tre visualis\'{e}es sur l'\'{e}cran, imprim\'{e}es, ou les deux. LeeCchoix se fait de mani\`{e}re interactive en r\'{e}pondant \`{a} deseGquestions. Lorsqu'il s'agit de la visualisation de r\'{e}f\'{e}rences,t?elles sont propos\'{e}es une \`{a} une sur l'\'{e}cran. Il estcHn\'{e}cessaire de taper {\bf $<$CR$>$} pour passer \`{a} la suivante, ouJ{\bf Q} pour arr\^{e}ter la visualisation. Lorsqu'une sortie imprim\'{e}eKest demand\'{e}e, un fichier est constitu\'{e}, dont le nom est indiqu\'{e}tApar le programme. Certains programmes permettent de conserver ou /d'\'{e}liminer ce fichier apr\`{e}s impression. H Tous les listings sont mis dans le r\'{e}pertoire courant, et sontOautomatiquement imprim\'{e}s via la queue d'impression. Lorsque les sorties Opeuvent avoir plus de 80 colonnes, une option existe pour r\'{e}duire le nombreede colonnes du listing.h\newpage \vspace{5cm},\cntr{\LARGE \bf ENTREE DE NOUVELLES FICHES} \vspace{3cm}\setcounter{section}{1}lK Ce choix est celui qui doit \^{e}tre utilis\'{e} pour introduire de Lnouvelles fiches bibliographiques dans le fichier. Seuls les utilisateursOappartenant au m\^{e}me groupe que celui du fichier bibliographique sont\)autoris\'{e}s \`{a} remplir le fichier. `H L'entr\'{e}e des fiches se fait via une grille de saisie qui se[construit dynamiquement. Le nom des diff\'{e}rents champs r\'{e}clam\'{e}s d\'{e}pendant{Udes champs d\'{e}j\`{a} entr\'{e}s, la grille de saisie \'{e}volue automatiquement aue[fur et \`{a} mesure des entr\'{e}es. La longueur des champs \`{a} remplir est indiqu\'{e}e Kpar des tirets. Lorsqu'un champ est sans objet, il suffit d'entrer {\bf .$<$CR$>$} pour l'annuler et passer au suivant.H Les diff\'{e}rents champs qui sont susceptibles d'appara\^{\i}tre sont:#\section{Le num\'{e}ro de la fiche}s A C'est le num\'{e}ro qui sera {\bf d\'{e}finitivement} annex\'{e} ;\`{a} la fiche que l'on s'appr\^{e}te \`{a} entrer. Il est Ld\'{e}termin\'{e} par le programme. C'est \`{a} partir de ce num\'{e}ro queLl'on peut acc\'{e}der \`{a} la fiche. C'est lui, par exemple, qui sert pourI\'{e}tablir {\it in fine} la liste des fiches qui devront appara\^{\i}treedans une bibliographie. }? Si la fiche a plus de 5 auteurs ou si elle correspond \`{a} unKlivre, elle sera automatiquement consid\'{e}r\'{e}e comme une fiche double,oHet de ce fait la fiche suivante portera le num\'{e}ro de celle ci plus 2J(N+2) et la fiche (N+1) n'existera pas et ne devrait {\it jamais} \^{e}treGappel\'{e}e manuellement (si cel\`{a} est fait par erreur, le programme Jessaiera de s'y retrouver, mais g\'{e}n\'{e}ralement donnera la suivante)."\section{La fiche bibliographique}K La fiche bibliographique est saisie en demandant dynamiquement lese4 diff\'{e}rents \'{e}l\'{e}ments de celle-ci: \begin{itemize}iM \item \underline {\tt Auteur n Nom: Prenom: }: On demande le nomeK (18 lettres maximum) puis le pr\'{e}nom (6 lettres maximum) decJ chaque auteur (\`{a} entrer avec la ponctuation d\'{e}sir\'{e}e:K ex H.D.). Lorsque la liste compl\`{e}te des auteurs est}K entr\'{e}e, on tapera {\bf $<$CR$>$} pour indiquer que l'on atL termin\'{e}. Noms et pr\'{e}noms sont automatiquementK transform\'{e}s en majuscules avant leur entr\'{e}e effective dansA le fichier.}! \item \underline {\tt Titre: }: pK Le titre de la r\'{e}f\'{e}rence est alors r\'{e}clam\'{e}. On}K peut entrer alors 4 lignes de 80 caract\`{e}res maximum. L\`{a}eK encore, on tape un second {\bf $<$CR$>$} pour indiquer la fin. LeseK lignes de titre peuvent contenir majuscules et minuscules. EllesuJ seront m\'{e}moris\'{e}es comme elles ont \'{e}t\'{e} entr\'{e}es.# \item \underline {\tt Journal: }: {K Le nom du journal (36 caract\`{e}res maximum) peut \^{e}tresK entr\'{e} de 2 fa\c{c}ons, soit directement en tapantsK l'abr\'{e}viation standard utilis\'{e}e par les Current Contents, K soit gr\^{a}ce \`{a} une abr\'{e}viation courte locale (9 K caract\`{e}res maximum) qui permet de retrouver l'abr\'{e}viation K standard dans une liste pr\'{e}alablement \'{e}tablie gr\^{a}cesZ \`{a} la sous-t\^{a}che correspondante du sous-menu. Par exemple, si RP estJ l'abr\'{e}viation locale du journal RESPIR. PHYSIOL., il suffiraK de r\'{e}pondre RP \`{a} la question "Journal:". Majuscules etrK minuscules ne sont pas distingu\'{e}es. Si une abr\'{e}viation K locale est utilis\'{e}e, le nom complet du journal la remplace K imm\'{e}diatement. Comme l'abr\'{e}viation, le nom du journal estsK automatiquement transform\'{e} en majuscules avant son entr\'{e}er$ effective dans le fichier.  / Si la r\'{e}f\'{e}rence concerne un K livre, on tapera {\bf $<$CR$>$}, afin de ne pas entrer de nom deG journal. On obtiendra alors les champs n\'{e}cessaires poure< entrer la r\'{e}f\'{e}rence compl\`{e}te d'un livre: \begin{itemize}sD \item \underline {\tt Livre: }: Sur 80 caract\`{e}res,2 permet d'entrer le titre du livre.F \item \underline {\tt Edit\'{e} par: }: Sur 80 caract\`{e}res8 \'{e}galement, permet d'indiquer les auteurs du livre,; souvent appel\'{e}s \'{e}diteurs (et g\'{e}n\'{e}ralementl6 diff\'{e}rents des auteurs de l'article index\'{e}).8 \item \underline {\tt Publi\'{e} par: }: Sur 39< caract\`{e}res, permet d'indiquer la maison d'\'{e}dition.K \item \underline {\tt Ville: }: Sur 39 caract\`{e}resmK \'{e}galement, permet d'indiquer la ville d'origine de la % maison d'\'{e}dition.d \end{itemize}' sD \item \underline {\tt Volume: }: Le num\'{e}ro du volume estK m\'{e}moris\'{e} en ASCII, ce qui permet de mettre des lettres H dedans (ex: 3 S2 ). On a droit \`{a} 4 caract\`{e}res maximum.D \item \underline {\tt Pages: }: Les num\'{e}ros de pages sont aussiO en ASCII; 10 caract\`{e}res sont possibles (ex: 1150-1165). LeEK s\'{e}parateur entre les pages initiale et finale est retenu telO qu'il est entr\'{e}.H \item \underline {\tt Ann\'{e}e: }: L'ann\'{e}e de parution doitK \^{e}tre un nombre entier de 4 chiffres maximum. On peut entrer K seulement les 2 chiffres finaux si la r\'{e}f\'{e}rence est parue J au XX \`{e}me si\`{e}cle (ex: 80 pour 1980). La date compl\`{e}te+ est de toute fa\c{c}on m\'{e}moris\'{e}e. \D \item \underline {\tt T-a-P: }: Permet d'entrer une indicationK personnelle de 10 caract\`{e}res concernant la disponibilit\'{e}nK d'un Tir\'{e}-\`{a}-Part, ou bien la personne ayant l'article, H etc\ldots Cette indication sortira sur les listings du fichier.D\section{Correction de la fiche avant son entr\'{e}e d\'{e}finitive}N A ce stade, il est possible de corriger le libell\'{e} de la fiche.NSi on r\'{e}pond affirmativement \`{a} la question demandant si l'on veutOcorriger la fiche, on entre en mode d'\'{e}dition (indication en haut dee l'\'{e}cran).a@ La correction des fiches se fait via un \'{e}diteur pleine pageLsimplifi\'{e}. Les fl\`{e}ches horizontales ({\bf $\Longleftarrow$} et {\bfI$\Longrightarrow$}) permettent de se d\'{e}placer dans le champ en cours.nHUn bip sonore retentit lorsque l'on est en fin de champ. La touche {\bfH$<$CR$>$} permet de passer au champ suivant. Les fl\`{e}ches verticalesK({\bf $\Uparrow$} et {\bf $\Downarrow$}) permettent de se d\'{e}placer verse;le champ pr\'{e}c\'{e}dant ou suivant. Lorsque l'on arrive'K\`{a} une extr\'{e}mit\'{e}, on passe \`{a} l'autre extr\'{e}mit\'{e}.pOTout ce qui est tap\'{e} au clavier est entr\'{e} \`{a} l'endroit o\`{u} se Ktrouve le curseur en mode d'insertion. La touche {\bf $<$DEL$>$} effaceuJle caract\`{e}re pr\'{e}c\'{e}dent. On termine la session de correctionGen tapant {\bf CTRL-F} (appui simultan\'{e} sur les touches CTRL et F),f)comme indiqu\'{e} en haut de l'\'{e}cran.nD Etant donn\'{e} que l'on travaille sur une grille de saisieJfig\'{e}e par l'entr\'{e}e de la fiche, on ne peut ajouter via cetK\'{e}diteur, ni auteur, ni ligne de titre. Pour ce faire, il faudraeKappeler un fonction d'\'{e}dition compl\'{e}mentaire, en r\'{e}pondant parel'affirmative \`{a} la questionnR \underline {\tt Desirez-vous ajouter auteurs ou ligne de titre (o ou [n]): } K L'\'{e}diteur {\bf bibedit}, appelant en fait l'\'{e}diteur derKvotre choix (voir {\em Installation de BIBLIO}) est alors appel\'{e}, et{Vpermet d'\'{e}diter le fichier temporaire {\bf prefiche.tmp} dans lequel estKstock\'{e}e la fiche avant son entr\'{e}e d\'{e}finitive dans le fichier.u\begin{figure}\begin{verbatim}(MACHIN <-- nom du 1er auteur!F. <-- son prenom 'TRUC <-- nom du 2d auteur !T. <-- son prenomn<----------------------- T I T R E --------------------------Le titre<-------------------- R E F E R E N C E ---------------------%LE JOURNAL <-- nom du journale1 <-- volumen11-17 <-- pages1988 <-- annee"non <-- tire a part\end{verbatim}\caption{\label{prefiche} 5Format du fichier {\bf prefiche.tmp} pour un journal} \end{figure}OLe format de la fiche dans le fichier {\bf prefiche.tmp} est indiqu\'{e} sur larKfigure~\ref{prefiche} pour une fiche comprenant un nom de journal (fichepKsimple ou double) et par la figure~\ref{prelivre} pour une fiche concernant Dun livre, et ne comprenant donc {\em pas} de nom de journal (fichetoujours double). e\begin{figure}\begin{verbatim}(MACHIN <-- nom du 1er auteur!F. <-- son prenom 'TRUC <-- nom du 2d auteuru!T. <-- son prenomd<----------------------- T I T R E --------------------------Titre de l'article<-------------------- R E F E R E N C E ---------------------1 <-- ligne vide (INDISPENSABLE)r)Titre du livre <-- nom du journal d#Dr Foo Bar <-- editeur oMasson <-- publieur}Paris <-- ville)67 <-- volume )15-26 <-- pages t)1989 <-- annee u)non <-- tire a part a\end{verbatim}\caption{\label{prelivre} 3Format du fichier {\bf prefiche.tmp} pour un livre}e \end{figure}7Il est indispensable que se conformer \`{a} ce format,eSfaute de quoi le programme de correction m\'{e}langerait les diff\'{e}rents champs.nCLa sortie de l'\'{e}diteur entra\^{\i}ne la validation de la fiche.r\section{Les mots-cl\'{e}s} ^ Dix mots-cl\'{e}s de 12 caract\`{e}res peuvent \^{e}tre annex\'{e}s \`{a} chaqueJfiche. Certains mots-cl\'{e}s sont annex\'{e}s automatiquement \`{a} laBfiche: ce sont les noms d'auteur si un des auteurs de l'articleSfait partie de la liste \'{e}tablie par la sous-t\^{a}che de gestion deseHabr\'{e}viations de journal et d'auteurs \`{a} prendre en mots-cl\'{e}s.M Les mots-cl\'{e}s sont demand\'{e}s un \`{a} un (10 maximum en comptant ceuxeUentr\'{e}s automatiquement) jusqu'\`{a} ce qu'un mot-cl\'{e} vide soit entr\'{e} en$tapant {$<$CR$>$} \`{a} la question # \underline {\tt mot-cl\'{e} n: } W Cette liste est alors compar\'{e}e au th\'{e}saurus. Afin d'\'{e}viter aueMmaximum l'introduction dans le th\'{e}saurus de mots-cl\'{e}s malePorthographi\'{e}s faisant double emploi avec le mot-cl\'{e} correct, plusieurspr\'{e}cautions sont prises:S Si le mot-cl\'{e} entr\'{e} n'existe pas dans le th\'{e}saurus, le Vprogramme signale qu'il s'agit d'un nouveau mot-cl\'{e} et demande si on d\'{e}sire leMgarder. Si oui il est ajout\'{e} au th\'{e}saurus. Sinon le programme eneRdemande un autre. Les r\`{e}gles de similitude des mots-cl\'{e}s, et d'entr\'{e}eNde ceux-ci par leur num\'{e}ro d'ordre dans le th\'{e}saurus, s'appliquent3\'{e}videmment ici (voir le chapitre GENERALITES ).. On a alors la possibilit\'{e} d'ajouter un ouKplusieurs mots-cl\'{e}s ({\bf A}), de supprimer un ou plusieurs Kmots-cl\'{e}s ({\bf S}), de remplacer un mot-cl\'{e} par un autre ({\bf KR}), ou encore de laisser l'indexation en l'\'{e}tat ({\bf [L]}). Les Kr\`{e}gles g\'{e}n\'{e}rales concernant les mots-cl\'{e}s s'appliquent ici K(voir le chapitre GENERALITES). Apr\`{e}s chaque modification, le choix Kest de nouveau donn\'{e}, de telle sorte que l'on termine toujours une #fiche en la laissant en l'\'{e}tat.a!\section{Date de mise en fichier}R? La date d'entr\'{e}e de la fiche (en anglais) et le num\'{e}roO:d'utilisateur de la personne ayant entr\'{e} la fiche sont6m\'{e}moris\'{e}s. Ils apparaissent sur les listings.'\section{V\'{e}rification des doublons}{E Ensuite, avant d'\^{e}tre d\'{e}finitivement ins\'{e}r\'{e}e dans lelIfichier, le programme v\'{e}rifie que celle-ci n'existe pas d\'{e}j\`{a},mKafin d'\'{e}viter les doublons. Cette v\'{e}rification se fait sur la base Fdes auteurs et de la r\'{e}f\'{e}rence proprement dite (volume, pages,Eann\'{e}e). Si une fiche r\'{e}pondant \`{a} ces crit\`{e}res existebGd\'{e}j\`{a}, elle est montr\'{e}e sur l'\'{e}cran afin de v\'{e}rifieroIqu'il s'agit bien de la m\^{e}me. Si oui, la nouvelle n'est pas prise en\/compte, sinon, elle est ajout\'{e}e au fichier.gL Enfin on obtient la possibilit\'{e} de continuer avec une nouvellefiche, ou bien d'arr\^{e}ter. ele titre du livre.F \item \underline {\tt Edit\'{e} par: }: Sur 80 caract\`{e}res8 \'{e}galement, permet d'indiquer les auteurs du livre,; souvent appel\'{e}s \'{e}diteurs (et g\'{e}n\'{e}ralementl6 diff\'{e}rents des auteurs de l'article index\'{e}).8 \item \underline {\tt Publi\'{e} par: }: Sur 39< caract\`{e}res, permet d'indiquer la maison d'\'{e}dition.K \item \underline {\tt Ville: }: Sur 39 caract\`{e}resmK*[DANA.BIBLIO.DOC]BIBLIO_2.TEX;2+,DJ.B/ 4_B@-dw0123KPWOA56mPN7) ;@8NŔ9GHJ~ BIBLIO.BCKDJdw[DANA.BIBLIO.DOC]BIBLIO_2.TEX;2_B| \vspace{5cm}4\cntr{\LARGE \bf MODIFICATION/CORRECTION DU FICHIER} \vspace{3cm}\setcounter{section}{1}D Le sous-menu permettant la modification/correction du fichier doitJ\^{e}tre utilis\'{e} pour corriger ou supprimer des fiches biblioraphiquesAd\'{e}j\`{a} entr\'{e}es dans le fichier. Seuls les utilisateursCposs\'{e}dant les droits de modification du fichier peuvent y avoir acc\`{e}s.)\section{Correction de fiches existantes}A Cette fonction permet de corriger et/ou r\'{e}indexer des fichesKd\'{e}j\`{a} entr\'{e}es. On doit indiquer le num\'{e}ro de la fiche \`{a}Icorriger. Cette fiche est pr\'{e}sent\'{e}e sur l'\'{e}cran \`{a} fin deKv\'{e}rification. La possibilit\'{e} est ensuite donn\'{e}e de corriger ouJnon le libell\'{e} de la fiche. En ce qui concerne les corrections, on seEreportera au chapitre pr\'{e}c\'{e}dent, la correction se faisant viaKBIBEDIT, donc l'\'{e}diteur de votre choix, dans un fichier temporaire {\bfDprefiche.tmp} d\'{e}crit en figure~\ref{prefiche} et \ref{prelivre}.B Cette fonction donne \'{e}galement la possibilit\'{e} de modifierKl'indexation d'une fiche. Lorsque la fiche est consid\'{e}r\'{e}e commeKcorrecte, la liste des mots-cl\'{e}s d\'{e}j\`{a} annex\'{e}s \`{a} laKfiche est pr\'{e}sent\'{e}e. On a alors la possibilit\'{e} d'ajouter un ouKplusieurs mots-cl\'{e}s ({\bf A}), de supprimer un ou plusieursKmots-cl\'{e}s ({\bf S}), de remplacer un mot-cl\'{e} par un autre ({\bfKR}), ou encore de laisser l'indexation en l'\'{e}tat ({\bf [L]}). LesKr\`{e}gles g\'{e}n\'{e}rales concernant les mots-cl\'{e}s s'appliquent iciK(voir le chapitre GENERALITES). Apr\`{e}s chaque modification, le choixKest de nouveau donn\'{e}, de telle sorte que l'on termine toujours une#fiche en la laissant en l'\'{e}tat.L Il est \`{a} noter que la date et le num\'{e}ro d'utilisateur retenus surOla fiche correspondent \`{a} ceux de la derniere correction ou indexation de lafiche.N Ensuite on obtient la possibilit\'{e} de continuer avec une nouvellefiche, ou bien d'arr\^{e}ter. \section{Elimination de fiches}D Cette fonction permet de {\em supprimer une ou plusieurs fiches} duHfichier. On doit indiquer le num\'{e}ro de la fiche \`{a} \'{e}liminer.?Celle-ci est ensuite pr\'{e}sent\'{e}e pour v\'{e}rification etJconfirmation. Si la demande est confirm\'{e}e, la fiche se voit attribuerKl'attribut 'K' (pour "killed"), et ne sera plus accessible. N\'{e}anmoins,Lelle n'est pas physiquement supprim\'{e}e du fichier afin de ne pas avoir de2probl\`{e}mes avec la num\'{e}rotation des fiches.=\section{Modification des Abr\'{e}viations/Auteurs-cl\'{e}s} D Cette fonction permet de {\em cr\'{e}er, modifier, et/ou obtenir laGliste des abr\'{e}viations des journaux}, ainsi que celle des {\em nomsGd'auteurs} qui seront automatiquement consid\'{e}r\'{e}s comme des {\emmots-cl\'{e}s}.L Le programme commence par sortir la liste des auteurs \`{a} consid\'{e}rer[automatiquement comme \'{e}tant des mots-cl\'{e}s d\'{e}j\`{a} existants, puis donne laHpossibilit\'{e} d'{\em Ajouter}, {\em Modifier}, {\em Supprimer} ou {\emQuitter}. Si l'on choisitKl'option d'Ajouter, il demande le nom d'un auteur. Si le choix porte surOla Modification ou la Suppression, c'est le num\'{e}ro du nom d'auteur qui estSdemand\'{e}. Confirmation est demand\'{e}e dans les 2 cas. Le nom peut avoir 18Kcaract\`{e}res maximum. Il doit \^{e}tre donn\'{e} sous forme compl\`{e}te,>m\^{e}me si seuls les 12 premiers servent dans le mot-cl\'{e}.P Ensuite le programme sort la liste des abr\'{e}viations d\'{e}j\`{a}Jexistantes, puis donne la possibilit\'{e} d'{\em Ajouter}, {\em Modifier},{\em Supprimer} ouO{\em Quitter}. Si l'option Ajouter est choisie, il demande d'abord le nom duTjournal tel qu'on d\'{e}sire le voir para\^{\i}tre sur les fiches, puis la nouvelleOabr\'{e}viation correspondante. Si le choix porte sur la modification ou laWsuppression, c'est le num\'{e}ro de l'abr\'{e}viation qui est demand\'{e}.SConfirmation est demand\'{e}e dans les 2 cas. L'abr\'{e}viation proprement diteSpeut avoir 9 caract\`{e}res maximum, et le nom du journal 36 caract\`{e}resmaximum.K A la fin la liste des abr\'{e}viations, ainsi que celle desKauteurs qui seront automatiquement mis en mots-cl\'{e}s. sont montr\'{e}esK\`{a} l'\'{e}cran et envoy\'{e}es sur l'imprimante (fichier {\bfbib\_abrev.lst}. \section{Liste des fiches}N Cette option permet d'obtenir un {\em listing complet ou partiel du/fichier}, dans l'ordre d'entr\'{e}e des fiches.F Le programme demande le num\'{e}ro de la premiere fiche \`{a} sortir,Spuis celui de la derni\`{e}re. Pour simplifier, les valeurs par d\'{e}faut sont:Wde la 1\`{e}re \`{a} la derni\`{e}re fiche. La sortie se fait au choix surSl'imprimante (par d\'{e}faut) ou sur l'\'{e}cran, ou encore sur les 2. Le fichierUd'imprimante porte comme nom les num\'{e}ros des 1\`{e}re et derni\`{e}re fiches (ex:*{\bf 125\_a\_250.lst} sur l'imprimante). (\section{Modification des mots-Cl\'{e}s}D Cette fonction permet de {\em Corriger}, {\em Regrouper} ou {\em2 Supprimer} un ou plusieurs mots-cl\'{e}s.C {\bf Corriger} permet de modifier le libell\'{e} d'un mot-cl\'{e}.D {\bf Regrouper} permet de mettre dans un mot-cl\'{e} unique lesK fiches index\'{e}es par plusieurs mots-cl\'{e}s. Le programmeK demande en premier le mot-cl\'{e} qui recevra l'ensemble desK fiches, puis les mots-cl\'{e}s qui verront leur fiches index\'{e}esK \'{e}galement par ce mot-cl\'{e} global. Ces derniersK mots-cl\'{e}s ne sont pas supprim\'{e}s, et continuent d'indexerK les fiches ayant \'{e}t\'{e} regroup\'{e}es. Les fiches ne sont! pas d\'{e}sindex\'{e}es. D {\bf Supprimer} un mot-cl\'{e}, au contraire, le fait virtuellementMdispara\^{\i}tre de la liste les mots cl\'{e}s. En fait, il ne disparait pasIphysiquement de la liste, mais est mis entre parenth\`{e}ses, et donc n'aJplus le m\^{e}me libell\'{e} que l'original, alors qu'il garde le m\^{e}me?num\'{e}ro. Si le num\'{e}ro d'un mot-cl\'{e} supprim\'{e} estIr\'{e}clam\'{e}, le mot-cl\'{e} appara\^{\i}tra avec ses parenth\`{e}ses,Gmontrant ainsi son statut de mot-cl\'{e} supprim\'{e}. Evidemment, les<fiches pr\'{e}c\'{e}demment index\'{e}es par lui ne sont pasAd\'{e}sindex\'{e}es, ce qui fait qu'il est possible de revenir enParri\`{e}re et de faire r\'{e}appara\^{\i}tre le mot-cl\'{e} en en modifiant son.libell\'{e} (suppression des parenth\`{e}ses).+\section{Adjonction de Super mots-cl\'{e}s}D Cette option permet de cr\'{e}er des {\em super mots-cl\'{e}s}. OnHappelle super mots-cl\'{e}s un mot-cl\'{e} qui commence par un +, et quiErepr\'{e}sente lui m\^{e}me une combinaison logique de mots-cl\'{e}s,?normaux ou supers. Le programme demande d'abord un nom pour ceLsuper-mot-cl\'{e} (le + est d\'{e}j\`{a} mis en place automatiquement), puisMles mots-cl\'{e}s et leur combinaison logique (ET, OU, NON). Par exemple, onJpourrait d\'{e}finir le super mot-cl\'{e} +HUMAIN comme \'{e}tant HOMME OUIFEMME OU ENFANT OU FILLE OU GARCON OU VIEILLARD OU ADOLESCENT OU BEBE NONIANIMAL. On trouvera plus de d\'{e}tails sur les relations bool\'{e}ennes@dans le chapitre suivant, concernant la recherche des fiches parmots-cl\'{e}s.-\section{Initialisation d'un nouveau fichier}E Cette fonction permet de cr\'{e}er une nouvelle structure avec les 8Hfichiers constituant le fichier bibliographique. Le r\'{e}pertoire dans7lequel seront rang\'{e}s ces fichiers {\bf doit existerLpr\'{e}\-a\-la\-ble\-ment}, par s\'{e}curit\'{e}. Elle permet d'initialiserJun fichier bibliographique personnel. Il s'agit d'une commande dangereuseHcar elle d\'{e}truit tout fichier pr\'{e}existant dans le r\'{e}pertoire=demand\'{e}. Plusieurs confirmations sont r\'{e}clam\'{e}es.\newpage \vspace{5cm}2\cntr{\LARGE \bf COMMENT RETROUVER DES REFERENCES} \vspace{3cm}\setcounter{section}{1}}F Il est possible de retrouver des r\'{e}f\'{e}rences par leurKnum\'{e}ro, par une combinaison logique de mots-cl\'{e}s, par le nom d'unsLdes auteurs, ou par recherche d'une cha\^{\i}ne de caract\`{e}res dans lesMr\'{e}f\'{e}rences. Une liste des mots-cl\'{e}s existants est utile pourc)pouvoir retrouver des r\'{e}f\'{e}rences.C\section{Th\'{e}saurus}rB Cette option permet d'obtenir une copie du {\em th\'{e}saurus desBmots-cl\'{e}s existants}, et d'\'{e}diter un listing (fichier {\bfDthesaurus.lst}) par ordre alphab\'{e}tique du th\'{e}saurus, avec leLnum\'{e}ro des mots-cl\'{e}s, leur libell\'{e} et le nombre de fiches qu'ilsHindexent. Le format, nombre de colonnes, impression ou sortie \'{e}cranGseule est au choix de l'utilisateur. C'est le num\'{e}ro fourni par ce'Hlisting qui peut \^{e}tre utilis\'{e} \`{a} la place du mot-cl\'{e} danstoutes les sous-t\^{a}ches. f\section{Recherche par Auteur}C Cette option du menu principal permet de {\em retrouver les fichesiJcorrespondant \`{a} un auteur donn\'{e}}, quelle que soit sa position dansLla liste des auteurs. On demande le nom de l'auteur et son pr\'{e}nom ainsiGqu'une fourchette de dates. Le nom devra se pr\'{e}senter comme il estsIm\'{e}moris\'{e} dans la fiche. Le pr\'{e}nom sera d\'{e}barrass\'{e} deoLses ponctuations avant d'\^{e}tre compar\'{e} \`{a} celui des fiches (ainsi,LJF, J.-F., J-F et J.F seront vus de la m\^{e}me mani\`{e}re). Toutefois, leFpr\'{e}nom n'est pas indispensable et s'il est inconnu, on tapera {\bfL$<$CR$>$}. De m\^{e}me pour la fourchette de dates de parution, si elles ne4sont pas d\'{e}sir\'{e}es, on tapera {\bf $<$CR$>$}.P Le r\'{e}sultat de la recherche est envoy\'{e} sur l'\'{e}cran et/ou surNl'imprimante (fichier {\bf nom\_d'au\-teur.lst}). Un fichier texte contenant_les num\'{e}ros des fiches trouv\'{e}es est \'{e}galement cr\'{e}\'{e} (fichier {\bfiRnom\_d'au\-teur.num}). Il pourra servir aux programmes d'\'{e}dition de listes de$r\'{e}f\'{e}rences bibliographiques.#\section{Recherche par mot-cl\'{e}}pC Cette option est celle qui doit \^{e}tre utilis\'{e}e pour{?{\em rechercher des fiches \`{a} partir des mots-cl\'{e}s}. Ce}Kprogramme permet de retrouver les fiches correspondant \`{a} un mot-cl\'{e}m*ou \`{a} une combinaison de mots-cl\'{e}s.W Le programme demande les mots-cl\'{e}s d\'{e}sir\'{e}s. Les r\`{e}glesuSg\'{e}n\'{e}rales concernant les mots-cl\'{e}s s'appliquent ici comme partout (voir}le chapitre GENERALITES).cW Ensuite est demand\'{e}e la relation bool\'{e}enne liant le mot-cl\'{e} quimOvient d'\^{e}tre entr\'{e} avec le mot-cl\'{e} suivant. Si la liste des 6mots-cl\'{e}s est termin\'{e}e taper {\bf $<$CR$>$}. )\subsection{Les relations bool\'{e}ennes}eK Elles sont au nombre de trois : le {\bf OU}, le {\bf ET}, et les {\bf NON}.\begin{itemize}i0 \item {\it Op\'{e}rateur bool\'{e}en {\bf OU}}:R Si deux mots-cl\'{e}s sont li\'{e}s par cette relation, on trouvera soitFl'un soit l'autre dans chaque fiche sortie. Les fiches sortiesCdevront donc contenir soit le mot-cl\'{e} A, soit le mot-cl\'{e} B.c0 \item {\it Op\'{e}rateur bool\'{e}en {\bf ET}}:V Si deux mots-cl\'{e}s sont li\'{e}s par cette relation, on trouvera \`{a} laFfois l'un et l'autre dans chaque fiche sortie. Les fiches sortiesIdevront donc contenir \`{a} la fois le mot-cl\'{e} A et le mot-cl\'{e} B.o1 \item {\it Op\'{e}rateur bool\'{e}en {\bf NON}}:iI Il s'agit d'une relation non commutative (c'est \`{a} dire que AlJNON B est diff\'{e}rent de B NON A ). Si deux mots-cl\'{e}s sont li\'{e}sLpar cette relation, on trouvera le premier mot-cl\'{e} mais jamais le secondFdans chaque fiche sortie. Les fiches sorties devront donc contenir le.mot-cl\'{e} A, mais jamais le mot-cl\'{e} B. \end{itemize}a0 \subsection{Comment combiner les mots-cl\'{e}s}R Il est important de comprendre comment sont \'{e}valu\'{e}es lesNcombinaisons bool\'{e}ennes entre les mots-cl\'{e}s pour pouvoir retrouver des&fiches en combinant des mots-cl\'{e}s.Z Chaque relation logique est \'{e}valu\'{e}e d\`{e}s son entr\'{e}e, puis c'estZsur le r\'{e}sultat de la premi\`{e}re op\'{e}ration qu'est r\'{e}alis\'{e}e la seconde,.et ainsi de suite. Par exemple, si on trouve . CHIEN dans les fiches 1, 7, 8, 9 et 151 CHAT dans les fiches 1, 3, 4, 5, 10 et 11 / LAPIN dans les fiches 1, 2, 6, 11 et 15 H et que l'on demande la s\'{e}quence CHIEN OU CHAT NON LAPIN, onO\'{e}valuera d'abord CHIEN OU CHAT, soit 1, 3, 4, 5, 7, 8, 9, 10, 11 et 15,rKpuis ensuite la relation NON LAPIN sur cet ensemble, soit 3, 4, 5, 7, 8, 9,{Set 10. On pourrait donc \'{e}crire cette relation sous la forme o\`{u} elle estmWr\'{e}ellement \'{e}valu\'{e}e, soit ((CHIEN OU CHAT) NON LAPIN), en explicitant ainsie les parenth\`{e}ses implicites. U Un nom de fichier g\'{e}n\'{e}rique est r\'{e}clam\'{e} afin d'y conserver lesWr\'{e}sultat de la recherche. Celui-ci est envoy\'{e} sur l'\'{e}cran et/ou surmPl'imprimante (fichier {\bf xxxxx.lst} ou {\bf rech\_cle.lst} par d\'{e}faut).WUn fichier texte contenant les num\'{e}ros des fiches trouv\'{e}es est \'{e}galementtXcr\'{e}\'{e} (fichier {\bf xxxxx.lst} ou {\bf ref\_cle.num} par d\'{e}faut). Il pourraUservir aux programmes d'\'{e}dition de listes de r\'{e}f\'{e}rences bibliographiques.e$\section{Recherche Globale de texte}H Cette option est celle qui doit \^{e}tre utilis\'{e}e pour {\emJrechercher des fiches par une cha\^{\i}ne de caract\`{e}res} existant dans la fiche.eL On demande la cha\^{\i}ne, puis s'il s'agit d'une portion de nom d'auteurKou de journal, afin d'acc\'{e}l\'{e}rer la recherche. En effet, l'ensemble'Fdu fichier va \^{e}tre explor\'{e}, sans indexation, et cela permet deLdiminuer le nombre de comparaisons \`{a} effectuer. Pour la m\^{e}me raison,Cune date de d\'{e}part est r\'{e}clam\'{e}e. La possibilit\'{e} desJdiscerner les majuscules des minuscules (par d\'{e}faut, elles ne sont pasdiscern\'{e}es) est offerte.A Un nom de fichier g\'{e}n\'{e}rique est r\'{e}clam\'{e} afin d'y,Gconserver le r\'{e}sultat de la recherche. Celui-ci est envoy\'{e} suriCl'\'{e}cran et/ou sur l'imprimante (fichier {\bf xxxxx.lst} ou {\bf\Krech\_txt.lst} par d\'{e}faut). Un fichier texte contenant les num\'{e}rosuDdes fiches trouv\'{e}es est \'{e}galement cr\'{e}\'{e} (fichier {\bfGxxxxx.lst} ou {\bf ref\_txt.num} par d\'{e}faut). Il pourra servir auxsJprogrammes d'\'{e}dition de listes de r\'{e}f\'{e}rences bibliographiques.\newpage \vspace{5cm}(\cntr{\LARGE \bf EDITION DES REFERENCES} \vspace{3cm}\setcounter{section}{1}\B Plusieurs choix permettent de pr\'{e}parer une liste deIr\'{e}f\'{e}rences bibliographiques annexables \`{a} la fin d'un article.nEIl y en a pour cr\'{e}er ou modifier une liste des r\'{e}f\'{e}rencessIutiles. Il y en a pour g\'{e}n\'{e}rer la liste dans un ordre choisi pariGl'utilisateur, en pr\'{e}cisant l'ordre d'apparition des diff\'{e}rentslJchamps de la fiche (parfois appel\'{e} un peu abusivement la typographie).D'autres servent \`{a}Epr\'{e}parer un fichier au format accept\'{e} par certains programmesoMsp\'{e}cialis\'{e}s: {\tt refer} et {\tt sortbib} pour UNIX, ou {\bf \LaTeX}s2et {\bf Bib\TeX} sur les 3 versions propos\'{e}es.K Le principe g\'{e}n\'{e}ral reste toujours le m\^{e}me: un fichiereQcontient des {\em num\'{e}ros de fiches} (fichier avec une extension {\bf .num}).aFUn autre (fichier avec une extension {\bf .typ}) contient {\em l'ordreGd'apparition des diff\'{e}rents items de la fiche} (la typographie). AcMpartir de celles-ci, on cr\'{e}e un fichier contenant le {\em libell\'{e} desdZr\'{e}f\'{e}rences} (fichier avec une extension {\bf .rfr}, {\bf .rft} ou {\bf .refer} ouI{\bf .bib}), et enfin un fichier format\'{e} imprimable (fichier avec une\extension {\bf .doc}).$\section{Principes g\'{e}n\'{e}raux}F Il est n\'{e}cessaire de comprendre le cheminement que l'on vaKsuivre pour cr\'{e}er un fichier document \`{a} partir des fiches contenuesnKdans le fichier. On a dans \underline {tous les cas} besoin de partir d'un Kfichier contenant les num\'{e}ros des fiches devant \^{e}tre imprim\'{e}es,uHc'est le fichier {\bf .num}, qui est un simple fichier texte contenant 1Nnum\'{e}ro par ligne. Il peut \^{e}tre cr\'{e}\'{e}, soit automatiquement parLles programmes de recherche de r\'{e}f\'{e}rences dans le fichier, soit avecIun \'{e}diteur de texte. Que l'on choisisse de g\'{e}n\'{e}rer un fichiercEpour \TeX, pour {\tt refer} ou un fichier document simple, ce sera lea5fichier de d\'{e}part (voir figure~\ref{fichiers}). E Si l'on d\'{e}sire obtenir une liste dans un format donn\'{e} (ordresJd'apparition des diff\'{e}rents \'{e}l\'{e}ments de la r\'{e}f\'{e}rence),Hon devra d\'{e}crire ce format gr\^{a}ce \`{a} l'une des sous-options duNchoix {\bf Pr\'{e}paration d'une liste de r\'{e}f\'{e}rences}. Ce format seraHsauvegard\'{e} dans un fichier (fichier {\bf .typ}). Ensuite, une autreBsous-option permet de classer les fiches dans l'ordre souhait\'{e}J(alphab\'{e}tique, num\'{e}rique, ou arbitraire). Cela produit un fichierHtexte {\bf .rfr} (ou {\bf .rft} si l'on a choisi de cr\'{e}er un fichierKpour \LaTeX) dans lequel les fiches sont dans le bon ordre et avec la bonnesHpr\'{e}sentation. Il n'est pas format\'{e}, et peut donc ainsi \^{e}treHimport\'{e} dans un fichier destin\'{e} \`{a} \^{e}tre trait\'{e} par unHtraitement de texte, qui effectuera la mise en forme et la mise en page.KOn peut obtenir directement un document format\'{e} (fichier {\bf .doc}) eneTappelant l'option {\bf Edition d'une liste de r\'{e}f\'{e}rences} qui permet la mise en page des r\'{e}f\'{e}rences. B Certains logiciels de mise en page permettent de cr\'{e}erHautomatiquement une {\em liste de r\'{e}f\'{e}rences}, pour autant qu'onLleur fournisse la base de donn\'{e}es sous un format particulier. Il en estEainsi de \TeX\ sous MS/DOS, VMS ou UNIX, et de {\tt refer} sous UNIX.eC Si l'on d\'{e}sire cr\'{e}er un fichier pour Bib\TeX, on utilisera choisir un des fichiers *.Num existant= E -> Editer ou creer un fichier *.num avec l'editeurw+ T -> choisir un des fichiers *.TypD7 F -> Fabriquer un fichier de typographie *.typ+ L -> generer un fichier pour LaTeX}> S -> generer un fichier Sans pour certains T.d.T \7 A -> traiter le fichier par ordre Alphabetiqueo8 C -> traiter le fichier par ordre Chronologique6 O -> traiter le fichier dans l'Ordre d'entree, S -> Sortir sans traiter le fichier Votre choix [N]: \end{verbatim}\caption{\label{menu_prep}NLe menu pr\'{e}sent\'{e} par Pr\'{e}paration d'une liste de r\'{e}f\'{e}rences}f \end{figure}E Le choix {\bf F} permet de fabriquer les fichiers {\bf .typ},oHr\'{e}utilisables \`{a} loisir. La premi\`{e}re chose qui doit \^{e}treJpr\'{e}cis\'{e}e concerne les {\em s\'{e}parateurs}, entre l'avant dernierIet le dernier auteur ainsi que celui qui va entourer la date de parution,eHavant et apr\`{e}s l'ann\'{e}e. On indiquera ensuite si l'on d\'{e}sireJnum\'{e}roter les r\'{e}f\'{e}rences, et si oui quel s\'{e}parateur on metCentre le num\'{e}ro et le premier auteur, et enfin si on d\'{e}siretLsouligner le titre du journal ou du livre (ou le mettre en {\em italique} siGl'on cr\'{e}e in fichier {\bf .rft} pour \LaTeX). Ces indications sontc=donn\'{e}es en r\'{e}pondant aux question montr\'{e}es sur laEfigure~\ref{separ}, avec les r\'{e}ponses par d\'{e}faut pr\'{e}vues. \begin{figure}\begin{verbatim}Choix des separateurs:*Separateur avant le dernier auteur [and]: Separateur avant l'annee [(]: Separateur apres l'annee [)]: .Numerotage des r\'{e}f\'{e}rences (o ou [n]): /Separateur entre numero et premier auteur [/]: }2Soulignage du nom de journal ou livre (o ou [n]): \end{verbatim}\caption{\label{separ}@Choix des s\'{e}parateurs des diff\'{e}rents champs d'une fiche.}i \end{figure}@ L'\'{e}tape suivante consiste \`{a} indiquer l'ordre desHdiff\'{e}rents champs de la fiche. Ils sont indiqu\'{e}s en choisissantHdans un menu (voir figure~\ref{menu_typ}) un mn\'{e}monique de 2 lettresHparmi ceux qui sont pr\'{e}sent\'{e}s. On indiquera ces mn\'{e}moniquesKdans l'ordre dans lequel on d\'{e}sire imprimer les champs de la fiche. AudEfur et \`{a} mesure, on voit en haut de l'\'{e}cran se construire unesFmaquette de la fiche telle qu'elle se pr\'{e}sentera. Au fur et \`{a}@mesure que les items du menu sont utilis\'{e}s, ils ne sont pluspr\'{e}sent\'{e}s. Si tous lesuK\'{e}l\'{e}ments ne sont pas n\'{e}cessaires, il est possible de sortir parm {\bf EX}.'\begin{figure} d\begin{verbatim}# Liste des champs a imprimer\$ N1 --> Nom du premier auteur' P1 --> Prenom du premier auteur . NP --> Nom-Prenom des auteurs suivants. PN --> Prenom-Nom des auteurs suivants$ NF --> Nom du dernier auteur' PF --> Prenom du dernier auteurs TI --> Titre JO --> Journal ou Livre  VO --> Volume  PA --> Pages AN --> Annee EX --> Sortir (EXit) i Votre choix: ' \end{verbatim}\caption{\label{menu_typ}uQLe menu pr\'{e}sent\'{e} pour choisir la pr\'{e}sentation d'une r\'{e}f\'{e}rencer}r \end{figure}H Lorsque la pr\'{e}sentation de la fiche est d\'{e}finie, on peutMchoisir le type de classement choisi (voir figure~\ref{menu_prep}). Le choixhIde la sortie par ordre d'entr\'{e}e ({\bf O}) met les fiches dans l'ordreaIdans lequel elles ont \'{e}t\'{e} entr\'{e}es dans le fichier {\bf .num}.'= Apr\`{e}s la classification, un nom de fichier de sortie estuLdemand\'{e}. Par d\'{e}faut il portera le m\^{e}me nom que le nom du fichierL{\bf .num}, avec comme extension, soit {\bf .rfr} si on a g\'{e}n\'{e}r\'{e}Gun fichier pour BIBLIO ou pour un traitement de texte ({\bf S}) et {\bf18.rft} si on a g\'{e}n\'{e}r\'{e} un fichier pour \LaTeX.+\subsection{Formatage du fichier de sortie}(G Cette option permet de formater un fichier {\bf .rfr} afin d'en}Kfaire une fichier {\bf .doc} directement imprimable. Divers param\`{e}tresbIsont r\'{e}glables (voir figure~\ref{format}), telles les marges gauches,-,droites, hautes et (indirectement) basses. \begin{figure}\begin{verbatim}Marge gauche [10]: -Marge droite [75]: )#Indentation de la 1ere ligne [-4]: e#Justification a droite ([o] ou n): r/Nombre de lignes blanches en haut de page [3]: \Nombre de lignes ecrites [62]: \#Numerotation des pages ([o] ou n): (0Titre a imprimer en tete [R E F E R E N C E S] :\end{verbatim}\caption{\label{format}l6Les options de formatage et les valeurs par d\'{e}faut}3 \end{figure}JLe choix {\bf Indentation de la 1ere ligne [-4]: } concerne l'indentationFde la premi\`{e}re ligne de chaque r\'{e}f\'{e}rence. Une indentationFn\'{e}gative met cette premi\`{e}re ligne en retrait. Une indentation3positive indente comme pour un paragraphe. On peut D\'{e}galement num\'{e}roter ou non les pages, choisir le titre de cette liste, eti5enfin justifier ou non le texte au fer \`{a} droite.o3\subsection{Cr\'{e}ation d'un fichier .bib Bib\TeX}s@ Cette option, permet de cr\'{e}er, \`{a} partir des donn\'{e}esHcontenues dans le fichier bibliographique, un fichier au format Bib\TeX\(fichier {\bf .bib}),oKutilisable \`{a} partir d'un document pr\'{e}par\'{e} pour \LaTeX \footnote\L{Voir: Leslie Lamport. \LaTeX: A document Preparation System. Addison-WesleyLPublishing Company, Inc. 1986.}. Pour citer une r\'{e}f\'{e}rence, il faudraKutiliser le num\'{e}ro de la fiche comme cl\'{e} d'acc\`{e}s. On devra donceFinclure dans le fichier {\tt $\backslash$bibliography\{xxxx.bib\}}, etH\`{a} l'endroit o\`{u} doit \^{e}tre cit\'{e}e la r\'{e}f\'{e}rence, parexemple:A{\tt These authors $\backslash$cite\{125, 2546\} have shown... }.r>Bib\TeX produit alors un fichier {\bf xxxx.bbl} qui contientl'environnemente\begin{verbatim} \begin{thebibliography}, ... \end{thebibliography}e\end{verbatim}Jutilis\'{e} par Bib\TeX\ pour produire la bibliographie en fin d'article.M\subsection{Cr\'{e}ation d'un fichier .refer pour {\tt refer} et {\tt nroff}}sF Cette option n'est propos\'{e}e qu'en environnement UNIX. Elle permetGde produire \`{a} partir de la base de donn\'{e}es bibliographiques, una@fichier ayant le m\^{e}me format que ceux produits manuellement 5par {\tt addbib} pour alimenter le filtre {\tt refer}dFqui produit {\it in fine} un fichier pour les formateurs de texte {\ttKnroff} ou {\tt troff}. Ici, la cl\'{e} permettant de citer la fiche est le Enum\'{e}ro de la fiche, pr\'{e}c\'{e}d\'{e} de "ref" sans espace, para@exemple, la fiche 125 sera r\'{e}f\'{e}r\'{e}e par {\tt ref125}.3\subsubsection{Liste des r\'{e}f\'{e}rences seules}nB Cette option permet, \`{a} partir d'une sous-base bibliographiqueDcontenue dans un fichier {\bf .refer}, d'obtenir un fichier documentE{\bf.doc}. La sortie se fait au choix dans l'ordre alphab\'{e}tique,s>chronologique ou arbitraire, avec ou sans num\'{e}rotation desIr\'{e}f\'{e}rences. Le choix se fait en r\'{e}pondant \`{a} des questionsuKpos\'{e}es par le programme. Le fichier document {\bf .doc} est directement{ imprimable.u<\subsubsection{Liste des r\'{e}f\'{e}rences dans un Article}B Cette option permet, \`{a} partir d'une sous-base bibliographiqueLcontenue dans un fichier {\bf .refer}, de traiter automatiquement un articleRcontenu dans un fichier {\tt nroff} (fichier {\bf .nro}) par {\tt refer} puis {\ttInroff} afin d'obtenir un fichier document {\bf .doc} mis en page par {\tt\Hnroff} apr\`{e}s classement par ordre alphab\'{e}tique, chronologique ouParbitraire, avec ou sans {\em num\'{e}rotation} des r\'{e}f\'{e}rences. Le choixIse fait en r\'{e}pondant \`{a} des questions pos\'{e}es par le programme.nLLe fichier d'entr\'{e}e {\bf .nro} devra contenir des lignes de contr\^{~ BIBLIO.BCKDJdw[DANA.BIBLIO.DOC]BIBLIO_2.TEX;2B;5_B ?o}leEpour {\tt refer} en utilisant la cl\'{e} de citation contenue dans le7fichier {\bf .refer}, comme expliqu\'{e} ci-dessus. Une Kr\'{e}f\'{e}rence sera donc cit\'{e}e en incluant \`{a} l'endroit choisi \\i\begin{verbatim} This citation .[  ref125n .]f for example....\end{verbatim}FLe fichier document {\bf .doc} est directement imprimable, puisqu'il aPd\'{e}j\`{a} \'{e}t\'{e} trait\'{e} par {\tt nroff}. Une des options pass\'{e}esC\`{a} {\tt refer} est {\bf -e}, signifiant qu'il faut collecter les Qr\'{e}f\'{e}rences en fin d'article. De ce fait il faut inclure en fin d'article '\begin{verbatim} .... fin du papier. .[e $LIST$i .]\end{verbatim}GUne autre option pass\'{e}e \`{a} {\tt refer} est {\bf -a1} (mettre le\Lpremier auteur dans le sens pr\'{e}nom, nom) et {\bf -n} (ne pas utiliser leNfichier de r\'{e}f\'{e}rences par d\'{e}faut /usr/dict/papers/Rv7man d'UNIX ).ilisables \`{a} loisir. La premi\`{e}re chose qui doit \^{e}treJpr\'{e}cis\'{e}e concern!*[DANA.BIBLIO.DOC]BIBLIO_RES.TEX;2+,E./ 4SJ-dw0123KPWO56mN7 ";@8/Ŕ9GHJ % -*-LaTeX-*-S% Converted automatically from troff to LaTeX by tr2tex on Thu Dec 22 19:44:11 1988=% tr2tex was written by Kamal Al-Yahya at Stanford University% (Kamal%Hanauma@SU-SCORE.ARPA)"\documentstyle[12pt,ncs]{farticle}\begin{document}C {\bf BIBLIO}: gestion de base de donn\'{e}es bibliographique sous  UNIX, VMS et MS/DOS \vspace{1cm}+ Dr J-F VIBERT. CHU Saint-Antoine Paris XII \vspace{1cm} L {\bf BIBLIO} est un progiciel dont les diff\'{e}rents \'{e}l\'{e}ments sontLappelables par menu. Il permet la cr\'{e}ation, la gestion et l'\'{e}ditionGde r\'{e}f\'{e}rences bibliographiques. Ces r\'{e}f\'{e}rences peuventK\^{e}tre retrouv\'{e}es par leur num\'{e}ro, par une combinaison logique deBmots-cl\'{e}s, par le nom d'un des auteurs, ou par recherche d'uneIcha\^{\i}ne de caract\`{e}res dans les r\'{e}f\'{e}rences. BIBLIO permetLd'\'{e}diter les r\'{e}f\'{e}rences, soit directement sous forme d'une listeLde r\'{e}f\'{e}rences bibliographiques format\'{e}e et mise en page, soit enIcr\'{e}ant un fichier au format demand\'{e} par Bib\TeX ou par \LaTeX, ouJpar les traitements de textes des PC, soit encore, sous UNIX en cr\'{e}antHun fichier au format nroff pour {\tt refer}. Cette version est la V4.2,Ddisponible sous UNIX (V4.2-u), MS/DOS (V4.2-m), et VAX-VMS (V4.2-v).\end{document}!*[DANA.BIBLIO.DOC]BIBLIO_SUM.TEX;2+,G./ 4D-dw0123KPWO56@DHwN7i7;@8ReŔ9GHJ!\documentstyle[12pt,ncs]{article}\begin{document} \vspace{2cm}1{\bf BIBLIO: a package for management and editionof bibliographic references.} Dr J-F VibertCHU Saint-Antoine\\PARIS\\FRANCE> BIBLIO is a menu driven package written in C allowingA creation, management, interrogation and edition of bibliographic@ references. Each reference is constituted by authors names and> christian names, the paper title, the journal, the pages, theC volume, the year, an indication concerning the availability in theA lab, and 1 to 10 key-words. They can be accessed through random? access by their number, by one of the authors, or by a logicalB combination of keywords. BIBLIO edits in either nroff format forC UNIX refer, \LaTeX, Bib\TeX\, PC word processings or directly as a@ listing a list of bibliographic references to add at the end of: papers. References can be sorted either in alphabetic or? chronological order, or non sorted, in arbitrary order using a@ flexible format to fit any of the publisher requirements. ThisD version is V4.2, and is available under MS/DOS, UNIX, and VAX-VMS. \end{document}*[DANA.BIBLIO.DOC]BIB_PRES.TEX;1+, G.3/ 4]31-dw0123KPWO256IN7@MN;@8@Ŕ9GHJb % -*-LaTeX-*-+\documentstyle[troffms,12pt,times]{article}\begin{document}\pagestyle{headings}% Titres de haut de page \markboth{Biblio V4}{Biblio V4}\pagenumbering{arabic}\begin{centering}{\bf {\Huge \bf BIBLIO \\ } \vspace{1cm}2{\Large \bf Gestion de fichier bibliographique \\}} \vspace{2cm}N{\large \bf Cette pr\'{e}sentation correspond \`{a} la version 4.2 de BIBLIO.} {\footnote{.V1: Avril 1976 (FORTRAN II) OS8,+V2: Mai 1979 (FORTRAN IV) RSX11-M,/V3: Octobre 1983 (FORTRAN IV) RSX11-M,2 VAX/VMS,/V4: Juin 1988 (C) UNIX,1 MS/DOS,2 VAX/VMS.}}\\\end{centering} \vspace{2cm}\begin{centering}par\\ \vspace{1cm}{\bf Dr J.-F. VIBERT} \\ \vspace{1cm}Laboratoire de Physiologie \\CHU Saint Antoine \\'Universit\'{e} Pierre et Marie CURIE \\CNRS UA 1162 \\ PARIS \\FRANCE\\\end{centering} \vspace{2cm}DECUS 22 Mars 1989 \vspace{1cm}\begin{flushright}\today\end{flushright}\newpage\Huge% Titre de la page \cntr{\bf PROLOGUE}% Texte du transparent+Je d\'{e}die BIBLIO \`{a} la m\'{e}moire de{\bf Georges P\'{e}rec}, auteurEentre autres de "La Disparition" et de "La vie: Mode d'emploi". Il B\'{e}tait documentaliste CNRS dans notre laboratoire. C'\'{e}tait2lui qui g\'{e}rait notre fichier bibliographique. OJ'ai \'{e}crit la premi\`{e}re version de BIBLIO, sur notre PDP8 \`{a} son d\'{e}part. 7Le portage pour MS/DOS a \'{e}t\'{e} r\'{e}alis\'{e} enCcollaboration avec Melle {\bf B\'{e}atrice Cointot} (Laboratoire de Physiologie, CHU Saint-Antoine).%Le portage pour VAX-VMS a \'{e}t\'{e}Gr\'{e}alis\'{e} en collaboration avec Mr {\bf Alain Fauconnet} (ServiceJd'Informatique M\'{e}dicale, CHU Pi\-ti\'{e}-Sal\-p\'{e}\-tri\`{e}\-re). \newpage% Titre de la page \cntr{\bf GENERALITES}% Texte du transparentD {\bf BIBLIO} est un progiciel dont les diff\'{e}rents6\'{e}l\'{e}ments sont appelables par menu. Il permet:\begin{itemize}G \item la cr\'{e}ation de bases de donn\'{e}es bibliographiques  \item leur maintenance$ \item la recherche de fiches \begin{itemize} \item par numero' \item par mots-cl\'{e}s \item par auteur% \item par texte libre \end{itemize}\newpage% Titre de la page \cntr{\bf GENERALITES (suite)}% Texte du transparent. \item le choix du format d'\'{e}dition \begin{itemize} \item arbitraire& \item alphab\'{e}tique# \item chronologique \end{itemize}C \item l'\'{e}dition de r\'{e}f\'{e}rences bibliographiques. \begin{itemize}/ \item directement format\'{e}es% \item par {\tt refer}) \item par \TeX et Bib\TeX \end{itemize}\end{itemize} ;{\bf BIBLIO V4.2} est \'{e}crit en C et est disponible sousUNIX, MS/DOS, et VAX-VMS.\newpage% Titre de la page \cntr{\bf LE FICHIER}% Texte du transparentL Il est possible de g\'{e}rer un fichier g\'{e}n\'{e}ral et plusieursJfichiers personnels, qui sont chacun un sous r\'{e}pertoire comprenant 8 fichiers.6 Par d\'{e}faut le fichier g\'{e}n\'{e}ral est:\begin{itemize}@ \item Sous {\bf UNIX}, dans {\bf /usr/general/biblio/}- \item Sous {\bf VMS}, dans {\bf BIB:}E \item Sous {\bf MS/DOS}, dans {\bf \bs general\bs biblio\bs} \end{itemize} et le fichier personnel:\begin{itemize}5 \item Sous {\bf UNIX}, dans {\bf ./biblio/}2 \item Sous {\bf VMS}, dans {\bf [.BIBLIO]}; \item Sous {\bf MS/DOS}, dans {\bf .\bs biblio\bs} \end{itemize}L La base de donn\'{e}es, sp\'{e}cialis\'{e}e pour cette application, estFune base polyindex\'{e}e, permettant un acc\`{e}s direct et rapide auxSr\'{e}f\'{e}rences. Les doublons sont \'{e}vit\'{e}s au moment de l'acquisitiondes r\'{e}f\'{e}rences.\newpage% Titre de la page \cntr{\bf LES 8 FICHIERS}% Texte du transparent $ Huit fichiers sont n\'{e}cessaires:/ {\bf 1 - c\_fiches.bib} contient les fiches.\\? {\bf 2 - c\_codcle.bib} contient jusqu' 1000 mots-cl\'{e}s.\\D {\bf 3 \& 4 - c\_motcle.bib} et {\bf c\_motcle.bib.index}9 contiennent l'indexation sur les mots-cl\'{e}s.\\D {\bf 5 - c\_abbrev.bib} contient une liste d'abr\'{e}viations deK journaux, et une liste d'auteurs \`{a} mettre automatiquement en mot-cl\'{e}.\\; {\bf 6 \& 7 - c\_auteur.bib} et {\bf c\_auteur.bib.index} 3 contiennent l'indexation sur les auteurs.\\ {\bf 8 - c\_super\_cle.bib}) contient les super-mots-cl\'{e}s. \newpage% Titre de la page (\cntr{\bf UNE REFERENCE BIBLIOGRAPHIQUE}% Texte du transparentZ Une {\bf fiche} ou {\bf r\'{e}f\'{e}rence bibliographique} est constitu\'{e}e de:\begin{itemize}I \item son type ,simple ('S'), double ('D') ou supprim\'{e}e ('K')' \item son num\'{e}ro (1 entier)5 \item le nombre d'auteurs (1 a 10) (1 entier)] \item 1 \`{a} 10 noms (18 caract\`{e}res) et pr\'{e}noms (6 caract\`{e}res) d'auteurs; \item 1 \`{a} 4 lignes de titre (80 caract\`{e}res)L \item le nom du journal (36 caract\`{e}res) ou bien, en son absence: \begin{itemize}9 \item le nom du livre (80 caract\`{e}res): \item des \'{e}diteurs (80 caract\`{e}res)5 \item du publieur (39 caract\`{e}res)8 \item et de la ville (39 caract\`{e}res) \end{itemize}\newpage% Titre de la page 0\cntr{\bf UNE REFERENCE BIBLIOGRAPHIQUE (suite)}% Texte du transparent< \item le num\'{e}ro du volume (4 caract\`{e}res); \item les num\'{e}ros des pages (10 caract\`{e}res)0 \item l'ann\'{e}e de parution (1 entier)Z \item le num\'{e}ro d'utilisateur sous lequel elle a \'{e}t\'{e} entr\'{e}e et/ou& index\'{e}e (1 entier)\ \item la date \`{a} laquelle elle a \'{e}t\'{e} entr\'{e}e et/ou index\'{e}e (9 caract\`{e}res)T \item une indication concernant les tir\'{e}s-\`{a}-part (10 caract\`{e}res)B \item 1 \`{a} 10 num\'{e}ros de mots-cl\'{e}s (10 entiers) \end{itemize}O Une fiche bibliographique peut \^{e}tre {\bf simple} (moins de 6 auteurs)3 ou {\bf double} (6 \`{a} 10 auteurs ou livre).\newpage% Titre de la page \cntr{\bf LE MENU MS/DOS \& VMS}% Texte du transparent {\normalsize\begin{verbatim}9=========================================================B I B L I O V4.2-m (c)jfvFichier de travail:=\general\biblio\ Selectionner avec les Fleches= puis valider avec "Return"= Ou taper une des Lettres Majuscules  MENU+ ===> entree de nouvelles Fiches& recherche par Auteur ' recherche par mot-Cle , recherche Globale de texte  Thesaurus - choix du fichier par Defaut 7 Preparation d'une liste de references 2 Edition d'une liste de references- creation d'un fichier BibTeX# SOUS-MENU 4 Modification/correction du fichier , Quitter - Abandonner BIBLIO9=========================================================\end{verbatim}}\newpage% Titre de la page \cntr{\bf LE MENU UNIX}% Texte du transparent {\normalsize\begin{verbatim}9=========================================================B I B L I O V4.2-u (c)jfvFicher de travail:>/usr/general/biblio/ Selectionner avec les Fleches> puis valider avec "Return"> Ou taper une des Lettres Majuscules  MENU+ ===> entree de nouvelles Fichesc& recherche par Auteur ' recherche par mot-Cle , recherche Globale de texte  Thesaurus e- choix du fichier par Defaut I7 Preparation d'une liste de references )2 Edition d'une liste de references- creation d'un fichier BibTeXX# SOUS-MENU 4 Modification/correction du fichier 6 edition des References par refer UNIX, Quitter - Abandonner BIBLIO9=========================================================\end{verbatim}}a\newpage% Titre de la page V \cntr{\bf SAISIE DES REFERENCES}% Texte du transparentD L'entr\'{e}e des fiches se fait via une {\bf grille de saisie} quiL se construit dynamiquement au fur et \`{a} mesure des entr\'{e}es.  K La longueur des champs \`{a} remplir est indiqu\'{e}e par les  {\bf tirets}. { K Lorsqu'un champ est sans objet, il suffit d'entrer {\bf $<$CR$>$}, pour l'annuler et passer au suivant.= Le nom du journal peut \^{e}tre {\bf abr\'{e}g\'{e}}.t Q La correction se fait par un {\bf \'{e}diteur pleine-page} simplifi\'{e}.g= Les {\bf mots-cl\'{e}s} sont demand\'{e}s en dernier., 7 Avant de valider on peut modifier l'indexation.a A Avant son entr\'{e}e, on v\'{e}rifie qu'elle n'existe pasC6 d\'{e}j\`{a} dans le fichier (auteur, volume, pages). \newpage% Titre de la page \cntr{\bf LES MOTS CLES}% Texte du transparent( Les {\bf mots-cl\'{e}s simples}: \begin{itemize}l! \item 1 \`{a} 12 caract\`{e}res.a" \item Cr\'{e}\'{e}s dynamiquement! \item Compl\'{e}tion automatiquee& \item Correction d'orthographe simple \item Entr\'{e}e incompl\`{e}te \end{itemize}n& Les {\bf super mots-cl\'{e}s}:\begin{itemize}5 \item Combinaisons logiques de mots-cl\'{e}s simplesi \item Commence par + 1 \item Cr\'{e}\'{e}s par un programme sp\'{e}ciale \end{itemize} @ L'ensemble constitue un {\bf th\'{e}saurus \'{e}volutif}\newpage% Titre de la page 4\cntr{\bf RECHERCHE DES REFERENCES PAR LES MOT CLES}% Texte du transparentS Par combinaison logique de mots-cl\'{e}s et de super mots-cl\'{e}s avec lest# op\'{e}rateurs bool\'{e}enso \begin{itemize} \item OU \item ET \item NONe \end{itemize} ? avec possibilit\'{e} d'ajoindre une fourchette de datesi S On peut choisir de voir sur l'\'{e}cran les fiches trouv\'{e}es, et/ou d'en 8 faire un fichier {\bf .lst}, spool\'{e} ou non.  L Les {\bf num\'{e}ros} des fiches trouv\'{e}es sont m\'{e}moris\'{e}s dans un fichier {\bf .num}.\newpage% Titre de la page e?\cntr{\bf RESULTAT DE LA RECHERCHE DES REFERENCES PAR MOT CLES}% Texte du transparent {\normalsize\begin{verbatim}Recherche par mots cleslINFORMATIQUE ET VIBERT;***************** Fiche simple numero 396 *****************qJ.-F. VIBERT; J. COSTA; CAn educable wave form recognition system for sorting unit dischargehfrom multiunit signals.@In NATO-ASI series : Advanced Technobiology. Edited by B. Rybak.=Sijthoff and Noordhoff, Alphen aan den Rijn, the Netherlands.; : 121-132 (1979)Tire-a-part: OUIEntree le 08-MAR-82 par [5]3VIBERT COSTA INFORMATIQUE STATISTIQUE RECONN.FORME b<***************** Fiche simple numero 1701 *****************$J. COSTA; J.-F. VIBERT; A. HUGELIN; ?An auto educable spike detector and separator system for multi-sunit signals processing.#NEUROSCI. LETTERS; S. 3: S59 (1979)\Tire-a-part: OUIEntree le 20-JUN-80 par [2]aNCOSTA VIBERT INFORMATIQUE RECONN.FORME POT.ACTION TECHNIQUE LABO COMMUNICATIO <***************** Fiche simple numero 2299 *****************J.-F. VIBERT; J.-N. ALBERT; APOSTER: Un package pour la mise au point interactive et l'edition des posters.......\end{verbatim}}s\newpage% Titre de la page .\cntr{\bf RECHERCHE DES REFERENCES PAR AUTEUR}% Texte du transparentG Par le nom et \'{e}ventuellement le pr\'{e}nom d'un des auteurs 8 avec possibilit\'{e} d'ajoindre une fourchette de dates S On peut choisir de voir sur l'\'{e}cran les fiches trouv\'{e}es, et/ou d'ene- faire un fichier, spool\'{e} ou non. { L Les {\bf num\'{e}ros} des fiches trouv\'{e}es sont m\'{e}moris\'{e}s dans un fichier {\bf .num}. O La recherche se fait par indexation des fiches sur les 2 premi\`{e}reso! lettres de chaque auteur. \newpage% Titre de la page 3\cntr{\bf RECHERCHE DES REFERENCES PAR TEXTE LIBRE}e% Texte du transparentK On peut rechercher une fiche en donnant une cha\^{\i}ne de' caract\`{e}res,O pouvant \^{e}tre dans le titre, le journal ou les auteurs, ou une B portion des trois. L'ensemble du fichier est explor\'{e}!1 On peut ajoindre une fourchette de dates.  K Il est possible de distinguer ou non les minuscules des majuscules.  S On peut choisir de voir sur l'\'{e}cran les fiches trouv\'{e}es, et/ou d'ene- faire un fichier, spool\'{e} ou non.  L Les {\bf num\'{e}ros} des fiches trouv\'{e}es sont m\'{e}moris\'{e}s dans un fichier {\bf .num}. \newpage% Titre de la page t"\cntr{\bf LE SOUS-MENU DE GESTION}% Texte du transparent {\normalsize\begin{verbatim}9=========================================================  B I B L I O V4.2-m (c)jfv Fichier de travail: >\general\biblio\ Selectionner avec les Fleches> puis valider avec "Return"> Ou taper une des Lettres Majuscules! SOUS-MENU  1 ===> Correction de fiches existantes ' Elimination de fiches e; modification des Abreviations/Auteurs-cle a, modification des mots-Cles / adjonction de Super mots-cles }" Liste des fiches 5 Initialisation d'un nouveau fichier 2 Quitter - retour au menu general 4 Taper RETURN pour retourner au menu9=========================================================\end{verbatim}} \newpage% Titre de la page e!\cntr{\bf EDITION DES REFERENCES}}% Texte du transparentB Plusieurs choix permettent de {\bf pr\'{e}parer une liste deJr\'{e}f\'{e}rences bibliographiques} annexables \`{a} la fin d'un article.\begin{itemize} ; \item pour {\bf cr\'{e}er} ou {\bf modifier} une liste des  r\'{e}f\'{e}rences - \item pour pr\'{e}ciser la {\bf typographie} C \item pour pr\'{e}parer un {\bf fichier au format} accept\'{e} parlH certains programmes sp\'{e}cialis\'{e}s: {\tt refer} et {\tt sortbib} pour UNIX, ou \TeX\ et Bib\TeX\3 \item pour {\bf formater} directement une liste dea r\'{e}f\'{e}rences. \end{itemize}h \newpage% Titre de la page n&\cntr{\bf LES FICHIERS POUR L'EDITION}% Texte du transparent {\normalsize\setlength {\unitlength}{1mm}' \begin {picture}(200,100)(-20,0) \thicklines( \put(40,80){\framebox(20,10){\bf .num}}( \put(80,80){\framebox(20,10){\bf .typ}}' \put(0,50){\framebox(20,10){\bf .bib}}=* \put(40,50){\framebox(20,10){\bf .refer}}( \put(80,50){\framebox(20,10){\bf .rfr}}) \put(120,50){\framebox(20,10){\bf .rft}}' \put(0,20){\framebox(20,10){\bf .dvi}}b( \put(40,20){\framebox(20,10){\bf .doc}}( \put(80,20){\framebox(20,10){\bf .doc}}) \put(120,20){\framebox(20,10){\bf .dvi}}: \put(50,80){\vector(-2,-1){40}} \put(50,80){\vector(0,-2){20}}  \put(50,80){\vector(2,-1){40}}  \put(50,80){\vector(4,-1){80}}  \put(90,80){\vector(0,-2){20}}  \put(90,80){\vector(2,-1){40}}  \put(90,50){\vector(0,-2){20}}E \put(50,50){\vector(0,-2){20}}n \put(10,50){\vector(0,-2){20}} \put(130,50){\vector(0,-2){20}} \put(15,44){\bf Bib\TeX}e \put(15,37){\bf \TeX} \put(55,44){\tt refer} \put(55,37){\tt nroff}s \put(95,44){\bf BIBLIO} \put(95,37){\bf TdT}I \put(135,40){\bf \LaTeX}i \end{picture}d}e\begin{itemize} ( \item {\bf .num}: num\'{e}ros de fiches? \item {\bf .typ}: ordre d'apparition des diff\'{e}rents items t de la fiche" \item {\bf .bib}: fichier Bib\TeX( \item {\bf .refer}: fichier {\tt refer}4 \item {\bf .rfr}: fichier {\bf BIBLIO} et {\bf TdT}% \item {\bf .rft}: fichier {\bf \TeX}1 \item {\bf .doc}: fichier format\'{e} imprimable \end{itemize}t \newpage% Titre de la page 5%\cntr{\bf LE CHOIX DE LA TYPOGRAPHIE}I% Texte du transparent > L'ordre d'impression des \'{e}l\'{e}ments de la fiche@est choissable \`{a} volont\'{e}. On d\'{e}crit la fiche par desG\'{e}l\'{e}ments fictifs pr\'{e}sent\'{e}s par un menu peau de chagrin.c Par exemple: \begin{itemize}i1 \item {\bf N} un num\'{e}ro de r\'{e}f\'{e}rence ( \item {\bf A1} le nom du premier auteur/ \item {\bf P1} le pr\'{e}nom du premier auteurC \item {\bf AP} les autres auteurs dans l'ordre nom puis pr\'{e}nom 3 \item {\bf PA} ou dans l'ordre pr\'{e}nom puis nome( \item {\bf AF} le nom du dernier auteur/ \item {\bf PF} le pr\'{e}nom du dernier auteurm \item {\bf T} le titrem \item {\bf J} le nom du journal \item etc...o \end{itemize}a\newpage% Titre de la page 1\cntr{\bf RESULTAT DE LA PREPARATION A L'EDITION} % Texte du transparent{\rightmargin=0emi {\normalsize\begin{verbatim}'1 - Albert, J.-N., et J.-F., Vibert.DPOSTER: A package for interactive conception and edition of posters.DSymposium DECUS-Europe. Zurich, Switzerland. 30 august- 2 september.6 Proceedings Of The Dec Users Society : 353-355 (1983)%2 - Albert, J.N., et J.N., Albert. =Atelier logiciel pour la mise en oeuvre de systemes a base deBmicroprocesseurs. Application a la realisation d'un interface pourFl'acquisition en temps reel de signaux electrophysiologiques. These deG3eme cycle (option Informatique-Traitement du signal). Univ. Paris-Sud.  : 1-134 pp (1985) 03 - Costa, J., J.-F., Vibert, et A., Hugelin.?An auto educable spike detector and separator system for multi-'unit signals processing.# Neurosci. Letters S. 3: S59 (1979)C'4 - Fernandez, G., et J.-F., Vibert.\@Systeme expert en interpretation de potentiels evoques auditifs.29eme Symposium DECUS-France, 7-9 avril 1987 Paris. 9: 71 (1987)$5 - Guidon, J., et J.-F., Vibert.4Logiciels UNIX du domaine public: GNU Emacs et Jove.610 eme Symposium DECUS-France, 26-28 avril 1988, Lyon. : 104 (1988).....u\end{verbatim}} }r\newpage% Titre de la page R\cntr{\bf LA SORTIE IMPRIMABLE}E% Texte du transparent' La sortie imprimable se fait au choix:t l \begin{itemize}( \item par ordre {\bf alphab\'{e}tique}% \item par ordre {\bf chronologique}iA \item dans l'{\bf ordre d'entr\'{e}e} des num\'{e}ros de fiches  dans le fichier {\bf .num} e \end{itemize}- Il est possible de choisir la mise en pages:h \begin{itemize}" \item le {\bf titre} de la liste7 \item les {\bf marges} gauche, droite, haute et basse. \item les auteurs en {\bf majuscules} on non0 \item le {\bf num\'{e}rotage} des pages ou non% \item la {\bf justification} ou nons \end{itemize}\newpage% Titre de la page \cntr{\bf LA SORTIE IMPRIMABLE}E% Texte du transparent {\normalsize\begin{verbatim} R E F E R E N C E S m; 1 - Albert, J.-N., et J.-F., Vibert. POSTER: AE; package for interactive conception and edition of*; posters. Symposium DECUS-Europe. Zurich, Switzerland.f; 30 august- 2 september. Proceedings Of The Dec Usersi Society : 353-355 (1983) s; 2 - Albert, J.N., et J.N., Albert. Atelier logicielo; pour la mise en oeuvre de systemes a base de1; microprocesseurs. Application a la realisation d'unE; interface pour l'acquisition en temps reel de signaux*; electrophysiologiques. These de 3eme cycle (optionA; Informatique-Traitement du signal). Univ. Paris-Sud. o : 1-134 pp (1985) m; 3 - Costa, J., J.-F., Vibert, et A., Hugelin. An(; auto educable spike detector and separator system forO; multi- unit signals processing. Neurosci. Letters S.O 3: S59 (1979) ; 4 - Fernandez, G., et J.-F., Vibert. Systeme expertF; en interpretation de potentiels evoques auditifs.p; 9eme Symposium DECUS-France, 7-9 avril 1987 Paris.9:v 71 (1987) ; 5 - Guidon, J., et J.-F., Vibert. Logiciels UNIX duS; domaine public: GNU Emacs et Jove. 10 eme Symposium ; DECUS-France, 26-28 avril 1988, Lyon. : 104 (1988) o.... '\end{verbatim}}e\newpage% Titre de la page n\cntr{\bf L'EDITION POUR \TeX}% Texte du transparentE Sous UNIX, VMS ou MS/DOS, il est possible d'utiliser Bib\TeX. Il est Lpossible de g\'{e}n\'{e}rer un fichier sp\'{e}cial {\bf .bib} pour alimenter Bib\TeX :n {\normalsize\begin{verbatim}@ARTICLE{393 ,( AUTHOR = {J.-F., VIBERT and J., COSTA}, TITLE = {ESeparation des potentiels d'action unitaires dans des enregistrements Bmultiunitaires: analyse multivariate des parametres descriptifs.}, JOURNAL = {J. PHYSIOL., PARIS}, VOLUME = {74},n PAGES = {16A},n YEAR = {1978}}n....\end{verbatim}}r {\normalsize\begin{verbatim}\newcounter{bib_fiches}u\leftmargin=10em \begin{list}{\arabic{bib_fiches} / }{\usecounter{bib_fiches}&\setlength{\rightmargin}{\leftmargin}}"\item VIBERT, JF, and HUGELIN, A.Le noyau de Kolliker-Fusee%{\em La Physiologie} 24: 23-27 (1988)a \end{list}\end{verbatim}}n\newpage% Titre de la page c&\cntr{\bf LE SOUS-MENU D'EDITION UNIX}% Texte du transparent {\normalsize\begin{verbatim}9=========================================================m B I B L I O V4.2-m (c)jfvrFichier de travail:?/usr/general/biblio/ Selectionner avec les FlechesO? puis valider avec "Return"=? Ou taper une des Lettres MajusculesI! SOUS-MENUa1 ===> Creation du fichier de references + Liste des references seules 4 liste des references dans un Article0 Quitter - retour au menu general9========================================================= \end{verbatim}}t\newpage% Titre de la page \cntr{\bf L'EDITION SOUS UNIX}% Texte du transparentA Sous UNIX, un fichier sp\'{e}cial pour alimenter {\tt refer} est g\'{e}n\'{e}r\'{e}: {\normalsize\begin{verbatim}%A J.-F. VIBERT %A J. COSTAdH%T Separation des potentiels d'action unitaires dans des enregistrements@multiunitaires: analyse multivariate des parametres descriptifs.%J J. PHYSIOL., PARISn%V 74e%P 16A%D 1978=B%K ref393 VIBERT COSTA INFORMATIQUE STATISTIQUE LABO RECONN.FORME %A J.-F. VIBERTr %A J. COSTAeF%T An educable wave form recognition system for sorting unit dischargefrom multiunit signals.d-%B NATO-ASI series : Advanced Technobiology. e %E B. Rybak.%I Sijthoff and Noordhoff, f(%C Alphen aan den Rijn, the Netherlands.%J u%V f %P 121-132%D 1979o=%K ref396 VIBERT COSTA INFORMATIQUE STATISTIQUE RECONN.FORME e %A J. COSTAt%A J.-F. VIBERTt %A A. HUGELINpB%T An auto educable spike detector and separator system for multi-unit signals processing..... e\end{verbatim}} \newpage% Titre de la page \\cntr{\bf CONCLUSION}a% Texte du transparent? {\bf BIBLIO} est utilis\'{e} en routine dans notre laboratoireBdepuis 10 ans, par la secr\'{e}taire et l'ensemble des chercheurs.D Il permet de trouver facilement les r\'{e}f\'{e}rences \`{a} partirde vagues indications.C Il permet de produire des documents pouvant se plier aux exigences)de n'importe quel \'{e}diteur.D La possibilit\'{e} de produire un fichier ASCII correctement mis enHordre, ou bien un fichier \TeX\ ou {\tt refer} permet de l'utiliser avec"les formateurs de texte habituels.> Enfin, sa r\'{e}\'{e}criture en C \`{a} permit de le refondreAint\'{e}gralement et d'en faire un produit ais\'{e}ment portable.e\end{document}% Titre de la page r \cntr{\bf }% Texte du transparent\newpaget(50,80){\*[DANA.BIBLIO]ECRAN.H;1+,5H./ 4O-b%0123KPWO56Ҧ(7S8Qd Ŕ9GHJD/********************************************************************* E C R A N . H*;* Fichier de definition de la gestion d'ecran VT100 / VT2xx*(* J-F VIBERT 23-MAR-1987 12:58:13 * Portage ULTRIX* J-F VIBERT 10 mars 1988* '* Auteur: Dr J-F VIBERT et Ch. PASTORET* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.** Modifie par J-F Vibert les* 13-MAY-1987 11:59:49 * par Ch Pastoret * NOV-87*F*********************************************************************/#ifdef DOCUMENTATIONtitle ECRAN Gestion d'ecranindex Gestion d'ecranSynopsis .nf #include  .f DescriptionFilesSee also DiagnosticsAuthors Dr Jean-Francois VIBERT Christian PASTORET .s CHU Saint_Antoine PARISBugs/deficiencies#endifF/************************ S O N N E T T E ***************************/#define BELL '\007'F/******************** E / S M O D E G R A P H I Q U E ***********/! /****** mode graphique ******/ #define GRAPH puts("\033\0500")% /****** mode non-graphique ******/ "#define NOGRAPH puts("\033\050B")G/************************ C A R A C T E R E S ************************// /****** caractere~ BIBLIO.BCK5Hb%[DANA.BIBLIO]ECRAN.H;1O.PS;2;2Os en simple-largeur ******/#define SINGLEW "\033#5" / /****** caracteres en double-largeur ******/#define DBLEW "\033#6"/ /****** caracteres en double-largeur ******/0 /****** et double-hauteur ******/ /* Haut et Bas */#define DBLEH "\033#3" #define DBLEB "\033#4" M/****************************** E C R A N **********************************/" /****** clear all screen ******/#define CLRAS "\033[2J"#define CL puts("\033[2J")3 /****** clear screen from cursor position ******/#define CLS ("\033[J")O/******************* B L I N K / R E V E R S E / N O R M A L *****************/ /****** clignote on ******/#define BLINK "\033[5m" /****** reverse video ******/#define REVERSE "\033[7m" /****** surbrillant ******/#define BOLD "\033[1m" /****** souligne ******/#define UNDERLINE "\033[4m" /****** retour normal ******/#define NORMAL "\033[m"I/************************ C U R S E U R ********************************/ /****** home ******/#define HOME "\033[H"#define HOM curseur(1,1)!#define cursBD cursB(1);cursD(1)*[DANA.BIBLIO]EDITE_FICHES.C;1+,8H8.</ 4o<:-b%0123KPWO;56$;7^T8 Ŕ9GHJt/*A * EDITE_FICHES.C permet d'editer des fiches a partir d'une liste@ * de numeros de fiches dans ordre alphabetique, date, sequence  * * Version C pour ULTRIX * * 26 Septembre 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.*!* Correction de bugs: jfv 12/7/90*/#include #include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h" #ifdef UNIX# include #endif #ifdef MS_DOS# include # include #endif +FILE *fich_list, /* fichier dimpression */0 *fich_num, /* fichier des numeros de fiches */ *fich_typo; /*0 * fichier contenant le modele typographique */-short nb_fiches, /* nb de fiches a editer */- aut_min = FALSE, /* auteurs en minuscules */) LaTeX = FALSE, /* fichier pour LaTeX */- tdt = FALSE; /* fichier sans CR pour TdT */ 0char ligne[256], /* buffer pour le classement */% class_type, /* type de classement */# lf = '\n', /* si TdT, mis a ' ' */" *fgetss(); /* routine type RSX */ #ifdef DEBUG# include "show_fiche.c"#endifmain(argc,argv) int argc; char **argv;{( char nom_fichier[80], /* fourre tout */7 nom_num[80], /* fichier des numeros de references */( nom_liste[80], /* le listing final */- nom_typo[80], /* fichier de typographie */) nom_dir[60], /* directory de la BdD */ ordre[80], /* une ligne */" numero[20], /* le chiffre lu */ rep, * buffer, * debut,8 separ_num[10], /* separateur entre numero et refer *// separ_aut[10], /* separateur entre avant et  dernier auteur */D separ_an[2][5]; /* avant et apres l'annee */ int i, j, k, num_fich, visu, numerote, souligne, an, demarre, /* annee de depart */ reference[15]; short *nb_c, *nb_f; #include "titre_bib.h" if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);7 if((c_fiches = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);G nom_num[0] = nom_typo[0] = 0; /* remise a blanc des noms de fichier */$ while( !nom_num[0] || !nom_typo[0]) while(menu(nom_num,nom_typo));! /* on vient avec toto.num */I printf("On traite %s avec les specifications de %s\n",nom_num,nom_typo); - if((fich_num = fopen(nom_num,LIRE)) == NULL) {0 printf("%s inexistant ou probleme\n",nom_num); exit(1); } /* fichier de listing */ strcpy(nom_liste,nom_num);/ nom_liste[strlen(nom_liste)-4] = 0; /* toto */P sprintf(ordre,"Fichier resultat [%s[%s]]: ",nom_liste,((LaTeX)?".rft":".rfr"));$ asksval(ordre,nom_liste,nom_liste); if (!strchr(nom_liste,'.')) { strcpy(nom_fichier,nom_liste);7 if (LaTeX) strcat(nom_fichier,".rft"); /* toto.rft */1 else strcat(nom_fichier,".rfr"); /* toto.rfr */ } else { strcpy(nom_fichier,nom_liste); if(strtok(nom_liste,".rfr")) * nom_liste[(strlen(nom_liste) - 4)] = 0; else  {8 if (LaTeX) strcat(nom_fichier,".rft"); /* toto.rft */2 else strcat(nom_fichier,".rfr"); /* toto.rfr */ } }4 if((fich_list = fopen(nom_fichier,ECRIRE)) == NULL) {1 printf("%s impossible a ouvrir\n",nom_fichier); exit(1); }T rep = askcval("On imprime les noms de auteurs tout en majuscule ([o] ou n): ",'o');) if (tolower(rep) == 'n') aut_min = TRUE; else aut_min = FALSE;S demarre = askival("On prend les references a compter de quelle annee [tout]: ",0);3 if (demarre > 0 && demarre < 100) demarre += 1900; nb_fiches = 0;" while(fgetss(numero,10,fich_num)) { i = atoi(numero); do {$ if(read_fiche((short)i) == FALSE) {( printf("\007Probleme de lecture\n"); exit(1); } if (wrong_numero) { i ++; } }while(wrong_numero); read_fiche((short)i); if (! killed) { print_rfr(class_type); nb_fiches++; } } fclose(fich_num); fclose(fich_list);* /* maintenant on classe si necessaire */ if (class_type != 'O')  {: if ((fich_num = fopen("sort_fiche.tmp",ECRIRE)) == NULL) {5 printf("sort_fiche.tmp impossible a ouvrir...\n"); exit(1); }A if ((buffer = (char *)calloc(nb_fiches,sizeof(ligne))) == NULL) {. printf("Probleme d\'allocation memoire\n"); exit(1); }3 if((fich_list = fopen(nom_fichier,LIRE)) == NULL) {2 printf("%s impossible a ouvrir\n",nom_fichier); exit(1); } debut = buffer;" for ( i = 0; i < nb_fiches; i++) { fgetss(ligne,256,fich_list); #ifdef DEBUG printf("%s\n",ligne);#endif strcpy(buffer,ligne); buffer+=sizeof(ligne); } buffer = debut;= qsort(buffer,(unsigned int)nb_fiches,sizeof(ligne),strcmp); " for ( i = 0; i < nb_fiches; i++) { #ifdef DEBUG# printf("%d rend %s\n",i,buffer);#endif strcpy(ligne,buffer); buffer+=sizeof(ligne);< num_fich = atoi(strrchr(ligne,' ')); /* dernier champs */% fprintf(fich_num,"%d\n",num_fich); } } fclose(fich_num); fclose(fich_list);3 /* et on reouvre le bon fichier, classe ou non */ if (class_type == 'O') {/ if ((fich_num = fopen(nom_num,LIRE)) == NULL) {1 printf("%s impossible a ouvrir...\n",nom_num); exit(1); }  } else {8 if ((fich_num = fopen("sort_fiche.tmp",LIRE)) == NULL) {5 printf("sort_fiche.tmp impossible a ouvrir...\n"); exit(1); } } /*F * relecture de numeros de fiche dans le fichier classe et edition deB * la fiche en fonction de la typographie demandee dans fich_list */4 if((fich_list = fopen(nom_fichier,ECRIRE)) == NULL) {1 printf("%s impossible a ouvrir\n",nom_fichier); exit(1); } /*7 * relecture de la typographie demandee dans fich_typo *// if((fich_typo = fopen(nom_typo,LIRE)) == NULL) {. printf("%s impossible a ouvrir\n",nom_typo); exit(1); }" numerote = faskival(fich_typo,0); fgetss(separ_num,9,fich_typo);" souligne = faskival(fich_typo,0); fgetss(separ_aut,9,fich_typo);! fgetss(separ_an[0],4,fich_typo);! fgetss(separ_an[1],4,fich_typo); for (i = 0; i < 15; i++) ' reference[i] = faskival(fich_typo,0); fclose(fich_typo); if (LaTeX)  {@ if (numerote) fprintf(fich_list,"\\newcounter{bib_fiches}\n");+ fprintf(fich_list,"\\leftmargin=10em\n"); if (numerote) {( fprintf(fich_list,"\\begin{list}\n");? fprintf(fich_list,"{\\arabic{bib_fiches} %s }\n",separ_num);4 fprintf(fich_list,"{\\usecounter{bib_fiches}\n");D fprintf(fich_list,"\\setlength{\\rightmargin}{\\leftmargin}}\n"); } /* fin du if */ 0 else fprintf(fich_list,"\\begin{list}{}{}\n"); } /* fin du if */ nb_fiches = 0;" while(fgetss(numero,10,fich_num)) { i = atoi(numero); do {$ if(read_fiche((short)i) == FALSE) {( printf("\007Probleme de lecture\n"); exit(1); } if (wrong_numero) { i ++;i } }while(wrong_numero);i read_fiche((short)i);c8 an = (simple)? fiche.Simple.annee: fiche.Double.annee; if (! killed && an >= demarre) {1I edite_rfr(i,numerote,separ_num,souligne,separ_aut,reference,separ_an); nb_fiches++;t } }/ if (LaTeX) fprintf(fich_list,"\n\\end{list}");nD fprintf(fich_list,"\n\n"); /* fini le fichier par une ligne vide */ fclose(fich_num); fclose(fich_list);fZ printf("Liste de %d references (de %d a maintenant ) preparee dans %s %s %s\n",nb_fiches,- demarre, REVERSE, nom_fichier, NORMAL);/ fclose(c_fiches);}c/*0* PRINT_RFR() imprime une fiche dans un fichier*/print_rfr(classement)6char classement; /* flag pour le type de classement */{ register i; if (classement == 'O') return; if (simple) { if (classement == 'C'). fprintf(fich_list,"%d",fiche.Simple.annee);B for (i = 0; i < fiche.Simple.nb_auteurs; i++) /* nb d'auteurs */ {i fprintf(fich_list,"%s%s",0 fiche.Simple.nom[i],fiche.Simple.prenom[i]); }t if (classement == 'A'). fprintf(fich_list,"%d",fiche.Simple.annee);1 fprintf(fich_list," %d\n",fiche.Simple.numero);T } else  { if (classement == 'C'). fprintf(fich_list,"%d",fiche.Double.annee);B for (i = 0; i < fiche.Double.nb_auteurs; i++) /* nb d'auteurs */ {d fprintf(fich_list,"%s%s",0 fiche.Double.nom[i],fiche.Double.prenom[i]); }S if (classement == 'A'). fprintf(fich_list,"%d",fiche.Double.annee);1 fprintf(fich_list," %d\n",fiche.Double.numero);0 }}o/* * FGETSS() mime celui de RSXc */d"char * fgetss(buffer,maxbytes,iop) char *buffer;l int maxbytes; FILE *iop;{8 char *status;% status = fgets(buffer,maxbytes,iop);r buffer[strlen(buffer) - 1] = 0; return(status);} /*#* MENU() presente le menu de depart*/menu(nom_ref,nom_typ) +char *nom_ref, /* fichier des references */ ' *nom_typ; /* fichier de typographie */ {r char rep, defaut, nom_inter[80], ordre[80]; printf("%s%s",CLRAS,HOME);a if (!strlen(nom_ref))o printf("\007\n\nUn fichier contenant des numeros de references %s *.num %s est necessaire\n",REVERSE,NORMAL);/ if (!strlen(nom_typ))X printf("\007\nUn fichier de typographie %s *.typ %s est necessaire\n",REVERSE,NORMAL); defaut = 'A';4 printf("\n\n\t\t%s M E N U %s\n\n",REVERSE,NORMAL); if (!strlen(nom_ref)) { defaut = 'N';tQ printf("\t%s N %s -> choisir un des fichiers *.Num existant\n",REVERSE,NORMAL);n\ printf("\t%s E %s -> Editer ou creer un fichier *.num avec l'editeur\n\n",REVERSE,NORMAL); } if (!strlen(nom_typ)) {" if (defaut != 'N') defaut = 'T';H printf("\t%s T %s -> choisir un des fichiers *.Typ\n",REVERSE,NORMAL);V printf("\t%s F %s -> Fabriquer un fichier de typographie *.typ\n\n",REVERSE,NORMAL); } if (!(LaTeX || tdt))r {H printf("\t%s L %s -> generer un fichier pour LaTeX\n",REVERSE,NORMAL);] printf("\t%s S %s -> generer un fichier Sans pour certains T.d.T\n\n",REVERSE,NORMAL);) }S printf("\t%s A %s -> traiter le fichier par ordre Alphabetique\n",REVERSE,NORMAL); T printf("\t%s C %s -> traiter le fichier par ordre Chronologique\n",REVERSE,NORMAL);T printf("\t%s O %s -> traiter le fichier dans l'Ordre d'entree\n\n",REVERSE,NORMAL);Q printf("\t%s X %s -> sortir sans traiter le fichier (eXit)\n\n",REVERSE,NORMAL); / sprintf(ordre,"\t Votre choix [%c]: ",defaut);  rep = askcval(ordre,defaut);  switch(tolower(rep))t { case 's':n LaTeX = FALSE;m tdt = TRUE; lf = ' '; return(TRUE); case 'l':n LaTeX = TRUE; tdt = FALSE;c lf = '\n';o return(TRUE); case 'e':r dir_ext("num");? asksval("\n\nNom du Fichier de references a creer [.num]: ",g nom_ref,nom_ref);& if (!strlen(nom_ref)) return(TRUE); if (!strchr(nom_ref,'.')) { strcpy(nom_inter,nom_ref); strcat(nom_inter,".num");r } elseo { strcpy(nom_inter,nom_ref);/ if(strcmp((strrchr(nom_inter,'.')),".num"))l, nom_inter[(strlen(nom_inter) - 4)] = 0; strcat(nom_inter,".num");a }? printf("\n\007\007%s ATTENTION, un numero par ligne %s\n\n",c REVERSE,NORMAL);s, sprintf(ordre,"%s %s",EDITEUR,nom_inter); system(ordre);  strcpy(nom_ref,nom_inter);T return(TRUE); case 'n':  dir_ext("num");W asksval("\n\nFichier contenant les numeros des references [pas de defaut[.num]]: ",i nom_ref,nom_ref);& if (!strlen(nom_ref)) return(TRUE); if (!strchr(nom_ref,'.')) { strcpy(nom_inter,nom_ref); strcat(nom_inter,".num");  } else { strcpy(nom_inter,nom_ref); / if(strcmp((strrchr(nom_inter,'.')),".num"))e, nom_inter[(strlen(nom_inter) - 5)] = 0; strcat(nom_inter,".num");& } strcpy(nom_ref,nom_inter); return(TRUE); case 't':( dir_ext("typ");P asksval("\n\nNom du fichier choisi [pas de defaut[.typ]]: ",nom_typ,nom_typ);& if (!strlen(nom_typ)) return(TRUE); if (!strchr(nom_typ,'.')) { strcpy(nom_inter,nom_typ); strcat(nom_inter,".typ");e } else) { strcpy(nom_inter,nom_typ); / if(strcmp((strrchr(nom_inter,'.')),".typ"))(, nom_inter[(strlen(nom_inter) - 4)] = 0; strcat(nom_inter,".typ");/ } strcpy(nom_typ,nom_inter);f return(TRUE); case 'f':. dir_ext("typ");O asksval("\n\nNom du Fichier de typographie a creer [pas de defaut[.typ]]: ",  nom_typ,nom_typ);& if (!strlen(nom_typ)) return(TRUE); if (!strchr(nom_typ,'.')) { strcpy(nom_inter,nom_typ); strcat(nom_inter,".typ");  } elseh { strcpy(nom_inter,nom_typ); / if(strcmp((strrchr(nom_inter,'.')),".typ")), nom_inter[(strlen(nom_inter) - 4)] = 0; strcat(nom_inter,".typ");s } strcpy(nom_typ,nom_inter);G def_typo(nom_typ);e return(TRUE); case 'a':g* if (strlen(nom_ref) && strlen(nom_typ)) {J printf("On traite le fichier %s %s %s par ordre %s ALPHABETIQUE %s\n", REVERSE,nom_ref,NORMAL,  REVERSE,NORMAL); class_type = 'A';\ return(FALSE); } return(TRUE); case 'c':e* if (strlen(nom_ref) && strlen(nom_typ)) {K printf("On traite le fichier %s %s %s par ordre %s CHRONOLOGIQUE %s\n", REVERSE,nom_ref,NORMAL,s REVERSE,NORMAL); class_type = 'C';h return(FALSE); } return(TRUE); case 'o':f* if (strlen(nom_ref) && strlen(nom_typ)) {E printf("On traite le fichier %s %s %s par ordre d'%sENTREE %s\n", REVERSE,nom_ref,NORMAL,c REVERSE,NORMAL); class_type = 'O'; return(FALSE); } return(TRUE); case 'x':) exit(SUCCES); default:# printf("\007Option inconnue\n");  return(TRUE); }}d/*@* DIR_EXT() liste le directory des fichiers dont l'extension est* passee en argument*/dir_ext(extension)char *extension;{L printf("%s%s\n\n\t\tDirectory des fichiers *.%s\n\n",CLRAS,HOME,extension); #ifdef UNIXe( sprintf(ligne,"ls -sF *.%s",extension);#endif #ifdef MS_DOSf( sprintf(ligne,"dir /w *.%s",extension);#endif #ifdef VMS% sprintf(ligne,"dir *.%s",extension);n#endif system(ligne);y}0/*$* READ_FICHE() relit la fiche numero*/read_fiche(numero) short numero;({a long offset;p  simple = TRUE;n killed = wrong_numero = FALSE;_ p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);2 if(fseek(c_fiches,offset,0) == -1) return(FALSE);0 fread(p_fiche,sizeof(fiche.A_lire),1,c_fiches); switch(fiche.A_lire[0].type)t { case 'S':f simple = TRUE; break;o case 'D':  simple = FALSE; break;t case 'K':r killed = TRUE;a break;i default :, wrong_numero = TRUE;f }  return(TRUE);}i/*9* DEF_TYPO() permet de creer et de sauvegarder un fichier}:* descripteur de presentation typographique des references*/def_typo(nom_file),char *nom_file; /* nom du fichier a creer */{w char reponse[5],1 rep, separ_num[10], separ_aut[10], separ_an[2][5];) int place, i, j, k, reference[15], souligne," numerote;1 /* flags pour menu */r1 char n1, p1, np, pn, nf, pf, ti, jo, vo, pa, an;i& if (fich_typo = fopen(nom_file,LIRE)) {m) printf("%s existe deja...\n",nom_file);l return;  }1 if((fich_typo = fopen(nom_file,ECRIRE)) == NULL)g {. printf("%s impossible a ouvrir\n",nom_file); exit(1); }9 n1 = p1 = np = nf = pf = ti = jo = vo = pa = an = TRUE;_9 printf("%s%s\n\nChoix des separateurs:\n\n",CLRAS,HOME);sG asksval("Separateur avant le dernier auteur [and]: ","and",separ_aut); ; asksval("Separateur avant l'annee [(]: ","(",separ_an[0]); ; asksval("Separateur apres l'annee [)]: ",")",separ_an[1]);;= rep = askcval("Numerotage des references (o ou [n]): ",'n'); if (strchr("yYoO",rep)) { numerote = TRUE;K asksval("Separateur entre numero et premier auteur [/]: ","/",separ_num);u } else  { numerote = FALSE;e separ_num[0] = 0;n }I rep = askcval("Soulignage du nom de journal ou livre (o ou [n]): ",'n');;) if (strchr("yYoO",rep)) souligne = TRUE;f else souligne = FALSE;h place = 0;,) for (i =0; i <15; i++) reference[i] = 0;e do= {3 printf("%s%s\n\n\t\tEtat actuel\n\n",CLRAS,HOME);  j = 0;* if (numerote) printf("1 %s ",separ_num); while(k = reference[j++])= {) if ( k == 1 ) /* N1 */, { printf(" Nom,"); continue;h } e if ( k == 2 ) /* P1 */u { printf(" Prenom,");_ continue;  } if ( k == 3 ) /* NP */e {) printf(" Nom, Prenom, %s",separ_aut);f continue;t } if ( k == 4 ) /* PN */i {) printf(" Prenom, Nom, %s",separ_aut); continue;S } if ( k == 5 ) /* NF */r { printf(" Nom,"); continue;r } if ( k == 6 ) /* PF */8 { printf(" Prenom,");g continue;y } if ( k == 7 ) /* TI */) { printf("\nTitre."); continue;p } if ( k == 8 ) /* JO */e { if (souligne)r7 printf(" %sJournal ou Livre%s;",UNDERLINE,NORMAL);i else" printf(" Journal ou Livre;"); continue;[ } if ( k == 9 ) /* VO */% { printf(" Volume:");n continue;n } if ( k == 10 ) /* PA */ { printf(" Pages");. continue;s } if ( k == 11 ) /* AN */ {1 printf(" %sAnnee%s",separ_an[0],separ_an[1]);i continue;s } }e0 printf("\n\nListe des champs a imprimer\n\n");K if ( n1 ) printf("\t%s N1 %s--> Nom du premier auteur\n",REVERSE,NORMAL);=N if ( p1 ) printf("\t%s P1 %s--> Prenom du premier auteur\n",REVERSE,NORMAL); if ( np )  {fL printf("\t%s NP %s--> Nom-Prenom des auteurs suivants\n",REVERSE,NORMAL);L printf("\t%s PN %s--> Prenom-Nom des auteurs suivants\n",REVERSE,NORMAL); }fK if ( nf ) printf("\t%s NF %s--> Nom du dernier auteur\n",REVERSE,NORMAL);tN if ( pf ) printf("\t%s PF %s--> Prenom du dernier auteur\n",REVERSE,NORMAL);; if ( ti ) printf("\t%s TI %s--> Titre\n",REVERSE,NORMAL); F if ( jo ) printf("\t%s JO %s--> Journal ou Livre\n",REVERSE,NORMAL);< if ( vo ) printf("\t%s VO %s--> Volume\n",REVERSE,NORMAL);; if ( pa ) printf("\t%s PA %s--> Pages\n",REVERSE,NORMAL);p; if ( an ) printf("\t%s AN %s--> Annee\n",REVERSE,NORMAL); ; printf("\t%s EX %s--> Sortir (EXit)\n\n",REVERSE,NORMAL);t \( asksval("\tVotre choix: ","",reponse); strupper(reponse); if (streq(reponse,"N1"))  {o) reference[place++] = 1; /* 1 --> N1 */V n1 = FALSE; continue; }  if (streq(reponse,"P1"))  {=) reference[place++] = 2; /* 2 --> P1 */e p1 = FALSE; continue; }  if (streq(reponse,"NP"))  {;) reference[place++] = 3; /* 3 --> NP */= np = FALSE; continue; }  if (streq(reponse,"PN")) {') reference[place++] = 4; /* 4 --> PN */  np = FALSE; continue; }  if (streq(reponse,"NF"))  {i) reference[place++] = 5; /* 5 --> NF */! nf = FALSE; continue; }  if (streq(reponse,"PF"))  {n) reference[place++] = 6; /* 6 --> PF */  pf = FALSE; continue; }  if (streq(reponse,"TI"))  {n) reference[place++] = 7; /* 7 --> TI */  ti = FALSE; continue; }m if (streq(reponse,"JO")) {%) reference[place++] = 8; /* 8 --> JO */ jo = FALSE; continue; }o if (streq(reponse,"VO")) {) reference[place++] = 9; /* 9 --> VO */n vo = FALSE; continue; }' if (streq(reponse,"PA")) {l* reference[place++] = 10;/* 10 --> PA */ pa = FALSE; continue; } if (streq(reponse,"AN")) {!* reference[place++] = 11;/* 11 --> AN */ an = FALSE; continue; }n } while(strcmp(reponse,"EX"));m A fprintf(fich_typo,"%d\n%s\n%d\n%s\n%s\n%s\n",numerote,separ_num,  souligne,separ_aut,nI separ_an[0],separ_an[1]);  for (i = 0; i < 15; i++)) fprintf(fich_typo,"%d\n",reference[i]);t fclose(fich_typo);'}/*4* EDITE_RFR() edite les fihes sous le format desire.*/Jedite_rfr(number,numerote,separ_num,souligne,separ_aut,reference,separ_an) int number,t numerote, souligne, reference[];mchar separ_num[], separ_aut[],t separ_an[2][5];s{ int i, j, k;n char nf, pf; /* flags *//* 1 --> N1 */ /* 2 --> P1 */ /* 3 --> NP */ /* 4 --> PN */ /* 5 --> NF */ /* 6 --> PF */ /* 7 --> TI */ /* 8 --> JO */ /* 9 --> VO */ /* 10 --> PA */ /* 11 --> AN */  fprintf(fich_list,"\n\n");n) if (LaTeX) fprintf(fich_list,"\\item ");d if (numerote && !LaTeX)4 fprintf(fich_list,"%d %s ",nb_fiches+1,separ_num); j = 0;  nf = pf = FALSE;' if (simple) {* if (aut_min) /* auteurs en minuscules */ {p0 for (i = 0; i < fiche.Simple.nb_auteurs; i++)$ capitalise(fiche.Simple.nom[i]); }i# capitalise(fiche.Simple.journal);( while(k = reference[j++]) {t if ( k == 1 ) /* N1 */  {2 fprintf(fich_list," %s,",fiche.Simple.nom[0]); continue;E } a if ( k == 2 ) /* P1 */_ {5 fprintf(fich_list," %s,",fiche.Simple.prenom[0]);i continue;  } if ( k == 3 ) /* NP */  {F for (i = 1; i < fiche.Simple.nb_auteurs-1; i++) /* nb d'auteurs */ {n! fprintf(fich_list," %s, %s",  fiche.Simple.prenom[i], fiche.Simple.nom[i]); }n% if (fiche.Simple.nb_auteurs > 1) r( fprintf(fich_list," %s",separ_aut); continue;L } if ( k == 4 ) /* PN */l {F for (i = 1; i < fiche.Simple.nb_auteurs-1; i++) /* nb d'auteurs */ {r" fprintf(fich_list," %s, %s,", fiche.Simple.prenom[i], fiche.Simple.nom[i]); }\% if (fiche.Simple.nb_auteurs > 1) ( fprintf(fich_list," %s",separ_aut); continue;F } if ( k == 5 ) /* NF */  {/ if (fiche.Simple.nb_auteurs == 1) continue;0 nf = TRUE; fprintf(fich_list," %s",4 fiche.Simple.nom[(fiche.Simple.nb_auteurs-1)]);% if ( pf ) fprintf(fich_list,".");e! else fprintf(fich_list,",");x continue;p } if ( k == 6 ) /* PF */f {/ if (fiche.Simple.nb_auteurs == 1) continue; pf = TRUE; fprintf(fich_list," %s",7 fiche.Simple.prenom[(fiche.Simple.nb_auteurs-1)]);n% if ( nf ) fprintf(fich_list,".");"! else fprintf(fich_list,",");s continue;0 } if ( k == 7 ) /* TI */h { fprintf(fich_list,"%c",lf);  for (i = 0; i < 4; i++) {m" if (fiche.Simple.titre[i][0]) fprintf(fich_list,"%s%c",! fiche.Simple.titre[i],lf);( }i continue;e } if ( k == 8 ) /* JO */n { if (souligne)s {i8 if (fiche.Simple.journal[0]) /* c'est un journal */ { if (LaTeX) {< fprintf(fich_list,"{\\bf %s};",fiche.Simple.journal); }r else {9 for (i = 0; i < strlen(fiche.Simple.journal); i++)r$ fprintf(fich_list,"%c\008_"," fiche.Simple.journal[i]); fprintf(fich_list,";"); }o } }e else {_8 if (fiche.Simple.journal[0]) /* c'est un journal */5 fprintf(fich_list," %s;",fiche.Simple.journal);  }u continue;  } if ( k == 9 ) /* VO */p { if (LaTeX)A fprintf(fich_list,"\\underline{ %s} :",fiche.Simple.volume); else4 fprintf(fich_list," %s :",fiche.Simple.volume); continue;m } if ( k == 10 ) /* PA */ { fprintf(fich_list," %s", fiche.Simple.pages);y continue;f } if ( k == 11 ) /* AN */ { fprintf(fich_list," %s%d%s", separ_an[0],=C fiche.Simple.annee,C= separ_an[1]);a continue;  } }] } elsee {* if (aut_min) /* auteurs en minuscules */ {,0 for (i = 0; i < fiche.Double.nb_auteurs; i++)$ capitalise(fiche.Double.nom[i]); }k# capitalise(fiche.Double.journal);  while(k = reference[j++])y {r if ( k == 1 ) /* N1 */; {2 fprintf(fich_list," %s,",fiche.Double.nom[0]); continue;u } } if ( k == 2 ) /* P1 */F {5 fprintf(fich_list," %s,",fiche.Double.prenom[0]);e continue;n } if ( k == 3 ) /* NP */ {F for (i = 1; i < fiche.Double.nb_auteurs-1; i++) /* nb d'auteurs */ {! fprintf(fich_list," %s, %s",] fiche.Double.prenom[i], fiche.Double.nom[i]); } % if (fiche.Double.nb_auteurs > 1) s( fprintf(fich_list," %s",separ_aut); continue;  } if ( k == 4 ) /* PN */r {F for (i = 1; i < fiche.Double.nb_auteurs-1; i++) /* nb d'auteurs */ {"" fprintf(fich_list," %s, %s,", fiche.Double.prenom[i], fiche.Double.nom[i]); }_% if (fiche.Double.nb_auteurs > 1) ( fprintf(fich_list," %s",separ_aut); continue;a } if ( k == 5 ) /* NF */  {/ if (fiche.Double.nb_auteurs == 1) continue;  fprintf(fich_list," %s",4 fiche.Double.nom[(fiche.Double.nb_auteurs-1)]);% if ( pf ) fprintf(fich_list,".");I! else fprintf(fich_list,","); continue;p } if ( k == 6 ) /* PF */e {/ if (fiche.Double.nb_auteurs == 1) continue;L fprintf(fich_list," %s,", 7 fiche.Double.prenom[(fiche.Double.nb_auteurs-1)]);[% if ( nf ) fprintf(fich_list,".");{! else fprintf(fich_list,",");t continue;  } if ( k == 7 ) /* TI */  { fprintf(fich_list,"%c",lf);  for (i = 0; i < 4; i++)/ {" if (fiche.Double.titre[i][0]) fprintf(fich_list,"%s%c", ! fiche.Double.titre[i],lf);  }a continue;; } if ( k == 8 ) /* JO */- { if (souligne)" {E& if (strlen(fiche.Double.journal)) { if (LaTeX) {E; fprintf(fich_list,"{\\bf %s}",fiche.Double.journal);N } else {n9 for (i = 0; i < strlen(fiche.Double.journal); i++) $ fprintf(fich_list,"%c\008_"," fiche.Double.journal[i]); fprintf(fich_list,";"); }A } elser { if (LaTeX) {e> fprintf(fich_list,"In: {\\bf %s}.",fiche.Double.livre);< fprintf(fich_list,"%s Eds.\n",fiche.Double.editeurs);P fprintf(fich_list,"%s, %s;\n",fiche.Double.publisher,fiche.Double.ville); }O else {r! fprintf(fich_list,"In: ");E7 for (i = 0; i < strlen(fiche.Double.livre); i++)V$ fprintf(fich_list,"%c\008_", fiche.Double.livre[i]); fprintf(fich_list,",");< fprintf(fich_list," %s Eds.,",fiche.Double.editeurs);8 fprintf(fich_list,"%s, ",fiche.Double.publisher);8 fprintf(fich_list,"%s;%c",fiche.Double.ville,lf); } } }n else {/& if (strlen(fiche.Double.journal))4 fprintf(fich_list,"%s;",fiche.Double.journal); elsee {! fprintf(fich_list,"In %s,",  fiche.Double.livre);; fprintf(fich_list," %s Eds.,",fiche.Double.editeurs);*7 fprintf(fich_list,"%s, ",fiche.Double.publisher);s7 fprintf(fich_list,"%s;%c",fiche.Double.ville,lf);* } }S continue;; } if ( k == 9 ) /* VO */) { if (LaTeX)A fprintf(fich_list,"\\underline{ %s} :",fiche.Double.volume); else4 fprintf(fich_list," %s :",fiche.Double.volume); continue; } if ( k == 10 ) /* PA */ { fprintf(fich_list," %s", fiche.Double.pages);/ continue; } if ( k == 11 ) /* AN */ { fprintf(fich_list," %s%d%s", separ_an[0], C fiche.Double.annee,P= separ_an[1]); continue;i } } }}t/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string;;{  while(*string) { *string = toupper (*string); string++;f }}o/*3* STREQ() renvoie TRUE si s1 egale s2, FALSE sinon.o*/ streq(s1,s2)char *s1, *s2;{  return(!strcmp(s1,s2));} /**nB* CAPITALISE() met la premier lettre d'un mot en capital, le reste* en minusculesi*/capitalise(string) char *string;D{_ *string++ = toupper(*string); while(*string) {9 if (isspace(*(string-1))) *string++ = toupper(*string);e% else *string++ = tolower (*string);s }}, reference[];mchar separ_num[], separ_aut[],t sepa*[DANA.BIBLIO]EDITE_FICHES.EXE;1+,p .</ 4<<-b%0123 KPWO=56v@7@8nyǔ9GHJ~ BIBLIO.BCKp b%[DANA.BIBLIO]EDITE_FICHES.EXE;1<v0DX0205( @,h6 EDITE_FICHESV1.0 @05-05   3 4C"Gi 5 ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s inexistant ou probleme c_codcle.bibrctx=bin%s inexistant ou probleme On traite %s avec les specifications de %s r%s inexistant ou probleme Fichier resultat [%s[%s]]: .rfr.rft.rft.rfr.rfr.rft.rfrw%s impossible a ouvrir On imprime les noms de auteurs tout en majuscule ([o] ou n): On prend les references a compter de quelle annee [tout]: Probleme de lecture sort_fiche.tmpwsort_fiche.tmp impossible a ouvrir... Probleme d'allocation memoire r%s impossible a ouvrir %d r%s impossible a ouvrir... sort_fiche.tmprsort_fiche.tmp impossible a ouvrir... w%s impossible a ouvrir r%s impossible a ouvrir \newcounter{bib_fiches} \leftmargin=10em \begin{list} {\arabic{bib_fiches} %s } {\usecounter{bib_fiches} \setlength{\rightmargin}{\leftmargin}} \begin{list}{}{} Probleme de lecture \end{list} Liste de %d references (de %d a maintenant ) preparee dans %s %s %s %d%s%s%d %d %d%s%s%d %d %s%s Un fichier contenant des numeros de references %s *.num %s est necessaire  Un fichier de typographie %s *.typ %s est necessaire  %s M E N U %s  %s N %s -> choisir un des fichiers *.Num existant  %s E %s -> Editer ou creer un fichier *.num avec l'editeur  %s T %s -> choisir un des fichiers *.Typ  %s F %s -> Fabriquer un fichier de typographie *.typ  %s L %s -> generer un fichier pour LaTeX  %s S %s -> generer un fichier Sans pour certains T.d.T  %s A %s -> traiter le fichier par ordre Alphabetique  %s C %s -> traiter le fichier par ordre Chronologique  %s O %s -> traiter le fichier dans l'Ordre d'entree  %s X %s -> sortir sans traiter le fichier (eXit)  Votre choix [%c]: num Nom du Fichier de references a creer [.num]: .num.num.num %s ATTENTION, un numero par ligne %s %s %seditnum Fichier contenant les numeros des references [pas de defaut[.num]]: .num.num.numtyp Nom du fichier choisi [pas de defaut[.typ]]: .typ.typ.typtyp Nom du Fichier de typographie a creer [pas de defaut[.typ]]: .typ.typ.typOn traite le fichier %s %s %s par ordre %s ALPHABETIQUE %s On traite le fichier %s %s %s par ordre %s CHRONOLOGIQUE %s On traite le fichier %s %s %s par ordre d'%sENTREE %s Option inconnue %s%s Directory des fichiers *.%s dir *.%sr%s existe deja... w%s impossible a ouvrir %s%s Choix des separateurs: Separateur avant le dernier auteur [and]: andSeparateur avant l'annee [(]: (Separateur apres l'annee [)]: )Numerotage des references (o ou [n]): yYoOSeparateur entre numero et premier auteur [/]: /Soulignage du nom de journal ou livre (o ou [n]): yYoO%s%s Etat actuel 1 %s Nom, Prenom, Nom, Prenom, %s Prenom, Nom, %s Nom, Prenom, Titre. %sJournal ou Livre%s; Journal ou Livre; Volume: Pages %sAnnee%s Liste des champs a imprimer %s N1 %s--> Nom du premier auteur  %s P1 %s--> Prenom du premier auteur  %s NP %s--> Nom-Prenom des auteurs suivants  %s PN %s--> Prenom-Nom des auteurs suivants  %s NF %s--> Nom du dernier auteur  %s PF %s--> Prenom du dernier auteur  %s TI %s--> Titre  %s JO %s--> Journal ou Livre  %s VO %s--> Volume  %s PA %s--> Pages  %s AN %s--> Annee  %s EX %s--> Sortir (EXit)  Votre choix: N1P1NPPNNFPFTIJOVOPAANEX%d %s %d %s %s %s %d \item %d %s %s, %s, %s, %s %s %s, %s, %s %s., %s.,%c%s%c{\bf %s};%c8_; %s;\underline{ %s} : %s : %s %s%d%s %s, %s, %s, %s %s %s, %s, %s %s., %s,.,%c%s%c{\bf %s}%c8_;In: {\bf %s}.%s Eds. %s, %s; In: %c8_, %s Eds.,%s, %s;%c%s;In %s, %s Eds.,%s, %s;%c\underline{ %s} : %s : %s %s%d%s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad value No help (? for help)D^[DsVU[ߦ7ߦ3ߦ.ߦ*ߦ%fZDѬ1g~ߦ>W*P~eDPg IIIIIIIII!3P~?PƏߦjDDƙ.;ƣCD.ЬRݢDCDpCpCpiCPpeC8CDpYCpNCpCPDpCB>DR>ASRBRbSb<2~B̀ R̀ bP̀ bP ە̀̀ 5fBa CBP c?BB 4BTd9BP@ ƟSPƚSS~A,.AP:pdƤpAuPƩpAbPpdƮAPAP@,>ƳpMAPƸp9AƽpAPpƿA@o~&P~ APn Pm#Pd ll SSto@PRl@P@lR1a@WJ@TK@Y @XP@PS2SPkeP2PPPď-PP%gPRoPRx>P@xR1$G>:>O1puf>Pw>=<~2J~=PWƞ==ƽp=P_pƿ==WXS2RSRZt<R R|w=PRt=P@t`Wk=WS2PSPXTU=<~2z~T=S2hRSRQPT =T =P<Pv<S2PSP[<J<O5 <P'I <U</PQ<P Q<$<0p%<Pp2!<;J̀;P̀L;;x!P<h S\Sp;PRh;P@h2s!P8d SSle;PRd;P@d`SSh3;PR`Q;P@`\SSd;PR\;P@\SR PbRSi:{<dB:}1:Rb<=ƏbƝbƸbbPbX SS`:PRX6:P@XR1( :X9W9Z9Y9PT2TPke72PPPď-PPhPRoMv=Z1P?Pgf Pgf P z T 3à e3e3ЬRRRR3PP.ЬRR3PR߭3߭3IR߭3#.߭3P{3P߭y3P@(߭T3\W-13߭f`\3\2߭ݬ3Pk z T 2à e2e2ЬRRRoR2PP.ЬRR2PR߭2÷߭2HR߭t2ü.߭t2Pc2P߭a2P@߭<2߭ݬ+2P z T 1à e1e1ЬRRRR1PP.ЬRR1PR߭1߭1HR߭1.߭1P1P߭}1P@ ߭X1߭ݬG1P  z T 1à e 1e0ЬRRR R1PP.ЬRR0PR߭0M ߭0HR߭0R .߭0P0P߭0P@W ߭t0߭ݬc0ݬPݬ_0P3ݬQ0P%æ á Ý ݬØ \ 0AhPPݬ0P3ݬ 0P% ݬ ê /ChPPݬ/P3ݬ/P%> 9 5 ݬ0 /OhPPM/B f/2P^^Rݬ z T >/ݬƒ )./. ^MS"Rbc,g2PPď-PP.PP'PeUf~%'PeRެZBW1o&U&VjXW ie1hWdie1TWOR2PPRP'RP@RP@dieR2PPRPڱ1ݬie1PWOR2PPRP'RP@RP@d"ieR2PPRPڱ1ݬ+ie1PWC12RRRB/ie3ie1sP5ie1dWC1V2RRRBd7ie;ie1+P=ie1W?Q~?iRŏQRQAÇ/~AÇBieR1WwլZ1Gie1RfRPPB~QieRfRPWietnYie_PW '^ie@pie1W vieW ЬP2~`zieRBhW1rV~1Z2RZR1A$W>$XZRBUVe~gPfHP`PPP@kRe~gPbRe~hPbZ2RZR?VUf~#PeQRbRRRBkUf~b#PeUf~I#PeRެZBW1"U#VjXWĂie1\Wćie1GPWOR2PPRP(RP@RP@ČieR2PPRPٱ1ݬĔie1WOR2PPRP(RP@RP@ĘieR2PPRPٱ1ݬġie1W?12RRRBĥieĩie1gPīie1XW?1J2RRRBĭieIJie1"PĴie1W?y~ĶiRŏQRQA W~A ĹieR1W1lլ1?fPU?ľie1R?fRPPB?~ieR?fRPie1cPƴ0MieÞieie1*PieRMfRPBM~ieRMfRPieÞieie:~ ie1?fP?ie1MieÞie&ie߳~+ie_PW 'ウd1ie@dCie1W iIieW ЬP2t~`MieRBhW1~^PЬRb~vPbR^ݬݬBQPQQPP^ITЬS֬ЬRb~'PcbKЬRRP`PPP@dRSR~PcPRSR~Pc^ѬЏubЏfbЬ`bQb^q bPbvav a|^]RUxVUGTPPa^~>1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdpScªec³f^]RaUaTZaWUV[(YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edv߭k߭iPO~fh߭fhSd1^Se1VSPPμ^\R`U`T`Y_V[Z4X Wfݬk߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?edu߭j߭hPO~fg߭fgSd1_Se1WSPP^[R%_X"_WsTg_V$U[ Z5Yfլݬf deѬ  dݬk߭jݬ ݬݬ^i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehgt ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭"P ߭P^ݬ|~#c~߭ϋ߭PPP^ݬKݬ c~߭<߭~PPP^ YRq]լ լݬݬ C[Nݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^\XR=\T:\SW0\VU[kZYUXeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~rS߭j߭iPO~behv߭qhehQc1UQd1LPP^TWR5[T2[Sq[([WUZcYxXMVeݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^LVR-ZW*ZV'Z[SZެUVTZPYeXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~o߭i߭hPOPìP~cd߭cdQf1Qg1PP ^TRݬ߭߭?P߭߭PPvP ^TS%ݬݬ߭|~&Xs~߭ݬPO~z߭PR߭ݬ RPݬ ^$TTݬݬ߭Bݬ=Xs~߭ݬAScPOR7cPR~߭cPR߭ݬ RPݬݬ  ^SSWլլݬݬѬPPݬ<ݬ߭kݬ$ݬ ݬdWs~߭ݬ߭_PR߭ݬ 9RPݬݬ (1^ݬP~߭߭PR߭ݬ RPݬݬ 8^yRST;VR|~ߢPP\\\dj\A|~|~ ߢ |~߭'ݢ P\\2\\\$d%\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^}QSFUR|~|~ ߢ |~߭#ݢ P\\2\\\lm\D^TR|~|~|~߭1ݢ PT^PWPYTZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪjT _·P ·լլ ΈPΈΈT0ݬPRެTRdSiS RRdΈ"ݬݬǕiiAiǟ PPf 9WW)WWWWWWWWWI9P&?PFn[2n[:n[ cnU|~|~|~߭1ݪ ΆΆ iǢ$1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬoݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬݬݬΐΓ~ݬݬ V1ZPVݬPVPi V15ǥi ΀1Viq V1ia ΀1iǫC V΀1 si. 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷj VǺi ΀1Pݬ VP~im ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[ir 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi. ݬi i 1rPi ݬi i i ݬ PѪjЪjd ݬ PѪjЪjRjPi M RRji1 ݬiY N/ݬk PRެTRdSiS RRdi V1zVi 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT\ Cd T V· ·XP XX~SCd iX i V1Vi5 1PΆ1i,iVkЬRR RRi MΈ/RPRެTRdSiSuRRdΈ"ݬݬii>i)1Ά >i'ݬݬΐΓ~ݬݬUV1V,i'1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVfݬaYiinijU@ݬPѪjЪjRjPi )RRjim ݬpi5gK/ݬGPRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdAP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl5RݪΆ i1+Pծ,1΀1Ԯ,i|cRji YRRji=IΈ%RެTRdSiSRRdΈ"ݬݬǂi)iMinjVVi1` i%Ά~ǏPi17P f%Ά~ǜPir1 PRP`PORVЬSS5ΆFVRBFcjެTdRBSMFcǬi-ViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬPP:nSPCbݬCbrS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[Zn}[Fn[F(^BWVgFTfǸݬPѤdФdRdPf eRRdfǻIݬǾfqFլ.ݬ~PRެURe SfS RReլ"ݬݬffBff@@LLtL 4l<d|Dt| t 8 ,  @VAXCRTLLIBRTLMTHRTL EDITE_FICHES main( ( print_rfr Dfgetss0 tmenu4dir_extDx read_fiche@def_typo edite_rfr+ ,strupper( Tstreqt capitaliset [ ASKVAL askidomain8 askfdomain4T ask_speakHaskivalDaskivalh8askivalf9tfaskival3askcvalPaskcvalhLDaskcvalfĹfaskcval,askfvalaskfvalhaskfvalfPPfaskfvalDasksval(asksvalhȾasksvalffasksvalPԿ setcbreakrestoreh8 getchar_vms0h ask_edite?re_ecrit            -}*[DANA.BIBLIO]EXE.DIR;1+,&./ 4-b%0123 KPWO56 ƌ`@7@Ѭ`@8@"-ǔ9GHJI N PACE ASKVAL.EXE(v BIBLIOTEX_VMS.EXE@v-CORRIGE_FICHES.EXEv CREE_FICHES.EXEbw CREE_MOTCLE.EXEyw EDITE_FICHES.EXE{w-FORM_REFER.EXExINI_BIBLIO.EXEIx&KILL_FICHES.EXEwxLISTE_FICHES.EXEy$MENU_BIB_VMS.EXE~y8MODIF_ABBAUT.EXEy MODIF_CLE.EXEy MODIF_SUPER_CLE.EXEzXNEW_FICHES.EXEz, REFTEX.EXEo{ THESAURUS.EXE}{TROUVE_AUTEUR.EXE~{TROUVE_CLE.EXE{TROUVE_TEXTE.EXE{*[DANA.BIBLIO.EXE]ASKVAL.EXE;1+,(v .*/ 4*+-&0123 KPWO+56,n@7` A8@ǔ9GHJ~ BIBLIO.BCK(v &[DANA.BIBLIO.EXE]ASKVAL.EXE;1;1*)T0DX0205(m@,Fh %ASKVALV1.0@Vm@05-05# $ ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8 (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^ѬЏЏЬ^q Pyvtv e|^RVUTPPa^~>1J?Pbd9Scߢecߢfcߢ+d9Scߢ:ecߢDfcߢSdi9ScߢaecߢnfcߢxdI9Scˆec“fcPœd$9Scªec³f^RUTZW9V8[8Y8Xfݬ8ݾ½߭k|~jgi~߭ ϧ ߭iP߭{8PSPоSdeYSdSe?edK߭k߭iPO~fh߭fhSd1^Se1VSPPμ^RUTY 8V[7Z7X7Wfݬ7k߭jݬ ii~߭ ϱ ߭hP߭7PSkSdeYSdSe?edX߭j߭hPO~fg߭fgSd1_Se1WSPP^RXW7TV6U[6Z6Yfլݬf deѬ  dݬ6k߭jݬ ݬݬ(i~߭ݬ ϑ ߭iP߭e6PSkSghuSgSh[fլݬfdehg! ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭5߭5P ߭5P^5ݬ5|~c~߭ϋ߭e5PPP^u5ݬO5ݬ c~߭<߭5PPP^Rլ լݬݬ C544ݬ4ݬݬݬc~߭Ͽ߭4PPP^ݬ߭4߭j4PPP^RTS_WVY4U[;4Z4Y)4Xeݬ4pk~M߭j|~gff~߭߭iP߭P߭3PvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^RTS+[WQ3UZ33Y3X!3Veݬ 3pj~z߭iݬgf~߭߭hP߭}߭2PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^RWV[P2SެU*2TZ 2Y1Xeլݬe§cdѬcݬ1pj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭1PvjQfg{QfQg]eլݬe·cdVg~Vf~H߭i߭hPOPìP~cd߭cdQf1Qg1PP ^Rݬ߭0߭0P߭߭0PPvP ^HS0ݬ0ݬ߭0|~Hs~߭ݬk0PO~z߭T0PR߭ݬ J0RPݬ 80%0^T=0ݬ0ݬ߭0ݬs~߭ݬ/ScPORcPR~߭cPR߭ݬ /RPݬݬ // ^Sdլլݬݬ/g/ѬPPf/ݬ@/ݬ߭;/ݬ$ݬ ݬs~߭ݬ߭.PR߭ݬ .RPݬݬ ..^ݬP~߭.߭.PR߭ݬ .RPݬݬ .y.8^ S.TR|~ߢPP\\\d>.\.|~|~ ߢ |~߭'ݢ P\\2\\\$d-\-Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id-\z- ^ SR|~|~ ߢ |~߭#ݢ P\\2\\\l`-A-\-^ER|~|~|~߭1ݢ PT^sW,YZ,΀CЬSЬRBcjiǏ,VSk,S,Sǒi,Sm,PѪjЪjM _·P ·լլ ΈPΈΈ0ݬ,PRެTRdSiS,RRdΈ"ݬݬǕi+i+iǟ+ PPf 9WW)WWWWWWWWWI9P&?Pn[n[n{[ cnU|~|~|~߭1ݪ ΆΆ iǢ(+1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ#*ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ)ݬݬΐΓ~ݬݬ V1ZPVݬ)PVPi)V15ǥi)΀1Vi})V1im)΀1iǫG)V΀1 si:)1P޼RFb $PVVi) P޼PF` iǮ(VVVDZi(΀1l si(1WPެRF ,b(VPVPi( PF ViǷn(VǺig(΀1Pݬ:(VP~iA(ݬ(PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US'PSEd'P1޼PE`ݬ'ݬݬΐΓ~ݬݬV PRR[i~'1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi'ݬi&i&1rPi&ݬi&i&i&ݬ{&PѪjЪjL&ݬZ&PѪjЪjRjPi Y&RRji5&ݬi-&/ݬ&PRެTRdSiS&RRdi%V1zVi%1hi%1ZPΆ Ά1Vi%14RP`PORVSS~ЬTTD%Cd:%TE%V· ·XP XX~SCd i,%i%V1Vi %1PΆ1i$,i$VkЬRR$R$Ri$Έ/R$PRެTRdSiS$RRdΈ"ݬݬiY$iyB$i)5$Ά >i3$ݬݬΐΓ~ݬݬUV1V,i#1Ά?1BΈLݬݬ2i#RbIݬD<ibiM#V1BVPib14iV#fݬaYiw#iz#ijY#(#ݬ6#PѪjЪjRjPi 5#RRjim#ݬpi #/ݬ"PRެTRdSiS"RRdis"V1VVvi"1DΆ1 c10[1)R[jЬSTUU[USS"PSEd)"P1޼PE`ݬ8"ݬݬΐΓ~ݬݬrV PRR[i"1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl!!R!ݪ!Ά i!1+Pծ,1΀1Ԯ,i|g!Rji e!RRjiA!Έ%RެTRdSiS%!RRdΈ"ݬݬǂi i inj VVi 1` i%Ά~Ǐ Pi 17P f%Ά~ǜa Pi~ 1 PRP`PORVЬSS ΆFVRBFc ެTdRBS FcǬi ViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlR[ݪ c1ЬRݬ=PP*nSPCbݬCb&S  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[n[n[(^5WVTfǸݬsPѤdФdRdPf qRRdfǻMݬǾfEլ.ݬPRެURe SfSRReլ"ݬݬffff^ѬЏ=Џ.Ь(^q Pvv |^R-VRUgTPPa^~>1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdtScªec³f^RUTWZWQV3[Y!Xfݬ ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed߭k߭iPO~fh߭fhSd1^Se1VSPPμ^RUTY[V[?ZX-Wfݬk߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^RXWoT/VHU[@ZYfլݬf deѬ  dݬk߭jݬ ݬݬxi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehgq ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭ ߭ P ߭P^ݬ|~c~߭ϋ߭PPP^ݬݬ c~߭<߭fPPP^R9լ լݬݬ CW<Jݬ$ݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^ RTSWVU[ZhYyXeݬdpk~M߭j|~gff~߭߭iP߭P߭,PvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^RTS{[WUZY`XqVeݬ\pj~z߭iݬgf~߭߭hP߭}߭!PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^RWV[S`ެUzTZpYMXeլݬe§cdѬcݬ/pj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~߭i߭hPOPìP~cd߭cdQf1Qg1PP ^Rݬ߭=߭'P߭߭&PPvP ^hS!ݬݬ߭|~s~߭ݬPO~z߭PR߭ݬ RPݬ u^Tݬgݬ߭bݬs~߭ݬ)ScPORWcPR~߭cPR߭ݬ RPݬݬ  ^4SլլݬݬѬPPݬݬ߭ݬ$ݬ ݬ,s~߭ݬ߭GPR߭ݬ =RPݬݬ ,^ݬP~߭ ߭PR߭ݬ RPݬݬ 8^)STR|~ߢPP\\\d\i|~|~ ߢ |~߭'ݢ P\\2\\\$dI\$Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^-SR|~|~ ߢ |~߭#ݢ P\\2\\\l\l^R|~|~|~߭1ݢ PT^WLYmZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪj _·P ·լլ ΈPΈΈh0ݬhPRެTRdSiSiRRdΈ"ݬݬǕiAia*iǟ PPf 9WW)WWWWWWWWWI9P&?P n[n[n[ cnU|~|~|~߭1ݪ ΆΆ iǢx1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬs ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ! ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVie  P޼PF` iǮ9 VVVDZi, ΀1l si 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬo PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬiR ݬi: i% 1rPi ݬi i i ݬ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi} S/ݬS PRެTRdSiSU RRdi1 V1zVi# 1hi 1ZPΆ Ά1Vi14RP`PORVSS~ЬTTCdTV· ·XP XX~SCd i|igV1ViY1PΆ1iG,i&VkЬRR RRiΈ/RPRެTRdSiSRRdΈ"ݬݬiii)Ά >iݬݬΐΓ~ݬݬUV1V,iK1Ά?1BΈLݬݬ2i&RbIݬD<ibiMV1BVPib14iVfݬaYiiijxݬPѪjЪjRjPi RRjimaݬpiY//ݬ/PRެTRdSiS1RRdis V1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdyP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[in1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl1RݪΆ i1+Pծ,1΀1Ԯ,i|Rji RRjioΈ%RެTRdSiSuRRdΈ"ݬݬǂiMim6inj)VVi#1` i%Ά~ǏPi17P f%Ά~ǜPi1 PRP`PORVЬSSmΆFVRBFcRެTdRBSQFcǬiQViǯ:VDzi3Vd1sVi&i1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬPPznSPCbݬCbvS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?PnU[2nA[n9[(^UWV/TfǸݬPѤdФdRdPf RRdfǻݬǾfkլ.ݬfPRެURe SfSiRReլ"ݬݬfBfb+ff)@@Lt|dL|DtL8 , D @VAXCRTLLIBRTLMTHRTLDD ASKVAL askidomain88 askfdomain4l ask_speak` askival\askivalhPaskivalf9faskival3askcvalPaskcvalhL\askcvalffaskcval,askfvalaskfvalhaskfvalfPhfaskfvalDasksval@asksvalhasksvalffasksvalP setcbreakrestorehP getchar_vms0 ask_edite?'re_ecrit             -} ASKVAL( askidomain8( askfdomain4) ask_speak*askival +askivalh,askivalf9<-faskival3p-askcvalP-askcvalhL .askcvalf.faskcval,.askfval/askfvalh0askfvalfP2faskfvalD\2asksval2asksvalh3asksvalfL4fasksvalP4 setcbreak5restoreh6 getchar_vms006 ask_edite?pDre_ecrit (           -}$*[DANA.BIBLIO.EXE]BIBLIOTEX_VMS.EXE;2+,@v-.$/ 4$%-&0123 KPWO%56@v@7vA8 )ǔ9GHJ&0DX0205(Wu@,<h  BIBLIOTEX_VMSV1.0 Wu@05-05   ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 entree de nouvelles Fiches recherche par Auteur recherche par mot-Cle recherche Globale de texte Thesaurus choix du fichier par Defaut Preparation d'une liste de references Edition d'une liste de references creation d'un fichier pour BibTeX  SOUS-MENUS  Modification/correction du fichier Quitter - Abandonner BIBLIO Correction de fiches existantes Elimination de fiches modification des Abreviations/Auteurs-cle modification des mots-Cles adjonction de Super mots-cles Liste des fiches Initialisation d'un nouveau fichier Quitter - retour au menu general TT:%%Erreur %d sur ASSIGN TT: %%Erreur %d sur QIO SENSEMODE %%Erreur %d sur QIO SETMODE %%Erreur %d sur QIO SETMODE sys$login:biblio.cfgrBIB:%s MENU Taper RETURN pour retourner au menuTaper RETURN pour retourner au menu[%d;%dH%s%s%s%s %s b i b l i o T e X %s %s (c)jfv V4.2-vFichier de travail:%s%s%sSelectionner avec les %sFleches%s puis valider avec %s"Return"%sOu taper une des %sLettres Majuscules%s%s%s===> %s%s%s %s%s %snew_fichestrouve_auteurtrouve_cletrouve_textethesaurusBIB:[.BIBLIO]BIB:Directory du fichier bibliographique [%s]: sys$login:biblio.cfgwimpossible de sauvegarder le nom du fichier par defaut %s edite_fichesform_referreftexSOUS-MENU de corrections/modificationscorrige_ficheskill_fichesmodif_abbautmodif_clemodif_super_cleliste_fichesini_biblio MENU  (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH84l D|L,dBad value facgtdpebmqceacsliq4LiuCDb>No help (? for help)<8^SRwU,Ta|~ePP\\\ed<,\#,|~|~ c|~߭'e P\\2\\\d+\+cɏ|~|~ ߭|~߭#e P\\2\\\ d+\+P^RPPgz+|~|~ |~߭#Y P\\2\\\½S+0+\+^|~|~|~߭1 P^*SR@\*PbM*>b*g 2P^T[UZSSkS RRRRSݬݬkSSg*XhЬYWRkUVRUSRSghąWUVUEiĀth)|~|~|~߭1j îww.1<p)Xެ ά΀p)|W)Έ΄ΤΨW)xw1|~|~|~߭1j ޠRR[ RO1|~|~|~߭1j ޠRRA1RB1WЬYLWMRkUSVRUSRSghWUVUEiĉh+k ެRRkRkkSSghЬYWRkUVRUSRSghąWUVUEiĀth1ЬYWRkUVRUSRSghWUVUEiĉhukkUMެRRkkSDSghЬY)W*RkU0VRUSRSghąWUVUEiĀth1P1w 1SSgh|~|~ |~߭#j ްPRR2RRRĽ0'ވRތjވ{kRR޼SBcRbSSghh:ެި1PSެ1ЬVwUU|CfP1QQgh|~|~ |~߭#j ްPRR2RRRĽn&ވRތjވ޼PC`P`QQgh;hfެިSSެ1[q޴RRRcݬݬ>kSUSghЬY:W;RkUAVRUSRSghąWUVUEiĀth|~|~|~߭1j ޠww.1w.fSSgD%|~|~ |~߭#j PRR2RRRĽ!%$R$jzup$^9Rݬݬg$^\zup$^Szup}$Tdû÷òîé~dRRgddRRgddR-Rgd dR-Rgd94dR-Rgdje=dެZRjRgdݬndWެ @þ@Rެ[kRWR@о@YkX#U޼TYVXVޤRXWQYQjQgebqeRVW ^RЬQ ~Qg6#…ìQƬQ޼PA€t# ^mRЬQ ~Qg"ìQƬQ޼PA‰" ^-RݬI"<" ^R—PP‘v"M" ^R¢PP‘>"" ^R°PP‘"! ^QR»PqP‘i!\! ^RP9P‘1!$m!<(^URTP~PgX!dW!PdB! d3!d!Scdd ( PeP~Pgc*cPdbݥ   ^!RfPAP‘9 ,u  ^RsP P‘f =  ^R~PP‘.   ^y\zup^P^E\x̅E ^R³P9P‘1$m ^RPP‘^5 ^RPP‘& ^qRPP‘| ^9RPYP‘QD ^RP!P‘~ U ^RP PF^\ 4^ѬЏЏЬ^q Pyvtv e|^RVUwTPPa^~>1J?PbdNScߢecߢfcߢ+d-Scߢ:ecߢDfcߢSd ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^(RUT ZWVo[,YYXfݬ$ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edK߭k߭iPO~fh߭fhSd1^Se1VSPPμ^+RUTYV[{Z8XeWfݬ0k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?edX߭j߭hPO~fg߭fgSd1_Se1WSPP^8RXWTVU[|Z9Yfլݬf deѬ  dݬk߭jݬ ݬݬ(i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg! ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭8߭&P ߭P^Yݬ|~c~߭ϋ߭PPP^ ݬݬ c~߭<߭PPP^-Rլ լݬݬ Ctݬ<ݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^RTScWVU[ZYXeݬ|pk~M߭j|~gff~߭߭iP߭P߭DPvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^xRTS+[WUZY|XVeݬtpj~z~ BIBLIO.BCK@v-&$[DANA.BIBLIO.EXE]BIBLIOTEX_VMS.EXE;2$Q"iݬgf~߭߭hP߭}߭9PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^pRWV[SެUTZYiXeլݬe§cdѬcݬGpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~H߭i߭hPOPìP~cd߭cdQf1Qg1PP ^!Rݬ߭U߭CP߭߭>PPvP ^Seݬݬ߭2|~Hs~߭ݬPO~z߭PR߭ݬ RPݬ ^HTݬݬ߭ݬs~߭ݬEScPORgcPR~߭cPR߭ݬ ORPݬݬ > ^SdլլݬݬѬPPݬݬ߭ݬ$ݬ ݬs~߭ݬ߭cPR߭ݬ RPݬݬ 5^ݬP~߭%߭PR߭ݬ ARPݬݬ 08^S"T_R|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\hТ ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id'\ ^SjR|~|~ ߢ |~߭#ݢ P\\2\\\l\^ R|~|~|~߭1ݢ PT^WYZ,΀CЬSЬRBcjiǏVSk>S1SǒiSPѪjЪjM _·P ·լլ ΈPΈΈ0ݬPRެTRdSiSyRRdΈ"ݬݬǕiyiqBiǟ5 PPf 9WW)WWWWWWWWWI9P&?Pn[n[n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬu ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVViu  P޼PF` iǮQ VVVDZid ΀1l si* 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ< ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬir i= 1rPi+ ݬi; i i ݬ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi /ݬo PRެTRdSiSe RRdiI V1zVi[ 1hi- 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTCdTV· ·XP XX~SCd iiV1Vi1PΆ1iW,i>VkЬRR_RRRi7Έ/RPRެTRdSiSRRdΈ"ݬݬiii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2i^RbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjimyݬpi/ݬKPRެTRdSiSARRdis%V1VVvi71DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i~1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlmJR1ݪ Ά i1+Pծ,1΀1Ԯ,i|Rji RRjiΈ%RެTRdSiSRRdΈ"ݬݬǂii}NinjAVVi31` i%Ά~ǏPi 17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcrެTdRBSFcǬiViǯRVDzikVd1sVi6i+1X|~|~ ߪ |~߭#ݪ PRR2RRRl+Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn][nI[nA[(^WRVTfǸݬPѤdФdRdPf RRdfǻݬǾfլ.ݬPRެURe SfSyRReլ"ݬݬfzfrCf6f9@@Lt|dLtL4l<|D, 8 : @VAXCRTLLIBRTLMTHRTL:: BIBLIOTEX_VMS setcbreakrestore{| getchar_vms, mainx menucurseur erase  const_menuC@inverseH normal@ spawn4new_fich84trouve_a8ltrouve_c8trouve_t8thesauru8 ch_diredite_fi8 form_ref8 Dreftex8 |fin+ no_op modif_cor,corrige8kill_fic8Lmodif_ab8modif_cl8modif_su8liste_fi8,ini_bibl8 dretour,     ٔ    q ASKVAL askidomain8 askfdomain4 ask_speakaskival askivalh!askivalf9#faskival3P#askcvalP#askcvalhL#askcvalfl$faskcval,$askfval%askfvalh&askfvalfP'faskfvalD<(asksval(asksvalhp)asksvalf,*fasksvalP|* setcbreakx+restoreh+ getchar_vms0, ask_edite?P:re_ecrit            -}%*[DANA.BIBLIO.EXE]CORRIGE_FICHES.EXE;1+,v .K/ 4KJ-&0123 KPWOJ56M@7 A8@6ǔ9GHJX0DX0205(@,hBCORRIGE_FICHESV1.0@05-05   +D,Jv A ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s -> pb c_motcle_index.bibrctx=bin%s -> pb c_auteur_index.bibrctx=bin%s -> pb c_abbrev.bibrctx=bin%s -> pb c_fiches.bibr+ctx=bin%s -> pb c_motcle.bibr+ctx=bin%s -> pb c_auteur.bibr+ctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Actuellement, il y a %d auteurs-mots cles et %d abreviations Numero de la fiche a corriger [fin]: Numero inexistant Fiche supprimee Numero errone Desirez-vous corriger cette fiche ([o] ou n): oOyY Desirez-vous ajouter des auteurs (o ou [n]): oOyY Nouveau numero: %s %d %s Desirez-vous changer les mots-cles (o ou [n]): oOyYLa fiche %s %d %s est corrigee Voulez-vous en corriger une autre (o ou [n]): oOyYc_codcle.bibwctx=bin%s -> pb Maintenant, il y a %d mots cles et %d fiches c_motcle_index.bibwctx=bin%s -> pb c_auteur_index.bibwctx=bin%s -> pb Pb de lecture au fread de c_motcle.bib Fiche %d cle -> %d Nb fiches %d Mot_cle -> %s Pb de lecture au fread de c_auteur.bib Fiche %d --> cle %d Nb fiches %d Auteur %s Pb de lecture au fread Pb de lecture au fread de c_auteur.bib prefiche.tmpwpb sur prefiche.tmp: la correction sera impossible %s %s ----------------------------------- T I T R E -------------------------------- %s ------------------------------ R E F E R E N C E ----------------------------- %s %s %s %d %s %s %s ----------------------------------- T I T R E -------------------------------- %s ------------------------------ R E F E R E N C E ----------------------------- %s %s %s %s %s %s %s %d %s %s %s %s Mot-cle %d: %s Vous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) ([o] ou n): oOyYVous avez le choix parmi... %4d --> %s %d mot-cles possibles avec %s %s %s, precisez mieux... %s %s %s est un nouveau mot-cle (le %d eme). Le garde-t-on (o ou [n]): oOyY%s prefiche.tmpeditprefiche.tmprpb sur prefiche.tmp: la correction sera impossible ------------------------------ Mot-cle %d: %s Voulez-vous Ajouter, Supprimer, Modifier ou [Q]uitter Reponse (A, S, M ou [Q]): Mot-cle %d: ____________ Mot-cle %d: Numero du mot cle a changer (1-%d) : Mot-cle %d: ____________ Mot-cle %d: Numero du mot cle a supprimer (1-%d) :[%d;%dH%s%s%s Fiche Numero %d %s %s Auteur %2d %s %sNom: __________________ Prenom: ______%s %s%s%s Titre %s%s_____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________%s %s %s Journal: %s %s____________________________________%s %s%s Livre: %s %s_____________________________________________________________________________%s %s Edite par: %s %s_____________________________________________________________________________%s %s Publie par: %s %s_______________________________________%s %s Ville: %s %s________________________________________%s %s%s%s%s%s Volume: %s %s____%s %s%s Pages: %s %s__________%s %s%s Annee: %s %d%s T-a-P: %s %s__________%s %s%sDesirez-vous corriger la fiche ([o] ou n):%s oOyYprefiche.tmpwpb sur prefiche.tmp: la correction sera impossible %s %s ----------------------------------- T I T R E -------------------------------- %s ------------------------------ R E F E R E N C E ----------------------------- %s %s %s %s %s %s %s %d %s TT:%%Erreur %d sur ASSIGN TT: %%Erreur %d sur QIO SENSEMODE %%Erreur %d sur QIO SETMODE %%Erreur %d sur QIO SETMODE %s%sEDITION%s finir par %sCrtl F%s (%sF%sin)%d%s%s_%s%s%s%s **************************%s Fiche simple numero %5d %s*************************  **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^mUX-T2WhegXߥ]X{1ߥb2~ߥ]ߥ NX\2R\RASc2cRR RBgųVWS \1e2~ ŷ5W\2R\RC#WSP\PPRBP@cz\P{PQPPcV2RR\V V\ŏQ\RB RbVP b V\ԟ?yVP?$V3M)zVRbĞ0b>bCbdGGVSciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBgUS \ůŪŃUs~ų1<P~ŴUPhPΘ^KUjU['ZŹgUѬ1g~;P7P~\UPg HHHHHHHHH 2Pr?PH#Z URZJ@:\ZTńZ"@ЬRݢT߭xTʼn߭nTŘŖ߭lTP ߭ŠqT@T߭*TŪ߭ TſŽ߭TP߭#TS߭S߭S߭SPm߭SS߭S߭S߭SP߭SVS߭@S߭6S)&߭4SPk߭1=S S߭R;߭RKH߭RP߭SRR߭R]߭Rmj߭RP5߭uRpR>*R>SRoRTdSd<2~d.RSc2~2~,Rdd<~dj<~mdTc_~l~ŰQ)?-d,<@~dcd< ~~dGQY0QV7WQXQ΀QSPSRTT~3PTT1{2TR j%2RRRď-RRkiPSyPkR>SjRMRbTSbE<2~Xb/M2~2*~ŎM߭HMŽ߭>M߭44P PЮ4RtPPY1Y2YRxRRBgP`1 BRQ>P`PbQ2PŏPUUhkh~HP/ f2YRxRP@gP2`~R2~3f RBjUf2YPxPP@Q2aRBca@gRbacJaUhkh~u0R>cP`PcRŏlUeUhkh~60hR>P`PcR2YPxPP@gRb@Qa@RbcŏRRhkh~04 M^_YV>[W@JZg|S2RSR1J8J4I0I@IRPkSPRP@TPSPRP@TTXX~2RRxRRBvUe1XBvRP>RbRbP2RŏRXXt@j~B@PMdD2>PxPRBWvR2b~P2~ɌPk SRBT PSRBTTɯH1`2>TxTTDvU2eRBgeDuRbecTeX@ﶾ~,P>RbRcPŏX﹊Xw@m~E,PP>RbRcP2>TxTTDLuRbDEuUZeD8uRbgŏ?RR@~,S2RSR1n(^ѽXTVfԮ.GZ GGF[>︿ S PЮRtSSY1Y2YRxRRBdSc1BRbWQ>P`PbQ2PŏPUUhjh~$P bS>fRbW+b2YPxPP@P`Uhjh~kRbSŵ1l 0^Z寮[sV︈XhXS2RSR1EE(E EE$RPSTRTDUPSTRTDUU#U~P#R#PPTDEzSTRTDWPSTRTDWWUU~PURUPPTDME#TTTURRTRRY2YRxRRBfTd1BRWP>RbRbP2RŏRUUj4j~P `R>TdW-d2YPxPP@P`Uj4j~4TbRõ1fS2RSR1P^VWzYUﻺT3CPg CSRDRRf1S2RSR)SP@dSP@?gCS2PSPFݧ~CSŏQSP@ćRbECPbŖgRCSŚgBCScgcgcgc2~gcgcS>R>ƍPb`RP S1-S2RSR)SP@SP@gBS2PSPgBSŏQSP@ RbaBPbUgnBSYg^BRb?/BP?ũgb4MŭgbĞŲgbŶgbźgbdžgAScigc2t~gcvgcS>čR>ƍPb`RP SݧA|<^VT*U'Vݬ߭UAޭ׮ ޮ R P ~AP  b SfRSRG/SRBe߭ AP'B Rbݬ@bASfPSP^TNVV[UԮ2RѮR1@Y@XPRBޮR~iPbSCRSR_ZJWg S\LkhP4\LRbEPEčbU\\L@\UPS\S\֮2RѮR1ZUPPx^kUXЬRbPb~@PbRbЬSS?cRRRB?WS?PPSS, P@d' ?n~0 &P~1 l?PSPP|Z2RZR1Tެ @?(8?$?Y ZRB,ޮ,Vо STݮ,,PRS,RPЮ,UPSUUPPQPRaPЮ,Q,faTTRZPRIZSSp ZRB|k 6 >n~t %P~u >PtSP ZRB=0ޮ0Wо VV(PUݮ0(UPRT1RRSRS#UVݮ8iPЮ0T0gRPRPTT [ZK[Z2PZP1[OSSȴ RB贈ȯ z =o~ȸ M$P~ȹ =PSPP[[[:Ⱦ =S[% CRBKC~ =SS[P' ݬ" [ k=P2RRR_ ݬZ + F=n~c #P~  =P)ݬ2R RB`<2PP^PЬRb~<PbR^UƍS>RcbSR P1=DeS5WSTDRb5PbDgSRBBgPDSRB SRŏQRSC Tdu5PdC W5C R˟MM=5ScƞŞccc??cddciicttvvcޭR4PR4PŃcŁP>ƍS>RcbSR PM4<^wUJTMXNxVS2hRSRGP2CōPP P@f߭L4߭N4P߭SRR Z4RS2hPSP2hWq~ P~O4Pa3PPPPPPPPPPPPPPOP1bPR?P2hSSRRRa \3߭Ĉ \$߭3P1߭PCō1h1PWĊ \3W\PSSRRRį \g3߭ \߭#3P1߭P1߭PCō1yW \ 3W\PWRBō@ōWGōh1?P18 ^ݬ ݬSS2PRS2P@RP|^VЬUUp2PRЬSS`2RPUTPSTTPPQPRaPЬQ֬ЬP֬a`VVPP ^uSFRbcr2PPď-PP 2PP{P>R`bPR S1dgS2RSR2)/VSP@@fSP@@fS2PSPRPŏQRP@ @ .R??.RbMMbĞǞbbbddbiibttvvbāǁăǃS>čP>R`bPR S  d.2 2~-  M.Y2RYR1}9.VYSSRR fł } y YXXt 6 fSRR fYP@ņ fSR.R fYP@ʼn fXY2PYPYXXSS -VfŌ -2RRXXSS fš Ŝ Ő fXXSS f ť fXSS YŏQYP@  0-YX?,PJXSS -Vf61-( fXS S f?:f1 PXSS ,Vf=,,,XSS fůŪŦšAf% ųfvqmh)fžźŵzfGXXSS fMfXXSS fǞfXXSS ffXXS S ffXXSS +VffXS S fdfXSS f+&"fXSS fi/fXS-S fFA2fXS6S f2t~JfXXSS fytpkMfXS S fv}fSS fŵŰŀfo~Ź P~źp*PkſW*Pj c*kk1V2RVR1^*S;*XPVP@ttRtPt~cPttbtVP@ppRpp~cPppbpVP@jhVP@jhV2PVP1n )SŏQSP@ Rb])Pb[jj)S_jZ)Rb?+)P?ůjb4MųjbǞŸjbżjbjbdj(Scijc2t~jcvjc SRPDRRgk ~ BIBLIO.BCKv &%[DANA.BIBLIO.EXE]CORRIGE_FICHES.EXE;1K%:-j(2P<8^SU=R(T|~ePP\\\d<(\(|~|~ c|~߭'e P\\2\\\d'\'cɏ|~|~ ߭|~߭#e P\\2\\\d'\t'P^1J?PbdbScߢecߢfcߢ+dAScߢ:ecߢDfcߢSd!ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^FR!JUJTZJWV[YXfݬDݾ½߭k|~jgi~߭ ϧ ߭iP߭/PSPоSdeYSdSe?ed_߭k߭iPO~fh߭fhSd1^Se1VSPPμ^ER$IU!ITIYV[ZXWfݬPk߭jݬ ii~߭ ϱ ߭hP߭9PSkSdeYSdSe?ed^߭j߭hPO~fg߭fgSd1_Se1WSPP^ DR1HX.HW TsHVU[ZYfլݬf deѬ  dݬ7k߭jݬ ݬݬGi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg] ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭dP^ݬ'|~c~߭ϋ߭1PPP^aݬݬ c~߭<߭PPP^BR}Fլ լݬݬ Cݬ\ݬݬݬc~߭Ͽ߭ePPP^ݬ߭P߭6PPP^hARIETFES۴WDSZ[4DW=UZ YXVeݬpj~z߭iݬgf~߭߭hP߭}߭YPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^X?R9CW6CV3C[<SCެUTZYXeլݬe§cdѬcݬgpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭)PvjQfg{QfQg]eլݬe·cdVg~Vf~X߭i߭hPOPìP~cd߭cdQf1Qg1PP ^ >Rݬ߭߭P߭߭^PPvP ^=Sݬ3ݬ߭~|~"As~߭ݬ7PO~z߭ PR߭ݬ RPݬ ^0=T)ݬݬ߭ݬIAs~߭ݬScPOR߹cPR~߭cPR߭ݬ cRPݬݬ RQ ^R|~|~ ߢ |~߭#ݢ P\\2\\\lL\^=R|~|~|~߭1ݢ PT^9WY=Z,΀CЬSЬRBcjiǏ9VSkRSESǒibS9PѪjЪj= _·P ·լլ ΈPΈΈ=0ݬPRެTRdSiSRRdΈ"ݬݬǕiibiǟU PPf 9WW)WWWWWWWWWI9P&?Pn [үn[ޯn[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬh PVPi V15ǥia ΀1ViU V1iE ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮq VVVDZi ΀1l si 1WPެRF ,b[ VPVPiq  PF ViǷ VǺi; ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEdY P1޼PE`ݬP ݬݬΐΓ~ݬݬV PRR[iV 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi i] 1rPiK ݬi i i ݬG PѪjЪj ݬ& PѪjЪjRjPi 1 RRji ݬi 7/ݬ PRެTRdSiS RRdii V1zVi 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTCd TV· ·XP XX~SCd i iV1Vi1PΆ1i,i^VkЬRRsRfRi6Έ/RLPRެTRdSiSYRRdΈ"ݬݬi-iQi)Ά >i ݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiM1V1BVPib14iVfݬaYiKiRijݬPѪjЪjRjPi  RRjimݬpis4/ݬPRެTRdSiSRRdisEV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRiݪXΆ iv1+Pծ,1΀1Ԯ,i|Rji =RRji2Έ%RެTRdSiSRRdΈ"ݬݬǂiininjaVVi1` i%Ά~ǏiPi17P f%Ά~ǜ=PiV1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯrVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlTR'ݪ c1ЬRݬ PPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn1[Vn[Bn)[B(^+WVs/TfǸݬ?PѤdФdRdPf IRRdfǻݬǾf/լ.ݬPRެURe SfSRReլ"ݬݬffcfVf@@ LL L4t|l<d|DtL, t 8 ,  @VAXCRTLLIBRTLMTHRTLCORRIGE_FICHES show_fiche mainT T write_motcled write_auteur` rm_motcle0 rm_auteurl put_fiche test_abrev test_auteur trouve_key(strupper(دcorrigeltransfert_pre_fichew change_mots йfgetss0 dif_stringad read_fiche, write_ficheXisinstrWܻcurseur erase  re_get_fiche setcbreakrestorei| getchar_vms, edite4show_pre_fichew i     \  .  h  ASKVALT askidomain8 askfdomain4 ask_speakaskivalaskivalhaskivalf9faskival3askcvalPdaskcvalhLaskcvalf0faskcval,\askfvaldaskfvalhlaskfvalfPfaskfvalDasksvalasksvalh4asksvalffasksvalP@ setcbreak<restoreh getchar_vms0 ask_edite?re_ecrit T           -}"*[DANA.BIBLIO.EXE]CREE_FICHES.EXE;1+,bw .!/ 4!!-&0123 KPWO!56 @7+A8ǔ9GHJ@0DX0205(@,nhF CREE_FICHESV1.0v@05-05 !#7  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001/usr/general/users/labo/jfv/biblio/BIBLIO/c_codcle.bibrc_codcle.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_fiches.bibw+c_fiches.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/fiches.bibrf_fiches.bib -> pb livres.bibwlivres.bib -> pb %d mots cles %d fiches %d fiches Simples %d fiches Doubles %d fiches Killees %d fiches bizarres %d fiches Simples de livres supposes %d fiches Doubles de livres supposes Fiche Simple %d --> Numero %d (Killee) %5d S Fiche Double %d --> Numero %d (Killee) %5d D Fiche %d --> Killee Fiche %d --> Bizarre type %c Numero %d Nb auteurs %d %s %s %s %s %s %s %d %s entree le %s par [204,%o] %d Numero %d Nb auteurs %d %s %s %s %s %s %s %d %s entree le %s par [204,%o] %d (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^t(TCW8Z[X+YVUߤ7d<(Pjߤ9A( (ĄߤM(Pgć('ě'Pk'''P;''>R>SjR'RbjSbj<2~ybjm'2~2~j'\2P\PP-'S\PReSeKefg<-~fcihg<-~hcR\2P\Pg&Rbkb<V<*<&#!g&2P^Y=V*WX<~hL&ThggPPDossssssssssssss+1P~?PTRTBhTRTBh2SRSRSRɲ%KgTRTBhTRTBhSPSUEQTRTBhaQPSRBHSRPPRUEdQTSTChaQPRSCdRSPPŏQSUELJQTRTBhaQGP횏H~ŏQSRBLJSPSTRTBhcS#P$PSTRTBhcSPPSTRTBhcS P `TRTBhTRTBhPSTRTBhcS P  TRTBhTRTBh PSTRTBhcSP P>STRTBhTRTBhcS P#P1'q2~K#1 DfTRTBhTRTBh2SRSRSR#KfTRTBhTRTBhSPSUEQTRTBhaQPSRB SRPPŏQRUE QTSTChaQGP횏H~ŏQRSC Rg<~h"2SRPRUEQSTSDhaQPRTDo RPMTSRSBhdTGPƍTSRSBhSRSBhdT P? P"h2~ F KggPPDQ[[[[[[7[[[[[[[-9P?PP~x PP~(T P^ެTdQЬP@aRBa QRPR@aBa ЬRb.b ^\lSlK$l<-~Pe{Џ-~P^VUWBUe~?XheS12~Hh2~ShS2RSR(PSRBSRBdb5S2RSRRŏQRSCŇScP ciRԟmScqcuc2~yc}c2 ~ƁcR>T2d~ƜT R12~Ơh2~ƫhS2RSR*PSRBSRBƺLS2RSRRPŏQRSC Sc P cRԟ?Scdcic2t~cvc2ǁ~ǃcR>T2d~T R^ѬЏЏЬѷ^q Pv|v m|^xRVUTPPa^~>1J?PbdScߢecߢfcߢ+duScߢ:ecߢDfcߢSdUScߢaecߢnfcߢxd5Scˆec“fcPœdScªec³f^RUTZW V[YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭gPSPоSdeYSdSe?edS߭k߭iPO~fh߭fhSd1^Se1VSPPμ^RUTYV[ZXWfݬk߭jݬ ii~߭ ϱ ߭hP߭qPSkSdeYSdSe?ed`߭j߭hPO~fg߭fgSd1_Se1WSPP^R若XW+TV U[ZYfլݬf deѬ  dݬk߭jݬ ݬݬ0i~߭ݬ ϑ ߭iP߭QPSkSghuSgSh[fլݬfdehg) ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬ|~?c~߭ϋ߭yPPP^ݬ;ݬ c~߭<߭*PPP^Rլ լݬݬ Cݬݬݬݬc~߭Ͽ߭PPP^ݬ߭l߭~PPP^ܭRアTﺱSWﰱVeU[#Z,Y=Xeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^ԬRﵰTﲰS3[侮W]UZY$X5Veݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^̫RﭯW絛V璘[\SެU>TZYXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~P߭i߭hPOPìP~cd߭cdQf1Qg1PP ^}Rݬ߭߭P߭߭PPvP ^8Sݬݬ߭|~BPs~߭ݬPO~z߭hPR߭ݬ 6RPݬ $9^朗TIݬݬ߭ݬュs~߭ݬScPORcPR~߭cPR߭ݬ RPݬݬ  ^Slլլݬݬ{ѬPPrݬ,ݬ߭#ݬ$ݬ ݬs~߭ݬ߭ PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ x8^STﻫR|~ߢPP\\\dR\5|~|~ ߢ |~߭'ݢ P\\2\\\$d \Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^SƪR|~|~ ߢ |~߭#ݢ P\\2\\\llU\8^eR|~|~|~߭1ݢ PT^cWY%Z,΀CЬSЬRBcjiǏVSkSySǒiSPѪjЪjU _·P ·լլ ΈPΈΈ 0ݬ,PRެTRdSiSRRdΈ"ݬݬǕiiiǟ PPf 9WW)WWWWWWWWWI9P&?PZn[Fn [Bn[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vie V1iU ΀1iǫ3 V΀1 si" 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷZ VǺi{ ΀1PݬN VP~iU ݬ3 PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd} P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[if 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi i 1rPi ݬi i i ݬ PѪjЪj@ ݬn PѪjЪjRjPi A RRji! ݬiA /ݬ PRެTRdSiSRRdiV1zVi1hi1ZPΆ Ά1Vi14RP`PORVSS~ЬTT8Cd.T1V· ·XP XX~SCd i@iV1Vi1PΆ1i,iVkЬRRRRiΈ/RPRެTRdSiSiRRdΈ"ݬݬimiM.i)!Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVsfݬaYiibijEݬJPѪjЪjRjPi RRjimݬpi/ݬPRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USgPSEdP1޼PE`ݬ$ݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪΆ i1+Pծ,1΀1Ԯ,i|SRji MRRji-'Έ%RެTRdSiS RRdΈ"ݬݬǂiiinjVVi1` i%Ά~ǏPi17P f%Ά~ǜUPif1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRwݪ c1ЬRݬQPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[jn[Vn[^(^%WVTfǸyݬPѤdФdRdPf YRRdfǻ9ݬǾfY#լ.ݬ*PRެURe SfSRReլ"ݬݬffff@@Lt|dLDtLl<|8 , l @VAXCRTLLIBRTLMTHRTLll CREE_FICHES FmainH read_fiche@PN raccourciCN write_fichedN show_fiche fF^ ASKVAL Q askidomain8DQ askfdomain4xQ ask_speaklRaskivalhSaskivalh\Taskivalf9Ufaskival3UaskcvalPVaskcvalhLhVaskcvalfVfaskcval,WaskfvalXaskfvalh$YaskfvalfPtZfaskfvalDZasksvalL[asksvalh[asksvalf\fasksvalP\ setcbreak]restoreh\^ getchar_vms0^ ask_edite?lre_ecrit  Q           -}"*[DANA.BIBLIO.EXE]CREE_MOTCLE.EXE;1+,yw .$/ 4$%-&0123 KPWO%56@7` {A8.ǔ9GHJ ~ BIBLIO.BCKyw &"[DANA.BIBLIO.EXE]CREE_MOTCLE.EXE;1$H0DX0205(@,h! CREE_MOTCLEV1.0@05-05  +<@ U  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001/usr/general/users/labo/jfv/biblio/BIBLIO/c_codcle.bibrc_codcle.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_fiches.bibrc_fiches.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_auteur.bibw+c_auteur.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_auteur.bib.indexwc_auteur.bib.index -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_motcle.bibw+c_motcle.bib -> pb /usr/general/users/labo/jfv/biblio/BIBLIO/c_motcle.bib.indexwc_motcle.bib.index -> pb %d mots cles %d fiches Fiche en cours %d fiche erronee de type %c!! type %c Numero %d Nb auteurs %d %s %s %s %s %s %s %d %s entree le %s par [204,%o] %d Numero %d Nb auteurs %d %s %s %s %s %s %s %d %s entree le %s par [204,%o] %d Numero de mot-cle inexistant (%d)! Pb de lecture au fread de c_motcle.bib Fiche %d cle -> %d Nb fiches %d Mot_cle -> %s Pb de lecture au fread de c_auteur.bib Fiche %d --> cle %d Nb fiches %d Auteur %s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)t^w*U6YV@[Zߥ7eT*Pߥ9Q*4*ńߥM**Pņ&* *Ś)Ps))%)PK'))xA)P+{))ŏz)Pv)Y)>R>SRH)RbSb<2~ʞb)2~2~)(T2RTR1(X(WfiK<-~ihPS{PjfD-k <-~khjfPPD7??????3???????+?PSPSSPf~gSSRR4RRRTgTT2\\RT'u'ScicPcP>'Rb6<@~b c+:6b< ~bcP ^~SRb<-~ 'PPmbD)-|<-~&>bPPD2666666/6666666+?PPPP~&2P^}V Ue~0s&Wg12~9g2~DgS2RSR)PSRBSRBdS%&S2RSRRŏQRSCŇSc%P cZ%Rԟ^%Scbcfc2~jcnc2 ~rcR>T2d~ƍ%T R12~Ƒg2~ƜgS2RSR*PSRBSRBƫ<%S2RSRRPŏQRSC Sc$P cƲ%Rԟ?ƶ$Scdƺciƾc2t~cvc2Ł~ŃcR>T2d~$T R$^{TYXSZcԮ(K$WH$H4$D0$,>@v@P PЮ@RtPP[1[2[~g1[2[RxRRBhP`10BRbQ>P`PbQ2PŏPVViTi~RTP.g2[RxRP@hP2`~Rݬ8g RBjZg2[QxQQAU2eP@ceAhRbecjeViTi~<R>P`PcRŏhVViTi~P`PcR2[PxPP@hRb@Qa@RbcŏRRiTi~ <@ (P^yYVҖW#"ZgS2RSR1!@!RbRbP2RŏR[[LHB~vHPQiL2FPxPRB?R2b~PݬɑXSRBT PSRBTTɴP1\2FUxUUEX2hTDghERbhcxh[H~4P>RbRcPŏ樂[[QHG~{4y['H~Q4PP>RbRcP2FTxTTD RbDUeD~RbgŏRRH~4ԓS2RSR1>^ѬЏ5~Џ&~Ь ~~^q }P}v}v }|^yRV"UTPPa^~>1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^xR|U|T'Z|WVK[TY9Xfݬ$ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed߭k߭iPO~fh߭fhSd1^Se1VSPPμ^wR{U{T{YV[WZ`XEWfݬ0k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^vRzXzWT'{V`U[XZaYfլݬf deѬ  dݬk߭jݬ ݬݬpzi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehgU ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭8߭NP ߭P^Yݬ|~c~߭ϋ߭PPP^ ݬݬ c~߭<߭PPP^tR1yլ լݬݬ CTݬ<ݬݬݬc~߭Ͽ߭-PPP^ݬ߭߭PPP^tRwTwSWwVU[ZYXeݬ|pk~M߭j|~gff~߭߭iP߭P߭DPvkQcd_QcQdAVd~Vc~ύS߭j߭iPO~behv߭qhehQc1UQd1LPP^sRvTvS_[vWUZYXVeݬtpj~z߭iݬgf~߭߭hP߭}߭9PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^ rRuWuVu[SXvެUTZYXeլݬe§cdѬcݬGpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~|߭i߭hPOPìP~cd߭cdQf1Qg1PP ^pRݬ߭U߭kP߭߭>PPvP ^xpSeݬݬ߭|~ts~߭ݬPO~z߭PR߭ݬ RPݬ ^oTݬݬ߭zݬss~߭ݬmScPORcPR~߭cPR߭ݬ RPݬݬ  ^DoSsլլݬݬѬPPݬݬ߭ݬ$ݬ ݬ$ss~߭ݬ߭PR߭ݬ URPݬݬ D]^ݬP~߭%߭;PR߭ݬ RPݬݬ  8^9nS*TqR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$da\pТ ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^=mSqR|~|~ ߢ |~߭#ݢ P\\2\\\l\^pR|~|~|~߭1ݢ PT^lWYepZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪjp _·P ·լլ ΈPΈΈ`p0ݬPRެTRdSiSRRdΈ"ݬݬǕiYiBiǟ5 PPf 9WW)WWWWWWWWWI9P&?Pn[n[n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ9ݬݬΐΓ~ݬݬ V1ZPVݬ0PVPiV15ǥi ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi}  P޼PF` iǮQ VVVDZiD ΀1l si2 1WPެRF ,b# VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USG PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬij ݬiR i= 1rPi+ ݬi i i ݬ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi Kj/ݬ PRެTRdSiSm RRdiI V1zVi; 1hi5 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT Cd T V· ·XP XX~SCd i i V1Viq 1PΆ1i_ ,i> VkЬRR# R Ri hΈ/R PRެTRdSiSRRdΈ"ݬݬiiAi)Ά >iݬݬΐΓ~ݬݬUV1V,ic1Ά?1BΈLݬݬ2i>RbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjimyݬpiq'g/ݬsPRެTRdSiSIRRdis%V1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlu*R9ݪ(Ά i1+Pծ,1΀1Ԯ,i|Rji RRjigeΈ%RެTRdSiSRRdΈ"ݬݬǂieiNinjAVVi;1` i%Ά~ǏPi17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcrެTdRBSiFcǬiiViǯRVDziKVd1sVi>i31X|~|~ ߪ |~߭#ݪ PRR2RRRl3Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn1[n[n%[(^e^WRV'bTfǸݬPѤdФdRdPf RRdfǻݬǾfcbլ.ݬPRެURe SfSRReլ"ݬݬfZfCf6fA@@Lt|dL|DtLl< t 8 ,  @VAXCRTLLIBRTLMTHRTL CREE_MOTCLE mainDD read_fiche show_fiche write_motcleMl write_auteur# h  f  ASKVAL askidomain8ȋ askfdomain4 ask_speakaskivalaskivalhaskivalf9faskival3PaskcvalPaskcvalhLaskcvalflfaskcval,askfvalaskfvalhaskfvalfPfaskfvalD<asksvalЕasksvalhpasksvalf,fasksvalP| setcbreakxrestoreh getchar_vms0 ask_edite?Pre_ecrit            -}#*[DANA.BIBLIO.EXE]EDITE_FICHES.EXE;1+,{w-.</ 4<<-&0123 KPWO<56v@7UA8 ǔ9GHJ20DX0205( @,h6 EDITE_FICHESV1.0 @05-05   3 4C"Gi 5 ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s inexistant ou probleme c_codcle.bibrctx=bin%s inexistant ou probleme On traite %s avec les specifications de %s r%s inexistant ou probleme Fichier resultat [%s[%s]]: .rfr.rft.rft.rfr.rfr.rft.rfrw%s impossible a ouvrir On imprime les noms de auteurs tout en majuscule ([o] ou n): On prend les references a compter de quelle annee [tout]: Probleme de lecture sort_fiche.tmpwsort_fiche.tmp impossible a ouvrir... Probleme d'allocation memoire r%s impossible a ouvrir %d r%s impossible a ouvrir... sort_fiche.tmprsort_fiche.tmp impossible a ouvrir... w%s impossible a ouvrir r%s impossible a ouvrir \newcounter{bib_fiches} \leftmargin=10em \begin{list} {\arabic{bib_fiches} %s } {\usecounter{bib_fiches} \setlength{\rightmargin}{\leftmargin}} \begin{list}{}{} Probleme de lecture \end{list} Liste de %d references (de %d a maintenant ) preparee dans %s %s %s %d%s%s%d %d %d%s%s%d %d %s%s Un fichier contenant des numeros de references %s *.num %s est necessaire  Un fichier de typographie %s *.typ %s est necessaire  %s M E N U %s  %s N %s -> choisir un des fichiers *.Num existant  %s E %s -> Editer ou creer un fichier *.num avec l'editeur  %s T %s -> choisir un des fichiers *.Typ  %s F %s -> Fabriquer un fichier de typographie *.typ  %s L %s -> generer un fichier pour LaTeX  %s S %s -> generer un fichier Sans pour certains T.d.T  %s A %s -> traiter le fichier par ordre Alphabetique  %s C %s -> traiter le fichier par ordre Chronologique  %s O %s -> traiter le fichier dans l'Ordre d'entree  %s X %s -> sortir sans traiter le fichier (eXit)  Votre choix [%c]: num Nom du Fichier de references a creer [.num]: .num.num.num %s ATTENTION, un numero par ligne %s %s %seditnum Fichier contenant les numeros des references [pas de defaut[.num]]: .num.num.numtyp Nom du fichier choisi [pas de defaut[.typ]]: .typ.typ.typtyp Nom du Fichier de typographie a creer [pas de defaut[.typ]]: .typ.typ.typOn traite le fichier %s %s %s par ordre %s ALPHABETIQUE %s On traite le fichier %s %s %s par ordre %s CHRONOLOGIQUE %s On traite le fichier %s %s %s par ordre d'%sENTREE %s Option inconnue %s%s Directory des fichiers *.%s dir *.%sr%s existe deja... w%s impossible a ouvrir %s%s Choix des separateurs: Separateur avant le dernier auteur [and]: andSeparateur avant l'annee [(]: (Separateur apres l'annee [)]: )Numerotage des references (o ou [n]): yYoOSeparateur entre numero et premier auteur [/]: /Soulignage du nom de journal ou livre (o ou [n]): yYoO%s%s Etat actuel 1 %s Nom, Prenom, Nom, Prenom, %s Prenom, Nom, %s Nom, Prenom, Titre. %sJournal ou Livre%s; Journal ou Livre; Volume: Pages %sAnnee%s Liste des champs a imprimer %s N1 %s--> Nom du premier auteur  %s P1 %s--> Prenom du premier auteur  %s NP %s--> Nom-Prenom des auteurs suivants  %s PN %s--> Prenom-Nom des auteurs suivants  %s NF %s--> Nom du dernier auteur  %s PF %s--> Prenom du dernier auteur  %s TI %s--> Titre  %s JO %s--> Journal ou Livre  %s VO %s--> Volume  %s PA %s--> Pages  %s AN %s--> Annee  %s EX %s--> Sortir (EXit)  Votre choix: N1P1NPPNNFPFTIJOVOPAANEX%d %s %d %s %s %s %d \item %d %s %s, %s, %s, %s %s %s, %s, %s %s., %s.,%c%s%c{\bf %s};%c8_; %s;\underline{ %s} : %s : %s %s%d%s %s, %s, %s, %s %s %s, %s, %s %s., %s,.,%c%s%c{\bf %s}%c8_;In: {\bf %s}.%s Eds. %s, %s; In: %c8_, %s Eds.,%s, %s;%c%s;In %s, %s Eds.,%s, %s;%c\underline{ %s} : %s : %s %s%d%s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad value No help (? for help)D^[DsVU[ߦ7ߦ3ߦ.ߦ*ߦ%fZDѬ1g~ߦ>W*P~eDPg IIIIIIIII!3P~?PƏߦjDDƙ.;ƣCD.ЬRݢDCDpCpCpiCPpeC8CDpYCpNCpCPDpCB>DR>ASRBRbSb<2~B̀ R̀ bP̀ bP ە̀̀ 5fBa CBP c?BB 4BTd9BP@ ƟSPƚSS~A,.AP:pdƤpAuPƩpAbPpdƮAPAP@,>ƳpMAPƸp9AƽpAPpƿA@o~&P~ APn Pm#Pd ll SSto@PRl@P@lR1a@WJ@TK@Y @XP@PS2SPkeP2PPPď-PP%gPRoPRx>P@xR1$G>:>O1puf>Pw>=<~2J~=PWƞ==ƽp=P_pƿ==WXS2RSRZt<R R|w=PRt=P@t`Wk=WS2PSPXTU=<~2z~T=S2hRSRQPT =T =P<Pv<S2PSP[<J<O5 <P'I <U</PQ<P Q<$<0p%<Pp2!<;J̀;P̀L;;x!P<h S\Sp;PRh;P@h2s!P8d SSle;PRd;P@d`SSh3;PR`Q;P@`\SSd;PR\;P@\SR PbRSi:{<dB:}1:Rb<=ƏbƝbƸbbPbX SS`:PRX6:P@XR1( :X9W9Z9Y9PT2TPke72PPPď-PPhPRoY#92.6OD]ً3Ċ\0mR;MFYZ~XɔT̤'\tvb%vɀ{J Z;#TaL/ ,JC)<g,|!PP1%UQJaZ{nx9"3 yJ<w'coףq\Gmy(*t(=D/Cܔ!Y˿+q99#ۣ+ð,d5kVnQvNT +99iφvbp _ N$qeY1VW®#y}u_>ݘtڽowO2δZ̏z%@æ928%,ppce\ҏ8X:׵1/XG:i9%R=/v㢼zwMBy=BY}b"+RMƮ92'E{ *TqH1 ;DWҢ%Qf4O&Kn 9P*'Mj4mda6k?YMH_nsl&*eɕI0=[/VZ8M_*Pd\w?¼=ERsR4*ZD;4:>@󒳠@Sn)mS RIЁ#Ů݋;4O n^k [{gf4sÃYpCP!FjF%4[:ɆN썛*MÂW R}9Gitgkv]B)Z]W&"4Mjqy sSPaH+lQJ8>ۻ#Nh:Ih@ܰm4Wt.xLQU mm!g2|SSwH:κh-lc R"Y[-=EsD?Iea{дN5j^q_^ӖTBC]T£6?,]DWVt&A7y{\y=}p=:o$\2AsSDC UЕ 3{E<[ L!,wc$xC9q1Kk5V&,<7I\%uebT)z)#-Dk3dFF殶"OיZFs)肞MU#28]RтԾrLZ8._cnCnN[S!+!6F#ꐥ-ħ8 甤!)krc$\:@!\<^Do:ԳΖ/qi@cBKIY&#Egj& vxA),bLJ]#3P3eMrO4K!d~-YNb9FG%;Ca&=u^ǣCA,awȫKX[GZ疒9?_~֭}ꘊ}5T*[_gCjDNs#OƑ1n GQ^;+R p9&;T+7 ?Im E6Ba;,_wC;ipNȑrA(sgM$yL)>iWC>+H?J/MfA':%ٹǍtB&LLt?t֘s;Xz/|"(**j5^GE]nQL1ysb߶|) $AV!e^%mH/ YѹI - #+u;T&8x <YQ U{0I gH 61st-=*qu6됛C1x \Z#GcjpkGL+AQzVCD*?4H?f9 Nb'Up<'Zef ٽ$=dnx^+ó|O}6 4r!RIMeһ|aI~St\51j-٤A=v6:UQ[lF ̐CI "ݕYt\|G?"2Ϊ)Џh5loX.99yGb4@axnך:;EtCRcLm_ b6uHeLJJlkx'èYQ}om@6ގI:5=`F)6NH\,D]Mk:Yzh]h-1?|`c4)6ԈE"јvP)COd<\r'X +%*?wRW(Z/8b)$f٫c?~ް18xd/c*пdE/:FvVMqr:3tٮXR(eSp_J{=_ $kf9:>PhTh lP- d12Ħr7;L>KBO1O (};{%Hg[n}^dSf3_7E IL͎Q)S,dىmP8䜩g^]ۻ~܆ 1"X1æ;kbMST̀6w"9S9~J?Ǯ5`upԔܗ]vy9Q5TL`u.}SIu,wD56&` u֯%W䴵v^ɗXzG&sVZuyY~dqNUGB)ijK;((e BE*l!B@d;fd؊ `cD o7ofB룤M"J+ی* 9Z̷oQYu L9 '#v hv[zE\gxj?|b n uEub:l =̈́Ƭ`ȄLnn3K>6UW袀 l0ḋN;ٯ^\EmPPs CixiWA-|]9eB@ 'j#LiA#VAulG!т edNv9u/Q+#9hf_Z<]||GC5@ Z)]HO1cdmΛ5&M{xE _L "&`CaҘ#f  Pu^b)*LΈ;+? bb 8uS+12sZY,ٟyUOIe7VC W3 /n8jĶSſWZy^adW=kPƂ́trFɧqNA`\lU/ h/l may\Rл-W= jrImZT>r;( ~}$}Zxd*MC$Ão8yӐv`Bǡ^1GKLgBc @{ e@+jADʉZF4L*ֳ_$F dd#NUC"MYAy|Jtċּ~vs8"foMyd ''Lr['3R AQr\#p4'FCvByePB1zOvrS˄bK:4u^Mժ5-nȲPR EpLNzc =L+@59"y|t[WWGB u%0pC"\]r#2ֲ-wg:dU74Y;_&'( ,XYBTupE\#wM9 0ӓ{yEj@N0'Q$(+t]!\vL0]#E$,:_4[2T%C;4nkUx(Н>$-9M!EĉRPLtV,6S)jZd*P HX@/uHXǶ(4/wl8W L֑gX3uL/p6Ŋ r-w)\=a7z&mX 3.&mξ^ rH *W*g[Zxl5al7ŧ Mb[dR_OZQ@߂ܒHJ L5&F[MvǶ xmP X燳PAM&͌5 RĬں⺼DYǨIK[;y!),w{dp0*RdȂOaj_p,CO=s]kQ8 @6 -ES}qVZX cSs, ݗ6TG^ʦ^uzIRMX2G^B7*?=/JdXGO+c9;wk޿ް+i$"(a ?MM=L˭!RWhVkQu;҇۸VkGg];5BQc4:ZIZy~eUWmn-k^}埁˺Ry; *y=s4Mg'-+b(^S9k|IH!´uĨw3TܚaprC#7.;ۤZX"X7&@U_ #O:՚ĸ#- 5ghuZ]eTV$ɤ-(`f37*5^gp.J{F+Js9?{%ˡi͘ZĪYrpxDR/§ι #AP>M#z0 ,N=>Θ.VoWul *HmBy!s&D7ELְ5.2Kjg2`ic'{qDkS-w׷34+Jx< ' vbQ>| ש墲ڒEؓRބE\F.;bC9+>jh3hfҬUMRM+{mxT-|gVǪm^C LmGHI@y0W\y"Q;yR@Kn)tQ)+0x텡uuɍ8L?DnهvlkM43F`}FTAtI/&RN#|Yԑ>UZ_'?ܸϔ/=M v1$[Lj ,CI%!7,H"x~15GdOQ;Bd@ ~P@8 r^$c$ݣy?y#ZkTqa`tU 曐x2 G-d.U;QEڬd8tKH1W)&Ըimq0P-6imgۍ۪gpS8f OwMtB79y>](^ZE=Y"HվD!NP̢aa3"֩.|}aQp}Lt|++KMv~ca:E!iٴ[H D)Z[Nv}a̹dKXo3/D VH[dm"LwZ+֢rl:w+E;Aܧ6dg_RAw_ݚJу5WNC0=fQִr譏1&PEP*txeŸMg 6Yu9|lrV;9ЀsA=\&V2yfEQ§ݑ:40Yʇd]q4FjbC45 W_&8Y!uVn]!01: O7YŴZ#a{DlG[? ԑNAI3 dVypxټ$Ï/+gXU8`_CcpMK'iܦP3A~2N' -c劐~!Aw3͗bN( t_b49UZw*]j'wRbl ]]-V/8mTY#T`2J=SH ya1AѭN50EWsnEb6X)ӏ?¿h=XRdg??yC0t7S>I{nkHF`9Yw(ea"=-|5b`gQ8خ&8?!Ab+J47o%Voϲ-̿)j11~1Q1ȖwrJqٴ/ᨛ(6Joj%wSL4K+  Va?Yҳ~E3.6};j#0F;o5gVr1FK+otZU{CQj Σ Xl:"ry tn,- ;܃rC1^7|M6 ߢ5bS!1 OM澙cxʴ$k9Khv4ploIAhu&7.y;ZfEc@3[`_thMZXo񖇒tՋojnw:@g)-.'&h}0kIrٲA|TJ"ԙ$ O@LlH/ubR D*jIxԙvCK{+4$.NWS'|T V+˸eUt@ ?k4CoЩ;ju,n {Ih osD$[I[eʴ"`ť$7hbӂc`O&aA;UEuWö%z QW]%(^/Aj?$m3k;jO-1KFn%D!>t@XǮaT|āY&!\Oha ~FϒXB.Pb6rI%khR~x ,j?:&ߦm>Z"t[-)ꕇbRhOFn=.88rq}p(s RwRi0T$VkceW˖@_GgWWN0Yzt)SEF5/=ݴ=4 >Ukȵb05ќ/8/Op_o\HNg\[~֨ z@X6ڑ~rg3BW7?$N $ЊX"v C'CVl;{+p/gMl9Q%Ue563ZcxxORj;9-^RmD 8|I`yP}| zZCcE8_]1uABw8F^v  sr2g")xڠ JӽSw5>kZp-۞ : ]cE_}]rd6Md|‡5~߆ I؎ bY#pۓ;=(kzA^UJ6t`痢fY?\Ŗ\t q.b QW?N2qXN5[UJR˥~1x>)&wS$} \ 9\Ǐ l`rG=8qdjy.;:T Ct8XqͶBP2BzjZKyZR#b^GpjE:[)YyF M /rT}OAhG>{}`۪~rc'h"R^G@s  QV s= exH^We";wM>]$1kdtf1,; ;Զ˚<)KKe\g܌FXEJtb/ipa--7m1< RF0{%a,fVs#)g&͜;x򙞐{dfi2$NH[:;gɽXg 5>w^nB8 #Ep~K;:R8-ʩ rzq(WW7'un?"B&A*Tt:j%ROMCIbz,u+q#{߀FqOՒX->~<4ݴkR\P^+f-o,[ 9|lU*ܧ)vmvkQZ=9;t<)} @nܨJ&4j2$& [ʂtFj?QPywNfDmkǁkEJaA m8\3=kYpa`yCn*#xe )vlFQ ?Т_툈(4YGt>Tc0 wYNH R7ÉQj-]ILjPy rLg7ɲDUN_P 1kЭ\]`Y۬lg78jRk,N 6s j{-bX ^WkBӄȄ]v> 5ud'Yfr 7qxJTt:O%h("/u࿖ox-OL6WlSQa ɢ|0pnP>ly^^wav8@sgI=Ub!MP/g &Ҝxm9PbF^4S?t^/<\FZ9c<!VG$#TISBFZ:# \5q/4<>s肭z_; A#a""(bHwFpՁNq O_Ut/(\Ƹ=Д^Fuh*)FX~W9r_DBaᲯ wP{"zrqBiD wfZnR]-PL ̱aO*G!2QQ<˸⹂n*>C48t1.DDױҦsb^įn;tT89;,]Rsψe0Rw)P-&:*(U̪j6,yed-}(+IDxғAۿg(hYu seVDA_zvjt`X bP@ ֞g.kZ~B OQ09܅5!N|d{h0 $(u`!|_F7l]}S#V]U)Z9c#AOa`pqo*=s,Pn9ĥ υ0}h (?C9lpK;&z@hjl|aP_6x[?u !@zc.XʧHv惦Ec_P;+3 ]xcy!,ΫԨ&$Fr$~e#;ҧ'[MװHV d҇ *=?ZS6M%{ՏW)q+Γ|ia^?Y}}lo}ݝ,R*]꠻?Guh)V'}u;Su(d-_bMOThp* \R @g#GYlZsyA ՗]5e޳^{I[ x!LLH8Mm-r`RH%^?ʏy͉W2B ; Y؅ u2G'dM!>F[LZͦqj"Rh,s=!vYNA:7ԧ}8aRʻ5J]]]RwYhN9\A m%$?7C9ԻZ;~hZ~kC";F̖bHRy\U4CzvV@v\oL-_ά 6?+F+eGEjxgE)H5"K=! ʮjӜ@ K&@f9f,8.a 1'`^)O.~u;ڴH5l7>.yzìx>P`2yF" wL~-ɿ>tMMhd5A"G|5>34 }XBw>H϶ƸC1ԎL.5{GX2a节#>[I`^r4 %ނ:7t'4܈;vyPM \vDP 6_5*oLh*I޻Arqբ x8ϜUDEFR!mb&F mez|{ŝtn Bl*ioe3f}4H(TE4\B/5[({TFm\ UD=U l{ f dIc;[P'f}wJ­ؓNvoh2i|e{PI~hѭ~0 l$']2l\? F* fکlI$ZNXH<b CuƭhFdQ6l3U=@*4ݑ:AJ/`Q>׭wEƣ7d<[eߟf(  e50XG"aIO2m Y Y&8+ KQ̨Fw Dw^ÿNj!LAQkF Jwt wGwwfocp%^3]As9X(LbSȻq;Pw}o\r_C]| /;,qsF >(-d^mܾ+ 3u˲7[N$ZjI_TUfy~pÖ xp͂ɯ0wFj,`=s6z+nYɰf !`I^f&L|Esz'3}AKk(=o(7_BH @^P}2>g>GTN,q4pcpю+DvKq䍋d)\0\pHX䡦{epeD4;te]qil?C=W2!'OlӰ\B=W*m!8qe)w"2GT]9ȼ0SȽgr14VUJ 0@88Lόx@rH3AS3ע ⯃W{9~ZfgI; z˱O/ ؝w$i93̍VtUgPzvA(CSܣ<8ߵ-{U'N7kc3'utVǾy[/ xۇ,zj&GvS3a&/hTI2f ܃m)@3 2f:!94%>6x5,RW':LadOӉ>< U`/%>d;; zz\gYp,* SƝ@v4u~Ŭ_aJ 7k bTE6t,f33mj/fbt,4ݴqX* N"1q:ДQtl`^f浐(bݲ6rԘ֬zqv.'A0n+\s%Ъ@zvֈy蛥 o_e6ppf+L@25r C܁9. "ԻW&Fby(*Uh!r qR,21a1tjԚdR+s̷WTޤeXk0ntQ?!)e:> /3|rVy[qF(*6V?wbLD#z0!\  tP2#[^ADyn5rT W%˙ACY̎IC7<7͸PWG^Xu5Q8 t2u>Jb<$C6=%$7$>k3ˢV=LA2TB܄؅d ;{ttqV!}Je,^W2 cW[`?WI} #%BGˠhkR0A0YBUS5O#G[r~XN2n{7j?_=p6chtj6L .%ev۬+x0H'] ֞mmR1Ӟӵ@rn`n H|8y\ßCӰ U䢒@[:' 3$烿";n<ySza쎷pO1^AKc?NHx3'to 8*aWe~CH#̓'4ġV<9`, j]&H­eHx!Q ͠G?zOKG0F/(h/)~'HA(&D؆d#[geJӫ7_ 1kG#ۇ2|~'NXyZO9>Wq'D@!){՝FtԛL(#\v]E6.;t1ƚNz]bL`c-n |<‰8&gً S 1JfQD"*d@zmaaVѓzsQG$ߡ/Q&-:˘ad:(80al9eq 2xŐ&Ug:>:]j/DRs}-ݢ(' bE4xǪȳ's'MO'S\0s <ػ,v;M1`@D 1 TFR'z" ˯uřq4#q?M%LY^ŌĨ{C˰$栅Ø|wvJQT(Uu y .R70NC-Mso߀-V9x`bBޢW$\͏K/X/KS+vU3*\WWnE"0{7H 4aW(WgU?ae>'( Oۃ)Qǵ:5Hjp{?m1DB}7Q~SK҂:`?'/5ZF D4-PNAf ^ƫ2/+UCe1M6mkB0$HӰf%F,a~wVrW5)Bl2\莞Pa> :dSddgK. |]K)NW8/gʇS埽8&LRvCqXm 29]6w [qk)ÀM:+A!*X1=lfO'˴!@9WR@Ԡļ zeSTF}sw C6jNv "N+zw,( $!V'4H)ҞʠJhڨG|6D b7km*=lScHy / i2|l#<`3*ٶE2ܠq)/pD!b7Ib r 41,w6uP*Sgu" !- G ۱zrv^P sB^(SnV'YsChe:w/%ޝ&s(C:*yQkB&tȅӒ XG!ľ6tŴ=Y1&_t7w7TRHDgcE{_TʟXfL0)).q0DB3q2뉬#}^3m<~y"Uazp4ra<4( 4[?>F [{D78,WbӘu$+Я Ofv>q Hz`^d5qF_)6tReS'L~Ȓ@bO"lSrtmݿ+O֟ S.Z\ Gru`+|c8|~ 9(1%t*A}NG9R*qe:OahHlTϓLne;tR^¢ReOs9OPvLl҃>v9U#QZXJ]7"|vS<Ōowf: xT_ddw@1nxm]624?mQOo#A*|s1pZ[O¿ HAnCIɟsW9-ӘFL~WOc/x=V^AQđ2X쐰Ka61w?$(`0m/ryBݞm+#kmTcP<f3ĶQ}ymB~VMh ^HK ,7j8"x"Pm+Uݦ6P\H@'3ӿGpUGþCra(E WGkOm7kŶ%1Ygsv?"Tb.o'k3 IxS/qiǸ,TV55)WJ ^ȑgABqxP7i*G@8;ZRxFݢs2U^kn;篣2gNKAJ(8׶s$"]B 9jY$?k2%)%_ |->/4epqiM.3, J;T![314n_O[m(R@z>vq:q/~_O㺟o;J0Mt"R 5݌?Sɬ*ܛźjakTPg@4QXG@iQQcJ-q ں:()H)I Ho*,J=xHV/-ug) %C= JaI\i$]v..] -DmM`--]05zGWۉ=FJGꁘUCSq[UH+alq b<χG@-m@5s>t}єvs&hETA\}^X9"h&A^Rjc5՞“';}BX'"!4L)vjN +&Y 8ܘZp^ʌp$$@1F5-5RoOwC^f s6MaVk~vģ\yȹ_*,&`'jܑyW7Ýڳ'w_:(!崬z'}m"2AFtxܤN26?K >udLV8z^QLW*-!d=z_LC5ml d S +Ea} qPMh`þlrAzކeWX[qR3v :rKgW^'kD\h@^D>OR)L%q#î =G4 h/3QL=mh͝$KoTW΢BLD.=6.QJ840yc˜$eN& 1\B .ϪN^ZPv^/4#6gw4F>C7i:L}i.+q$VI@tMMՁ8]-f3A:`&t\E 3KbW0>~oٺs5v>;"0$0hz2=j2Utyqt7 &AҪnyD\LȽ,W2fDnr6sԬÆHUuL^PH>.l-1:a8t<-OLqqpp! :J ~keJN\2]}D`Ќҍh),iIcR67#XMmf*cwNIcJ/ÕB9 S@Oϕo2(bY?,^}OԶ]uJU_D(L}UٺaH@f2sӗO.Єl2rM)kWfBоsLָRtXhv Y7t73U@R:1?z6"n\NJz̿#@3 JǝbmRH z~(Mg,%gyTOT=%-*-ƻ:djÊa~AR&[K!,j)oZ "U :VlfHT.+y-MtCw叶$mE*qݜYpcv6nq+Y[t\q#3LLXߎgv('N=t2ӕ5;aR,PSjyMor d|3yfeDA\ K$xWxINq#fjkwԢ@uD9>NFOwn?[ts͇ sgN뭈~kX,XVY WRUW$Vٗ4ػ[E]x&<6n3ț d7qzňZ2]ZP[6iq2{͜h=e{&kslhǤ ]6lRc<+MC?QwI[81e'V$G~e*< B85mEkc)̘NH~ҭ/Jc삧qbg8q'p%Ad2$ c&n8}E-l/ ޞBG9ߍJW|*[YUlNȝ9 >V㖕g$ȶxHߡ*ZiuӬq @m(I}Y(DOu63>:YןG}Z#|w%uG3ДX~xK^nUci|oG1󸷂8QXo$? sL(^i9V|hk);n5y}fg, v4L-$- kEH81*SlZ1xoP7陈4[N"FR櫁X'qAƣc4簽X6%6;/Gn[2A=!ZϪ1OPÁ">y{<1S๊%9/1fP =J8V|ش?C$+R:`~nEǬcmQ\BFףg){5 eK$th:}iz$w?p:,н@Nh2mh:lXg5)ۭ݀!OnHރ42Q -Z>zt) fmC#|HTa q}D7 z?ܲ/ 7 N-,CSՉqw>=b:fjA+O6dP8.M4q]?ϝCdn]ﴋ.2zFb{5 -a4/0:kW:(:F=ch5SmIv0'՚w:6BAsg~y7fv!E-osOӸY9*9 x] TQcĠݙ1]t 65xqjd.h;gʭp3=NFƲ\,,etݍ֔6I˷gMpL2ГCjOM(k;o :UO!|<-)+|}tw w"xL)z3ޘ9QIsj.M-*z*/{zw¼@QS}#{\M( ;N.9@GQfRf"蛷;+3">U]<*{w( OH^zëV\֙4Vy×y^hmc>bsP JbY*#*([[+Q% l{;_>5l؋_6 H`Rps X\ ۠ԝ G"xYm ,G=ԥFûew,=lQX=jN;<++CJҶl+숩r"2nVx9`3kSzǜNLʶˉyװ.J..%nz>#/̺DC*~.uBε낕W`|Cpr[F&`y_]}*Y`q֚2/>Wիc@ҐbA%oC`15)5M0XO؈ jc ^vtS#{`SջKӏ0lHH>e~lJ ~`UO&Ƈ]?BBVB^3epQotX:*L1b)E2;0/47E[o-4Wgw0X#Fejv$0vyLag"D@ =LCЪ4BR:UF7p K/o:L#7^>sjR9 Ҧp_H tz8Rɞ(;jٸ3G̅W)i|>cH>9 -)Dkϕ0=3Ӑ-+#j+H_C-;xW]&+;uZmf@EylNĿΞ7)A"z|7# ϐoJV;}M$0 [[L[5*`Hʿn 0HB} iC۸DeK=&2Nq^wy'}!t|%ϕݏ7e,ʯ8-FFyW_lnp9cyx,S~' K]WIh+X!v>I=n0A|*)[r~;;P(-9`q_o)0Bsp[:!ZR ߿}?*'g@|>zY]8-;A(6m՘<0KÚdWbd~iƜsu f,0 V:uӛ" ~h(؈FA@Bt8'T[b%:i1BJ8Z[حKR6ZٗcDh|̷cP{Lk%¸/&uU]#fHルن(^m4AE?9ە AJ;˜7($bet+ BtYO;F2@D/)5oIf_TLcE|t]s 'Dݫ `#嚎wlhw6dglu/=#M{ᝃ(_WY*PٞAY;Zݛ `d3Ŵf-W=nFIԞI<':jeȆ"R^^=쵨bnq)B4 Eb Jz=}8/Z23 +x{ɓ[}JJ0{ׄm _jnΏ`˱Icy@@\S'(vs6R\%Ă+džs Y})6)B~^g^uOIH"i)P]i "&mEdܞPt6 ,>յăvR jn+%5~wVx<ʴYċX+d3bT'|!r2uPdadcRYyJ~}sCOǺWBzK]g#!T0_ԧMi /TAxevi(˄|\}x2 ~`|Bfu/i`P+$ApzJr}swx.T{-ИGYn(&{*5A\BL[@@^ %UR'hqK>g 'SrKq`p,' yHVԎ2n|D@M~otȕk;jeHkA{,LG2:5#Lb#_WHW ؈ka}>/ /x^wA݄btz0 pJ|A|#6b'pU=uL0דѓcҾ HgAMq%""~4pix"Gq C&u6(+#]=mJym~ ӫmPx Z$oSNƠQh `jQ8~6+\a&ǮV(B a747$?a[*w|Q crt1Io&l_ s }C7c 魵S7, I5Rja "gOTkVۨ6JH޼߭v!:p;(q,y9 =u%ѠiMwVH T4e+(ICud*F,O1߁])̛KsHdt5Ӡ ;fKa8-~bgK !n%dVYeE+>A-95Փ qqНC׶wK@S*)Nua)GYwvN$.y鐞VyջFF9ћt6rB[>%64M1`$ LUk,d͹%lKB5xL+,i O><!Pω3YrW'cF3SހJ&sJOiFޕm-;6u!DAlMCZ{&-]3M|)J6]v ܆'OGu&ǙƎ-N-ƨsTץo6+vZ»ށa^TԪh"76a//L3;:t4=^+CL91' GpHE:0m0e ҡ/SWPt~14?<۹(7YBJk=DW50xYqsnG(\T@q .cn'VO׃P@#MVbFw0uGDtz9gC09/FHAiU6t@֩BPP7W.+ub\pTl$2"td4okmR|wX}38 2UX$䝲Zhc;Juk['" ۉ/\;2n cWxO. G!&SymɁ0w7hV;wyA%x)F9x`La=mQ`uO\-gFR**3Qn-v*̈~ t2amW24.Oh9]K橫Pd鿹\k<-IL1]wb gOPKb_Y0(n(IR]̉WldlV0p/evR# МxGe>)_J* \/9Y$/O). "_4~I=An(NjzdgMF4T!w^1Lx^*PItՙ;u$nG7D[ . aƝC6'FڱaZMxD'&rԻ)5<\D^g*+\'{:3oмR7x{V: ?c 1}OЏ#>|`zcgXZBJ: i@h> 88M~W1YcL(\dw.DYRXL9XW:C1N{S䚖Ғ{a=;V6xcR3C߮[eN 2u+rRk%!;@!NF'z"lWvKZZ,j(/ǣvM[yB;XHÍH{ P>W%ELyf቙[> %NF͸N2 }~I-E VOf=U"dCHΦ<84@dYCմri?!ֽ`Mgx(% 1b(5 h&:|%w(X#NÑ䜑88!J1sPcS)dw+Ro `uH#+'֠ZbI'3'D'ʌ2jj]e>2V'뭦XX^$Cq{̵PDōj7}RZDSkP^Ѓ|wL-SD/QpѼx,As|h ,PggN#7fb.F bIC]b#x<ء#zGW(2W;Nr,c&}[eJٔH=@)~Pǧ9cԶT .4GN0 ּj V]WDUNLrYJ3Y-,3`n&pGɒtKy X,^&v'DR3'իihX 9R'DO)<ˎos fe-xAlşed4re5y>i)xKa^b)K|IQ{t ,27s/YH1vX7R_8iYewG UOm*vj엜ġAs%}&{<Id/;K!ƖN r"4sc4 o,mj="2x(#(7S~uCV D \xdE뎘RmM(rinSaCn"e+)ae]t&qXű=Yr?[XxOO5zMRYw6rNY(\E)*V?}4Mm?`Ɏvk }s8&R"CV Y >3qC-u"fGks<&"3 7mfpW҇fg(PXJ ƳZU'G]A f,S_쇘G%olpt|;⹊$DTYI!0b\ٛw_dg\g MdfEl4I@DG ,1jc',L$CRԟ4~cLv]#cMr΋q['*\'4 <4-dl(jzi6R}cd`hS@?8uT7ak+a Lw#;}F!ɈlDaPBao)ZšF[]zּ*y tIƀc㇬[o:ԣƒi/}/Dl>.z./nΙ O1DHC x 3M"| ̚j +p69c*E} (u!4$rr}B Bl{ȭ{ 7,Ҽ߀'Lئsh ͞/\g沚JZ+@. er`, ,,c/~rlcCq1ލ⁌Щ]9o{N*eb "YOE+/gcw$HܤlL$-1 gRv7I2FRz퓰ס&[Ckhƍ$DO; \i o`[yS(8M@+p,$[@M-Gi,vP;U_$=وt4y$P1(Ol v#w; T0ev 2P*%4 0Aa'JňM|E`al.sTO/'s p.אUn;,aCbv)κ"QÞʱoF0H,s5U/F@yi|+VDʽEDƩyy|t;,4J _Ś&q<#c^R h VZ(Ȏ2zV䉕f1EM*/:W1GOWu4;jg5Qk`$7Y  Ct;̷rc;aԆBi0@3v'U9\(zp_iMȆ`[Ghױpzon'+MMF$O:tZ+**;ozȽ17vhNLP$|@g2|Oq@:jZtN5R%5q1 7u8Ң8v‚h|a20O!P/a5En$8s^G;`g:#IyL?a4jgLECW{XGgX'b+H}1 vjE@o >-+uoKyIyJu[y+yAG`3&(_XrV55W֐@}`z$~UZӯIa a<hߋ9Sq"0*Ox`(͓5bF9>g*09E4갓r񵴽Iy}$O4e1LDkH[6%"Z3^n>8> t`Ckŝ:K)1\W/KIǚwJXA%s`L" |sOoN<#L>+ 3u mq(u9e"oH6pUXd8iUE}'~FԒBY |ÊN!U"bNR t/螺 B՜p;b=C8E!BsᎧp dC?]D@+nL{ gi>tC0q7Gb'u"CH,j |@ڣ? vhDxia$ϚI&LshG˳J 9Jlއ6#x!+﴾C^40&<<Г~W2Ed)Vg9=7ib N=q "-آ̯IB6dH9]ѫO#i 9k>ك7dx-"hl\4T>d'`4gljCxI.}=emܯ 4Yz-Xg!!iQ_Cq/NZrkv9\^ϥAuψ'] DջYYA/Y< &(!J5n0"MͶ2 ²YXl? 8pZ8@  Ď,+4 w~D 3e ;ȸ-bF~+Y0YJ$Yw8 I=L~ag٘ܥO`_Г`gLKuǺ(52_jrcJ!ij:Py5Z-ZpH ޲"ZIplrݔhyU''BLS;,li]ýԅP//rZŐ~>p|.9lU>Nrװh+Y1h{v)RA6Pš=$7έeB @!DZ]8o3Y8+e fbFOFi heVrqe b?%<;t7k~~bQl"-q=]1e>pR SL1Xat,J ^X0@ Z>G%1Y^C:[f0Fm Jf&L(0ws~;X[b= : '*^X: -|/=>cg>3]4lfpxmAsiX1X?3I. b DjMfjFUPM*[`@eI`Sx|gƥ~|ocQݟAqg%=OOl,Jj|Kc MMv=Z1P?Pgf Pgf P z T 3à e3e3ЬRRRR3PP.ЬRR3PR߭3߭3IR߭3#.߭3P{3P߭y3P@(߭T3\W-13߭f`\3\2߭ݬ3Pk z T 2à e2e2ЬRRRoR2PP.ЬRR2PR߭2÷߭2HR߭t2ü.߭t2Pc2P߭a2P@߭<2߭ݬ+2P z T 1à e1e1ЬRRRR1PP.ЬRR1PR߭1߭1HR߭1.߭1P1P߭}1P@ ߭X1߭ݬG1P  z T 1à e 1e0ЬRRR R1PP.ЬRR0PR߭0M ߭0HR߭0R .߭0P0P߭0P@W ߭t0߭ݬc0ݬPݬ_0P3ݬQ0P%æ á Ý ݬØ \ 0AhPPݬ0P3ݬ 0P% ݬ ê /ChPPݬ/P3ݬ/P%> 9 5 ݬ0 /OhPPM/B f/2P^^Rݬ z T >/ݬƒ )./. ^MS"Rbc,g2PPď-PP.PP'PeUf~%'PeRެZBW1o&U&VjXW ie1hWdie1TWOR2PPRP'RP@RP@dieR2PPRPڱ1ݬie1PWOR2PPRP'RP@RP@d"ieR2PPRPڱ1ݬ+ie1PWC12RRRB/ie3ie1sP5ie1dWC1V2RRRBd7ie;ie1+P=ie1W?Q~?iRŏQRQAÇ/~AÇBieR1WwլZ1Gie1RfRPPB~QieRfRPWietnYie_PW '^ie@pie1W vieW ЬP2~`zieRBhW1rV~1Z2RZR1A$W>$XZRBUVe~gPfHP`PPP@kRe~gPbRe~hPbZ2RZR?VUf~#PeQRbRRRBkUf~b#PeUf~I#PeRެZBW1"U#VjXWĂie1\Wćie1GPWOR2PPRP(RP@RP@ČieR2PPRPٱ1ݬĔie1WOR2PPRP(RP@RP@ĘieR2PPRPٱ1ݬġie1W?12RRRBĥieĩie1gPīie1XW?1J2RRRBĭieIJie1"PĴie1W?y~ĶiRŏQRQA W~A ĹieR1W1lլ1?fPU?ľie1R?fRPPB?~ieR?fRPie1cPƴ0MieÞieie1*PieRMfRPBM~ieRMfRPieÞieie:~ ie1?fP?ie1MieÞie&ie߳~+ie_PW 'ウd1ie@dCie1W iIieW ЬP2t~`MieRBhW1~^PЬRb~vPbR^ݬݬBQPQQPP^ITЬS֬ЬRb~'PcbKЬRRP`PPP@dRSR~PcPRSR~Pc^ѬЏubЏfbЬ`bQb^q bPbvav a|^]RUxVUGTPPa^~>1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdpScªec³f^]RaUaTZaWUV[(YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edv߭k߭iPO~fh߭fhSd1^Se1VSPPμ^\R`U`T`Y_V[Z4X Wfݬk߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?edu߭j߭hPO~fg߭fgSd1_Se1WSPP^[R%_X"_WsTg_V$U[ Z5Yfլݬf deѬ  dݬk߭jݬ ݬݬ^i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehgt ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭"P ߭P^ݬ|~#c~߭ϋ߭PPP^ݬKݬ c~߭<߭~PPP^ YRq]լ լݬݬ C[Nݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^\XR=\T:\SW0\VU[kZYUXeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~rS߭j߭iPO~behv߭qhehQc1UQd1LPP^TWR5[T2[Sq[([WUZcYxXMVeݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^LVR-ZW*ZV'Z[SZެUVTZPYeXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~o߭i߭hPOPìP~cd߭cdQf1Qg1PP ^TRݬ߭߭?P߭߭PPvP ^TS%ݬݬ߭|~&Xs~߭ݬPO~z߭PR߭ݬ RPݬ ^$TTݬݬ߭Bݬ=Xs~߭ݬAScPOR7cPR~߭cPR߭ݬ RPݬݬ  ^SSWլլݬݬѬPPݬ<ݬ߭kݬ$ݬ ݬdWs~߭ݬ߭_PR߭ݬ 9RPݬݬ (1^ݬP~߭߭PR߭ݬ RPݬݬ 8^yRST;VR|~ߢPP\\\dj\A|~|~ ߢ |~߭'ݢ P\\2\\\$d%\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^}QSFUR|~|~ ߢ |~߭#ݢ P\\2\\\lm\D^TR|~|~|~߭1ݢ PT^PWPYTZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪjT _·P ·լլ ΈPΈΈT0ݬPRެTRdSiS RRdΈ"ݬݬǕiiAiǟ PPf 9WW)WWWWWWWWWI9P&?PFn[2n[:n[ cnU|~|~|~߭1ݪ ΆΆ iǢ$1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬoݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬݬݬΐΓ~ݬݬ V1ZPVݬPVPi V15ǥi ΀1Viq V1ia ΀1iǫC V΀1 si. 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷj VǺi ΀1Pݬ VP~im ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[ir 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi. ݬi i 1rPi ݬi i i ݬ PѪjЪjd ݬ PѪjЪjRjPi M RRji1 ݬiY N/ݬk PRެTRdSiS RRdi V1zVi 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT\ Cd T V· ·XP XX~SCd iX i V1Vi5 1PΆ1i,iVkЬRR RRi MΈ/RPRެTRdSiSuRRdΈ"ݬݬii>i)1Ά >i'ݬݬΐΓ~ݬݬUV1V,i'1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVfݬaYiinijU@ݬPѪjЪjRjPi )RRjim ݬpi5gK/ݬGPRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdAP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl5RݪΆ i1+Pծ,1΀1Ԯ,i|cRji YRRji=IΈ%RެTRdSiSRRdΈ"ݬݬǂi)iMinjVVi1` i%Ά~ǏPi17P f%Ά~ǜPir1 PRP`PORVЬSS5ΆFVRBFcjެTdRBSMFcǬi-ViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬPP:nSPCbݬCbrS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[Zn}[Fn[F(^BWVgFTfǸݬPѤdФdRdPf eRRdfǻIݬǾfqFլ.ݬ~PRެURe SfS RReլ"ݬݬffBff@@LLtL 4l<d|Dt| t 8 ,  @VAXCRTLLIBRTLMTHRTL EDITE_FICHES main( ( print_rfr Dfgetss0 tmenu4dir_extDx read_fiche@def_typo edite_rfr+ ,strupper( Tstreqt capitaliset [ ASKVAL askidomain8 askfdomain4T ask_speakHaskivalDaskivalh8askivalf9tfaskival3askcvalPaskcvalhLDaskcvalfĹfaskcval,askfvalaskfvalhaskfvalfPPfaskfvalDasksval(asksvalhȾasksvalffasksvalPԿ setcbreakrestoreh8 getchar_vms0h ask_edite?re_ecrit            -}!*[DANA.BIBLIO.EXE]FORM_REFER.EXE;1+,x.$/ 4$%-&0123 KPWO%56?@7`%A8@ǔ9GHJ60DX0205(ϱ@,h! FORM_REFERV1.0ϱ@05-05  ,<B U  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vrfr Fichier des references [.rfr]: .rfr.rfr.rfrdoc Nom du fichier choisi [%s[.doc]]: .doc.doc.docr%s inexistant ou probleme w%s inexistant ou probleme Marge gauche [10]: Marge droite [75]: Indentation de la 1ere ligne [-4]: Justification a droite ([o] ou n): Nombre de lignes blanches en haut de page [3]: Nombre de lignes ecrites [62]: Numerotation des pages ([o] ou n): Titre a imprimer en tete [R E F E R E N C E S]: R E F E R E N C E S %s Liste des references preparee dans %s %s %s %s%s Directory des fichiers *.%s dir *.%s %s %s - %2d - (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^_&}TVWߤ7ߤ3ߤ.ߤ*ߤ%dN& \ޤ>ΘΘă~X)&Θćg&g%\\ߤB.\&P \߭%ߤe߭%KP\߭%ߤj.߭%P%P߭%P@ߤo߭%ޤtΔΔă~Xg%ΔćgZ%g5%\ߤxgA% \g߭\'%Rb. "%P ߭bĝ߭$F ߭bĢ.߭$P$P߭$P@ħ߭$߭ $Ĭ\}$Pv\Įu$X$ M$PB\E$($ ScPZK~cP[~cPYo~5 P~$PnXPXZcP}>ĊcPio~Īf P~#Pn a PUͨRP`PRJS#RZYSRS.7#RRSͨ#gΐ<SSΘ"PRΐ#P@ސR1"U"SgePgfc fc)fͨXY[ZQP`PQgΜ<QtQΤo"PRΜeP@ޜRfͨXY[Z34"*'"T O""P ^ݬ ݬSS!PRS"P@RP^UyRݬƒ~X!ݬ‡!!^yV4X!YT4RbRT4S4Ɛ4h!hݬެWgUUnSSU[R URUg TƓ4)!SRRTZݬ$!PU1T!WZ[ЬR֬bUZ1PcPPP@i hݬdcPSPS`׬UPլ4ݬ ݬdp4ƕnw =4SQ4P`PQZRdƘ4gSRRdU1E4 |4^; TެUeRR PSCbRBdХRSPS@bCbPPP@dЬV Cff VPUUPVPUQ4P`PQЬR4SbPPP@dPbPPP@dUPUP`PbPPP@dPbPPP@dU USPS `SPS `bPPP@dbPPP@dUPUPb Pb4QUЬR֬bU^EvTrVoWU2YRNRĝeR2fPPRPğe{R2fPPRP5GRìPPPRP ìSSSġe;RRSgģe%Pĭeg^ѬЏ9|Џ*|Ь$||^q {P{v{v {|^wRV>UTPPa^~>1J?PbdRScߢecߢfcߢ+d1Scߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^vRzUzTCZzWVs[Y]Xfݬ(ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed߭k߭iPO~fh߭fhSd1^Se1VSPPμ^uRyUyTyYV[ZXiWfݬ4k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^tRxXxWT+yVU[ZYfլݬf deѬ  dݬk߭jݬ ݬݬtxi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehgY ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭d߭~P ߭$P^mݬ |~c~߭ϋ߭)PPP^ݬݬ c~߭<߭PPP^rR5wլ լݬݬ Cxݬ@ݬݬݬc~߭Ͽ߭]PPP^ݬ߭߭.PPP^ rRvTuSWuVU[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭HPvkQcd_QcQdAVd~Vc~ӋS߭j߭iPO~behv߭qhehQc1UQd1LPP^qRtTtSc[tWUZYXVeݬxpj~z߭iݬgf~߭߭hP߭}߭=PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^pRsWsVs[S\tެUTZYXeլݬe§cdѬcݬKpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~߭i߭hPOPìP~cd߭cdQf1Qg1PP ^nRݬ߭߭P߭߭BPPvP ^|nSyݬݬ߭6|~rs~߭ݬ/PO~z߭PR߭ݬ RPݬ ^mTݬݬ߭ݬrs~߭ݬScPORwcPR~߭cPR߭ݬ SRPݬݬ BI ^HmSqլլݬݬ*ѬPPݬݬ߭ݬ$ݬ ݬ(qs~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭Q߭kPR߭ݬ ERPݬݬ 4=8^=lS>ToR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\lТ ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id+\ ^AkS oR|~|~ ߢ |~߭#ݢ P\\2\\\l\^nR|~|~|~߭1ݢ PT^jWYinZ,΀CЬSЬRBcjiǏVSkBS5SǒiS1PѪjЪjn _·P ·լլ ΈPΈΈdn0ݬPRެTRdSiS}RRdΈ"ݬݬǕi}iFiǟ9 PPf 9WW)WWWWWWWWWI9P&?Pn[n[n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬy ݬݬΐΓ~ݬݬ V1ZPVݬ` PVPi V15ǥi ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVViy  P޼PF` iǮU VVVDZih ΀1l si. 1WPެRF ,bS VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USw PSEd P1޼PE`ݬ@ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬiv iA 1rPi/ ݬi? i i ݬ? PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi Oh/ݬ PRެTRdSiSi RRdiM V1zVi_ 1hi1 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTCdTV· ·XP XX~SCd iiV1Vi1PΆ1i#~ BIBLIO.BCKx&![DANA.BIBLIO.EXE]FORM_REFER.EXE;1$q[,iBVkЬRRcRVRi;fΈ/RDPRެTRdSiSRRdΈ"ݬݬiii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2ibRbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjim}ݬpi+e/ݬPRެTRdSiSERRdis)V1VVvi;1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlNR5ݪ$Ά i1+Pծ,1΀1Ԯ,i|Rji RRjikcΈ%RެTRdSiSRRdΈ"ݬݬǂiiRinjEVVi71` i%Ά~ǏUPi17P f%Ά~ǜ)Pi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVVDzioVd1sVi:i/1X|~|~ ߪ |~߭#ݪ PRR2RRRlG Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?PnQ[n=[nE[(^i\WfV+`TfǸݬ7PѤdФdRdPf RRdfǻݬǾfg`լ.ݬPRެURe SfS}RReլ"ݬݬf~fGf:f=@@LLtL 4l<d|Dt|t 8 ,  @VAXCRTLLIBRTLMTHRTL FORM_REFER mainp pfgetss0dir_extDformateh justifierG entete  # ASKVAL| askidomain8 askfdomain4 ask_speak܍askival؎askivalh̏askivalf9faskival3<askcvalPaskcvalhLؑaskcvalfXfaskcval,askfvalaskfvalhaskfvalfPfaskfvalD(asksvalasksvalh\asksvalffasksvalPh setcbreakdrestoreh̙ getchar_vms0 ask_edite?<re_ecrit |           -}!*[DANA.BIBLIO.EXE]INI_BIBLIO.EXE;1+,Ix&.!/ 4!!-&0123 KPWO!56=̶@7HuA8 *ǔ9GHJ@0DX0205(^@,h INI_BIBLIOV1.0`^@05-05  ,<@ Q  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vNom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]La structure de biblio sera cree dans %s %s %s Si une structure biblio existe deja dans ce repertoire elle sera %s DEFINITIVEMENT DETRUITE %s Initialise-t-on (o ou [n]): oOyYEtes-vous sur (o ou [n]): oOyYc_fiches.bibwctx=bin%s -> pb c_codcle.bibwctx=bin%s -> pb c_abbrev.bibwctx=bin%s -> pb c_motcle.bibwctx=bin%s -> pb c_super_cle.bibw%s -> pb c_auteur.bibwctx=bin%s -> pb c_motcle_index.bibwctx=bin%s -> pb c_auteur_index.bibwctx=bin%s -> pb Maintenant, il y a %d mots cles et %d fiches le directory %s contient une structure utilisable par biblio (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)\^k"R U WT VXߢ7ߢ3ߢ.ߢ*ߢ%bI"Ѭ'ߢcߢ>n6"2ߢmn PЬPݠ2!­2¨ߢw!Sc±ccn~LP~9!P.n~>+P~Z!P|! Po!2߭Y!_߭W!nl߭I!P߭v>!!!2߭ !€߭ !߭ Pd߭—  2߭ ¡߭ °®߭ Pe߭¸  2߭w ߭u ߭g P ߭\ ? 2߭) ߭' ߭ Pe߭ 2߭߭ ߭Ph߭hd?hScd?cd<2~Qcdy2߭W ߭U53߭GPf߭=@# ff<@~`f2߭G߭\Z߭Pg߭d|Vegeg< ~/lg_2~2h~nU2FP^ѬЏЏzЬte^q $Pvv |^ ReVvU7TPPa^~>1J?PbdbScߢecߢfcߢ+dAScߢ:ecߢDfcߢSd!ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^R)U&T{ZWV[\YiXfݬTݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edӘ߭k߭iPO~fh߭fhSd1^Se1VSPPμ^~R,U)T&YV[ZhXuWfݬ`k߭jݬ ii~߭ ϱ ߭hP߭!PSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^(}R9X6WT{VU[ZiYfլݬf deѬ  dݬGk߭jݬ ݬݬĀi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg節 ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭h߭VP ߭LP^ݬ7|~c~߭ϋ߭PPP^1ݬݬ c~߭<߭PPP^{Rլ լݬݬ Cݬlݬݬݬc~߭Ͽ߭5PPP^ݬ߭߭PPP^pzRQ~TN~SWD~VU[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭tPvkQcd_QcQdAVd~Vc~#S߭j߭iPO~behv߭qhehQc1UQd1LPP^hyRI}TF}Sﳓ[<}W UZYXVeݬpj~z߭iݬgf~߭߭hP߭}߭iPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^`xRA|W>|V;|[ S|ެUTZYXeլݬe§cdѬcݬwpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭9PvjQfg{QfQg]eլݬe·cdVg~Vf~Б߭i߭hPOPìP~cd߭cdQf1Qg1PP ^wRݬ߭߭sP߭߭nPPvP ^vSݬCݬ߭j|~zs~߭ݬPO~z߭PR߭ݬ RPݬ ^8vTݬݬ߭ݬQzs~߭ݬuScPOR'cPR~߭cPR߭ݬ cRPݬݬ R! ^uSzլլݬݬ>ѬPP"ݬݬ߭ݬ$ݬ ݬxys~߭ݬ߭PR߭ݬ RPݬݬ e^ݬP~߭U߭CPR߭ݬ URPݬݬ D8^tSRTOxR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id7\F ^sSZwR|~|~ ߢ |~߭#ݢ P\\2\\\l\^vR|~|~|~߭1ݢ PT^rWYvZ,΀CЬSЬRBcjiǏIVSkRSESǒi&S PѪjЪjv _·P ·լլ ΈPΈΈv0ݬPRެTRdSiSRRdΈ"ݬݬǕii1riǟe PPf 9WW)WWWWWWWWWI9P&?P:n[&n[.n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ8 PVPi> V15ǥi% ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ VVVDZit ΀1l si^ 1WPެRF ,b+ VPVPi-  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USO PSEd1 P1޼PE`ݬP ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi im 1rPi[ ݬiK iJ i- ݬ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi p/ݬ PRެTRdSiS RRdiy V1zVik 1hia 1ZPΆ Ά1Vi; 14RP`PORVSS~ЬTTCd TV· ·XP XX~SCd iiV1Vi1PΆ1i,inVkЬRRsRfRiG!oΈ/RPRެTRdSiSRRdΈ"ݬݬiii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2inRbIݬD<ibiMAV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjimݬpi{m/ݬ{PRެTRdSiSuRRdisUV1VVviG1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlZRiݪXΆ i21+Pծ,1΀1Ԯ,i|Rji RRjikΈ%RެTRdSiSRRdΈ"ݬݬǂii=~injqVVig1` i%Ά~Ǐ]Pi>17P f%Ά~ǜ1Pi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDzi{Vd1sViji_1X|~|~ ߪ |~߭#ݪ PRR2RRRl[R'ݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[Nnq[:ny[:(^dWzV{hTfǸ%ݬPѤdФdRdPf RRdfǻݬǾfhլ.ݬPRެURe SfSRReլ"ݬݬff2sfffm@@LdL|tL |tl<D8 ,  @VAXCRTLLIBRTLMTHRTL INI_BIBLIO mainV   ASKVALX askidomain8 askfdomain4Ą ask_speakaskivalaskivalhaskivalf9faskival3askcvalPhaskcvalhLaskcvalf4faskcval,`askfvalhaskfvalhpaskfvalfPfaskfvalDasksvalasksvalh8asksvalffasksvalPD setcbreak@restoreh getchar_vms0ؑ ask_edite?re_ecrit X           -}"*[DANA.BIBLIO.EXE]KILL_FICHES.EXE;1+,wx.$/ 4$$-&0123 KPWO$56?q@7A8~ǔ9GHJ(0DX0205(@,h  KILL_FICHESV1.0@05-05  +<@ S  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s -> pb c_codcle.bibrctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Numero de la fiche a supprimer [abandon]: Abandon volontaire! Probleme de lecture Mauvais numero de fiche, j'essaye le precedent... Fiche deja supprimee Voulez-vous voir la fiche a detruire ([o] ou n): nNVous desirer supprimer cette fiche (o ou [n]): oOyYProbleme d'ecriture La fiche %s %d %s est supprimee Voulez-vous continuer (o ou [n]): oOyY (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^UXTҠWhec&ߥY&g1ߥb2~ߥ]ߥ F&\2R\RA4&SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp%\ŏQ\RBćRb%P bߥr%\՟ߥv%Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgųN%S \1e2~ ŷ-%\2R\RC%SP\PPRBP@cz\P{PQPPcV2RR\V $\ŏQ\RB Rb$P b $\ԟ?y$P?$$3M)r$RbĞ0b>bCbdG?$SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg#S \ůŪŃ#s~ų] P~Ŵ#PhP΄^g#~SZYUYXrWùJ#Ѭ1g~ P~4#Pg HHHHHHHHH 2Pb?PH#"nRf:\"nÄ>ЬRݢnv"n߭h"É߭^"ÙÖ߭\"P߭áY"0"n߭"ë߭"úø߭"PC߭ "!>0R>TR!RbTb<2~b!2~2~!!Vl!Δ![t!ΐxS!|_!tPT)fޘ2TPgehij2PPPď-PPIkPRg21J?Pbd6Scߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^|RUTZWV[`Y=Xfݬ(ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edC߭k߭iPO~fh߭fhSd1^Se1VSPPμ^{RUTYV[ZlXIWfݬ4k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?edP߭j߭hPO~fg߭fgSd1_Se1WSPP^zR~X~WT~VdU[ZmYfլݬf deѬ  dݬk߭jݬ ݬݬ4~i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭<߭ZP ߭ P^iݬ |~c~߭ϋ߭PPP^ݬݬ c~߭<߭PPP^xR|լ լݬݬ CXݬ@ݬݬݬc~߭Ͽ߭9PPP^ݬ߭߭ PPP^wR{T{SCW{VU[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭HPvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^vRzTzS#[zWUZYXVeݬxpj~z߭iݬgf~߭߭hP߭}߭=PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^uRyWyVy[SzެUTZYXeլݬe§cdѬcݬKpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~@߭i߭hPOPìP~cd߭cdQf1Qg1PP ^tRݬ߭Y$~ BIBLIO.BCKwx&"[DANA.BIBLIO.EXE]KILL_FICHES.EXE;1$߭wP߭߭BPPvP ^iݬݬΐΓ~ݬݬUV1V,ig1Ά?1BΈLݬݬ2iBRbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjim}ݬpiuj/ݬPRެTRdSiSIRRdis)V1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl.R=ݪ,Ά i1+Pծ,1΀1Ԯ,i|Rji RRji+iΈ%RެTRdSiSRRdΈ"ݬݬǂiiiRinjEVVi;1` i%Ά~Ǐ=Pi17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬimViǯVVDziOVd1sVi>i31X|~|~ ߪ |~߭#ݪ PRR2RRRlCRݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[n[n[(^)bWbVeTfǸݬPѤdФdRdPf RRdfǻݬǾf'fլ.ݬPRެURe SfSRReլ"ݬݬf^fGf:fA@@LdL|tL t|l<D8 ,  @VAXCRTLLIBRTLMTHRTL KILL_FICHES show_fiche mainDD read_fiche write_ficher ` ASKVAL askidomain8 askfdomain4 ask_speakaskival܊askivalhЋaskivalf9 faskival3@askcvalPaskcvalhL܍askcvalf\faskcval,askfvalaskfvalhaskfvalfPfaskfvalD,asksvalasksvalh`asksvalffasksvalPl setcbreakhrestorehЕ getchar_vms0 ask_edite?@re_ecrit            -}#*[DANA.BIBLIO.EXE]LISTE_FICHES.EXE;1+,y$.'/ 4'&-&0123 KPWO&56`@7 A8@ǔ9GHJJ0DX0205(.@,h" LISTE_FICHESV1.0.@05-05  +=A V ! ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ***************** Fiche simple numero %d ***************** %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s ***************** Fiche double numero %d ***************** %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s -> pb c_codcle.bibrctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Numero de la 1ere fiche a lister [1]: Abandon volontaire! Numero de la derniere fiche a lister [%d]: Impossible a traiter (%d > %d !!) desirez-vous les voir sur l'ecran (o ou [n]): oOyY%d_a_%d.lstw%s impossible a ouvrir Liste des Fiches %d a %d Probleme de lecture %d fiches listees Le fichier %s %s %s est envoye sur l'imprimante print %sdel %s;0Voulez-vous continuer (o ou [n]): oOyY (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^U X-T>Whec*ߥY*1ߥb2~ߥ]ߥ F*\2R\RA4*SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp)\ŏQ\RBćRb)P bߥr)\՟ߥv)Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgųN)S \1e2~ ŷ-)\2R\RC)SP\PPRBP@cz\P{PQPPcV2RR\V (\ŏQ\RB Rb(P b (\ԟ?y(P?$(3M)r(RbĞ0b>bCbdG?(SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg'S \ůŪŃ's~ųP~Ŵ'PhP^|UV.T?X1/2~Źf^'\2R\RGL'SP\PPRBP@dfcz\P{PQPP fcW2RR\W f&\ŏQ\RBćRb&Pbf&\ҟf&Sc fcfc2~fcfc2 ~-fc\>Sc2cRR RBhDfL&S \1}P2~Hf/&\2R\RE&S\PPRBP@ńfcz\P{PQPP ŌfcW2RR\W Ŏf%\PŏQ\RB Rb%PbŐf%\ҟ?w%P?Ŕfz%;Mřfh%RbĞŠfbŮfbųfbdŷf-%Sciżfc2t~fcvfc2ā~ăfc\>čSc2cRR RBhf$S \$4^{$zU6[kY8Z%TXV.*%![$Ѭ1g~5 P~E$Pg IIIIIIIII!3Pr?Pņa$nŐ.:ŽŚ#nЬRݢn#n߭t#߭j#߭l#Pk߭m#@#n߭*#߭ #߭"#P߭#">R>SR"RbSbt<2~b^"2~2]~ "Θ"q""ΨΠb"Μy"`"μθ-"<ޠPd2~z޴2~ޠPWWWŦn~ިP~ޤPW޸߭s! ߭}!P߭ W$iZ!SSW1z2SPfdhji2PPPď-PPkPRePk1J?PbdzScߢecߢfcߢ+dYScߢ:ecߢDfcߢSd9ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiM]V1BVPib14iV;fݬaYi_i&ij ݬPѪjЪjRjPi RRjimݬpif/ݬPRެTRdSiSRRdisqV1VVvi1DΆ1 c10[1)R[jЬSTUU[US;PSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪpΆ iJ1+Pծ,1΀1Ԯ,i|Rji RRjidΈ%RެTRdSiSRRdΈ"ݬݬǂiiiinjVVi1` i%Ά~ǏPiV17P f%Ά~ǜYPi*1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDziVd1sViiw1X|~|~ ߪ |~߭#ݪ PRR2RRRlhR?ݪ c1ЬRݬ%PPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[vn[bn[b(^]WVaTfǸAݬ[PѤdФdRdPf RRdfǻݬǾf-aլ.ݬPRެURe SfSRReլ"ݬݬff^ff@@LdLtL t4|l<|D8 ,  @VAXCRTLLIBRTLMTHRTL LISTE_FICHES show_fiche print_fiche mainp read_fiche j ASKVAL8 askidomain8p askfdomain4 ask_speakaskivalaskivalhaskivalf9Ēfaskival3askcvalPHaskcvalhLaskcvalffaskcval,@askfvalHaskfvalhPaskfvalfPfaskfvalDasksvalxasksvalhasksvalfԙfasksvalP$ setcbreak restoreh getchar_vms0 ask_edite?re_ecrit 8           -}#*[DANA.BIBLIO.EXE]MENU_BIB_VMS.EXE;2+,~y8.$/ 4$%-&0123 KPWO%56`S@7liA8I ǔ9GHJ0DX0205(@,<h  MENU_BIB_VMSV1.0E@05-05   ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 entree de nouvelles Fiches recherche par Auteur recherche par mot-Cle recherche Globale de texte Thesaurus choix du fichier par Defaut Preparation d'une liste de references Edition d'une liste de references creation d'un fichier pour BibTeX  SOUS-MENUS  Modification/correction du fichier Quitter - Abandonner BIBLIO Correction de fiches existantes Elimination de fiches modification des Abreviations/Auteurs-cle modification des mots-Cles adjonction de Super mots-cles Liste des fiches Initialisation d'un nouveau fichier Quitter - retour au menu general TT:%%Erreur %d sur ASSIGN TT: %%Erreur %d sur QIO SENSEMODE %%Erreur %d sur QIO SETMODE %%Erreur %d sur QIO SETMODE sys$login:biblio.cfgrBIB:%s MENU Taper RETURN pour retourner au menuTaper RETURN pour retourner au menu[%d;%dH%s%s%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier de travail:%s%s%sSelectionner avec les %sFleches%s puis valider avec %s"Return"%sOu taper une des %sLettres Majuscules%s%s%s===> %s%s%s %s%s %snew_fichestrouve_auteurtrouve_cletrouve_textethesaurusBIB:[.BIBLIO]BIB:Directory du fichier bibliographique [%s]: sys$login:biblio.cfgwimpossible de sauvegarder le nom du fichier par defaut %s edite_fichesform_referreftexSOUS-MENU de corrections/modificationscorrige_ficheskill_fichesmodif_abbautmodif_clemodif_super_cleliste_fichesini_biblio MENU  (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH84l D|L,dBad value facgtdpebmqceacsliq4LiuCDb>No help (? for help)<8^SRsU,Ta|~ePP\\\ed<,\#,|~|~ c|~߭'e P\\2\\\d+\+cɏ|~|~ ߭|~߭#e P\\2\\\ d+\+P^RPPgz+|~|~ |~߭#U P\\2\\\½S+0+\+^|~|~|~߭1 P^*OR@\*PbI*:b*c%~ BIBLIO.BCK~y8&#[DANA.BIBLIO.EXE]MENU_BIB_VMS.EXE;2$c6  2P^T[QZSSkS RRRRSݬݬkSSg*XhЬY{W|RkUVRUSRSghWUVUEiznh)|~|~|~߭1j îww.1<p)Xެ ά΀p)|W)Έ΄ΤΨW)xw1|~|~|~߭1j ޠRR[ RO1|~|~|~߭1j ޠRRA1RB1WЬYHWIRkUOVRUSRSghWUVUEiăh'kެRRkRkkSSghЬYWRkUVRUSRSghWUVUEiznh1ЬYWRkUVRUSRSghWUVUEiăhqkkQIެRRkkS@SghЬY%W&RkU,VRUSRSghWUVUEiznh1P1w 1SSgh|~|~ |~߭#j ްPRR2RRRĽ0'ވRތjވwkRR޼SBcRbSSghh:ެި1PSެ1ЬVwUU|CfP1QQgh|~|~ |~߭#j ްPRR2RRRĽn&ވRތjވ޼PC`P`QQgh;hfެިSSެ1[{m޴RRR_ݬݬ>kSQSghЬY6W7RkU=VRUSRSghWUVUEiznh|~|~|~߭1j ޠww.1w.fSSgD%|~|~ |~߭#j PRR2RRRĽ!%$R$jzup$^9Rݬݬg$^\zup$^Szup}$Tdõñìèã~dRRgdüdRRgddR-RgddR-Rgd3. dR-Rgdd_7dެZRjRgdݬhdWެ @þ@Rެ[kRWR@о@YkX#U޼TYVXVޤRXWQYQjQgebkeRVW ^RЬQ ~Qg6#ìQƬQ޼PAzn# ^mRЬQ ~Qg"ìQƬQ޼PAƒ" ^-RݬE"8" ^R‘PP‹ v"M" ^RœPP‹>"" ^RªPP‹"! ^QRµPmP‹e!X! ^RP5P‹-! m!<(^URTP~PgX!dW!PdB! d3!d!Scdd  "  PeP~Pgc$cPd\ݥ   ^!R`P=P‹5 (u  ^RmPP‹f =  ^RxPP‹.   ^y\zup^P^E\tE ^R­P5P‹- m ^R¼PP‹^5 ^RPP‹& ^qRPP‹x ^9RPUP‹M@ ^RPP‹~U ^RPPF^\ 0^ѬЏЏЬ^q Puvpv a|^RVUsTPPa^~>1J?PbdNScߢecߢfcߢ+d-Scߢ:ecߢDfcߢSd ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^$RUTZ|WVo[,YYXfݬ$ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edG߭k߭iPO~fh߭fhSd1^Se1VSPPμ^'RUTYV[{Z8XeWfݬ0k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?edT߭j߭hPO~fg߭fgSd1_Se1WSPP^4RXWTVU[|Z9Yfլݬf deѬ  dݬk߭jݬ ݬݬ$i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭8߭&P ߭P^Yݬ|~c~߭ϋ߭PPP^ ݬݬ c~߭<߭PPP^)Rլ լݬݬ Ctݬ<ݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^|RTS_WVU[ZYXeݬ|pk~M߭j|~gff~߭߭iP߭P߭DPvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^tRTS'[WUZY|XVeݬtpj~z߭iݬgf~߭߭hP߭}߭9PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^lRWV[S ެUTZYiXeլݬe§cdѬcݬGpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~D߭i߭hPOPìP~cd߭cdQf1Qg1PP ^Rݬ߭U߭CP߭߭>PPvP ^Seݬݬ߭2|~Ds~߭ݬPO~z߭PR߭ݬ RPݬ ^DTݬݬ߭ݬs~߭ݬEScPORccPR~߭cPR߭ݬ ORPݬݬ > ^S`լլݬݬѬPPݬݬ߭ݬ$ݬ ݬs~߭ݬ߭cPR߭ݬ RPݬݬ 5^ݬP~߭%߭PR߭ݬ ARPݬݬ 08^S"T[R|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\hТ ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id'\ ^SfR|~|~ ߢ |~߭#ݢ P\\2\\\l\^R|~|~|~߭1ݢ PT^WYZ,΀CЬSЬRBcjiǏVSk>S1SǒiSPѪjЪjI _·P ·լլ ΈPΈΈ0ݬPRެTRdSiSyRRdΈ"ݬݬǕiyimBiǟ5 PPf 9WW)WWWWWWWWWI9P&?Pn[n[n{[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬu ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVViu  P޼PF` iǮQ VVVDZid ΀1l si* 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ< ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬir i= 1rPi+ ݬi; i i ݬ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi /ݬo PRެTRdSiSe RRdiI V1zVi[ 1hi- 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTCdTV· ·XP XX~SCd iiV1Vi1PΆ1iW,i>VkЬRR_RRRi7Έ/RPRެTRdSiSRRdΈ"ݬݬiii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2i^RbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjimyݬpi/ݬKPRެTRdSiSARRdis%V1VVvi71DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i~1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlmJR1ݪ Ά i1+Pծ,1΀1Ԯ,i|Rji RRjiΈ%RެTRdSiSRRdΈ"ݬݬǂiiyNinjAVVi31` i%Ά~ǏPi 17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcrެTdRBSFcǬiViǯRVDzikVd1sVi6i+1X|~|~ ߪ |~߭#ݪ PRR2RRRl+Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?PnY[nE[n=[(^WRVTfǸݬPѤdФdRdPf RRdfǻݬǾfլ.ݬPRެURe SfSyRReլ"ݬݬfzfnCf6f9@@Lt|dLtL4l<|D, 8 : @VAXCRTLLIBRTLMTHRTL:: MENU_BIB_VMS setcbreakrestore{| getchar_vms, mainx menucurseur erase  const_menuC@inverseH normal@ spawn4new_fich84trouve_a8ltrouve_c8trouve_t8thesauru8 ch_diredite_fi8 form_ref8 Dreftex8 |fin+ no_op modif_cor,corrige8kill_fic8Lmodif_ab8modif_cl8modif_su8liste_fi8,ini_bibl8 dretour,     ٔ    q ASKVAL askidomain8 askfdomain4 ask_speakaskival askivalh!askivalf9#faskival3P#askcvalP#askcvalhL#askcvalfl$faskcval,$askfval%askfvalh&askfvalfP'faskfvalD<(asksval(asksvalhp)asksvalf,*fasksvalP|* setcbreakx+restoreh+ getchar_vms0, ask_edite?P:re_ecrit            -}#*[DANA.BIBLIO.EXE]MODIF_ABBAUT.EXE;1+,y.'/ 4'&-&0123 KPWO&56` @7LA8rǔ9GHJD0DX0205(m@,h" MODIF_ABBAUTV1.0`,m@05-05  += A U ! ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_abbrev.bibrctx=binc_abbrev.bib -> pb Actuellement, il y a %d auteurs-mots cles: %d -> %s %12s %s  Voulez-vous modifier la liste des auteurs "mot_cle" (o ou [n]): oOyYAjouter, Modifier, Supprimer ou Quitter (A, M, S, [Q]): Nom a memoriser [fin]: Nom a memoriser [fin]: Numero du nom a modifier [le dernier]: On modifie %s (o ou [n]): oOyYNouveau nom [inchange]: Numero du nom a supprimer [le dernier]: On supprime %s (o ou [n]): oOyYActuellement, il y a %d abreviations de journaux %d -> %s %36s %s --> %s %-10s %s  Voulez-vous modifier une abreviation de journal (o ou [n]): oOyYAjouter, Modifier, Supprimer ou Quitter (A, M, S, [Q]): Nom du journal [fin]: Abreviation: Nom du journal [fin]: Numero du journal a modifier [le dernier]: On modifie %s --> %s (o ou [n]): oOyY Nouveau nom du journal [inchange]: Nouvelle abreviation [inchangee]: Numero du journal a supprimer [le dernier]: On supprime %s --> %s (o ou [n]): oOyYwctx=binc_abbrev.bib -> pb  Maintenant, il y a %d auteurs-mots cles et %d abreviations bib_abrev.lstwbib_abrev.lst -> pb  Liste des auteurs automatiquement mis en mot-cles Liste des auteurs automatiquement mis en mot-cles %d -> %s %12s %s %d -> %s Abreviation des journaux Abreviation des journaux %d -> %s %36s %s --> %s %-9s %s %d -> %36s --> %-9s print bib_abrev.lst (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)Δ^c(UXZߥ7ߥ3ߥ.ߥ*ߥ%er(Ѭ1g~ߥ> P~(Pg IIIIIIIII!3P~?Pŏߥj\(ř\{;ţ\'\RЬRݢ'߭'߭z'߭'P'O'Y'Rbojb`<~bJ<~hb8 'S~ 'R?SRS4@ RSC};RSS)&SR SRS͚n~DF P~ņ&P1O+ r&Wf&Y[&TD&Vh&7&q~ŋP'P~PA2f1^?P g iP1P 88S8P8~dP88c8 R RB2f g iP1~P[[R RBSc!n~<P'P~=P1 cBg 00S0P0~dP00c0 [R RBifh ~[P P@HScŅn~šP'P~ŢPRR RBcf'~PQ1j~ŧH$RjSRS9P /RSChC RSS$SRjSRSɚn~ P~M#P1g #AW#[#V#T#s#q~R P&P~PA21?P ţŋg kP1P0 jR/RB f ųŤg 44S4P4~dP44c4 jR/RBhfj Ŵg kP1|1-j~P(PR/RBhYiB Scn~ P&P~P1 c"g0 cf iGg ,,S,,~dP,,c, ,R/RBhfnPj~kP/P@hYi@ Scřn~ż P&P~ŽP#jRR/RB cfjRR/RBhifj&~PQ1߭0!PU4! 9W !Rbjb<~b<~hb j~~ , P. ` Cq Hf Lk ŁV RSRSK RSCTdRSSŸ% dS SRCSRShRjSRSWPG/RSChVfB>C Td9RSSfdSKSRjSRS`iXbEP^PЬRb~PbR^ѬЏЏЬ^q Pvv }|^|RVUTPPa^~>1J?Pbd>Scߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^{RUTZWV[pYXfݬ0ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edO߭k߭iPO~fh߭fhSd1^Se1VSPPμ^zR~U~T~YV[Z|XWfݬ<k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed\߭j߭hPO~fg߭fgSd1_Se1WSPP^yR}X}WT}VU[Z}Yfլݬf deѬ  dݬ#k߭jݬ ݬݬ@}i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg% ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭D߭jP ߭(P^uݬ|~c~߭ϋ߭PPP^%ݬݬ c~߭<߭PPP^wR|լ լݬݬ CݬHݬݬݬc~߭Ͽ߭IPPP^ݬ߭߭PPP^vRzTzSOWzV U[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭PPvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^uRyTyS/[yWUZYXVeݬpj~z߭iݬgf~߭߭hP߭}߭EPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^tRxWxVx[S(yެUTZYXeլݬe§cdѬcݬSpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~L߭i߭hPOPìP~cd߭cdQf1Qg1PP ^sRݬ߭a߭P߭߭JPPvP ^HsSݬݬ߭^|~`ws~߭ݬPO~z߭PR߭ݬ RPݬ ^rTݬݬ߭ݬvs~߭ݬScPORcPR~߭cPR߭ݬ ?RPݬݬ .5 ^rS|vլլݬݬ2ѬPPݬݬ߭ݬ$ݬ ݬus~߭ݬ߭PR߭ݬ RPݬݬ py^ݬP~߭1߭WPR߭ݬ 1RPݬݬ  )8^ qSFTtR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\|Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\IdS\" ^ pSsR|~|~ ߢ |~߭#ݢ P\\2\\\l\^usR|~|~|~߭1ݢ PT^soWY5sZ,΀CЬSЬRBcjiǏ%VSk.S!SǒiBSPѪjЪjes _·P ·լլ ΈPΈΈ0s0ݬPRެTRdSiSRRdΈ"ݬݬǕiiNiǟA PPf 9WW)WWWWWWWWWI9P&?Pn[nk[nk[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬeݬݬΐΓ~ݬݬ V1ZPVݬLPVPiV15ǥiA΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ] VVVDZi ΀1l si6 1WPެRF ,b? VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USc PSEd P1޼PE`ݬ, ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi iI 1rPi7 ݬig i" i ݬ+ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi m/ݬ PRެTRdSiSq RRdiU V1zVi 1hi9 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT Cd T V· ·XP XX~SCd i i V1Vi 1PΆ1ic ,iJ VkЬRRO RB Ric kΈ/R0 PRެTRdSiSRRdΈ"ݬݬi ii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVfݬaYi+iijݬPѪjЪjRjPi RRjimݬpii/ݬPRެTRdSiSMRRdis1V1VVvic1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlvREݪ4Ά i 1+Pծ,1΀1Ԯ,i|Rji RRji7hΈ%RެTRdSiSRRdΈ"ݬݬǂiiZinjMVVi?1` i%Ά~ǏAPi17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯ^VDziVd1sViBi71X|~|~ ߪ |~߭#ݪ PRR2RRRlO4Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[n[n[(^5aWnVdTfǸݬ#PѤdФdRdPf RRdfǻݬǾf3eլ.ݬPRެURe SfSRReլ"ݬݬffOfBfE@@LdLtL t| 4l<|D8 ,  @VAXCRTLLIBRTLMTHRTL MODIF_ABBAUT mainP Pstrupper(  ASKVALx askidomain8 askfdomain4 ask_speak،askivalԍaskivalhȎaskivalf9faskival38askcvalP&~ BIBLIO.BCKy&#[DANA.BIBLIO.EXE]MODIF_ABBAUT.EXE;1'#askcvalhLԐaskcvalfTfaskcval,askfvalaskfvalhaskfvalfPfaskfvalD$asksvalasksvalhXasksvalffasksvalPd setcbreak`restorehȘ getchar_vms0 ask_edite?8re_ecrit x           -} *[DANA.BIBLIO.EXE]MODIF_CLE.EXE;1+,y.'/ 4'(-&0123 KPWO(56~@7 A8 tǔ9GHJN0DX0205(@,h$ MODIF_CLEV1.0@R@05-05  += A W # ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s -> pb c_motcle_index.bibrctx=bin%s -> pb c_motcle.bibr+ctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Modification des mots cles, vous pouvez Corriger, Regrouper, Supprimer ou Quitter (C, R, S, [Q]): Mot cle a corriger [fin]: On modifie %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): oOyY Nouveau mot cle [inchange]: Mot cle a corriger [fin]: Mot cle qui recevra les fiches: On regroupe %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): oOyYAvec [inchange]: On regroupe %s %s %s (Mot cle %d) avec %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): oOyY%s %s %s indexe desormais %d fiches  et avec [fin]: Mot cle a supprimer [le dernier]: On supprime %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): oOyY()%s %s %s est supprime et devient %s %s %s Voulez-vous en corriger une autre (o ou [n]): oOyYc_codcle.bibwctx=bin%s -> pb Maintenant, il y a %d mots cles et %d fiches c_motcle_index.bibwctx=bin%s -> pb Pb d'allocation memoire 1 dans merge_key... Pb de lecture au fread Pb d'allocation memoire 2 dans merge_key... Pb de lecture au fread Pb de lecture au fread Pas de fiches a regrouper Vous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyY%s %s %s n'existe pas.  (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^c,UrYߥ7ߥ3ߥ.ߥ*ߥ%em,Ѭ1g~ߥ>.P~\,Pg HHHHHHHHH 2P?PŏߥjZ,řZ;ţZ+ZЬRݢ+߭+߭+߭+P߭}+X+߭B+߭8+߭6+Pk߭/+ +߭*߭*(%߭*P߭0**>R>SR*TdSd<2~dy*2~2~:o*id{<@~idi**k+*(*V[)  )))))q~Ŕ PZZ~fPC.``````````````fF1;?P k P1 00R0P0~fP00b0 PW12WTTSxSP@iR2bQ@R2bPPQ~T. SC%߭$Ŋ߭$řŗ߭$P߭š$$>R>SR$RbSb<2~ʘbb$2~2~ūX$߭&$߭$߭$PO߭$#iw)#<@~i##P^Z[YVf 2RxRRBiR2b~U#Pj{k#P2RxRRBiSc1BRbTR>P`PbR2RďRRE#8~t"P {"S>Rb TPTjQb@aRbS1x2RxRRBiR2b~"PkC{"P2RxRRBRbTR>P`PbR2RďRRyR"l~)"P z "S>Rb TPTkQb@aRbS1x2RxRRBRbR>P`PbR2PŏPPݮT!~ !P sz!U2RxRRBiR2bRUR1ެW2g8x88Ю8RBD2g1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœd|Scªec³f^HvRYzUVzTZLzWuVO[,YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed߭k߭iPO~fh߭fhSd1^Se1VSPPμ^KuR\yUYyTVyYV[[Z8X Wfݬk߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^XtRixXfxWTxV(U[\Z9Yfլݬf deѬ  dݬk߭jݬ ݬݬwi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehgٍ ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭&P ߭P^9ݬ|~Oc~߭ϋ߭PPP^ݬݬ c~߭<߭PPP^MrRvլ լݬݬ C{nݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^qRuT~uS WtuVU[ZYYXeݬDpk~M߭j|~gff~߭߭iP߭P߭ PvkQcd_QcQdAVd~Vc~SS߭j߭iPO~behv߭qhehQc1UQd1LPP^pRytTvtS[ltWUZY|XQVeݬ<pj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^oRqsWnsVks[SsެUZTZYiXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~߭i߭hPOPìP~cd߭cdQf1Qg1PP ^AnRݬ߭߭CP߭߭PPvP ^mSEݬݬ߭|~Rrs~߭ݬPO~z߭PR߭ݬ RPݬ ^hmTݬGݬ߭~ݬqs~߭ݬEScPOR_cPR~߭cPR߭ݬ RPݬݬ  ^lS0qլլݬݬѬPPݬpݬ߭ݬ$ݬ ݬps~߭ݬ߭cPR߭ݬ ERPݬݬ 45^ݬP~߭߭PR߭ݬ RPݬݬ 8^kS ToR|~ߢPP\\\dn\|~|~ ߢ |~߭'ݢ P\\2\\\$d)\@Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^jSnR|~|~ ߢ |~߭#ݢ P\\2\\\lq\^)nR|~|~|~߭1ݢ PT^'jWpYmZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪjn _·P ·լլ ΈPΈΈm0ݬPRެTRdSiSERRdΈ"ݬݬǕi!ii iǟ PPf 9WW)WWWWWWWWWI9P&?Prn;[^n'[fn'[ cnU|~|~|~߭1ݪ ΆΆ iǢX1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ{ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ) ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1i ΀1iǫw V΀1 sif 1P޼RFb $PVViA  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~iq ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi2 ݬi i 1rPi ݬi i i ݬ PѪjЪj ݬ PѪjЪjRjPi  RRjie ݬi] g/ݬo PRެTRdSiS1 RRdi V1zVi 1hi1ZPΆ Ά1Vi14RP`PORVSS~ЬTTCdTV· ·XP XX~SCd i\iGV1Vi91PΆ1i#,iVkЬRRRRiQfΈ/RPRެTRdSiSRRdΈ"ݬݬiiri)eΆ >i_ݬݬΐΓ~ݬݬUV1V,i+1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVfݬaYiiijpݬPѪjЪjRjPi aRRjimAݬpi9d/ݬKPRެTRdSiS RRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdqP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[iJ1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlUR ݪΆ i1+Pծ,1΀1Ԯ,i|Rji RRjiqbΈ%RެTRdSiSQRRdΈ"ݬݬǂi-iuinj VVi1` i%Ά~Ǐ Pi17P f%Ά~ǜPi1 PRP`PORVЬSSeΆFVRBFcvެTdRBSYFcǬi1ViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬPPjnSPCbݬCb~S  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[n[rn[r(^[W2V_TfǸݬPѤdФdRdPf RRdfǻ}ݬǾfu_լ.ݬPRެURe SfSERReլ"ݬݬf"fj ff@@LdL|tL t|l<D t 8 ,  @VAXCRTLLIBRTLMTHRTL MODIF_CLE main܊ merge_keyx trouve_clestrupper(,strlower(T dif_stringa O   ASKVAL askidomain8 askfdomain4$ ask_speakaskivalaskivalhaskivalf9Dfaskival3xaskcvalPȕaskcvalhLaskcvalffaskcval,askfvalȗaskfvalhИaskfvalfP faskfvalDdasksvalasksvalhasksvalfTfasksvalP setcbreakrestoreh getchar_vms08 ask_edite?xre_ecrit            -}&*[DANA.BIBLIO.EXE]MODIF_SUPER_CLE.EXE;1+,zX.$/ 4$#-&0123 KPWO#56@7XA8ǔ9GHJ&0DX0205(F@,hMODIF_SUPER_CLEV1.0F@05-05  +<@ S  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s inexistant ou probleme c_super_cle.biba%s inexistant ou probleme Actuellement, il y a %d mots cles et %d fiches Super Mot cle: +%s +%s Mot cle: %d Relation (et, non, ou, [return pour finir]): ET OU NON Relation %s %s %s inconnue  Avez vous des corrections a faire (o ou [n]): oOyY%s %s%seditc_super_cle.bibVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) ([o] ou n): oOyYVous avez le choix parmi... %4d --> %s %d mot-cles possibles avec %s %s %s, precisez mieux... %s %s %s n'existe pas  (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)P^[&TWXߤ7ߤ3ߤ.ߤ*ߤ%db&Ѭ1g~ߤ>? P~M&Pg IIIIIIIII!3P~?Pďߤj &nę;ģ%nЬRݢn%n߭%߭v%߭x%Ph߭u%L%>R>ShRK%RbhSbh<2~~bh%n߭$߭$߭$Pg߭$$2~2@~/$sa$P1ΈΈSވވ~$PވΈcވ+ugW$ygC$I$Sĉ~ ΐΐRސPސ~cPސΐbސPPċ##S#UVľďΌΌRތތ~cPތΌbތRhZRE]RPPE "RRRRRRRR:.:P?Pge?ge3ge'ge #VV1/"P1!1Pg"g"n~P~&"P&8n3+"w"2P^PЬRb~r"PbR|^}XЬRbPb~B"PbRbЬSS"cRRRB("WS!PPSSȂ P@|}H!n~ȆP~ȇ!PSPP|Z2RZR1Tެ!$|! ]!Y ZRB (ޮ(VоSTݮ((PRS(RPЮ(UPSUUPPQPRaPЮ(Q(faTTRZPRIZSS ZRBȌ n~P~ PtSP ZRBU,ޮ,WоVV$PUݮ,$UPRT1RRSRS#UVݮ4iPЮ,T,gRPRPTT [ZK[Z2PZP1[OSS  RBÙ, o~P~PSPP[[[:S[% CRBcC~2SS[P}ݬx[?PȞșȁP|^VЬUUXPRЬSSHRPUTPSTTPPQPRaPЬQ֬ЬP֬a`VVPP ^ݬPSݬSPRPRRPRP$SݬݬPЬP֬RPRPP^ѬЏفЏʁЬā﵁^q tPev`v Q|^\}RﵗVUTPPa^~>1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœd\Scªec³f^h|RyUvTZlWUV3[ YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed#߭k߭iPO~fh߭fhSd1^Se1VSPPμ^k{R|UyTvY_V[?ZX)Wfݬk߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed0߭j߭hPO~fg߭fgSd1_Se1WSPP^xzR~X~WsT~VDU[@ZYfլݬf deѬ  dݬk߭jݬ ݬݬ~i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬ|~gc~߭ϋ߭PPP^ݬcݬ c~߭<߭bPPP^mxR|լ լݬݬ C[8Nݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^wR{T{S#W{VU[ZdYuXeݬ(pk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~sS߭j߭iPO~behv߭qhehQc1UQd1LPP^vRzTzS[zWUZY\XmVeݬ pj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^uRyWyVy[SyެUvTZpYIXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~ ߭i߭hPOPìP~cd߭cdQf1Qg1PP ^atRݬ߭߭#P߭߭PPvP ^tS%ݬݬ߭|~j4xs~߭ݬPO~z߭PR߭ݬ RPݬ '~ BIBLIO.BCKzX&&[DANA.BIBLIO.EXE]MODIF_SUPER_CLE.EXE;1$?pq^sTݬ+ݬ߭bݬws~߭ݬ%ScPORwcPR~߭cPR߭ݬ RPݬݬ  ^rSPwլլݬݬѬPPݬTݬ߭ݬ$ݬ ݬvs~߭ݬ߭CPR߭ݬ %RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ 8^qSTuR|~ߢPP\\\d\e|~|~ ߢ |~߭'ݢ P\\2\\\$dE\ Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^pStR|~|~ ߢ |~߭#ݢ P\\2\\\l\h^ItR|~|~|~߭1ݢ PT^GpWPY tZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪj9t _·P ·լլ ΈPΈΈt0ݬdPRެTRdSiS%RRdΈ"ݬݬǕi=iiǟ PPf 9WW)WWWWWWWWWI9P&?PnS[vn?[~n?[ cnU|~|~|~߭1ݪ ΆΆ iǢ<1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ[ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1iy ΀1iǫ[ V΀1 siF 1P޼RFb $PVVi!  P޼PF` iǮ VVVDZi( ΀1l si 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬk PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬiN ݬi6 i 1rPi ݬi i i ݬ PѪjЪjx ݬ PѪjЪjRjPi e RRjiI ݬiy m/ݬO PRެTRdSiS RRdi V1zVi 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTp Cd T} V· ·XP XX~SCd ix i+ V1ViU 1PΆ1i ,iVkЬRRRRiqlΈ/RPRެTRdSiSRRdΈ"ݬݬiiVi)IΆ >i?ݬݬΐΓ~ݬݬUV1V,iG1Ά?1BΈLݬݬ2i"RbIݬD<ibiMV1BVPib14iVfݬaYiiijmTݬPѪjЪjRjPi ARRjim%ݬpiUj/ݬ+PRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEd}P1޼PE`ݬpݬݬΐΓ~ݬݬrV PRR[i*1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl5RݪΆ i1+Pծ,1΀1Ԯ,i|{Rji qRRjiU iΈ%RެTRdSiS1RRdΈ"ݬݬǂiIiinjVVi1` i%Ά~ǏPi17P f%Ά~ǜPi1 PRP`PORVЬSSIΆFVRBFcVެTdRBS9FcǬiMViǯVDzi/Vd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬPPNnSPCbݬCb^S  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[n[n[(^ bWVeTfǸݬPѤdФdRdPf }RRdfǻaݬǾffլ.ݬbPRެURe SfS%RReլ"ݬݬf>fff@@LdLtL t|4l<|D t 8 ,  @VAXCRTLLIBRTLMTHRTLMODIF_SUPER_CLE mainstrupper(@ trouve_cle dif_stringaxisinstrW A  ASKVALЇ askidomain8 askfdomain4< ask_speak0askival,askivalh askivalf9\faskival3askcvalPaskcvalhL,askcvalffaskcval,؍askfvalaskfvalhaskfvalfP8faskfvalD|asksvalasksvalhasksvalflfasksvalP setcbreakrestoreh getchar_vms0P ask_edite?re_ecrit Ї           -}!*[DANA.BIBLIO.EXE]NEW_FICHES.EXE;1+,z,.K/ 4KL-&0123 KPWOL56`[@7 ܩA8`wǔ9GHJ\0DX0205(,@,hD NEW_FICHESV1.0#,@05-05   +D,Jv B ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s -> pb c_motcle_index.bibrctx=bin%s -> pb c_auteur_index.bibrctx=bin%s -> pb c_abbrev.bibrctx=bin%s -> pb c_fiches.biba+ctx=bin%s -> pb c_motcle.bibr+ctx=bin%s -> pb c_auteur.bibr+ctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Actuellement, il y a %d auteurs-mots cles et %d abreviations %s%s %s Fiche Numero %d %s  Il n'y a pas de nom d'auteur!! Desirez-vous garder cette fiche inhabituelle (o ou [n]): oOyY Desirez-vous ajouter auteurs ou ligne de titre (o ou [n]): oOyY Desirez-vous changer les mots-cles ([o] ou n): oOyYLa fiche %s %d %s est sauvee  Je ne garde donc pas la nouvelle!  Voulez-vous continuer (o ou [n]): oOyYc_codcle.bibwctx=bin%s -> pb Maintenant, il y a %d mots cles et %d fiches c_motcle_index.bibwctx=bin%s -> pb c_auteur_index.bibwctx=bin%s -> pb Probleme d'ecriture sur le fichier des fiches %s Fiche %s Numero %d sauvee %s DoubleSimple **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s **************************%s Fiche simple numero %5d %s*************************  **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Pb de lecture au fread de c_motcle.bib Fiche %d cle -> %d Nb fiches %d Mot_cle -> %s Pb de lecture au fread de c_auteur.bib Fiche %d --> cle %d Nb fiches %d Auteur %s [%d;%dH%s%s%s Fiche Numero %d %s %s Auteur %2d %s %sNom: __________________ Prenom: ______%s %s Titre %s%s_____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________%s %s Journal: %s %s____________________________________%s %s%s Livre: %s %s_____________________________________________________________________________%s %s Edite par: %s %s_____________________________________________________________________________%s %s Publie par: %s %s_______________________________________%s %s Ville: %s %s________________________________________%s %s Volume: %s %s____%s %s Pages: %s %s__________%s %s Annee: %s %d%s T-a-P: %s %s__________%s %sDesirez-vous corriger la fiche ([o] ou n):%s oOyYprefiche.tmpwpb sur prefiche.tmp: la correction sera impossible %s %s ----------------------------------- T I T R E -------------------------------- %s ------------------------------ R E F E R E N C E ----------------------------- %s %s %s %s %s %s %s %d %s Entrez vos mots-cles %s Mot-cle %d: %s %s____________%s %s Mot-cle %d %s: %s %s %s Mot-cle %d: %s Vous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) ([o] ou n): oOyYVous avez le choix parmi... %4d --> %s %d mot-cles possibles avec %s %s %s, precisez mieux... %s %s %s est un nouveau mot-cle (le %d eme). Le garde-t-on (o ou [n]): oOyY%s prefiche.tmpeditprefiche.tmprpb sur prefiche.tmp: la correction sera impossible ------------------------------ Mot-cle %d: %s Voulez-vous Ajouter, Supprimer, Modifier ou [Q]uitter Reponse (A, S, M ou [Q]): Mot-cle %d: ____________ Mot-cle %d: Numero du mot cle a changer (1-%d) : Mot-cle %d: ____________ Mot-cle %d: Numero du mot cle a supprimer (1-%d) : Je verifie que cette fiche n'existe pas deja, patientez... Pb d'allocation memoire... %s%s%s Cette fiche semble deja exister dous le numero %s %d %s...  Est-ce bien celle-la ([o] ou n): oOyY%s%s%s Cette fiche semble deja exister dous le numero %s %d %s...  Est-ce bien celle-la ([o] ou n): oOyYC'est bon, je la garde! Pb de lecture au fread de c_auteur.bib probleme a la lecture de la fiche %d TT:%%Erreur %d sur ASSIGN TT: %%Erreur %d sur QIO SENSEMODE %%Erreur %d sur QIO SETMODE %%Erreur %d sur QIO SETMODE %s%sEDITION%s finir par %sCrtl F%s (%sF%sin)%d%s%s_%s%s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)ά^KXmUZߥ7ߥ3ߥ.ߥ*ߥ%e}XѬ1g~ߥ>>P~xXPg HHHHHHHHH 2P?PŏߥjZ&XřZ3C;ţZWZ CЬRݢW߭W߭W߭WP}߭W\W߭FW߭R>SRUTdiSdZ<2~mdDFUSc2~2@~DU4d d<~[d<~dc~~Trd<@~GdcD^dK< ~Vd5NTV:Y TX1T[JQSPSRT,TQSSc2RRR^ZU6f2~ PTSP(gfn~ŊiP~hPoW1bn~iP~hP 2T~&P1o~ iP~=hP 2T~#2TRR Rlj2lRRď-RR!SP _fmP<-~kL-<-~k2p~ žSPŷSSŲŏf2TRRZRa gRbBfRSPRSS Pkfn~ŐiPWW~żhP1RRbbb߭Q߭Q߭QP߭QQ>R>SRQRbsSbd<2~wbNOQ2~2M~QQ߭Q߭ Q&$߭QP߭. QPP<@~vPP߭|P8߭rPMK߭pPPa߭UuPDPZ~7eBP < ~+~(P P2P<^aeSUTd2PPď-PPeOP_OPe<-~O-e<-~tO2~ þRP÷RRòÏ^O^dU=TBW1"2~O\2R\R@ OS\PPRBP@d&cz\P{PQPP.cV2RR\V 0N\PŏQ\RBćRbNP b2N\ԟ6NSc;c@c2~DcJc2 ~\c\>Sc2cRR RBgs"NS \1e2~wN\2R\RCMSP\PPRBP@cz\P{PQPPcV2RR\V M\ŏQ\RB RbeMP bxM\ԟ?EMP?VM3MFMRbĞbbbdMSci c2t~cvc2ā~ă(c\>Sc2cRR RBg?LS \CL|^aTSOJE~LUeĬ2~ħSe 2~İe\2R\RC7LUP\PPRBP@ ez\P{PQPPeV2RR\V K\ŏQ\RB RbKP bK\ԟ?KP?K3M"KRbÞ)b7b<bd@[KUeiEe2t~IevOea^p`TXWSZcԮK[J8JVJ >464P PЮ4RtPPY1Y2YRxRRBgP`1 BRQ>P`PbQ2PŏPUUhkh~'HP/cf2YRxRP@gP2`~R2~ċf RBjĭf2YPxPP@Q2aRBca@gRbacJaUhkh~0R>cP`PcRŏUUhkh~f0hR>P`PcR2YPxPP@gRb@QJa@Rbcŏ2RRhkh~04 M^`^YVn[WIZgS2RSR1H8H4H0H@HRPkSPRP@TPSPRP@TTXX~2RRxRRBvUe1XBuRP>RbRbP2RŏRXX@~r@PMɼD2>PxPRBuR2b~P2~Pk SRBT PSRBTTH1`2>TxTTD?uU2eRBgeD'uRbecTe5X@~,P>RbRcPŏXX@~u,PP>RbRcP2>TxTTD|tRbDutUeDhtRbgŏoRR(@~,DS2RSR1n^e[RݬݬF^E[\&!EΤ^#[TVE[&!EF2~A*ESEUEY0X=EWSZZRReĖđčS~ĈJeZRRekiZěĚhZDPlZSP@gSSKUCPZR.RekiZĝĜh`ZSP@gSS 18S  SZZSSDUeĞaD2RRZZSSeijĮĢekODZZSSe ķeZSSDRZ /ZCPZŏQRP@ CR) PRRZZSSCWgF A = 8 gZS SgkxCXhZK J z.YiZ#CP1ZS SgkhZΨΨRި Pި~$CPިΨbިZS SBZL BkBZJ~Z?B1^ZSSgO BkhZSSg ļ ĸ ij S g7 2 . ) gĈ ă  z ; g Č gZZSSgkhZ iZMAUeZZSSgkhZ iZƞeZZSSgkhZ iZeZZS SgkhZ iZeZZSS?AUe  eZS SekAWgZ ,Xh^Zd@YiZSSe8 3 / * eZSSekgZ= < hdZiiZS-SeR M > eZS6SekgV ##Pttd2tRlRRtZS6Se2t~W eZZSSeĆ ā } x Z eZS SekgZċ Ċ hdZviSSe ļ Č eo~ %P~ `?P C?P0 K?1U2RUR1>?S?WPUP@ΰΰRްPް~cPްΰbްUP@άάRެެ~cPެάbެUP@ gUP@ kgU2PUP1f Nk>SŏQSP@ Rb1>Pbg :>Sk &>Rb?=P?Ļ bDMĿ bƞ b b bd =Sci rc2t~ `cv OcS>RbR S P=qPSS;S 1PMHDSRR?;62R- ߭ =ZQ߭(Z<P/fZPCƍCƍSS 1zSRDRRf cl<2P|<^QTRUOVݬ߭%<ޭ׮ ޮ R P ~Q<P  b SfRSRG/SRBe߭;P'B Rbݬ;bb]R;SfPSP^QVT[UԮ2RѮR1;Yk;XPRBޮR~iPbSkRSR_ZJWg S\LkhP4\LRbEPEčbU\\f;\UPS \S\֮2RѮR1ZUPPx^3PXЬRbPb~:PbRbЬSS:cRRRB:WSf:PPSSȰ P@~ȫvy:n~ȴ P~ȵ<:PSPP|Z28RZR1Tެ :(:$9Y ZRB~,ޮ,Vо STݮ,,PRS,RPЮ,UPSUUPPQPRaPЮ,Q,faTTRZPRIZSS ZRB}Ⱥ9n~P~T9PtSP ZRBa}0ޮ0Wо VV(PUݮ0(UPRT1RRSRS#UVݮ8iPЮ0T0gRPRPTT [ZK[Z2PZP1[OSS8 RB|38o~<P~=8PSPP[[[:B8S[% CRBo|C~`^8SS[PȫݬȦ[m;8P2!RRRݬȯ8n~?P~7P)ݬ2R RB{72PP^PЬRb~7PbR^LUT]YZ߭f7߭7*-7Pi,97SޭθPQiQ7PRθ6P@޸S߭6PSi6SRSR9PޭδPQiQμ6PRδ6P@޴SPSPɰjRRP@RP@RSo6XX6WE6VޭΰPQiQθhPRΰgP@ް߭ 6Pt a߭5PP߭SP@fޭάPQiQδhPRάgP@ެ߭SP@fSPSSj PS 1PS 4SjޭΤPRiRά5PRΤn5P@ޤRŏQRP@ RSޭΨPQiQΰD5PRΨ&5P@ި߭5P. l߭4P!߭ŏQSP@ 4SSޭΠPRiRΨ4PRΠ4P@ޠ w߭4P.ޭΜPRiRΤ4PRΜs4P@ޜ߭b4P߭߭?741jޭΘPRiRΠ54PRΘ4P@ޘ߭M3ޭΔPRiRΜ3PRΔ3P@ޔ߭Ğ3ޭΐ'RiRΘ3PRΐ3P@ސ߭v3ޭΌ'RiRΔz3PRΌ\3P@ތ߭83ޭΈPRiRΐ;3PRΈ3P@ވ߭d2ޭ΄PRiRΌ2PR΄2P@ބ߭i2iPtޭ΀PRiRΈ2PR΀2P@ހ߭vk2jSRDRRe2^Y]W1uTSgS`2V2ZSXHRb 2PvTbXޮXUXPX~fPXXeXSRBTޮTUTPT~fPTTeTSRBBjSRBBdjPHSRBdSbTRŏQRSC Tda1PdCLJC1Rӟ?11ScdcictvcޭR0PR0Pc0P P>ɍS>RcbSR P1=TDgS0VSUERb0PTbEfSRBBf ESRB STRŏQRSC TdM0PdC /0C R˟MM0ScɞǞccc??cddciicttvvcޭR/PR/PǃcǁP>ɍS>RcbSR P}/8^DTU}XzsVS2hRSRGP2CōPP P@f߭$/߭&/P߭SRRĂ2/RS2hPSP2hWq~ēMP~'/Pa3PPPPPPPPPPPPPPOP1bP"?P2hSSRRRZ.߭ Z߭v.P1߭PCō1h1PWZg.WZ.PSSRRR3Z?.߭ZZM߭-P1߭P1߭ PCō1yW\Z-WZPWRBō@ōWGōh1?P18 ^ݬ ݬSS-PRSg-P@RP|^VЬUUH-PRЬSS8-RPUTPSTTPPQPRaPЬQ֬ЬP֬a`VVPP ^ݬ,PSݬ,SPRPRRPRP$Sݬݬ,PЬP֬RPRPP^BWUZUYoX,Vǃ,4}6R2SRS1P\RQP\QP@S\SPPP@fRT\TP@Q\QPPP@fSPPPQ\\P\\T2T\x\\LYSccT6R\L߭+R2\R\1j6[12~i+Pj+4 P2[R>[ިOxRRB|YRTS2TRďRR@q+3~<+P9+1PQP2Q\LhSRS2RRjPLhB`=bQTSkR2SRS1*D*[<8*@jSBcT2TH*HRio2HSS\ď-\\v*PS*LSwRWnVXV[uZkTdjxRBRYU2YRďRRh(h~jd(Pa(PS2SQAdUPU2PPfRAd@b=bSYU< ^u=SUTde﫥2RRPď-PP˞'PR*'P丹1J?PbdScߢecߢfcߢ+duScߢ:ecߢDfcߢSdUScߢaecߢnfcߢxd5Scˆec“fcPœdScªec³f^FRJUJTZJW!V[YXfݬpݾ½߭k|~jgi~߭ ϧ ߭iP߭cPSPоSdeYSdSe?edW`߭k߭iPO~fh߭fhSd1^Se1VSPPμ^ERIUITIY+V[ZXWfݬ|k߭jݬ ii~߭ ϱ ߭hP߭mPSkSdeYSdSe?edd_߭j߭hPO~fg߭fgSd1_Se1WSPP^DRHXHW?THVU[ZYfլݬf deѬ  dݬck߭jݬ ݬݬHHi~߭ݬ ϑ ߭iP߭MPSkSghuSgSh[fլݬfdehg-^ ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬS|~﫶c~߭ϋ߭ePPP^ݬݬ c~߭<߭PPP^BR Gլ լݬݬ C'ݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭jPPP^ARETESgWEVyU[GZY1Xeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~[S߭j߭iPO~behv߭qhehQc1UQd1LPP^@RDTDS7[[DWqUZ?YX)Veݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^?RCWCVC[pS0DެU2TZ,YXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭UPvjQfg{QfQg]eլݬe·cdVg~Vf~TY߭i߭hPOPìP~cd߭cdQf1Qg1PP ^>Rݬ߭߭P߭߭PPvP ^P>Sݬ_ݬ߭|~ﮱhBs~߭ݬkPO~z߭TPR߭ݬ 6RPݬ $%^=T]ݬݬ߭ݬAs~߭ݬScPORgcPR~߭cPR߭ݬ RPݬݬ  ^=SAլլݬݬoѬPPݬݬ߭Gݬ$ݬ ݬ@s~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ xy8^R|~|~ ߢ |~߭#ݢ P\\2\\\lI\^}>R|~|~|~߭1ݢ PT^{:WY=>Z,΀CЬSЬRBcjiǏeVSkSySǒiSmPѪjЪjm> _·P ·լլ ΈPΈΈ8>0ݬPRެTRdSiS%RRdΈ"ݬݬǕiiqiǟ PPf 9WW)WWWWWWWWWI9P&?Prn[^n[jn[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1iy ΀1iǫ V΀1 siF 1P޼RFb $PVVi!  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷ" VǺio ΀1Pݬ: VP~iI ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi i 1rPiw ݬi i iI ݬ{ PѪjЪj ݬZ PѪjЪjRjPi e RRji ݬi5 #8/ݬ PRެTRdSiS RRdi V1zVi 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT( CdB T1 V· ·XP XX~SCd i4 iV1Vi 1PΆ1i ,iVkЬRRRRi6Έ/RPRެTRdSiSRRdΈ"ݬݬiaiٮi)Ά >i?ݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiM]V1BVPib14iV;fݬaYiiij ݬ6PѪjЪjRjPi ARRjimݬpi4/ݬPRެTRdSiSRRdisqV1VVvi1DΆ1 c10[1)R[jЬSTUU[USSPSEd-P1޼PE`ݬ$ݬݬΐΓ~ݬݬrV PRR[i*1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪΆ i1+Pծ,1΀1Ԯ,i|Rji qRRji?3Έ%RެTRdSiS1RRdΈ"ݬݬǂii}injVVi1` i%Ά~ǏPi17P f%Ά~ǜqPi1 PRP`PORVЬSSΆFVRBFc ެTdRBSFcǬi ViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlR[ݪ c1ЬRݬ=PPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn」[n謹[Οnﵣ[Ο(^=,WV/TfǸAݬsPѤdФdRdPf }RRdfǻݬǾfM;0լ.ݬPRެURe SfS%RReլ"ݬݬffrff@@"LL L 4t|l<d|DtL, t 8 ,  @VAXCRTLLIBRTLMTHRTL NEW_FICHES main write_ficheT show_fiche show_pre_fichex write_motcle write_auteurcurseur erase Ц get_fiched 4 test_abrevذ test_auteur trouve_key(strupper(corrige$4transfert_pre_fiche change_mots fgetss00 dif_stringaisinstrW fiche_unique auteur_fiches read_fiche\ setcbreak\restorei getchar_vms, edite4     `   /  R ASKVAL( askidomain8` askfdomain4 ask_speakaskivalaskivalhxaskivalf9faskival3askcvalP8askcvalhLaskcvalffaskcval,0askfval8askfvalh@askfvalfPfaskfvalDasksvalhasksvalhasksvalffasksvalP setcbreakrestorehx getchar_vms0 ask_edite?re_ecrit (           -}*[DANA.BIBLIO.EXE]REFTEX.EXE;1+,o{.'/ 4'&-&0123 KPWO&56@7A8{ǔ9GHJ@0DX0205(o@,h"REFTEXV1.0o@05-05  += A U ! ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s inexistant ou probleme c_codcle.bibrctx=bin%s inexistant ou probleme r%s inexistant ou probleme Fichier resultat pour BibTeX [%s[.bib]]: .bib.bib.bib.bibw%s impossible a ouvrir Probleme de lecture Liste de references preparee pour BibTeX dans %s %s %s  @ARTICLE{%d , AUTHOR = { %s, %s and %s, %s }, TITLE = { %s }, JOURNAL = {%s}, VOLUME = {%s}, PAGES = {%s}, YEAR = {%d} } @ARTICLE{%d , AUTHOR = { %s, %s @INCOLLECTION{%d , AUTHOR = { %s, %s and %s, %s }, TITLE = { %s }, JOURNAL = {%s}, BOOKTITLE = { %s }, EDITOR = {%s}, PUBLISHER = {%s}, ADDRESS = {%s}, VOLUME = {%s}, PAGES = {%s}, YEAR = {%d} } %s%s Un fichier contenant des numeros des references est necessaire  %s M E N U %s D -> obtenir le Directory des fichiers *.num C -> Creer ou modifier un fichier avec l'editeur P -> utiliser un fichier Preexistant T -> Traiter ce fichier S -> Sortir sans traiter ce fichier  Votre choix [P]: %s%s Directory des fichiers *.num dir *.num %s Taper RETURN pour continuer %sNom generique du Fichier a creer [refer[.num]]: refer.num.num..num.num %s ATTENTION, un numero par ligne %s %s %seditOn traite le fichier %s %s %s Fichier contenant les numeros des references [refer[.num]]: refer.num.num..num.numOption inconnue (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^[(UTg[Zߥ7ߥ3ߥ.ߥ*ߥ%ec(Ѭ1g~ߥ>P~N(Pg FFFFFFFFF0z?Pŏߥj~(ř~?;ţ~'~ЬRݢ'߭|'߭r'߭x'P߭u'D'߭.'߭$'߭*'PS߭''&>HR>S)R&RbSb<2~#b&Z߭PPZ߭P5߭&PZ7|&K&ZR~d&Z "&Rb| &Sc ~q߭Zb. %P ߭bŁ߭c> ߭bņ %P %P@  Pŋ߭c߭ |%Ő߭%P# Œ%U%sΤ SSάT%PRΤ6%P@ޤR1F%W/%V0%Y%Xs%PS2SPjdk8c2PPPď-PP gPRk™Wݬ߭F߭PݬPݬPPЬSS=3 .SPSݬGݬJSЬSSNLSPcPSnP@cSݬJPXhP^ѬЏ1Џ"Ь ^q ~P~v~v ~|^zR V&UTPPa^~>1J?PbdrScߢecߢfcߢ+dQScߢ:ecߢDfcߢSd1ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^yR}U}T+Z}WV[YXfݬ`ݾ½߭k|~jgi~߭ ϧ ߭iP߭_PSPоSdeYSdSe?ed{߭k߭iPO~fh߭fhSd1^Se1VSPPμ^xR|U|T|YV[ZXWfݬlk߭jݬ ii~߭ ϱ ߭hP߭iPSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^wR{X{WT#|VU[ZYfլݬf deѬ  dݬSk߭jݬ ݬݬl{i~߭ݬ ϑ ߭iP߭IPSkSghuSgSh[fլݬfdehgQ ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬC|~c~߭ϋ߭IPPP^]ݬݬ c~߭<߭PPP^uR-zլ լݬݬ Cݬxݬݬݬc~߭Ͽ߭}PPP^ݬ߭h߭NPPP^uRxTxSWxVAU[#ZY Xeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~ˎS߭j߭iPO~behv߭qhehQc1UQd1LPP^tRwTwS[[wW9UZYXVeݬpj~z߭iݬgf~߭߭hP߭}߭uPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^sRvWvVv[8STwެUTZYXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭EPvjQfg{QfQg]eլݬe·cdVg~Vf~x߭i߭hPOPìP~cd߭cdQf1Qg1PP ^qRݬ߭߭P߭߭zPPvP ^tqSݬOݬ߭|~us~߭ݬOPO~z߭8PR߭ݬ RPݬ  ^pT%ݬݬ߭ݬts~߭ݬScPORcPR~߭cPR߭ݬ sRPݬݬ bi ^@pStլլݬݬjKѬPPNݬݬ߭#ݬ$ݬ ݬ ts~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ eRPݬݬ T]8^5oS~TrR|~ߢPP\\\d"\|~|~ ߢ |~߭'ݢ P\\2\\\$d\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\V ^9nSrR|~|~ ߢ |~߭#ݢ P\\2\\\lH%\^qR|~|~|~߭1ݢ PT^mWYaqZ,΀CЬSЬRBcjiǏUVSkbSUSǒirSQPѪjЪjq _·P ·լլ ΈPΈΈ\q0ݬPRެTRdSiSRRdΈ"ݬݬǕii~iǟq PPf 9WW)WWWWWWWWWI9P&?Pn[n[n[ cnU|~|~|~߭1ݪ ΆΆ iǢ 1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPiF V15ǥiq ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l sif 1WPެRF ,bs VPVPi5  PF ViǷ VǺiK ΀1Pݬ VP~i% ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEdI P1޼PE`ݬ` ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi iy 1rPig ݬi iR i9 ݬ_ PѪjЪj ݬ> PѪjЪjRjPi RRjiݬi Gk/ݬPRެTRdSiSRRdiV1zVi1hii1ZPΆ Ά1ViC14RP`PORVSS~ЬTTCdT V· ·XP XX~SCd iiV1Vi1PΆ1i,izVkЬRRRvRiiΈ/RdPRެTRdSiSRRdΈ"ݬݬi=iIi)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMMV1BVPib14iV+fݬaYi[iijݬPѪjЪjRjPi RRjimݬpi#h/ݬPRެTRdSiS}RRdisaV1VVvi1DΆ1 c10[1)R[jЬSTUU[US7PSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRyݪhΆ i:1+Pծ,1΀1Ԯ,i| Rji RRjicfΈ%RެTRdSiSRRdΈ"ݬݬǂiiinj}VVio1` i%Ά~ǏuPiF17P f%Ά~ǜIPi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDziVd1sVirig1X|~|~ ߪ |~߭#ݪ PRR2RRRldR7ݪ c1ЬRݬ!PPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn5[n![n)[(^a_WV#cTfǸ1ݬWPѤdФdRdPf  RRdfǻݬǾf)_cլ.ݬPRެURe SfSRReլ"ݬݬfffrfu)~ BIBLIO.BCKo{&[DANA.BIBLIO.EXE]REFTEX.EXE;1S.EXE;2'g !@@LLtL 4t|l<d|D8 ,  @VAXCRTLLIBRTLMTHRTL REFTEX maintt print_referx read_fiche fgetss0 menu\ [ ASKVAL@ askidomain8x askfdomain4 ask_speakaskivalaskivalhaskivalf9̑faskival3askcvalPPaskcvalhLaskcvalffaskcval,HaskfvalPaskfvalhXaskfvalfPfaskfvalDasksvalasksvalh asksvalfܘfasksvalP, setcbreak(restoreh getchar_vms0 ask_edite?re_ecrit @           -} *[DANA.BIBLIO.EXE]THESAURUS.EXE;1+,}{.$/ 4$#-&0123 KPWO#56@7 `A8 @ǔ9GHJD0DX0205(=@, h THESAURUSV1.0 =@05-05  EV Wp q   ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s -> pb c_motcle_index.bibrctx=bin%s -> pb c_super_cle.bibr%s -> pb Desirez-vous une liste sur l'ecran (o ou [n]): oOyYNombre de colonnes du listing [2]: Nombre de colonnes du listing [4]:  Actuellement,il y a %d mots cles et %d fiches et %d super mots cles Mise en ordre alphabetique en cours... %4d %4d Page %d Thesaurus des %d mot-cles de %s (%d fiches) en date du %s %-12s -> %4d (%4d f) %s Suite ou Quitte ([S] ou Q): %s fFqQ SUPER MOTS-CLES Desirez-vous une liste imprimee ([o] ou n): nNthesaurus.lstwImpossible d'ouvrir thesaurus.lst Mise en page pour l'impression en cours... Page %d Thesaurus des %d mot-cles de %s (%d fiches) en date du %s %-12s -> %4d (%4d f) SUPER MOTS-CLES print thesaurus.lstthesaurus.lst envoye sur la file d'attente d'impression %s %s %s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^W(YrZ3xWߩ7ߩ3ߩ.ߩ*ߩ%ib(Ѭ1g~ߩ>P~Q(Pg IIIIIIIII!3P~?Pɏߩj (nəO;ɣ'n&ЬRݢn'n߭|'߭r'߭t'Pup߭q'D'n߭.'߭$'߭&'P3p߭#'&n߭&߭&(߭&Po߭*&&n~41P~e&Pj P[Ɏ P2[>vR>S_oRW&RbIoSb:o<2~Y<b$o&go b o<@~gbn%2~2~ɲ%P%X2﷔RXRy|T XVTVRB;ITVRB;RRRB%R XRUSURSTRB;C{TTVRBv; XRURB^X2>RXRS20RSRPSCjS2RSR %T2RRTR1$UzTP{2PQPPT#$$$TS2ᅮRSRK CjRBē DjRB︓ePDjCjRRS2tRSRT2fRRTR1kXX1%$ $UzXP{ PQPPX($7$$XTTl(XRB:V(TRB-ScfP4(XRB c ee eTTXX1V;#P12aSSTzSP{PQPPT[SS1 #XP'#P2~߭2~-hUUUV2ݑRVRRVT[`PSHS[RURTRRV0xBjP@gQ2aQ@P2`PPQ~Bj~ BjP@8vhSSɎhTT[ɹɴɐhs~ɽ P~ɾ""P28RVR  "S"2"(SRBOSSߚo~T P~!P!!P]!{!9!2SSTzSP{PQPPT[RRSS2[1@!X[C!P2~߭2~ehUUUV2RVRRVT[jSNS[RURTRRV6xBjP@gQ2aQ@P2`PPQ~Bj~ BjP@6ɮBhSS,hTT[h2gRVR B S#P(SRBwSSP^ЬQaRЬP`aR4^ݬ߭ԞRbݬݬb߭ݬb^ThSRޭʮ1PcPݮ|P\ݮGP@+߭R\R(\Ld-ޭʮ 1PcPݮ7P\ݮ P@ \RP^S55Z.W h ޭʮ1TgTݮ PRݮP@RUYXV|[Pݬ߭P1T߭*ݬeޭʮ 1P{gPݮ(iPRݮ hP@ R1߭fP0ݬ<߭fPPTPPP@g߭kP P@j2ݬePPP@gP ߭6ݬeTd :ݬeTޭʮ$1QfQݮ,iPRݮ$hP@$R1Wޭʮ1PfPݮ$iPRݮhP@R1P ^ݬ ݬЬSS\PRS(P@cRP^ѬЏЏЬ^q Pv|v m|^xR2V諭U[TPPa^~>1J?PbdbScߢecߢfcߢ+dAScߢ:ecߢDfcߢSd!ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^RUTﯽZWVYXfݬTݾ½߭k|~jgi~߭ ϧ ߭iP߭3PSPоSdeYSdSe?ed?1߭k߭iPO~fh߭fhSd1^Se1VSPPμ^RUTYV[ZXWfݬ`k߭jݬ ii~߭ ϱ ߭hP߭=PSkSdeYSdSe?edL0߭j߭hPO~fg߭fgSd1_Se1WSPP^RXWTVU[ZYfլݬf deѬ  dݬGk߭jݬ ݬݬ0i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg/ ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭rP ߭hP^ݬ7|~Kc~߭ϋ߭PPP^Yݬݬ c~߭<߭PPP^Rլ լݬݬ Cݬlݬݬݬc~߭Ͽ߭QPPP^ݬ߭T߭"PPP^RTSWV=U[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭tPvkQcd_QcQdAVd~Vc~,S߭j߭iPO~behv߭qhehQc1UQd1LPP^RTS,[W5UZYXVeݬpj~z߭iݬgf~߭߭hP߭}߭iPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^RWV[4SެUTZYXeլݬe§cdѬcݬwpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭9PvjQfg{QfQg]eլݬe·cdVg~Vf~<*߭i߭hPOPìP~cd߭cdQf1Qg1PP ^}Rݬ߭߭P߭߭nPPvP ^8SݬCݬ߭z|~NPs~߭ݬ#PO~z߭ PR߭ݬ RPݬ ^T!ݬݬ߭ݬs~߭ݬScPORKcPR~߭cPR߭ݬ cRPݬݬ R= ^Slլլݬݬf7ѬPPJݬݬ߭ݬ$ݬ ݬs~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭߭_PR߭ݬ URPݬݬ D18^ SzTR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Ido\F ^ SR|~|~ ߢ |~߭#ݢ P\\2\\\lD\^eR|~|~|~߭1ݢ PT^c WY%Z,΀CЬSЬRBcjiǏIVSkRSESǒi^S%PѪjЪjU _·P ·լլ ΈPΈΈ 0ݬPRެTRdSiSRRdΈ"ݬݬǕiiUriǟe PPf 9WW)WWWWWWWWWI9P&?Pno}[n[}[n[}[ cnU|~|~|~߭1ݪ ΆΆ iǢ 1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬT PVPi: V15ǥi] ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l siZ 1WPެRF ,bG VPVPi)  PF ViǷ VǺi7 ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USk PSEd= P1޼PE`ݬP ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi im 1rPi[ ݬi i i- ݬ3 PѪjЪj ݬ PѪjЪjRjPi RRjiݬi /ݬPRެTRdSiSRRdiyV1zVi1hi]1ZPΆ Ά1Vi714RP`PORVSS~ЬTTCdTV· ·XP XX~SCd iiV1Vi1PΆ1i,inVkЬRRsRfRiΈ/R8PRެTRdSiSRRdΈ"ݬݬi)ii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMAV1BVPib14iVfݬaYiGiJijݬPѪjЪjRjPi RRjimݬpi/ݬPRެTRdSiSqRRdisUV1VVvi1DΆ1 c10[1)R[jЬSTUU[US PSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRiݪXΆ i.1+Pծ,1΀1Ԯ,i|Rji RRji'Έ%RެTRdSiSRRdΈ"ݬݬǂiia~injqVVic1` i%Ά~ǏePi:17P f%Ά~ǜ9Pi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDziVd1sVifi[1X|~|~ ߪ |~߭#ݪ PRR2RRRlPR'ݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?PnY[pnE[pnQ[p(^%WVTfǸ%ݬ+PѤdФdRdPf RRdfǻݬǾf#լ.ݬPRެURe SfSRReլ"ݬݬffVsfff@@LLt t|4l<d|DL,Lt 8 ,  @VAXCRTLLIBRTLMTHRTL THESAURUS main swapswapstr(trouve_super_clet give_super fgetss- >n ASKVALL askidomain8 askfdomain4 ask_speakaskivalaskivalhaskivalf9faskival3 askcvalP\askcvalhLaskcvalf(faskcval,Taskfval\askfvalhdaskfvalfPfaskfvalDasksvalasksvalh,asksvalffasksvalP8 setcbreak4restoreh getchar_vms0 ask_edite? re_ecrit L           -}$*[DANA.BIBLIO.EXE]TROUVE_AUTEUR.EXE;1+,~{.-/ 4---&0123 KPWO-56"EA7A8{ǔ9GHJ,0DX0205(A,h( TROUVE_AUTEURV1.0@A05-05  +> B[ ' ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ***************** Fiche simple numero %d ***************** %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s ***************** Fiche double numero %d ***************** %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_auteur_index.bibrctx=bin%s n'existe pas ou pose un probleme c_abbrev.bibrctx=bin%s n'existe pas ou pose un probleme c_fiches.bibr+ctx=bin%s n'existe pas ou pose un probleme c_codcle.bibrctx=bin%s n'existe pas ou pose un probleme c_auteur.bibr+ctx=bin%s n'existe pas ou pose un probleme Actuellement, il y a %d mots cles et %d fiches Desirez-vous voir les fiches sur l'ecran ([o] ou n): oOyY Nom de l'Auteur a trouver: Prenom [inconnu]: Annee (limite basse) [tout]: Annee (limite haute) [%d]: .numw%s impossible a ouvrir .lstw%s impossible a ouvrir Fiches concernant %s %s (%d -> %d) Fiches concernant %s %s %d fiches trouvees pour %s %s %s %s Desirez-vous conserver les fichiers (o ou [n]): oOyY.numVous trouverez le resultat de la recherche: les numeros des fiches dans %s %s %s .lst la liste des fiches dans %s %s %s Voulez-vous un listing ([o] ou n): oOyYprint %s La liste des fiches %s %s %s est envoyee sur l'imprimante del %s.num;0 %s.lst;0Voulez-vous continuer (o ou [n]): oOyYPb d'allocation memoire... %d %d Pas d'auteur %s repertorie Pb de lecture au fread de c_auteur.bib (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^}UXTҠWhek2ߥa2w1ߥb2~ߥ]ߥ N2\2R\RA<2SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp1\ŏQ\RBćRb1P bߥr1\՟ߥv1Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgųV1S \1e2~ ŷ51\2R\RC#1SP\PPRBP@cz\P{PQPPcV2RR\V 0\ŏQ\RB Rb0P b 0\ԟ?0P?$03M)z0RbĞ0b>bCbdGG0SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg/S \ůŪŃ/s~ųP~Ŵ/PhP^zU%VTӝX1/2~Źff/\2R\RGT/SP\PPRBP@dfcz\P{PQPP fcW2RR\W f/\ŏQ\RBćRb.Pbf.\ҟf.Sc fcfc2~fcfc2 ~-fc\>Sc2cRR RBhDfT.S \1}P2~Hf7.\2R\RE%.S\PPRBP@ńfcz\P{PQPP ŌfcW2RR\W Ŏf-\PŏQ\RB Rb-PbŐf-\ҟ?-P?Ŕf-;Mřfp-RbĞŠfbŮfbųfbdŷf5-Sciżfc2t~fcvfc2ā~ăfc\>čSc2cRR RBhf,S \,\^{,xU,Z.*%!,Ѭ1g~5P~t,Pg HHHHHHHHH 2P?Pņa-,nŐ:ŽŚ,nЬRݢn+n߭+߭+߭+P߭+h+n߭R+ ߭H+߭J+Pk߭ G++n߭+E߭*UR߭*P-߭]**n߭*ł߭*őŏ߭*P߭ř*~*n߭h*ž߭^*߭`*P߭]*0*>R>ScR/*TdMSd><2~]d()Sc2~2,~) dd<~Gd<~!dco~-P~dX)P q PfedR< ~id<0(W)Y ,(<(H(D(V((([($( (8(4w(ņi<gP1DddRdPd~iPddbdśň<``S``~iP``c`TRgRP2PBPPP@jPTPTB@RgRPєD~ŝ4PXPXd 2XRlRRX2XRRżHR4PBBd2BRlRRBRgRP1BPPAPZ PBI P_BIRgRPϔBII߭P߭Lޭ\\S\\~fP\\c\߭0P\߭k(I߭P߭LޭXXRXX~fPXXbX߭0P߭k(X!2B~2X~8;02B~2X~PS z ŀ{2S~VkS1oSn~ń@P~ŵ<P1SI߭Pź߭LޭTTRTPT~fPTTbTſk߭kI߭P߭LޭPPRPP~fPPPbPM߭H!ko~Q@P~u<P+߭zH߭ŃkSLILLRLPL~fPLLbLIILn~@P~<P1O$Rb3b22P^ToY)VRZ#XJRTBdWRWSSSChUBeTRTSSSChWSSSTRRSRRS2SRxRRB{Rb12~;#PT [#P2SR>jxRRB{Rb[W2[RďRR<%#/~o"PJ"6PUP2USCjWRW2RRTCjBd=bU[WS2RSR1y"4q"8<@"DjRCb[2[RKf2RRRď-RRjG"PTyPN1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSd}Scߢaecߢnfcߢxd]Scˆec“fcPœd8Scªec³f^ pRtUtT{ZtW9V[YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭oPSPоSdeYSdSe?edlj߭k߭iPO~fh߭fhSd1^Se1VSPPμ^oR sUsTsYCV[ZX Wfݬk߭jݬ ii~߭ ϱ ߭hP߭yPSkSdeYSdSe?edԈ߭j߭hPO~fg߭fgSd1_Se1WSPP^nR-rX*rWWTorV$U[ ZYfլݬf deѬ  dݬk߭jݬ ݬݬqi~߭ݬ ϑ ߭iP߭YPSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬ|~c~߭ϋ߭PPP^ݬ?ݬ c~߭<߭BPPP^lRypլ լݬݬ C?2ݬݬݬݬc~߭Ͽ߭PPP^ݬ߭p߭PPP^dkREoTBoSW8oVU[kZDYUXeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^\jR=nT:nS龍[0nWUZcY<XMVeݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^TiR5mW2mV/m[SmެUVTZPY)Xeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~Ă߭i߭hPOPìP~cd߭cdQf1Qg1PP ^hRݬ߭߭P߭߭PPvP ^gS ݬݬ߭|~ks~߭ݬPO~z߭PR߭ݬ ^RPݬ LQ^,gTuݬݬ߭BݬEks~߭ݬScPOR/cPR~߭cPR߭ݬ RPݬݬ  ^fSjլլݬݬѬPPݬ0ݬ߭kݬ$ݬ ݬljs~߭ݬ߭#PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ 8^eSTCiR|~ߢPP\\\dj\A|~|~ ߢ |~߭'ݢ P\\2\\\$d%\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^dSNhR|~|~ ߢ |~߭#ݢ P\\2\\\lm\D^gR|~|~|~߭1ݢ PT^cW4YgZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪjg _·P ·լլ ΈPΈΈg0ݬDPRެTRdSiSRRdΈ"ݬݬǕii9iǟ PPf 9WW)WWWWWWWWWI9P&?P:n[&n[.n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ7 ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vie V1iU ΀1iǫ7 V΀1 si" 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷ^ VǺi ΀1Pݬf VP~im ݬK PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[if 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi. ݬi i 1rPi ݬi i i ݬ PѪjЪjP ݬ PѪjЪjRjPi A RRji% ݬiY a/ݬ/ PRެTRdSiSRRdiV1zVi1hi1ZPΆ Ά1Vi14RP`PORVSS~ЬTTHCdjTYV· ·XP XX~SCd iXiV1Vi51PΆ1i,iVkЬRRRRi`Έ/RPRެTRdSiSiRRdΈ"ݬݬii2i)%Ά >iݬݬΐΓ~ݬݬUV1V,i'1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVwfݬaYiibijI,ݬbPѪjЪjRjPi RRjimݬpi5o^/ݬ PRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEd-P1޼PE`ݬLݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪΆ i1+Pծ,1΀1Ԯ,i|WRji MRRji1\Έ%RެTRdSiS RRdΈ"ݬݬǂi)iEinjVVi1` i%Ά~ǏPi17P f%Ά~ǜPif1 PRP`PORVЬSS!ΆFVRBFc2ެTdRBSFcǬi-ViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬiPP&nSPCbݬCb:S  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[Nnq[:ny[:(^UWVoYTfǸ}ݬPѤdФdRdPf YRRdfǻ=ݬǾfqYլ.ݬBPRެURe SfSRReլ"ݬݬff:ff@@LdLtL t4|l<|D t 8 ,  @VAXCRTLLIBRTLMTHRTLĴȴ TROUVE_AUTEUR show_fiche print_fiche main read_auteur8ؖstrupper(strlower(( auteur_fichesԗ read_fiche cmp_prenom^ m   ASKVAL askidomain84 askfdomain4h ask_speak\askivalXaskivalhLaskivalf9faskival3askcvalP askcvalhLXaskcvalf؞faskcval,askfval askfvalhaskfvalfPdfaskfvalDasksval<asksvalhܣasksvalffasksvalP setcbreakrestorehL getchar_vms0| ask_edite?re_ecrit            -}!*[DANA.BIBLIO.EXE]TROUVE_CLE.EXE;1+,{.6/ 466-&0123 KPWO656`A7@~A8uǔ9GHJN0DX0205(|A,h0 TROUVE_CLEV1.0@$|A05-05   +@ Dc / ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ***************** Fiche simple numero %d ***************** %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s ***************** Fiche double numero %d ***************** %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s inexistant ou probleme c_codcle.bibrctx=bin%s inexistant ou probleme c_motcle_index.bibrctx=bin%s inexistant ou probleme c_motcle.bibr+ctx=bin%s inexistant ou probleme c_super_cle.bibr%s inexistant ou probleme Actuellement, il y a %d mots cles et %d fiches Mot cle: Pb d'allocation memoire... Erreur avec le mot cle %s %s --> %d fiches Relation (et, non, ou, [return pour finir]): ET OU NON Fin du super mot Relation %s %s %s inconnue  Mot cle: Pb d'allocation memoire... Erreur avec le mot cle %s %s --> %d fiches Pb d'allocation memoire pour les_fiches... Relation %s %s %s inconnue  %s %s %s --> %d fiches %s Pas de fiche pour cette combinaison de mots cles %s Desirez-vous savoir quelles sont ces references ([o] ou n): Nn Criteres supplementaires de selection: Annee (limite basse) [tout]: Annee (limite haute) [%d]: Nom d'un des auteurs [pas de selection par auteur]: Prenom [inconnu]: Desirez-vous voir les references retenues sur l'ecran ([o] ou n): YyOoNom generique des fichiers %s *.num et *.lst %s des numeros et de la liste des references retenues [%s]: ref_cleref_cle.numw%s impossible a ouvrir .lstw%s impossible a ouvrir Recherche par mots cles %s (%s %s %d -> %d) Recherche par mots cles %s %d fiches retenues pour %s %s %s Desirez-vous conserver les fichiers (o ou [n]): oOyY.numVous trouverez le resultat de la recherche: les numeros des fiches dans %s %s %s .lst la liste des fiches dans %s %s %s Voulez-vous un listing ([o] ou n): oOyYprint %s La liste des fiches %s %s %s est envoyee sur l'imprimante del %s.num;0del %s.lst;0%d Pb de lecture au fread de c_motcle.bib Vous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) ([o] ou n): oOyYVous avez le choix parmi... %4d --> %s %d mot-cles possibles avec %s %s %s, precisez mieux... %s %s %s n'existe pas Le super mot %s n'existe pas FIN (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^yUXTﺠWheo>ߥe>g1ߥb2~ߥ]ߥ R>\2R\RA@>SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp=\ŏQ\RBćRb=P bߥr=\՟ߥv=Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgųZ=S \1e2~ ŷ9=\2R\RC'=SP\PPRBP@cz\P{PQPPcV2RR\V <\ŏQ\RB Rb<P b <\ԟ?<P?$<3M)~<RbĞ0b>bCbdGK<SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg;S \ůŪŃ;s~ų!P~Ŵ;PhP^vU VTﻝX1/2~Źfj;\2R\RGX;SP\PPRBP@dfcz\P{PQPP fcW2RR\W f;\ŏQ\RBćRb:Pbf:\ҟf:Sc fcfc2~fcfc2 ~-fc\>Sc2cRR RBhDfX:S \1}P2~Hf;:\2R\RE):S\PPRBP@ńfcz\P{PQPP ŌfcW2RR\W Ŏf9\PŏQ\RB Rb9PbŐf9\ҟ?9P?Ŕf9;Mřft9RbĞŠfbŮfbųfbdŷf99Sciżfc2t~fcvfc2ā~ăfc\>čSc2cRR RBhf8S \88^o8ZsX.*%!8Ѭ1g~5FP~|8Pg HHHHHHHHH 2P?PȆa18Ȑ":ȽȚ 8"ЬRݢ7߭7߭7߭7P߭7`7߭J7߭@7 ߭J7P_߭K77߭6,߭6A?߭6P߭I66M6<@~66߭e6d߭[6tq߭e6P߭|f6-6>{R>SPR86Rb:Sb+<2~Jb5߭5ȗ߭5ȧ߭5P߭ȩ552~2~5ԭ5T͖I ͖^5P A5͖θθS޸P޸~dP޸θc޸͖+խ͖߭̈́PS͖PSS1kSRxRRBRb$2~4P4P?SP͖4o42~SR RBvRb;4=42[v4T+4VX4WPUխ߭̈́P+̈́Q̈́SP~dPc3PP[̈́R11REzRPPE #_oooooooK7WP?P[^ȁfQP[JȆf=P[6ȋf)PȑgUP̈́ȤgUU1̈́3P1U 3TPխ߭̈́ePΜ1͉͉2Pk͉μμS޼޼~dP޼μc޼͉+խ͉߭̈́ePΜP͉- PΜΜ1WΜRxRRB&Rb$2~2PS*2P?:Τ[ P͉212~ΠR RBSc1c1PR1PRR[[ cp12S2RRSS2~\1Pj$x11uΚ̈́PPE #{1P?PRUOW2Y2V>Π|QY,PPVPAe@g RSRjTAeCdPPVQQYRޠ1P?2~2~xVU2W2T>Y|QW7SPTPBf@eSPPTS QSQjTBfCdRRWQis̈́nQU0ΚΚ1Y0P0j>2~Ȗȑw01P6Ț////o~P~/P#/v/Q/v/~FPVVWVLVd 2VRlRRV2VRRe9/RPWWd 2WRlRRWͱͱȹȂͪͱ.P1ͱδδS޴P޴~.P޴δc޴ͪȻ`ͪΰΰTްPް~.PްΰdްUSͪ@.SP:PCͪRRRB`.RURUCͪBͣSͪ.SPɔEͣo~P~-P POJ-ȍS-PȕqP߭k-ȝ߭a-Ȣ߭o-P߭Ȥp-7-P߭!-ȼ߭-߭%-P߭&-,V%2W~2V~ͱͪq, Z,2W~2V~ͣͱ2~P0,',O J 2~& ,1Tn~S GP~Ȅ I,P1TP߭,ȉ ߭ ,ޭάάSެ Pެ~4,PެάcެȎ , ߭ Ȼ +P߭+ ߭+ޭΨΨSިި~+PިΨcި ߭ +o~ RP~A T+P3߭F ^+++ȓ ߭Ȏ O 9+TnPΤΤSޤ Pޤ~(+PޤΤcޤPȗ **PȤ **ɿ**P^eYﭿV*WZSެS15ެ[5*8-*<@DM*H^RCbN2NR1Ofv2RRRď-RR *PTw1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdlScªec³f^0eRAiU>iTZ4iW}VS[(Y=Xfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed~߭k߭iPO~fh߭fhSd1^Se1VSPPμ^3dRDhUAhT>hYV[_Z4XIWfݬk߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed}߭j߭hPO~fg߭fgSd1_Se1WSPP^@cRQgXNgWTgVdU[`Z5Yfլݬf deѬ  dݬk߭jݬ ݬݬfi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg| ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭<߭"P ߭P^Aݬ|~Cc~߭ϋ߭PPP^ݬoݬ c~߭<߭~PPP^5aReլ լݬݬ CXvݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^`RidTfdSW\dVU[ZYXeݬ4pk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~;zS߭j߭iPO~behv߭qhehQc1UQd1LPP^_RacT^cSy[TcWUZYxXVeݬ,pj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^x^RYbWVbVSb[SbެUTZYeXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~w߭i߭hPOPìP~cd߭cdQf1Qg1PP ^)]Rݬ߭Y߭?P߭߭PPvP ^\SMݬݬ߭|~F`s~߭ݬPO~z߭PR߭ݬ RPݬ ^P\Tݬ7ݬ߭ݬi`s~߭ݬAScPOR[cPR~߭cPR߭ݬ RPݬݬ  ^[S`լլݬݬѬPPݬ`ݬ߭ݬ$ݬ ݬ_s~߭ݬ߭_PR߭ݬ 5RPݬݬ $1^ݬP~߭)߭PR߭ݬ RPݬݬ 8^ZSTg^R|~ߢPP\\\d\u|~|~ ߢ |~߭'ݢ P\\2\\\$de\0Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id \ ^YSr]R|~|~ ߢ |~߭#ݢ P\\2\\\l\x^]R|~|~|~߭1ݢ PT^YWxY\Z,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪj] _·P ·լլ ΈPΈΈ\0ݬPRެTRdSiS1RRdΈ"ݬݬǕi]ieiǟ PPf 9WW)WWWWWWWWWI9P&?Pfn/[Rn[Zn[ cnU|~|~|~߭1ݪ ΆΆ iǢH1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REb+~ BIBLIO.BCK{&![DANA.BIBLIO.EXE]TROUVE_CLE.EXE;116F(kݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬݬݬΐΓ~ݬݬ V1ZPVݬPVPi V15ǥi ΀1Vi V1i ΀1iǫg V΀1 siR 1P޼RFb $PVVi-  P޼PF` iǮ VVVDZiH ΀1l si 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬin ݬiV i 1rPi ݬi i i ݬ PѪjЪj ݬ PѪjЪjRjPi q RRjiU ݬi V/ݬk PRެTRdSiS RRdi V1zVi? 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT Cd T V· ·XP XX~SCd i i7 V1Viu 1PΆ1i ,iVkЬRR RRi 9UΈ/RPRެTRdSiSRRdΈ"ݬݬiibi)UΆ >iKݬݬΐΓ~ݬݬUV1V,ig1Ά?1BΈLݬݬ2iBRbIݬD<ibiMV1BVPib14iVfݬaYiiijydݬPѪjЪjRjPi MRRjim1ݬpiuS/ݬGPRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i61PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl].RݪΆ i1+Pծ,1΀1Ԯ,i|Rji }RRjiaQΈ%RެTRdSiS=RRdΈ"ݬݬǂiiiqinjVVi1` i%Ά~ǏPi17P f%Ά~ǜPi1 PRP`PORVЬSSYΆFVRBFcfެTdRBSIFcǬimViǯ VDziOVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬPP^nSPCbݬCbnS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pnﱾ[zn[fn量[f(^JW:VNTfǸݬPѤdФdRdPf RRdfǻmݬǾfNլ.ݬ~PRެURe SfS1RReլ"ݬݬf^ffff@@LLtL t4|l<d|D, t 8 ,  @VAXCRTLLIBRTLMTHRTL TROUVE_CLE show_fiche print_fiche mainread_clef lbonne8strupper(̟strlower( key_fiches read_ficheh trouve_cle< dif_stringa etS ou nondisinstrW< cmp_prenom^ super_cle fgetss-       ۹  ASKVAL askidomain8 askfdomain4, ask_speak askivalaskivalhaskivalf9Lfaskival3askcvalPЬaskcvalhLaskcvalffaskcval,ȭaskfvalЮaskfvalhدaskfvalfP(faskfvalDlasksvalasksvalhasksvalf\fasksvalP setcbreakrestoreh getchar_vms0@ ask_edite?re_ecrit            -}#*[DANA.BIBLIO.EXE]TROUVE_TEXTE.EXE;1+,{.-/ 4-,-&0123 KPWO,56LA7wjA8T!ǔ9GHJV0DX0205(A,h' TROUVE_TEXTEV1.0A05-05  -@ D\ & ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ***************** Fiche simple numero %d ***************** %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s ***************** Fiche double numero %d ***************** %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s inexistant ou probleme c_codcle.bibrctx=bin%s inexistant ou probleme Nom generique des fichiers %s *.num et *.lst %s des numeros et de la liste des fiches retenues [%s]: ref_txtref_txt.numw%s impossible a ouvrir Texte a trouver: Est-ce une portion de nom d'auteur ([n] ou o): Est-ce une portion de titre de journal ou livre ([n] ou o): Recherche sans differencier MAJ/min ([o] ou n): On prend les references a compter de quelle annee [tout]: Desirez-vous les voir sur l'ecran ([o] ou n): nNDesirez-vous un listing (o ou [n]): oOyY.lstw%s impossible a ouvrir Fiche %d Probleme de lecture %d %d fiches retenues pour %s %s %s Desirez-vous conserver les fichiers (o ou [n]): oOyY.numVous trouverez le resultat de la recherche: les numeros des fiches dans %s %s %s .lst la liste des fiches dans %s %s %s Voulez-vous un listing ([o] ou n): oOyYprint %s La liste des fiches %s %s %s est envoyee sur l'imprimante del %s.num;0 %s.lst;0del %s.num;0%s %s %s %s %s %s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^yUX]TnWheK0ߥA01ߥb2~ߥ]ߥ .0\2R\RA0SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp/\ŏQ\RBćRb/P bߥr/\՟ߥv/Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgų6/S \1e2~ ŷ/\2R\RC/SP\PPRBP@cz\P{PQPPcV2RR\V .\ŏQ\RB Rb.P b .\ԟ?.P?$j.3M)Z.RbĞ0b>bCbdG'.SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg-S \ůŪŃ-s~ųP~Ŵ-PhP^vUV^ToX1/2~ŹfF-\2R\RG4-SP\PPRBP@dfcz\P{PQPP fcW2RR\W f,\ŏQ\RBćRb,Pbf,\ҟf,Sc fcfc2~fcfc2 ~-fc\>Sc2cRR RBhDf4,S \1}P2~Hf,\2R\RE,S\PPRBP@ńfcz\P{PQPP ŌfcW2RR\W Ŏf+\PŏQ\RB Rb+PbŐf+\ҟ?+P?Ŕfb+;MřfP+RbĞŠfbŮfbųfbdŷf+Sciżfc2t~fcvfc2ā~ăfc\>čSc2cRR RBhf*S \*|^s*tVvWUX.*%!X*Ѭ1g~5P~^*Pg FFFFFFFFF0?PƆà*Ɛ̀.:ƽƚ̀)̀ЬRݢ)߭)߭)߭l)PY߭i)D)߭b)߭X) ߭)P߭)(>R>SR(RbSb<2~Ԕb(ƛƗƒ,̀(\ƣ̀\߭(ƫ߭(ư߭P(P߭ƲM((( u F(P 'n~cTdP~&(ScPo n~dP~cPo  P o~LdP~cPn2 S P~'Pc}> Pd lo~Ƹt P~*'Pn~H P~&P PJ\߭&߭&߭&P߭&d& T2RTR1Jc&[h&ZM&Y2&TSzSP{2PQPPS3kW&(&2TPPheg2PPPď-PPjPRmP!qPPD4DDDDDD8DDDDDDD,"P?PbPbPcP^PЬRb~6!PbR^PЬRb~!PbRΘ^{Z@jVﱿTj 1BS2RSR7SRBSRBd j S2RSRRu UŏQRSCćjejeR1j= 1P2DS2RSR9SRBSRBjS2RSRRUPŏQRSC jejeRE?P?j'PĞMqjt^)j4ޮ4S4P4~aP44c4j0ޮ0YЬXX:PWݮ0-WPSU7PSSRSR'WXݮ8PЮ0U0iSRSRUUPP ^ݬPSݬSPRPRRPRP$SݬݬPЬP֬RPRPP^ѬЏsЏsЬss^q sPysvtsv es|^poR͉VzU?TPPa^~>1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSduScߢaecߢnfcߢxdUScˆec“fcPœd0Scªec³f^|nRrUrTZrW V[YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭GPSPоSdeYSdSe?ed;߭k߭iPO~fh߭fhSd1^Se1VSPPμ^mRqUqTqYV[ZXWfݬk߭jݬ ii~߭ ϱ ߭hP߭QPSkSdeYSdSe?edH߭j߭hPO~fg߭fgSd1_Se1WSPP^lRpXpW'TpVU[ZYfլݬf deѬ  dݬwk߭jݬ ݬݬ(pi~߭ݬ ϑ ߭iP߭1PSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭|P^ݬg|~c~߭ϋ߭PPP^}ݬݬ c~߭<߭:PPP^jRnլ լݬݬ Cݬݬݬݬc~߭Ͽ߭PPP^ݬ߭H߭PPP^iRmTmSWmVaU['Z<YXeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^hRlTlSWYUZY4X Veݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^gRkWkVk[XSlެUTZ Y!Xeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭iPvjQfg{QfQg]eլݬe·cdVg~Vf~8߭i߭hPOPìP~cd߭cdQf1Qg1PP ^ufRݬ߭߭P߭߭PPvP ^0fSݬsݬ߭|~Hjs~߭ݬPO~z߭xPR߭ݬ VRPݬ DI^eTEݬݬ߭ݬis~߭ݬScPOR/cPR~߭cPR߭ݬ RPݬݬ  ^dSdiլլݬݬOѬPPnݬݬ߭'ݬ$ݬ ݬhs~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ 8^cSTgR|~ߢPP\\\d&\|~|~ ߢ |~߭'ݢ P\\2\\\$d\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\f ^bSfR|~|~ ߢ |~߭#ݢ P\\2\\\lh)\^]fR|~|~|~߭1ݢ PT^[bWYfZ,΀CЬSЬRBcjiǏyVSkSSǒivSPѪjЪjMf _·P ·լլ ΈPΈΈf0ݬ<PRެTRdSiSRRdΈ"ݬݬǕii9iǟ PPf 9WW)WWWWWWWWWI9P&?P>n[*n[2n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ/ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPij V15ǥiu ΀1Vi= V1i- ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPiY  PF ViǷ6 VǺiO ΀1Pݬ^ VP~i) ݬC PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i> 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi i 1rPi ݬi i i] ݬ PѪjЪj( ݬ~ PѪjЪjRjPi  RRji ݬi `/ݬ' PRެTRdSiS RRdi V1zVi 1hi 1ZPΆ Ά1Vig 14RP`PORVSS~ЬTT Cdb TQ V· ·XP XX~SCd i iV1Vi1PΆ1i,iVkЬRRRRi^Έ/RPRެTRdSiSARRdΈ"ݬݬiAi i)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMqV1BVPib14iVOfݬaYi_ibij!ݬZPѪjЪjRjPi RRjimݬpi\/ݬPRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USwPSEdaP1޼PE`ݬDݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪxΆ i^1+Pծ,1΀1Ԯ,i|/Rji %RRji [Έ%RެTRdSiSRRdΈ"ݬݬǂiiEinjVVi1` i%Ά~ǏPij17P f%Ά~ǜPi>1 PRP`PORVЬSSΆFVRBFc*ެTdRBS FcǬiViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlhRGݪ c1ЬRݬaPPnSPCbݬCb2S  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[Nnu[:n}[>(^TWVWTfǸUݬPѤdФdRdPf 1RRdfǻݬǾf-Xլ.ݬ:PRެURe SfSRReլ"ݬݬff:ff@@LdLt 4l<|DLt| 8 ,  @VAXCRTLLIBRTLMTHRTL TROUVE_TEXTE show_fiche print_fiche main read_fiche\strupper(strlower( trouve_texteșisinstrW   ϕ ASKVAL askidomain8X askfdomain4 ask_speakaskival|askivalhpaskivalf9faskival3askcvalP0askcvalhL|askcvalffaskcval,(askfval0askfvalh8askfvalfPfaskfvalḌasksval`asksvalhasksvalffasksvalP setcbreakrestorehp getchar_vms0 ask_edite?re_ecrit             -}*[DANA.BIBLIO]FORM_REFER.C;1+,yW./ 4[>-b%0123KPWO56`7 vT8  Ŕ9GHJ/*D * FORM_REFER.C permet de formater les fiches venant de edite_fiches * * Version C pour ULTRIX * * 4 octobre 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**/#include #include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h" &FILE *fich_list, /* fichier source */ *fich_doc; /* fichier final */1char ligne[256], /* buffer pour le classement */0 texte_avt[900], /* buffer pour la reference */" *fgetss(); /* routine type RSX *//int nb_l_crt, /* numero de la ligne courante *// nb_p_crt = 2; /* numero de la page courante */short nb_l_hp, nb_l_ecrites, page; main(argc,argv) int argc; char **argv;{( char nom_fichier[80], /* fourre tout */* nom_liste[80], /* le listing initial */& nom_doc[80], /* fichier de final */ rep,+ titre[100]; /* titre a mettre en tete */ int i, j, k, left_m, right_m, indentation, justification;#include "titre_bib.h"H nom_liste[0] = nom_doc[0] = 0; /* remise a blanc des noms de fichier */ dir_ext("rfr");0 asksval("\n\nFichier des references [.rfr]: ", nom_liste,nom_liste); if (!strchr(nom_liste,'.')) { strcpy(nom_fichier,nom_liste); strcat(nom_fichier,".rfr"); } else { strcpy(nom_fichier,nom_liste); / if(strcmp((strrchr(nom_fichier,'.')),".rfr")). nom_fichier[(strlen(nom_fichier) - 5)] = 0; strcat(nom_fichier,".rfr"); } dir_ext("doc");C sprintf(ligne,"\n\nNom du fichier choisi [%s[.doc]]: ",nom_liste);" asksval(ligne,nom_liste,nom_doc); strcpy(nom_liste,nom_fichier); if (!strchr(nom_doc,'.')),b X? | qca~jF 1lY f*7oUDч?xk#Y*복x *u`q` ]a8#>/è]7QTdr潅.$2a/Iy HX sO]r[q6'K*&˿&Z S'ݰxtAn"M:7`FIfMOQ'b̟BS[?W=o!6Ԗz NNEyr@bOi W+ػa^V&h@FgD]` 5-yxgeDp@ ͻkzj_Z2{Y7n Ezh[tb#: Cx>bDW2*/ywrʾ~5nm[ݶi iz\=l4е ;z=,%V [hCJ P5S( 2"\ Щ3]xJy#%-PM}w>/Y}L~eC$)=SYJ#>V@F–E_(3P~.byly#DjU"tA? Ssĕy2h(Z#ȬB]#`{ܩy}|Kaj1ZiNqeqP73#YBf+.$%*qT7_A6GkJeКfh_Τ._ղKpDDݜRd љ5E[ PX~_ŚBiVw?Q̪އ1iQgz|c<%n ,R Ё؍&"869󧼉d"Goa,G g:UNP|_A`:?`JR6a^^/3q#ƕAb/@Js?~rLpb6*ZP#ھZ! K"@⿋.e*wC͛Y)eMɑ'\UJl(.h5u%Kyg :`a"/Y&}XjK 8]+!|+1kQn6fVwUVE;;_f0aIO&ES'>v5!Tc}UoV}UJy岡joOuo̟,~NW7 XUu}'g-ϋsO (u㼋qu YF49jړWLc2kx*JZɮ#hdwT$(OyMGw{ڌ^O6FzPYc *̦;H*&Oq6QʱAYOŠ/<"G׍7 kDpRo}&:(,m҃Ͷq'T-]Xi1Ec%ؓνG~y}>~,a]vL?8e@L/j цPe S4xo)d6XB.e$5}o }YQpaqIb>V'VA0{ o);RP:ޒAzE`;}CH8?\a@xXs,˴NXYQ; Ki|mIqbQz:<)Q ɤRE(?H"L_'ˆ/QPu]n'0Omw%{'t Įu'XSNjϦqCrs>ʲgWhi1J^t31ow~v26aܻƖYa롂2|aE0JX.0[pcTP]â G@Qh14EK++6|hYE0@,b81Gqr=s%,jy'WS<]_<-~Q#$K67g5mS/9sY*VzJDJKo]7C@ᣘfdd_݂iخ_Z M8;}fDp&D!IUg!L< ? tyif ,dc`$#(Fdo܁OexluTa[1}˜|dλtGu$eM; iy~͟!eyr?ܭú1(2*?06嗑ԩVHPO;9 y9/baOډ{ugnH\H5Bɘ(W)h9ӫT>[=2ЉO-6pkga4Ho? -Ϥw倽7{#'`ԧX U_mFrG<) -gAi"d:G8x ʪ Ph݂։\R/vz66j?wtIg3mTvD\sH&F; 1X _'0+T/Iz3MX {uudB-4~ʡKCVv ۩"$,@Beuv|۟_{Ֆ،=jm=]m6<sAI&jG1m֦v&G0sVg0M7uOy Io݉jZ | _ ;8~2IV߀<pIaxshvE!_wIҵv?TO0g$/ȋta\ݏ^jE. f:/ bc|3/! u 3j fkH|r7{Vٵ8ˡF/X:b%W=7ϐN8C$8r5n ѡT eB{\tR%GIYPJ^nIk+a3" r!|2UZHF_P;P*WQ]4.#@|WUbG&*25+#ˬofHq3XQ/ѬcX2 Z08Z@OʹG;^p9I N.!UVQETx.vvOP}[ރ 0=zC z`n;)]eם$MP]U5Tu; 3eB?WeBm4+ҵ4w$$_ߝH+UY$^}Yk3<\C0V ؽN[Gl1qy%ej&/6cBgUS旹>emGמi%]c?\Ԣ7\@kةs6X-?}]:^]8eBep,mKW[-ZG@Fq9ƄcG?8uYKmm78U(Ga#J[<a٬#/;a?"w&k2*g:v :Ww$UtJokAEB)ޜfN xE5꺔Ab(ύ(@W4wXan: q8l8Mзy }tO=E V>C&ă[yk%BDŽHVK=DuMlCNB+cAd}mE#d&vc[ oCt՘~UTԞzX_r 3)fh ]] H ,e=s W{؋{dsBe/pubv2ZyX?\i|c4=Z"RrUb GێoOH`4]Aٳ#> )s0Jf|ܖ(ki%ts]K UELoADGL~J@̧|E恥 4bo'">zYT;zĵݱ[g ؈71}oӟ鰺Z<{u32ŶnRIL= DQϛe4nǙ9ĐUt $2yeV9Kg]Œ'rIf7dm75Y]ۄȭXYJ.ʺ/ς0훖 Ү`0 H6>"D]sUo&mPk<?{d/Oe] G^*]X.F0F(>(0zfNߞh H#d8A+\YUaYNg~(/L:fU]ÈSĘ23{cIepL+Ƌq9ՙ|X^Lsvӊ|Nl>Pm6 ULWGA͓9".a-fhFQٲg+o Hc䮗RЬkRJ4l }&PGwnEKxQVjĥ{J J:kvƨb n3܆BJRv;Qyg-RtƼG'T P ;Dn$Dq 3ll=U Le"xF$e #L@ӎmԶY5 cǁ{Fy-+,uC:Zֳ}HJ>P%diO?AA- wjٍ޶ʛ0]'6.d1^eǞ-uo?Ǿ;y2TAt)Necvhp4T1]g^\D۳uԁՌ)h_Y-znQ+s*%_0E!xJӅx,t@0ae}6脾eIpvr_5*+&Jð GpFq0P3ɧ<ʤo2K_b䱎#)۳VYjErgǪَJA# M1[־׌j̲"f)wbQ%do\B|a ^,l[ğxU i8WV|uw*Q8h{/_]?yJ藞zgam Z:vO4G,tE㣾FU{:_Ω#ᇫ>e? <>sݵ.&*+LJKJ4 .xĈ,2\k9RoUbGp؏Ar7/e?Ulg2tBQ=;,ttkhxo6>SۉYcrP)?|E~+`;t*Ȼ/sFC(i ޿޷@ (@/JJk/XWPFIt{ \ >eU#1?gei]:5 rY,Y ڀ~^k8B1v'\3Q?9ebv0 w1R4L|Y={Թg9AqD&a_֘.QYցta Fvziuo>,v ?̋ q(*yFq wc~xW+l9O;&;!AN*h$kXh*fI/.5.s?Db̹kf+r}I+++zNBe-,@.$K  =Ƽ;=R ݪ3#x3ηX$걋a6hf_#j_%ouc\;S ZwHOuadjRԛ@/˳R>;CkbkU7 +BqiDYF܌G#폅0"uӕ텊c؍Y N+@9P]q T@'5df NzYoK.s Y( H)G<;uJίfܠQs$։kJ B:]Y҅{jr#m.a6s gU+t/<$ *?R/dOoEZdΔU3SIW._rvQZTebO,h}E-NCLM Lk}/ װD1oǡMŅye\\؈iV:xV:j\?SܴWp?X TEG 2oKW &yF$Xͺ tY+@і37gQ=ѝaɐ5=?NG>s $RZiOV X 0I kq,LZ#?QZ&q,nz_HiR&z܎ag47`ppr7Nu 9m%p曬fo '@vVCЃOl_m^0)٣^eJ M2`$ #$p2<9ЮK9a# VxHepDr [0^E蘓i}PC ,L88'_ʃarxyS3HpӃW,Lpt*0@k?@6ot3Uv @`[1 |F yZŇ)/$me@?µ8 p%8˽l+$ɱ),ӚLD B,X4ةsl%tY)RNH|J!f.s'0]CJICEz-!:M{\;p~%"C oBw`{$b*-:!MBi\΄?@ ծD@dP Z:gHV"t0PG0'.#ֵJ}r2@ZZíXكXzy Z);Ww;\E= X~[]϶O͆hJ-nxymݝUL¼wFK, JR${&9$݂рD%IZlIwT++-?mL( IٳQ)مswP7h齋wI-K;FlK &'F 0I$S\!Qp.1wx;hTݞ(4Y k*$8Q~2Rc&C]cv9*Tk?Cd$ߵ3XmL(?@阎ߐ+n[fz.#GtWLmdY6xֆ̥CC5 *Cwe01l8wUK dO L+y<S;arΥiEzPh4iZdÂhd8׉ؽ`mf J ?FP"2ˡd1xxPEmeA`$x R]l9qj]}Yrj&us3){$ HCw[ݫ#,7Wde6elM/V`-M<ծ bq?kf:Ȁj`qAu&_/NGq?HHe*#Gp ' O%FYf/Zz%r\1rymݚ `Ջٴ*^໰أ>Pu(d,'gt[Wn\Dܛvuͥ~hyBbl#QM/R#pdQ!y%ǀavqu} 6 VV]siV Xoǚ0KI(k_qwPsT$)̱A>H'/`?R"z}rHAZuy@?bGTxŗw{toY`ziqJ=W׭U(!P<=-PMBR7ʉ0Գ *[еRX3I+ӧ=YHJ /fA2#U4;jYy8ףc&hfA)6PW&mD(\G^`:4ϭfNƞ[  j($-ςRУ'SR3!d8b%=@%-݆Gb/}z]ivgAv^’T۰ͻtp%ub`1G3A_f\vRg,V\ @w/f!N[B8Pܿ;i͝㑰tp٘c7NhtBBz $ZDb}d`6 LChG}^ᠭPh`;r+ 0HD{f$fV&"}Ga B"O193 2iKxyFO-MA.NGK)'UXff:P][=1+ )+wm2|*~.ѥ'2^Q-mW^'2J`&kx(3SwU͕VbԀ+&q1ӔR]1> ^J=4 % |Ho& 7蘦" !#ecPT4 þ&AU*Mm+5ȣn9uzG`XAoօ>y<|A賭 $gmFn\;[q.X٩l+hVkFZ6{(mt/̙@"Pti]n(LnƜ(>Wn ps8%kmk9Ux99Q:.@ϥ)Uқŭ-?YϿ(bj+ľ~˨4&3,Q kcfK$NεY*xP5^oBg&ݨ_ҨqEK[/kIYryPwn2ɦ, K(\-c@))& "ȏ_!i9l  g5ѶuIr2p+QGrз#?UqνJ\!Ʈ%&զUl{8oE>&bR6P30Av9/X˒h5~'or U%O~kS,NſG}M# v>(OQA``T5SK *lLg>[e8$8C#HD@,B7(x"1}xL?|T2F ΂I$ϣ UE&-o61<[oS9w ܀ݘ_2>CuC(EL}Y''7ۆz#p_L+6@y|,['V!7vFAV+خ@\ŠX+^NCz3I=D6]GPE93dR}XM҄M g%XEy _rmgn1U kqBqIL'/+30njw <ye <;!|*!iaoL5„3)ԟ~FtÅ+ V$ާ>'%xq,_k4U]&5L _I0?7yi {7 05ZZF R" &bWi55'i,_fY>(*DŽP [ݼ ^H;W[\i V^nMBC؂b ٵ*?6t CIM+cqⱈ%PN˟R54T;JO_8-Sϧiqu~#CO{bekG+mTc.Ӵf;r[и4 qZ?:Ԫ1՝ařJelNnEX٧baZ.R0x\#!s o0A9TCpqjBĈ3E;'$&1S~zL8c桺V孂a}#K/;nKW>F Y|} mYS&uwF`zםNXޟiܒ1(-E*q2:kPaV:aDKλ)Ɍ㐉@;>gGԜI2YMmסhC:ߍ|vM`fRʀ ŗН(\Wv,9b8pO\ꩲdƾiJPؙ\?'9 }8|qcvE EQ.&{c0^A<%j;BE)Ř :c`NˆK J-J<;\VU R6w% U-+z]u"5" \0Nh}pͮ[X67APiVKAٽMqsp$ 1&aUp[x.]9,Rt^4T_Zl$R-fwŤ+en8U~uKPe*W_x7Nkg7P^ˑv)5,ոNꪖ:zZvMx4cxrkR^<~93 F>^{q,j)/0rC?B+,1 y(>|5 XQzLi·m?[ B\u-u3RJ, T`V?VVN/fP7QjTT=EEm6^k]`Lqs ,h^c5TpC™ 'M>@[9g_ɼa1 gޡ%[׉C. /jiΈ]j-+-.KBPYs=sC) Pdq<纷p bI1PdGŎuEA.[?PĿk^^..}cCj=lS}^/_X WL[4!\޹>RqT9n{Ɲփĩy@hl9".PNPqu;e`!({&#,ð-QSգD^Wz?]lo`wt1.&] ?rܵE"l53{:YSO"lNgiF沬sU`ȯׄ?i'5*!(AR~N)(mޥybxOEpl4PScD.2+"SkqT3ht-Bv2b u)}~2=M6#9ˑȻ?3^;)~A`{Tʢ0HO딙\gux񺌊4oqMnT%Ł#OlI AAF 57\БōGNY/@IɖjxZ-UY)\$}}`x0C$dA3RŤO!Aw-N|iU{OpΛH6'#IH$ N&32|S`rkCR' P KQ'P VLL0Uڡ7!nBPFa؈y [tr*ILX4ژ̭pPd1bIL{7ܩ8R!4RpP3rAlD:]*CPz<2߹:h~,^;7|aO=EiJ(:kی)׉V5:5a#>s:3bg<ĞѪš SW11<͑{Ihm)k={,'Xҏ+B^麛Gx[fY=KGgџ|Exs28[~E~N'p(Rfa2Mjhؑ4 (n_=!{0H+%1:3޷n&bQ ?TUYcˏ 绋n%@/H!ٙ.m+dnC8% Bͺ] 1jtu (PWNs& miaeJYuIk}YãdٻAlҨJo:pV?}$ Cv%-k ])E"C{_[r?yzɄrD:(w_\M+OHqt_Q! [=)ڏ< o SF{{C6gk|2),eI< +D&ϠW^R_e@&Xk)(>KogAD3VOx`˻x$"$Tg>ACy21 Й[o@J뚳~!,RN}s{+ի0Kg"O8N a)D୾,YWdJ`rEjSxӿ r{&CAB3O-QcY`&< 2*۱ek~$B@*`rx1uua i#Wy{qn49CI]"10NXpOZ?8MHe]tn;z8K&DlO=um%{K1R N. ^]kIujڹQø+kdf3< IP ȕX8{&0?1@m$ +({s1-zcT ep*6~T ߰Y@bktD⑷aޟj̿`+6Ѷ 9%JBpoo s5=@TӣQ"!bJs:vBr!鮣ҷHu3х9ͳqZ'Xܟyu7^46Z.k*G ˷F/@ #*[U܇L’潂!8VnIA!V)g|1#?.#80):DJ+3i z2}ȼcB16ҦX%iz%Ycֆ ;d)j`/sMh&IZ_(:=_ʭ( LGHqi!IqXYyPG0qgT:AuS#Kd,OCŮDSzy^uCMA݄sMzoqQǺY*[g1Rˬ[O!?f':75^lX&޺yYN ,l:bPܸD0mIG׼r/SXCo67N n]R>egBbIM4fjB|َr@_QflZij0h:EqǓlObg$tᎡG Qngm| w)>gkKޞv 3+5Y 9ZsŶуY-D Q 1ŗ]앤򞢵aOQT+t5v+mԏU7O4+|( h;!yY91+[ @l#ci@tA }NP|;^mC'M}uW*9*Z3n;h:5󚆴b%Q֏@)ջMXE5ʠm%(:f}xf'F@~6rvۢC UJ JtAiVl@K{xt 4TTM">h; зKM¼v;ヵj:̀X L1gj26.ߪ&$n; KҭjjѨssk$8%1Reť2bBBTR_V~sEe7{јLcc댲/U`&R8)WUcs$5+}%Ƽ}uˢ\Fny4FMP(T&4G>^_P_ ̹ފ2L"o=bYPR8Ҕ/MURt]´:k:*vR[&%,T7L^ ܎5!/i6y !pĨi}W&;7ƉSTOΆ6jF-)]1x ( JCJ::ۖoV8SxkUm0򔑪fSf<"Ytn2_F`x@u *d<4bd2*NUvn"+)dۛi ],ex>hZ`VwL|˜ c;HC/]`;*Ę^vjVkwƦ9R1O8 C s},&&UDo_qMm=hN|˞2+Ӟe|IL}J);CQ%b. h-0q!^[^a+Tkڥ%&{!C(mrΙ keuH2pf  lymf&LR*FH\CF`!bc|-lԯT.Tou} (\ڤqauk}砙{Q)بщd⥊F(v2{d/r\q׺D512Ԓ'3֙GP! Rh0$ԾRG5ۼvྸ!?rB)0@/(؃'Pҹu^"V)鸉=tL:H T\(* $ F,^05!(Wgzfʏ7 !yg6|<7mDʣ 2tdԈ@s 3~rheMRAiR%4I|*-a.7>60i1!\#)l<%aqAzP@=t4K Ίkysյu{loǒR9K)zh*"I ۛ=vb?1N u~h2G|nyRv.0sX:˂1J7 O~`^AP'ԧBx0CwLm6<~|?Jir 6ee>(#Im5J;>p6^L"^c3]:F)`~ 5 Xuݛ:.A9GuVhJh?6'n}u,O dNh/e$ۨMCT$kv; E>d#ӄF[Y6jL$9)dLF9Dt #xi .8fWb`j{~dKB ]KŃXMbY6rN8ĺBƦF <ׅebG^uESOheZY;ڷ=*7*˿ح_i-+wxQ-8_ .H7pf;?߇uûH*k4?[Ye 5E|MOI\ȨF_lF*[cD4lb|t1 6m>ΎIhDs{4iPѥ9lyV݂{Ԏ(+qytTp|ϘQ-gAzJFCHEe).8.3E<2K i s9̂|Y^U0b~& [ځFE Vԫ$§/Ѯ#[ˏ;7l+׶_9 _S d(ĹY)rry@0x:-qF|RQ Rñ֭A\GU-5*'д(5Kc(@e E_ب1f|&63ĝ{h Ee@I\^j5VY$!e;F,ܠNa^Dw$eOXp=QQx;j ܡ"胜E-10x@ ,p6}vMp%.#:mT'3Ul{4T4ڲOm#ĺ WoUXoW#}s;NԡT)wl%]Mw7R2Kadf@?leJ#Qkq"g e3^PkhftY"!){ Is^1QPEYLeV7-0{5') UQ ݂y:i@gi jEʃJH6?cW<'`F+fFef@sBTJ! vX)i4:&ljc.vMSs^ho(\{oUC+U 2xQg,K.$n>k+>n4nzfk6@|(] uL1 aw x5s_f CVxi'c&I^rq~8'.UupyR+AyI47VS|?bFvvoa]7M)N ҳ |l,19oX^Ћ^%Vq`dӑ + )&+4/9pp瑼C.d]}aTCwϙ`B'gZaTƁU nkX1L >DI9V3uQj[-(L۠ Wh4A% Hw\H؛Pg ;ڳ5UL)VdLJqx`p*NCJ:6*0D؛SF7X?x/1HUol"A?lz.IKm.7u0MlbvsZ-T7v(Vγ'"58Dܢl˥9!FF=}~bCGX{e* ])\e9`D/c?%*GmԄ\ ]8.EE:Įo1>mR/j3M6% `k=q(h3 1U@筜ܿp ]ABWqf# =o ׀%𹒓Q[{ZqY^Q0tvw}k]:2ml.8Sԕ|Z|s/RJ;Fb G'a);,+ُ#qBmƎu! iUDwבT otb?OnO+mL =,}W4lt#n=Q$=i~ҫ%)䝻_-K)bm]q[yF2&,B%ПY˧>sюvd/yX x)d"}ժ;J0\Z;SuE 8|gm/5wBf|ar rm5ǵ,}w] ZnΞ16{7ʌRtjw>5*y%_e_~mT4uDsi}:wMX=V=9%FZa}1S_Ly~]"xtO%jLC{oVץĩhnCqS}2fΩ5v)^ƒ I0nY[pj:DZac  QjO< dh  ˑI|g2ԴZʥ0w$<#6O1J_`U Ns,':v*>7xF ˈFjWqr =ج#K-qu$Fu]= 'y)Vc!hY)96: 﫮@7lu天S]o] `4f[2eag .$ms,zש%}F8ɢ:z(ǯI8ȃ= D{W$'b]8lfcwlM1QxAh];M2e~ tA.b̈́0kvix2?43}V{Vkt6t'yv LRԏk}[҄LVB^nMǖnX]8BWh9GS}rQej7dm[Siו.S%K*ig{曖/)JDԲ>0(G'v- ڇV, #LCVEU>7)&寠>랿~i%q%q`ʯ*QyҟާA7!z4zK-U)T&<|lp[=x#]s"ME'f/" 㬱oȴ =DL-_k (pc-E{5/թ"+-QHE =hb֮emq̇Ce=M|D_YVRSgΗQPF 0Gkℚ!6{F/w(j524~ z-#[9*swzHiST)%bWzAZxh&CMĄN/;DŽ h6KK-z$ A@7ASQ!Lv>j禎 M:.@Qv{縳!kohX-B]:[IO"8jU=T#Qی¥P'/?5"pS l ҷa?4P +Z+;cKte]~fLxc AYJFx`Qje%`d)}+a ~a'ם" <4f ʼnK##x4+\4 yinԁ|տ*ҹ:o_M^(tvZt?/u sƺxŨ:9Zh*|O"47O.;Lr됨XuB*쫩:.]Ҫ^HJ:Z.yeQ"0` ﮐbQ.205*Kҟr^򕕹Bag&J<+<4 ivmGp s&USN`:I, D7V o(=J@l9iʟnwi[QTq\:7{~@q2}q9sp=MUo ٝ#C x罱@bA-#U'FܱP&q3G\߽}ɅX#%"tD dHr9gӮ59DYZV^=Fp[AJ3*17 v[W?#h*]^YCZTA5XI7k99FPw)J7F) t z,],GHoKLy&e ִ\6A|?ǸV ~q.e?E#= w""zNK/#/td(Y6EJ۲z5s 0sʨ 8pk& xT$wp_D9P.g-Gks6߯jS1kJWWhNvg<[趣3K_U%zJA=@R+Q >KQZHR.,yyy)uqP}B㜇y'72E[G;@Ӓ%ڬ 鿒Y]_z~ e[5z}4*x!ibpZ|hV(_U{]eҊ0Yk!.`HrنրPtᾍSZ>rNk!\"> U@l/+oQ4R;{AQPGr.^HV0JiB$ߎTk{1'CK s¿֐.\,E߇:& f5?g\|fX=kl{H^:*Ōt+Kue|ރN]5#XdLP5-n=h@x]HDSt /EgiߔZ+ 35`hff/>T<%bEa6`P%\p2N?EaXʤF,ONaOYy|!|#.֚`%WOΏ n! 64-"Z- q7Ȑk3ΣV%p+uT . winn^m*r;%P7#f&i h1KK_X#Y@q?!kÏY6L~ЮD9Y"& ,*A+IiZ9w7YHJX-7 5 fnud#=?{؎{ Ql/Crp :X#"{ko~\#`X60'i 4D(8#%w-Nݓ53*)/ē+"%lڼO Ï{o|9#9p$\- ҃owCW ez/GTx.m;voz~+ҩ|s BWA=Ft9v$Y(L80v)يJ]y\&*LY&r!ze] )}H((˴T3XP]]pLLꭰaxR6hԾ_eïkYfq[/N' C̏' _^ozAC#ty+mv-c%M2(Afނ$j>[0Bž㙃R!1Dcx/u5O[dIq> r*L!  U8HaN{`x/#clj4a(JAc4Z&UnkJ j$}Ѫ@0د@}avO_^PGyJ5|jϲ3:*( G0"/by&Eu2LF!8ӧ,&UjC=oXA.@.Ht*Uq$p׵PnN~8oMY1\"_X9} 3PALj ۡjbhg1Q ÃOPdJ@Șf^OR gW4?tD &^aZլ*_Gw !x3S;[W-gJL"* *h Qv"ŝk]urN {w+-[̈kMy珡j6ͪp-"bG. pc_5y;nb+-r Y@Nkif'x74:YGF1bd9LDN`X}|rQecn=>Wn"X`Xd}[K[M&ŒS#Y}7s% E`]Hȸv4lwGO:v18<\=oٿٌ$t1xK_X2I緕.^5b4(i8)]n3d1%[[w[}qLDm^$E V_ઝ/ <<5" ɛƼ}`o過t ~ti]ඔZ _]^J#8Ssw؊^s%h@z."_"?+ HǦ;xg=#])I ͢?ɯ3ֽ4GuilmDZK0C~>;{,yQuH0|M .J±0}%}Yq6#f3&QR .Kˊ!7 8p`*k,tbq,9Zj !xjv R pfȣ挼bNW6p,%б83M n8,Ր qK.h"Ƌ62Ww"~sB-KMxb [n⨎{?x7Y26s6٭GJ/:%ƃ U۲,G zJa  u jSoʺn,Jա%Z<]J`B+>htŋM@ylS.xلz*20U86(5*F?*Mn(U0>QM_;~w&$E4" D;D {VA nV'< b~#*2q ;a8H (bWts_aK'eVnw \"WQM}A*ox6~qFkS%0t8#~o]2jc.s'c!lsKK|FTe`N4]8q +z?鎷(0PBQ7o~yͨ?)͔O.1*_:T $:G]6L!C0uaИ`v;;` {;7 K.UVSN}F*OOB{iLH%"7a,ֹR, ۏy/fQYg{ΐd,s6]Ep?ҡ9O(J^(cز_?].G?m1[NQwв97C@Y29Y|ɪ&j79- T*qBgx=h]/?xO#&VصRnlzs/*P-pœ便qvy\CfjtQ.E 8qS[.uI)mN*DXAKͥ(vQ\kح T?bXѵ1s`IJ lO@M:1C?g^5є@s%:5G2ȪlItCȘwU5dA<_[am9WlXra2w=Z*< 49\DM/%!zyP4AkX5Ïc5cRVVu?/7 ӶI8UĜRm|]ֱPXeZ XF7_8#.ӗãuGÌkdI)}2(2I^o'ʯ83m~V{cPE/N\$آXF 4\YTTiܫρP#L3HRQYΌMW5(/ɥ!Ck0$>d ^1)9q!6$ʺc w5v.x319]hsmܗwQ*o_.-%r}H(lqqA]gnj1ߐwsFB _@vmn5'44F$P;3yz.{/Dtcs=5ߖq-:j5wkT7Bϝ1 ^7S$15I.(qQM.4R+βbMD4_s4R"B /#_0խ!E0h 6SWƙBښnC@K;^kf9|~Ds<glQkN@ɜi)BQ<[˄,Ďijܕҥ͆QIuDFTi^P 9j8캩d :au*atf+V@#E0[o 4pctqdή\Jt* 4^3WQe+;{5!_^.jY/'Ubg',p`#M$5sEc\ `/NU3r|k"=Dvc) X `IDzqjcʌ  QA/ 87 O"Gn'S A <IdP@Ϡ54kɄZ 3^ ?a=Yi>5`"_h? LS*܅slV(CuPJYٖҋ M,c~W"2Dv *Gtedv4MP%%q͓of4" Zs3l5FSia;Ԛ`Š{t'xX'}׊aY_tJR)v,ԛZ$NϞ`)">(5v5NH0CӆőPXm÷&ܹIv^?_ެfw`Q0@ɖ-Qfάb♽1/7#w" 3"PyPd$M'Du˧˷W j_9D =Ԙ5yȴP7-RּA#ռE"-S֢t>$**AyBuTqKU69ߚ q*׿~xƈvzuEvF̎HVgwr`Y6qh"3[d)}*tvdDVSKK_=Y3 OL=PՑl݄-;A ^/ \f"\w~@SfNy OmmHd}}r;yJ@4{,!!9Xrm6vU>.{z~6;(x`w?5:7GqIîqJGL$24,Mٍ][K`)EӢ[W^8Zf`u /]&zA#{}/|߬XyJ&z^}W]7VL :0ٛ6GOIM]C9oyqFRi#)~2\9j{|"vg+<+ľ Z> q+Qr3m_[$X8&2P )q]~CzcV9L4_)Д7kb*c-~ BIBLIO.BCKyWb%ANA.BIBLIO]FORM_REFER.C;1ES.EXE;1[ǀ { strcpy(nom_fichier,nom_doc); strcat(nom_fichier,".doc"); } else { strcpy(nom_fichier,nom_doc); / if(strcmp((strrchr(nom_fichier,'.')),".doc")). nom_fichier[(strlen(nom_fichier) - 4)] = 0; strcat(nom_fichier,".doc"); } strcpy(nom_doc,nom_fichier); 0 if((fich_list = fopen(nom_liste,LIRE)) == NULL) {2 printf("%s inexistant ou probleme\n",nom_liste); exit(1); }/ if((fich_doc = fopen(nom_doc,ECRIRE)) == NULL) {2 printf("%s inexistant ou probleme\n",nom_liste); exit(1); }0 left_m = askival("\n\nMarge gauche [10]: ",10);- right_m = askival("Marge droite [75]: ",75);C indentation = askival("\nIndentation de la 1ere ligne [-4]: ",-4);< rep = askcval("\nJustification a droite ([o] ou n): ",'o');0 if (tolower(rep) == 'n') justification = FALSE; else justification = TRUE;I nb_l_hp = askival ("Nombre de lignes blanches en haut de page [3]: ",3);? nb_l_ecrites = askival ("Nombre de lignes ecrites [62]: ",62);< rep = askcval("\nNumerotation des pages ([o] ou n): ",'o');' if (tolower(rep) == 'n') page = FALSE; else page = TRUE;[ asksval("\nTitre a imprimer en tete [R E F E R E N C E S]: ","R E F E R E N C E S",titre); , for (i = 0; i < 900; i++) texte_avt[i] = 0; fprintf(fich_doc,"\n\n\n");@ for (i = 0; i < left_m+indentation; i++) fprintf(fich_doc," ");" fprintf(fich_doc,"%s\n\n",titre);# while(fgetss(ligne,256,fich_list)) { if (strlen(ligne)) { strcat(texte_avt,ligne); strcat(texte_avt," "); } else {E formate(left_m,right_m,indentation,justification,titre,texte_avt);. for (i = 0; i < 900; i++) texte_avt[i] = 0; } }C formate(left_m,right_m,indentation,justification,titre,texte_avt); fclose(fich_doc); fclose(fich_list);8 printf("Liste des references preparee dans %s %s %s\n", REVERSE, nom_doc, NORMAL);}/* * FGETSS() mime celui de RSX */"char * fgetss(buffer,maxbytes,iop) char *buffer; int maxbytes; FILE *iop;{ char *status;% status = fgets(buffer,maxbytes,iop); buffer[strlen(buffer) - 1] = 0; return(status);}/*@* DIR_EXT() liste le directory des fichiers dont l'extension est* passee en argument*/dir_ext(extension)char *extension;{L printf("%s%s\n\n\t\tDirectory des fichiers *.%s\n\n",CLRAS,HOME,extension); #ifdef UNIX( sprintf(ligne,"ls -sF *.%s",extension);#endif #ifdef MS_DOS( sprintf(ligne,"dir /w *.%s",extension);#endif #ifdef VMS% sprintf(ligne,"dir *.%s",extension);#endif system(ligne);}/*** FORMATE() formate et sauve une reference*/#formate(lm,rm,ind,justif,title,ref)int lm, /* left margin */ rm, /* rigth margin */ ind, /* indentation */ justif; /* justification */char *title, /* titre */ *ref; /* la reference */{ int i, j, k, ll; /* largeur de la ligne */ char c, texte[200], *buffer; #ifdef DEBUG printf("ici formate \n");#endif( for (i = 0; i < 200; i++) texte[i] = 0; buffer = texte; texte[0] = 0; strcat(texte,"\n\n"); nb_l_crt += 2; entete(lm,rm); buffer++; buffer++;  ll = rm - lm; for (i = 0; i < lm+ind; i++) { strcat(texte," "); buffer++; } i = 0; k = strlen(ref); while (k) { if (i < ll) { *buffer++ = *ref++; k--; i++; #ifdef DEBUG printf("%s\n",texte);#endif } else { while(TRUE) { if( isspace(*buffer) ) { *buffer++ = '\n'; nb_l_crt ++; entete(lm,rm); *buffer = 0; break; }  else { *buffer-- = 0; *ref--; k++; #ifdef DEBUG printf("%s\n",texte);#endif } } #ifdef DEBUG printf("-->%s<--\n",texte);#endif* if (justif) justifier(lm,rm,ind,texte); fprintf(fich_doc,"%s",texte); if (*ref == 0) break; buffer = texte;* for (i = 0; i < 200; i++) texte[i] = 0; i = 0; for (j = 0; j < lm; j++) { strcat(texte," "); buffer++; } } } #ifdef DEBUG printf("-->%s<--\n",texte);#endif fprintf(fich_doc,"%s",texte);}/*+* justifier() etale le texte entre lm et rm*/justifier(lm,rm,ind,texte)int lm, rm, ind; char *texte;{ char *buffer,$ *p_inter, /* pointeur sur inter */ inter[200];- int nb_spaces, /* nb d'espaces a rajouter */ i; /* compteur */  i = strlen(texte);, texte[--i] = 0; /* on enleve le \n final */ while(isspace(texte[i])) { texte[i--] = 0; } texte[i] = '\n'; if (texte[0] == '\n') {< nb_spaces = rm - strlen(texte) + 2; /* a cause des 2 \n */ } else {! nb_spaces = rm - strlen(texte); }' for(i = 0; i < 200; i++) inter[i] = 0; buffer = texte; p_inter = inter;0 while(isspace(*buffer)) *p_inter++ = *buffer++;  while (nb_spaces-- > 0) { while(!isspace(*buffer)) { *p_inter++ = *buffer++; } if (nb_spaces > 5) { nb_spaces--; *p_inter++ = ' '; } *p_inter++ = ' '; while(isspace(*buffer)) { *p_inter++ = *buffer++; } }' while(*buffer) *p_inter++ = *buffer++; p_inter = inter; buffer = texte;0 for(i = 0; i < 200; i++) *texte++ = *p_inter++;}/*)* ENTETE() saute 1 page et ecrit l'entete*/ entete(lm,rm)int lm, /* marge gauche */ rm; /* marge droite */{ register i; % if (nb_l_crt < nb_l_ecrites) return; fprintf(fich_doc,"\f");; for (i = 0; i < nb_l_hp - 1; i++) fprintf(fich_doc,"\n"); if (page) {> for (i = 0; i < ((rm - lm)/2)-3; i++) fprintf(fich_doc," ");+ fprintf(fich_doc,"- %2d -\n\n",nb_p_crt); } else fprintf(fich_doc,"\n"); nb_p_crt++; nb_l_crt = 0;} *[DANA.BIBLIO]FORM_REFER.EXE;1+,p .$/ 4$%-b%0123 KPWO%56?@7=@8}~ǔ9GHJH0DX0205(ϱ@,h! FORM_REFERV1.0ϱ@05-05  ,<B U  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vrfr Fichier des references [.rfr]: .rfr.rfr.rfrdoc Nom du fichier choisi [%s[.doc]]: .doc.doc.docr%s inexistant ou probleme w%s inexistant ou probleme Marge gauche [10]: Marge droite [75]: Indentation de la 1ere ligne [-4]: Justification a droite ([o] ou n): Nombre de lignes blanches en haut de page [3]: Nombre de lignes ecrites [62]: Numerotation des pages ([o] ou n): Titre a imprimer en tete [R E F E R E N C E S]: R E F E R E N C E S %s Liste des references preparee dans %s %s %s %s%s Directory des fichiers *.%s dir *.%s %s %s - %2d - (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^_&}TVWߤ7ߤ3ߤ.ߤ*ߤ%dN& \ޤ>ΘΘă~X)&Θćg&g%\\ߤB.\&P \߭%ߤe߭%KP\߭%ߤj.߭%P%P߭%P@ߤo߭%ޤtΔΔă~Xg%ΔćgZ%g5%\ߤxgA% \g߭\'%Rb. "%P ߭bĝ߭$F ߭bĢ.߭$P$P߭$P@ħ߭$߭ $Ĭ\}$Pv\Įu$X$ M$PB\E$($ ScPZK~cP[~cPYo~5 P~$PnXPXZcP}>ĊcPio~Īf P~#Pn a PUͨRP`PRJS#RZYSRS.7#RRSͨ#gΐ<SSΘ"PRΐ#P@ސR1"U"SgePgfc fc)fͨXY[ZQP`PQgΜ<QtQΤo"PRΜeP@ޜRfͨXY[Z34"*'"T O""P ^ݬ ݬSS!PRS"P@RP^UyRݬƒ~X!ݬ‡!!^yV4X!YT4RbRT4S4Ɛ4h!hݬެWgUUnSSU[R URUg TƓ4)!SRRTZݬ$!PU1T!WZ[ЬR֬bUZ1PcPPP@i hݬdcPSPS`׬UPլ4ݬ ݬdp4ƕnw =4SQ4P`PQZRdƘ4gSRRdU1E4 |4^; TެUeRR PSCbRBdХRSPS@bCbPPP@dЬV Cff VPUUPVPUQ4P`PQЬR4SbPPP@dPbPPP@dUPUP`PbPPP@dPbPPP@dU USPS `SPS `bPPP@dbPPP@dUPUPb Pb4QUЬR֬bU^EvTrVoWU2YRNRĝeR2fPPRPğe{R2fPPRP5GRìPPPRP ìSSSġe;RRSgģe%Pĭeg^ѬЏ9|Џ*|Ь$||^q {P{v{v {|^wRV>UTPPa^~>1J?PbdRScߢecߢfcߢ+d1Scߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^vRzUzTCZzWVs[Y]Xfݬ(ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed߭k߭iPO~fh߭fhSd1^Se1VSPPμ^uRyUyTyYV[ZXiWfݬ4k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^tRxXxWT+yVU[ZYfլݬf deѬ  dݬk߭jݬ ݬݬtxi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehgY ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭d߭~P ߭$P^mݬ |~c~߭ϋ߭)PPP^ݬݬ c~߭<߭PPP^rR5wլ լݬݬ Cxݬ@ݬݬݬc~߭Ͽ߭]PPP^ݬ߭߭.PPP^ rRvTuSWuVU[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭HPvkQcd_QcQdAVd~Vc~ӋS߭j߭iPO~behv߭qhehQc1UQd1LPP^qRtTtSc[tWUZYXVeݬxpj~z߭iݬgf~߭߭hP߭}߭=PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^pRsWsVs[S\tެUTZYXeլݬe§cdѬcݬKpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~߭i߭hPOPìP~cd߭cdQf1Qg1PP ^nRݬ߭߭P߭߭BPPvP ^|nSyݬݬ߭6|~rs~߭ݬ/PO~z߭PR߭ݬ RPݬ ^mTݬݬ߭ݬrs~߭ݬScPORwcPR~߭cPR߭ݬ SRPݬݬ BI ^HmSqլլݬݬ*ѬPPݬݬ߭ݬ$ݬ ݬ(qs~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭Q߭kPR߭ݬ ERPݬݬ 4=8^=lS>ToR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\lТ ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id+\ ^AkS oR|~|~ ߢ |~߭#ݢ P\\2\\\l\^nR|~|~|~߭1ݢ PT^jWYinZ,΀CЬSЬRBcjiǏVSkBS5SǒiS1PѪjЪjn _·P ·լլ ΈPΈΈdn0ݬPRެTRdSiS}RRdΈ"ݬݬǕi}iFiǟ9 PPf 9WW)WWWWWWWWWI9P&?Pn[n[n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬy ݬݬΐΓ~ݬݬ V1ZPVݬ` PVPi V15ǥi ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVViy  P޼PF` iǮU VVVDZih ΀1l si. 1WPެRF ,bS VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USw PSEd P1޼PE`ݬ@ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬiv iA 1rPi/ ݬi? i i ݬ? PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi Oh/ݬ PRެTRdSiSi RRdiM V1zVi_ 1hi1 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTCdTV· ·XP XX~SCd iiV1Vi1PΆ1i[,iBVkЬRRcRVRi;fΈ/RDPRެTRdSiSRRdΈ"ݬݬiii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2ibRbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjim}ݬpi+e/ݬPRެTRdSiSERRdis)V1VVvi;1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlNR5ݪ$Ά i1+Pծ,1΀1Ԯ,i|Rji RRjikcΈ%RެTRdSiSRRdΈ"ݬݬǂiiRinjEVVi71` i%Ά~ǏUPi17P f%Ά~ǜ)Pi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVVDzioVd1sVi:i/1X|~|~ ߪ |~߭#ݪ PRR2RRRlG Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?PnQ[n=[nE[(^i\WfV+`TfǸݬ7PѤdФdRdPf RRdfǻݬǾfg`լ.ݬPRެURe SfS}RReլ"ݬݬf~fGf:f=@@LLtL 4l<d|Dt|t 8 ,  @VAXCRTLLIBRTLMTHRTL FORM_REFER mainp pfgetss0dir_extDformateh justifierG entete  # ASKVAL| askidomain8 askfdomain4 ask_speak܍askival؎askivalh̏askivalf9faskival3<askcvalPaskcvalhLؑaskcvalfXfaskcval,askfvalaskfvalhaskfvalfPfaskfvalD(asksvalasksvalh\asksvalffasksvalPh setcbreakdrestoreh̙ getchar_vms0 ask_edite?<re_ecrit |           -}*[DANA.BIBLIO]INI_BIBLIO.C;1+,. / 4R l-b%0123KPWO 567 T8 ! Ŕ9GHJ/*; * INI_BIBLIO.C permet d'initialiser un directory de biblio * * * Version C pour ULTRIX * * 29 Juin 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**/ #include #include "askval.h"#include "ecran.h" #define DEBUG#define FALSE 0#define TRUE 1#include "biblio.h" main(argc,argv) int argc; char **argv;{ char nom_fichier[80], ordre[60], rep, nom_dir[60]; short nb_fiches;# include "titre_bib.h"  if (argc == 1) {? sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO); asksval(ordre,BIBLIO,nom_dir); }  else { strcpy(nom_dir,argv[1]); }? printf("\007La structure de biblio sera cree dans %s %s %s\n", REVERSE,nom_dir,NORMAL);D printf("Si une structure biblio existe deja dans ce repertoire\n");8 printf("elle sera %s DEFINITIVEMENT DETRUITE %s\007\n", REVERSE, NORMAL);3 rep = askcval("Initialise-t-on (o ou [n]): ",'n'); if (strchr("oOyY",rep)) {6 rep = askcval("\007Etes-vous sur (o ou [n]): ",'n');( if (!strchr("oOyY",rep)) exit(SUCCES); } else exit(SUCCES); strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);7 if((c_fiches = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);7 if((c_codcle = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_ABBREV);7 if((c_abbrev = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_MOTCLE);7 if((c_motcle = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir);! strcat(nom_fichier,C_SUPER_CLE);3 if((c_abbrev = fopen(nom_fichier,ECRIRE)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_AUTEUR);7 if((c_auteur = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); }+ /* Reecriture des mots cles */ nb_cles = 0; nb_fiches = 0;+ fwrite(&nb_cles,sizeof(short),1,c_codcle);- fwrite(&nb_fiches,sizeof(short),1,c_codcle);$ fwrite(cle,sizeof(cle),1,c_codcle); fclose(c_codcle); strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_MOTCLE_INDEX);= if((c_motcle_index = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } motcle_last_bloc = 0; p_motcle = motcle;9 fwrite(&motcle_last_bloc, sizeof(int),1,c_motcle_index);1 fwrite(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index); strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_AUTEUR_INDEX);= if((c_auteur_index = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } auteur_last_bloc = 0; p_auteur = auteur;9 fwrite(&auteur_last_bloc, sizeof(int),1,c_auteur_index);1 fwrite(auteur, sizeof(auteur),1,c_auteur_index); fclose(c_auteur_index);Q printf("\007Maintenant, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches);R printf("le directory %s contient une structure utilisable par biblio\n",nom_dir); }*[DANA.BIBLIO]INI_BIBLIO.EXE;1+,p.!/ 4!!-b%0123 KPWO"56=̶@7@8(ǔ9GHJ0DX0205(^@,h INI_BIBLIOV1.0`^@05-05  ,<@ Q  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vNom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]La structure de biblio sera cree dans %s %s %s Si une structure biblio existe deja dans ce repertoire elle sera %s DEFINITIVEMENT DETRUITE %s Initialise-t-on (o ou [n]): oOyYEtes-vous sur (o ou [n]): oOyYc_fiches.bibwctx=bin%s -> pb c_codcle.bibwctx=bin%s -> pb c_abbrev.bibwctx=bin%s -> pb c_motcle.bibwctx=bin%s -> pb c_super_cle.bibw%s -> pb c_auteur.bibwctx=bin%s -> pb c_motcle_index.bibwctx=bin%s -> pb c_auteur_index.bibwctx=bin%s -> pb Maintenant, il y a %d mots cles et %d fiches le directory %s contient une structure utilisable par biblio (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d.~ BIBLIO.BCKpb%[DANA.BIBLIO]INI_BIBLIO.EXE;1XE;1!$8;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)\^k"R U WT VXߢ7ߢ3ߢ.ߢ*ߢ%bI"Ѭ'ߢcߢ>n6"2ߢmn PЬPݠ2!­2¨ߢw!Sc±ccn~LP~9!P.n~>+P~Z!P|! Po!2߭Y!_߭W!nl߭I!P߭v>!!!2߭ !€߭ !߭ Pd߭—  2߭ ¡߭ °®߭ Pe߭¸  2߭w ߭u ߭g P ߭\ ? 2߭) ߭' ߭ Pe߭ 2߭߭ ߭Ph߭hd?hScd?cd<2~Qcdy2߭W ߭U53߭GPf߭=@# ff<@~`f2߭G߭\Z߭Pg߭d|Vegeg< ~/lg_2~2h~nU2FP^ѬЏЏzЬte^q $Pvv |^ ReVvU7TPPa^~>1J?PbdbScߢecߢfcߢ+dAScߢ:ecߢDfcߢSd!ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^R)U&T{ZWV[\YiXfݬTݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edӘ߭k߭iPO~fh߭fhSd1^Se1VSPPμ^~R,U)T&YV[ZhXuWfݬ`k߭jݬ ii~߭ ϱ ߭hP߭!PSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^(}R9X6WT{VU[ZiYfլݬf deѬ  dݬGk߭jݬ ݬݬĀi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg節 ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭h߭VP ߭LP^ݬ7|~c~߭ϋ߭PPP^1ݬݬ c~߭<߭PPP^{Rլ լݬݬ Cݬlݬݬݬc~߭Ͽ߭5PPP^ݬ߭߭PPP^pzRQ~TN~SWD~VU[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭tPvkQcd_QcQdAVd~Vc~#S߭j߭iPO~behv߭qhehQc1UQd1LPP^hyRI}TF}Sﳓ[<}W UZYXVeݬpj~z߭iݬgf~߭߭hP߭}߭iPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^`xRA|W>|V;|[ S|ެUTZYXeլݬe§cdѬcݬwpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭9PvjQfg{QfQg]eլݬe·cdVg~Vf~Б߭i߭hPOPìP~cd߭cdQf1Qg1PP ^wRݬ߭߭sP߭߭nPPvP ^vSݬCݬ߭j|~zs~߭ݬPO~z߭PR߭ݬ RPݬ ^8vTݬݬ߭ݬQzs~߭ݬuScPOR'cPR~߭cPR߭ݬ cRPݬݬ R! ^uSzլլݬݬ>ѬPP"ݬݬ߭ݬ$ݬ ݬxys~߭ݬ߭PR߭ݬ RPݬݬ e^ݬP~߭U߭CPR߭ݬ URPݬݬ D8^tSRTOxR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id7\F ^sSZwR|~|~ ߢ |~߭#ݢ P\\2\\\l\^vR|~|~|~߭1ݢ PT^rWYvZ,΀CЬSЬRBcjiǏIVSkRSESǒi&S PѪjЪjv _·P ·լլ ΈPΈΈv0ݬPRެTRdSiSRRdΈ"ݬݬǕii1riǟe PPf 9WW)WWWWWWWWWI9P&?P:n[&n[.n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ8 PVPi> V15ǥi% ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ VVVDZit ΀1l si^ 1WPެRF ,b+ VPVPi-  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USO PSEd1 P1޼PE`ݬP ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi im 1rPi[ ݬiK iJ i- ݬ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi p/ݬ PRެTRdSiS RRdiy V1zVik 1hia 1ZPΆ Ά1Vi; 14RP`PORVSS~ЬTTCd TV· ·XP XX~SCd iiV1Vi1PΆ1i,inVkЬRRsRfRiG!oΈ/RPRެTRdSiSRRdΈ"ݬݬiii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2inRbIݬD<ibiMAV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjimݬpi{m/ݬ{PRެTRdSiSuRRdisUV1VVviG1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlZRiݪXΆ i21+Pծ,1΀1Ԯ,i|Rji RRjikΈ%RެTRdSiSRRdΈ"ݬݬǂii=~injqVVig1` i%Ά~Ǐ]Pi>17P f%Ά~ǜ1Pi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDzi{Vd1sViji_1X|~|~ ߪ |~߭#ݪ PRR2RRRl[R'ݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[Nnq[:ny[:(^dWzV{hTfǸ%ݬPѤdФdRdPf RRdfǻݬǾfhլ.ݬPRެURe SfSRReլ"ݬݬff2sfffm@@LdL|tL |tl<D8 ,  @VAXCRTLLIBRTLMTHRTL INI_BIBLIO mainV   ASKVALX askidomain8 askfdomain4Ą ask_speakaskivalaskivalhaskivalf9faskival3askcvalPhaskcvalhLaskcvalf4faskcval,`askfvalhaskfvalhpaskfvalfPfaskfvalDasksvalasksvalh8asksvalffasksvalPD setcbreak@restoreh getchar_vms0ؑ ask_edite?re_ecrit X           -}"*[DANA.BIBLIO]INSTALL_BIB_VMS.COM;3+,g./ 42-b%0123KPWO567@9#8@yŔ9GHJ$!!$! A redefinir selon vos gouts...$!$ define bibedit tpu2$ define sys$biblio_bin cao$disk:[dana.biblio.exe]*$ define bib cao$disk:[dana.biblio.biblio])$define bibexe cao$disk:[dana.biblio.exe]$ biblio :== @biblio*[DANA.BIBLIO]KERRENBIB.COM;1+,'./ 4&-b%0123KPWO56 Sq7U8! Ŕ9GHJ&;$ rename corrigefi.c corrige_fiches.c#;$ rename creefiche.c cree_fiches.c#;$ rename creemotcl.c cree_motcle.c%;$ rename displayfi.c display_fiche.c$;$ rename editefich.c edite_fiches.c";$ rename formrefer.c form_refer.c";$ rename inibiblio.c ini_biblio.c#;$ rename killfiche.c kill_fiches.c$;$ rename listefich.c liste_fiches.c#$ rename menubibvm.c menu_bib_vms.c#$ rename modifabba.c modif_abbaut.c$ rename modifcle.c modif_cle.c&$ rename modifsupe.c modif_super_cle.c!$ rename newfiches.c new_fiches.c!$ rename showfiche.c show_fiche.c$ rename sysbib.h sys_bib.h$ rename titrebib.h titre_bib.h$$ rename trouveaut.c trouve_auteur.c!$ rename trouvecle.c trouve_cle.c#$ rename trouvetex.c trouve_texte.c*[DANA.BIBLIO]KILL_FICHES.C;1+,)0. / 4S V-b%0123KPWO 56W7OU8! Ŕ9GHJ/*8 * KILL_FICHES.C permet de retrouver des fiches dans le  * fichier c_fiches.bib. * * Version C pour ULTRIX * * 24 Juin 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**/#include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h"#include "show_fiche.c" main(argc,argv) int argc; char **argv;{ char nom_fichier[80], nom_dir[60], ordre[80], rep; int i, j, k, kill; short nb_fiches, *nb_c, *nb_f;# include "titre_bib.h"  if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);7 if((c_fiches = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);S printf("\007Actuellement, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches); do {I kill = askival("Numero de la fiche a supprimer [abandon]: ",0); if (kill <= 0) {' printf("\007Abandon volontaire!\n"); exit(SUCCES); } do {' if(read_fiche((short)kill) == FALSE) {( printf("\007Probleme de lecture\n"); exit(1); } if (wrong_numero) {B printf("Mauvais numero de fiche, j'essaye le precedent...\n"); kill --; } }while(wrong_numero);2 if(killed) printf("\007Fiche deja supprimee\n"); else {J rep = askcval("Voulez-vous voir la fiche a detruire ([o] ou n): ",'o');' if (!strchr("nN",rep)) show_fiche();O rep = askcval("Vous desirer supprimer cette fiche (o ou [n]): ",'n'); if (strchr("oOyY",rep)) {( if (simple) fiche.Simple.type = 'K';! else fiche.Double.type = 'K';* if (write_fiche((short)kill) == FALSE)* { printf("\007Probleme d'ecriture\n"); break; }3 printf("\007La fiche %s %d %s est supprimee\n", REVERSE, kill, NORMAL); } }A rep = askcval("Voulez-vous continuer (o ou [n]): ",'n'); } while(strchr("oOyY",rep)); fclose(c_fiches); fclose(c_codcle);}/*$* READ_FICHE() relit la fiche numero*/read_fiche(numero) short numero;{ long offset;  simple = TRUE; killed = wrong_numero = FALSE; p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);2 if(fseek(c_fiches,offset,0) == -1) return(FALSE);0 fread(p_fiche,sizeof(fiche.A_lire),1,c_fiches); switch(fiche.A_lire[0].type) { case 'S': simple = TRUE; break; case 'D': simple = FALSE; break; case 'K': killed = TRUE; break; default : wrong_numero = TRUE; }  return(TRUE);}/*'* WRITE_FICHE() reecrit la fiche numero*/write_fiche(numero) short numero;{ long offset;  p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);3 if (fseek(c_fiches,offset,0) == -1) return(FALSE);= if (simple) fwrite(p_fiche,sizeof(fiche.Simple),1,c_fiches);6 else fwrite(p_fiche,sizeof(fiche.Double),1,c_fiches); return(TRUE);}*[DANA.BIBLIO]KILL_FICHES.EXE;1+,p.$/ 4$$-b%0123 KPWO%56?q@7`@8`D1ǔ9GHJ(0DX0205(@,h  KILL_FICHESV1.0@05-05  +<@ S  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s -> pb c_codcle.bibrctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Numero de la fiche a supprimer [abandon]: Abandon volontaire! Probleme de lecture Mauvais numero de fiche, j'essaye le precedent... Fiche deja supprimee Voulez-vous voir la fiche a detruire ([o] ou n): nNVous desirer supprimer cette fiche (o ou [n]): oOyYProbleme d'ecriture La fiche %s %d %s est supprimee Voulez-vous continuer (o ou [n]): oOyY (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^UXTҠWhec&ߥY&g1ߥb2~ߥ]ߥ F&\2R\RA4&SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp%\ŏQ\RBćRb%P bߥr%\՟ߥv%Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgųN%S \1e2~ ŷ-%\2R\RC%SP\PPRBP@cz\P{PQPPcV2RR\V $\ŏQ\RB Rb$P b $\ԟ?y$P?$$3M)r$RbĞ0b>bCbdG?$SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg#S \ůŪŃ#s~ų] P~Ŵ#PhP΄^g#~SZYUYXrWùJ#Ѭ1g~ P~4#Pg HHHHHHHHH 2Pb?PH#"nRf:\"nÄ>ЬRݢnv"n߭h"É߭^"ÙÖ߭\"P߭áY"0"n߭"ë߭"úø߭"PC߭ "!>0R>TR!RbTb<2~b!2~2~!!Vl!Δ![t!ΐxS!|_!tPT)fޘ2TPgehij2PPPď-PPIkPRg21J?Pbd6Scߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^|RUTZWV[`Y=Xfݬ(ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edC߭k߭iPO~fh߭fhSd1^Se1VSPPμ^{RUTYV[ZlXIWfݬ4k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?edP߭j߭hPO~fg߭fgSd1_Se1WSPP^zR~X~WT~VdU[ZmYfլݬf deѬ  dݬk߭jݬ ݬݬ4~i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭<߭ZP ߭ P^iݬ |~c~߭ϋ߭PPP^ݬݬ c~߭<߭PPP^xR|լ լݬݬ CXݬ@ݬݬݬc~߭Ͽ߭9PPP^ݬ߭߭ PPP^wR{T{SCW{VU[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭HPvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^vRzTzS#[zWUZYXVeݬxpj~z߭iݬgf~߭߭hP߭}߭=PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^uRyWyVy[SzެUTZYXeլݬe§cdѬcݬKpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~@߭i߭hPOPìP~cd߭cdQf1Qg1PP ^tRݬ߭Y/~ BIBLIO.BCKpb%[DANA.BIBLIO]KILL_FICHES.EXE;1XE;1$4߭wP߭߭BPPvP ^iݬݬΐΓ~ݬݬUV1V,ig1Ά?1BΈLݬݬ2iBRbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjim}ݬpiuj/ݬPRެTRdSiSIRRdis)V1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl.R=ݪ,Ά i1+Pծ,1΀1Ԯ,i|Rji RRji+iΈ%RެTRdSiSRRdΈ"ݬݬǂiiiRinjEVVi;1` i%Ά~Ǐ=Pi17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬimViǯVVDziOVd1sVi>i31X|~|~ ߪ |~߭#ݪ PRR2RRRlCRݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[n[n[(^)bWbVeTfǸݬPѤdФdRdPf RRdfǻݬǾf'fլ.ݬPRެURe SfSRReլ"ݬݬf^fGf:fA@@LdL|tL t|l<D8 ,  @VAXCRTLLIBRTLMTHRTL KILL_FICHES show_fiche mainDD read_fiche write_ficher ` ASKVAL askidomain8 askfdomain4 ask_speakaskival܊askivalhЋaskivalf9 faskival3@askcvalPaskcvalhL܍askcvalf\faskcval,askfvalaskfvalhaskfvalfPfaskfvalD,asksvalasksvalh`asksvalffasksvalPl setcbreakhrestorehЕ getchar_vms0 ask_edite?@re_ecrit            -}*[DANA.BIBLIO]LINKBIB.COM;1+,.&./ 44-b%0123KPWO56`BFTq7@~U8@! Ŕ9GHJ$!+$! BIB_EXE: doit etre defini ainsi que BIB:$! $ set noon$ again:$ file = f$search("*.obj") $ dir 'file'!$ if file .eqs. "" then goto done#$ define/user sys$input sys$command $! cc 'file'$ dot = f$locate(".C;",file) $ object = f$extract(0,dot,file)$ link 'object',clink/op $ goto again$ done:$ copy *.exe BIB_EXE:;4; definir une symbole BIBLIO :== @BIB_EXE:biblio.com;*[DANA.BIBLIO]LISTE_FICHES.C;1+,;#. / 4U -b%0123KPWO 56 7U8!" Ŕ9GHJ/*9 * LISTE_FICHES.C permet de retrouver des fiches dans le  * fichier c_fiches.bib. * * Version C pour ULTRIX * * 23 Juin 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**/#include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h" +FILE *fich_list; /* fichier dimpression */#include "display_fiche.c"main(argc,argv) int argc; char **argv;{ char nom_fichier[80], nom_dir[60], ordre[80], rep; int i, j, k, visu, depart, arrivee; short nb_fiches, *nb_c, *nb_f;# include "titre_bib.h"  if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);7 if((c_fiches = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);U printf("\n\007Actuellement, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches); do {H depart = askival("\nNumero de la 1ere fiche a lister [1]: ",1); if (depart <= 0) {' printf("\007Abandon volontaire!\n"); exit(SUCCES); }I sprintf(ordre,"Numero de la derniere fiche a lister [%d]: ",nb_fiches);, arrivee = askival(ordre,nb_fiches); if (depart > arrivee ) {D printf("\007Impossible a traiter (%d > %d !!)\n",depart,arrivee); exit(1); }F rep = askcval("desirez-vous les voir sur l'ecran (o ou [n]): ",'n');& if (strchr("oOyY",rep)) visu = TRUE; else visu = FALSE; /* fichier de listing */. sprintf(ordre,"%d_a_%d.lst",depart,arrivee); strcpy(nom_fichier,ordre);5 if((fich_list = fopen(nom_fichier,ECRIRE)) == NULL) {2 printf("%s impossible a ouvrir\n",nom_fichier); exit(1); }C fprintf(fich_list,"Liste des Fiches %d a %d\n\n",depart,arrivee); k = 0;% for( i = depart; i <= arrivee; i++) { do {% if(read_fiche((short)i) == FALSE) {) printf("\007Probleme de lecture\n"); exit(1); } if (wrong_numero) { i ++; }' }while(wrong_numero && i < arrivee); if ( i > arrivee ) break;  read_fiche((short)i); if (! killed) { k++; print_fiche(); if (visu) show_fiche(); } } fclose(fich_list);& printf("\n%d fiches listees\n\n",k); if(k) {@ printf("\tLe fichier %s %s %s est envoye sur l'imprimante\n",! REVERSE,nom_fichier,NORMAL);) sprintf(ordre,"print %s",nom_fichier); system(ordre); #ifdef UNIX& sprintf(ordre,"rm %s",nom_fichier);#endif #ifdef VMS) sprintf(ordre,"del %s;0",nom_fichier);#endif #ifdef MS_DOS' sprintf(ordre,"del %s",nom_fichier);#endif system(ordre);  }A rep = askcval("Voulez-vous continuer (o ou [n]): ",'n'); } while(strchr("oOyY",rep)); fclose(c_fiches); fclose(c_codcle);}/*$* READ_FICHE() relit la fiche numero*/read_fiche(numero) short numero;{ long offset;  simple = TRUE; killed = wrong_numero = FALSE; p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);2 if(fseek(c_fiches,offset,0) == -1) return(FALSE);0 fread(p_fiche,sizeof(fiche.A_lire),1,c_fiches); switch(fiche.A_lire[0].type) { case 'S': simple = TRUE; break; case 'D': simple = FALSE; break; case 'K': killed = TRUE; break; default : wrong_numero = TRUE; }  return(TRUE);}*[DANA.BIBLIO]LISTE_FICHES.EXE;1+,p%.'/ 4'&-b%0123 KPWO(56`@7 @8 !aǔ9GHJD0DX0205(.@,h" LISTE_FICHESV1.0.@05-05  +=A V ! ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ***************** Fiche simple numero %d ***************** %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s ***************** Fiche double numero %d ***************** %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s -> pb c_codcle.bibrctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Numero de la 1ere fiche a lister [1]: Abandon volontaire! Numero de la derniere fiche a lister [%d]: Impossible a traiter (%d > %d !!) desirez-vous les voir sur l'ecran (o ou [n]): oOyY%d_a_%d.lstw%s impossible a ouvrir Liste des Fiches %d a %d Probleme de lecture %d fiches listees Le fichier %s %s %s est envoye sur l'imprimante print %sdel %s;0Voulez-vous continuer (o ou [n]): oOyY (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^U X-T>Whec*ߥY*1ߥb2~ߥ]ߥ F*\2R\RA4*SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp)\ŏQ\RBćRb)P bߥr)\՟ߥv)Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgųN)S \1e2~ ŷ-)\2R\RC)SP\PPRBP@cz\P{PQPPcV2RR\V (\ŏQ\RB Rb(P b (\ԟ?y(P?$(3M)r(RbĞ0b>bCbdG?(SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg'S \ůŪŃ's~ųP~Ŵ'PhP^|UV.T?X1/2~Źf^'\2R\RGL'SP\PPRBP@dfcz\P{PQPP fcW2RR\W f&\ŏQ\RBćRb&Pbf&\ҟf&Sc fcfc2~fcfc2 ~-fc\>Sc2cRR RBhDfL&S \1}P2~Hf/&\2R\RE&S\PPRBP@ńfcz\P{PQPP ŌfcW2RR\W Ŏf%\PŏQ\RB Rb%PbŐf%\ҟ?w%P?Ŕfz%;Mřfh%RbĞŠfbŮfbųfbdŷf-%Sciżfc2t~fcvfc2ā~ăfc\>čSc2cRR RBhf$S \$4^{$zU6[kY8Z%TXV.*%![$Ѭ1g~5 P~E$Pg IIIIIIIII!3Pr?Pņa$nŐ.:ŽŚ#nЬRݢn#n߭t#߭j#߭l#Pk߭m#@#n߭*#߭ #߭"#P߭#">R>SR"RbSbt<2~b^"2~2]~ "Θ"q""ΨΠb"Μy"`"μθ-"<ޠPd2~z޴2~ޠPWWWŦn~ިP~ޤPW޸߭s! ߭}!P߭ W$iZ!SSW1z2SPfdhji2PPPď-PPkPRePk1J?PbdzScߢecߢfcߢ+dYScߢ:ecߢDfcߢSd9ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiM]V1BVPib14iV;fݬaYi_i&ij ݬPѪjЪjRjPi RRjimݬpif/ݬPRެTRdSiSRRdisqV1VVvi1DΆ1 c10[1)R[jЬSTUU[US;PSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪpΆ iJ1+Pծ,1΀1Ԯ,i|Rji RRjidΈ%RެTRdSiSRRdΈ"ݬݬǂiiiinjVVi1` i%Ά~ǏPiV17P f%Ά~ǜYPi*1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDziVd1sViiw1X|~|~ ߪ |~߭#ݪ PRR2RRRlhR?ݪ c1ЬRݬ%PPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[vn[bn[b(^]WVaTfǸAݬ[PѤdФdRdPf RRdfǻݬǾf-aլ.ݬPRެURe SfSRReլ"ݬݬff^ff@@LdLtL t4|l<|D8 ,  @VAXCRTLLIBRTLMTHRTL LISTE_FICHES show_fiche print_fiche mainp read_fiche j ASKVAL8 aski0~ BIBLIO.BCKp%b%[DANA.BIBLIO]LISTE_FICHES.EXE;1XE;2' #domain8p askfdomain4 ask_speakaskivalaskivalhaskivalf9Ēfaskival3askcvalPHaskcvalhLaskcvalffaskcval,@askfvalHaskfvalhPaskfvalfPfaskfvalDasksvalxasksvalhasksvalfԙfasksvalP$ setcbreak restoreh getchar_vms0 ask_edite?re_ecrit 8           -}*[DANA.BIBLIO]MAKEBIBLIO.COM;1+,(<%./ 44-b%0123KPWO56H@7@ZC8@ C'ǔ9GHJ$!+$! BIB_EXE: doit etre defini ainsi que BIB:$! $ set noon$ again:$ file = f$search("*.c") $ dir 'file'!$ if file .eqs. "" then goto done#$ define/user sys$input sys$command $ cc 'file'$ dot = f$locate(".C;",file) $ object = f$extract(0,dot,file)$ link 'object',askval,clink/op $ goto again$ done:$ copy *.exe BIB_EXE:;4; definir une symbole BIBLIO :== @BIB_EXE:biblio.com;*[DANA.BIBLIO]MENU_BIB_VMS.C;2+,[ ./ 4Y-b%0123KPWO56-7@6-8@ͫƔ9GHJ4I/************************************************************************ * *4* MENU_BIB_VMS.C *I* **I* Menu_bib.c programme permettant de faire un menu dans lequel on peut seG* deplacer avec les fleches ou donner une lettre correspondant au choix* voulu.* * Version C pour VMS * * 4 Novembre 1988 * *//**+* Auteur: Dr J-F VIBERT et Beatrice COINTOT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**/+#include /* standard I/O files */#include H#include /* macro et globales pour fonctions classification de caracteres */#include "askval.h"#include "ecran.h"#include "sys_bib.h"#define VERSION "V4.2-v"#define ESC 0x1b#define RETURN 0x0d #ifdef VMS#include #include #include #include #include int ttchannel;#endif0/* definition et initialisation des variables *//int champ_deb = 9, /* premiere ligne du menu */( champ_fin, /* derniere ligne du menu */, col_deb = 15, /* premiere colonne du menu*/0 pas = 1, /* nombre de ligne entre deux choix */ champ ; /* ligne courante */char dir_bib[60], prompt[80]; /* MENU GENERAL */char *menu_1[] = {" " entree de nouvelles Fiches ", " recherche par Auteur ", " recherche par mot-Cle "," " recherche Globale de texte ", " Thesaurus "," " choix du fichier par Defaut ",- " Preparation d'une liste de references ",) " Edition d'une liste de references ",( " creation d'un fichier pour BibTeX ",% " \033[1m SOUS-MENUS \033[m",* " Modification/correction du fichier ", ""," " Quitter - Abandonner BIBLIO " };void new_fich(), trouve_a(), trouve_c(), trouve_t(), thesauru(), ch_dir(), edite_fi(), form_ref(), reftex(), no_op(), modif_cor(), fin(); void (*action_1[])() = { new_fich, trouve_a, trouve_c, trouve_t, thesauru, ch_dir, edite_fi, form_ref, reftex, no_op, modif_cor, no_op, fin };int lettre_1[] = { 'f', 'a', 'c', 'g', 't', 'd', 'p', 'e', 'b', '\0', 'm', '\0', 'q', }; /* SOUS MENU de modif */char *menu_2[] = {& " Correction de fiches existantes ", " Elimination de fiches ",0 " modification des Abreviations/Auteurs-cle ",! " modification des mots-Cles ",$ " adjonction de Super mots-cles ", " Liste des fiches ",* " Initialisation d'un nouveau fichier ",& " Quitter - retour au menu general " };void corrige(), kill_fic(), modif_ab(), modif_cl(), modif_su(), liste_fi(), ini_bibl(), retour();void (*action_2[])() =  { corrige, kill_fic, modif_ab, modif_cl, modif_su, liste_fi, ini_bibl, retour };int lettre_2[] = { 'c', 'e', 'a', 'c', 's', 'l', 'i', 'q' };int cooked[3];void setcbreak(){ int status; short iosb[4]; int ttchar[3]; $DESCRIPTOR(ttdesc,"TT:"); status = sys$assign ( &ttdesc,  &ttchannel,  0 , 0 ); if (status != SS$_NORMAL) {8 fprintf(stderr,"%%Erreur %d sur ASSIGN TT:\n",status); exit(status); } status = sys$qiow ( 0 ,  ttchannel,  IO$_SENSEMODE, iosb ,  0 , 0 , cooked ,  12 ,  0 ,  0 ,  0 ,  0 ); if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) {; fprintf(stderr,"%%Erreur %d sur QIO SENSEMODE\n",status); exit(status); } ttchar[0] = cooked[0];, ttchar[1] = cooked[1] | TT$M_NOECHO;. ttchar[2] = cooked[2] | TT2$M_PASTHRU; status = sys$qiow ( 0 ,  ttchannel,  IO$_SETMODE, iosb ,  0 ,  0 , ttchar ,  12 ,  0 ,  0 ,  0 ,  0 );  if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) {9 fprintf(stderr,"%%Erreur %d sur QIO SETMODE\n",status); exit(status); }}void restore(){ int status; short iosb[4]; curseur(24,1); status = sys$qiow ( 0 ,  ttchannel,  IO$_SETMODE, iosb ,  0 ,  0 , cooked ,  12 ,  0 ,  0 ,  0 ,  0 );  if (status == SS$_NORMAL) status = iosb[0]; if (status != SS$_NORMAL) {9 fprintf(stderr,"%%Erreur %d sur QIO SETMODE\n",status); exit(status); } status = sys$dassgn(ttchannel);}char getchar_vms(){ char c; short iosb[4]; int status; status = sys$qiow ( 0 ,  ttchannel,  IO$_READVBLK, iosb ,  0 ,  0 ,  &c ,  1 ,  0 ,  0 ,  0 ,  0 ); return(c);}3FILE *bib_def; /* fichier du fichier par defaut! */main(){; if ((bib_def = fopen("sys$login:biblio.cfg","r")) == NULL) strcpy(dir_bib,GENERAL);# else fscanf(bib_def,"%s",dir_bib); /* appel programme menu */A menu(menu_1,"\033[1m MENU \033[m",13,action_1,lettre_1);}I/************************************************************************ * ** MENU * * *I************************************************************************//*' sous-programme de creation du menu *//menu(menu_choix,titre,nb_actions,action,lettre)char **menu_choix, *titre;int lettre[];int nb_actions;void (*action[])();{' char c; /* touche tapee au clavier */ int i; champ = champ_deb;( champ_fin = champ_deb + nb_actions - 1;  /* construction du menu */K const_menu(menu_choix,titre,champ_deb,champ_deb+nb_actions-1,col_deb,pas);& /* premiere ligne en video inverse */ curseur (champ,col_deb);1 inverse(menu_choix,champ_deb,col_deb,champ,pas); /* inverse le premier champ */& /* traitement des entrees claviers */ setcbreak();# while ((c = getchar_vms()) != '.') {9 if ( c == ESC) /* si touche autre que alphanumerique */ {E if ( (c = getchar_vms() ) == '[' || c == 'O') { & switch ( c = getchar_vms()) {0 case 'B' : /* fleche vers le bas */< normal(menu_choix,champ_deb,col_deb,champ,pas);* /* remise champ en normal*/: champ+=pas; /* on passe au champ suivant*/F if ( champ > champ_deb+nb_actions-1 ) champ = champ_deb;% curseur (champ,col_deb);= inverse(menu_choix,champ_deb,col_deb,champ,pas); break;1 case 'A' : /* fleche vers le haut */< normal(menu_choix,champ_deb,col_deb,champ,pas);) /* remise champ en normal*/: champ-=pas; /* on passe au champ suivant*/J if ( champ < champ_deb ) champ = champ_deb + nb_actions - 1;% curseur (champ,col_deb);= inverse(menu_choix,champ_deb,col_deb,champ,pas); break; default : ;! } /* fin du switch */ } } /* fin du if */% else /* si une touche est tapee */ {, if ( c == RETURN ) /* si touche RETURN */ { restore();+ (*action[((champ - champ_deb)/pas)])(); curseur(24,20);? printf("\033[1mTaper RETURN pour retourner au menu\033[m");. askcval("",0); setcbreak(); } /* fin du if */! else /* si une autre touche */ {, for ( i = 0; i < nb_actions; i++)! if (lettre[i] == tolower(c)) { restore();8 (*action[i])(); curseur(24,20);A printf("\033[1mTaper RETURN pour retourner au menu\033[m");0 askcval("",0); setcbreak();) } } /* fin du else */ /* construction menu */M const_menu(menu_choix,titre,champ_deb,champ_deb+nb_actions-1,col_deb,pas);( /* premiere ligne en video inverse */ curseur (champ,col_deb);3 inverse(menu_choix,champ_deb,col_deb,champ,pas);! /* inverse le premier champ */ } /* fin du else */ } /* fin du while */ if(c == '.') restore(); erase();} /* fin du programme menu */curseur(nl,nc){ printf("\033[%d;%dH",nl,nc);}erase(){ printf("%s%s",CLRAS,HOME);}I/************************************************************************ * ** CONST-MENU * * *I************************************************************************/'/* programme de construction du menu */<const_menu(menu_choix,titre,champ_deb,champ_fin,col_deb,pas)+int champ_deb, /* premiere ligne du menu */( champ_fin, /* derniere ligne du menu */( col_deb , /* premiere colonne du menu*/. pas ; /* nombre de ligne entre deux choix */char *menu_choix[], *titre;{ int i; erase();#include "titre_bib.h" curseur (3,1); printf("Fichier de travail:"); curseur (4,1);) printf("%s%s%s",REVERSE,dir_bib,NORMAL); curseur (2,45);9 printf("Selectionner avec les %sFleches%s",BOLD,NORMAL); curseur (3,45);< printf(" puis valider avec %s\"Return\"%s",BOLD,NORMAL); curseur (4,45);? printf("Ou taper une des %sLettres Majuscules%s",BOLD,NORMAL); curseur (7,col_deb); printf("%s",titre);9 for ( i = 0 ; i <= ((champ_fin - champ_deb )/pas) ; i++) {/ curseur ( (champ_deb + (i * pas)) , col_deb);! printf ( "%s", menu_choix [i]); }}I/************************************************************************ * ** INVERSE * * *I************************************************************************/#/* inversion de la video d'un champ normal => inverse */0inverse (menu_choix,champ_deb,col_deb,champ,pas)+int champ_deb, /* premiere ligne du menu */' col_deb, /* premiere colone du menu */- pas , /* nombre de ligne entre deux choix */ champ ; /* ligne courante */char *menu_choix[];{ curseur ( champ , col_deb-5);P printf ("===> %s%s%s", REVERSE, menu_choix [ (champ - champ_deb)/pas], NORMAL);}I/************************************************************************ * ** NORMAL * * *I************************************************************************/#/* inversion de la video d'un champ inverse => normal *//normal (menu_choix,champ_deb,col_deb,champ,pas)+int champ_deb, /* premiere ligne du menu */' col_deb, /* premiere colone du menu */- pas , /* nombre de ligne entre deux choix */ champ ; /* ligne courante */char *menu_choix[];{ curseur ( champ , col_deb-5);; printf (" %s", menu_choix [ (champ - champ_deb)/pas]);} /* les fonctions */void spawn(prg,arg) char *prg, *arg;{ int status;! sprintf(prompt,"%s %s",prg,arg); system(prompt);}void new_fich(){ spawn ("new_fiches" , dir_bib);}void trouve_a(){# spawn ("trouve_auteur" , dir_bib);}void trouve_c(){ spawn ("trouve_cle" , dir_bib);}void trouve_t(){" spawn ("trouve_texte" , dir_bib);}void thesauru(){ spawn ("thesaurus" , dir_bib);} void ch_dir(){ curseur(23,0); if (!strcmp(dir_bib,GENERAL)) strcpy(dir_bib,BIBLIO); else strcpy(dir_bib,GENERAL);? printf("Directory du fichier bibliographique [%s]: ",dir_bib); asksval("",dir_bib,dir_bib);; if ((bib_def = fopen("sys$login:biblio.cfg","w")) == NULL) { curseur(23,0);E printf("impossible de sauvegarder le nom du fichier par defaut\n"); } else {" fprintf(bib_def,"%s\n",dir_bib); fclose(bib_def); }}void edite_fi(){" spawn ("edite_fiches" , dir_bib);}void form_ref(){ spawn ("form_refer" , dir_bib);} void reftex(){ spawn ("reftex" , dir_bib);} void fin(){ erase(); exit(1);} /* sous menu 1 */ void no_op(){ return;}void modif_cor(){Y menu(menu_2,"\033[1mSOUS-MENU de corrections/modifications\033[m",8,action_2,lettre_2);}void corrige(){$ spawn ("corrige_fiches" , dir_bib);}void kill_fic(){! spawn ("kill_fiches" , dir_bib);}void modif_ab(){" spawn ("modif_abbaut" , dir_bib);}void modif_cl(){ spawn ("modif_cle" , dir_bib);}void modif_su(){% spawn ("modif_super_cle" , dir_bib);}void liste_fi(){" spawn ("liste_fiches" , dir_bib);}void ini_bibl(){ spawn ("ini_biblio" ,"");}void retour(){B menu(menu_1,"\033[1m MENU \033[m",13,action_1,lettre_1);}*[DANA.BIBLIO]MENU_BIB_VMS.EXE;2+,q.$/ 4$%-b%0123 KPWO%56`S@7@8[ǔ9GHJ<0DX0205(@,<h  MENU_BIB_VMSV1.0E@05-05   ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 entree de nouvelles Fiches recherche par Auteur recherche par mot-Cle recherche Globale de texte Thesaurus choix du fichier par Defaut Preparation d'une liste de references Edition d'une liste de references creation d'un fichier pour BibTeX  SOUS-MENUS  Modification/correction du fichier Quitter - Abandonner BIBLIO Correction de fiches existantes Elimination de fiches modification des Abreviations/Auteurs-cle modification des mots-Cles adjonction de Super mots-cles Liste des fiches Initialisation d'un nouveau fichier Quitter - retour au menu general TT:%%Erreur %d sur ASSIGN TT: %%Erreur %d sur QIO SENSEMODE %%Erreur %d sur QIO SETMODE %%Erreur %d sur QIO SETMODE sys$login:biblio.cfgrBIB:%s MENU Taper RETURN pour retourner au menuTaper RETURN pour retourner au menu[%d;%dH%s%s%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier de travail:%s%s%sSelectionner avec les %sFleches%s puis valider avec %s"Return"%sOu taper une des %sLettres Majuscules%s%s%s===> %s%s%s %s%s %snew_fichestrouve_auteurtrouve_cletrouve_textethesaurusBIB:[.BIBLIO]BIB:Directory du fichier bibliographique [%s]: sys$login:biblio.cfgwimpossible de sauvegarder le nom du fichier par defaut %s edite_fichesform_referreftexSOUS-MENU de corrections/modificationscorrige_ficheskill_fichesmodif_abbautmodif_clemodif_super_cleliste_fichesini_biblio MENU  (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH84l D|L,dBad value facgtdpebmqceacsliq4LiuCDb>No help (? for help)<8^SRsU,Ta|~ePP\\\ed<,\#,|~|~ c|~߭'e P\\2\\\d+\+cɏ|~|~ ߭|~߭#e P\\2\\\ d+\+P^RPPgz+|~|~ |~߭#U P\\2\\\½S+0+\+^|~|~|~߭1 P^*OR@\*PbI*:b*c 2P^T[QZSSkS RRRRSݬݬkSSg*XhЬY{W|RkUVRUSRSghWUVUEiznh)|~|~|~߭1j îww.1<p)Xެ ά΀p)|W)Έ΄ΤΨW)xw1|~|~|~߭1j ޠRR[ RO1|~|~|~߭1j ޠRRA1RB1WЬYHWIRkUOVRUSRSghWUVUEiăh'kެRRkRkkSSghЬYWRkUVRUSRSghWUVUEiznh1ЬYWRkUVRUSRSghWUVUEiăhqkkQIެRRkkS@SghЬY%W&RkU,VRUSRSghWUVUEiznh1P1w 1SSgh|~|~ |~߭#j ްPRR2RRRĽ0'ވRތjވwkRR޼SBcRbSSghh:ެި1PSެ1ЬVwUU|CfP1QQgh|~|~ |~߭#j ްPRR2RRRĽn&ވRތjވ޼PC`P`QQgh;hfެިSSެ1[{m޴RRR_ݬݬ>kSQSghЬY6W7RkU=VRUSRSghWUVUEiznh|~|~|~߭1j ޠww.1w.fSSgD%|~|~ |~߭#j PRR2RRRĽ!%$R$jzup$^9Rݬݬg$^\zup$^Szup}$Tdõñìèã~dRRgdüdRRgddR-RgddR-Rgd3. dR-Rgdd_7dެZRjRgdݬhdWެ @þ@Rެ[kRWR@о@YkX#U޼TYVXVޤRXWQYQjQgebkeRVW ^RЬQ ~Qg6#ìQƬQ޼PAzn# ^mRЬQ ~Qg"ìQƬQ޼PAƒ" ^-RݬE"8" ^R‘PP‹ v"M" ^RœPP‹>"" ^RªPP‹"! ^QRµPmP‹e!X! ^RP5P‹-! m!<(^URTP~PgX!dW!PdB! d3!d!Scdd  "  PeP~Pgc$cPd\ݥ   ^!R`P=P‹5 (u  ^RmPP‹f =  ^RxPP‹.   ^y\zup^P^E\tE ^R­P5P‹- m ^R¼PP‹^5 ^RPP‹& ^qRPP‹x ^9RPUP‹M@ ^RPP‹~U ^RPPF^\ 0^ѬЏЏЬ^q Puvpv a|^RVUsTPPa^~>1J?PbdNScߢecߢfcߢ+d-Scߢ:ecߢDfcߢSd ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^$RUTZ|WVo[,YYXfݬ$ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edG߭k߭iPO~fh߭fhSd1^Se1VSPPμ^'RUTYV[{Z8XeWfݬ0k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?edT߭j߭hPO~fg߭fgSd1_Se1WSPP^4RXWTVU[|Z9Yfլݬf deѬ  dݬk߭jݬ ݬݬ$i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭8߭&P ߭P^Yݬ|~c~߭ϋ߭PPP^ ݬݬ c~߭<߭PPP^)Rլ լݬݬ Ctݬ<ݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^|RTS_WVU[ZYXeݬ|pk~M߭j|~gff~߭߭iP߭P߭DPvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^tRTS'[WUZY|XVeݬtpj~z߭iݬgf~߭߭hP߭}߭9PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^lRWV[S ެUTZYiXeլݬe§cdѬcݬGpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭ PvjQfg{QfQg]eլݬe·cdVg~Vf~D߭i߭hPOPìP~cd߭cdQf1Qg1PP ^Rݬ߭U߭CP߭߭>PPvP ^Seݬݬ߭2|~Ds~߭ݬPO~z߭PR߭ݬ RPݬ ^DTݬݬ߭ݬs~߭ݬEScPORccPR~߭cPR߭ݬ ORPݬݬ > ^S`լլݬݬѬPPݬݬ߭ݬ$ݬ ݬs~߭ݬ߭cPR߭ݬ RPݬݬ 5^ݬP~߭%߭PR߭ݬ ARPݬݬ 08^S"T[R|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\hТ ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id'\ ^SfR|~|~ ߢ |~߭#ݢ P\\2\\\l\^R|~|~|~߭1ݢ PT^WYZ,΀CЬSЬRBcjiǏVSk>S1SǒiSPѪjЪjI _·P ·լլ ΈPΈΈ0ݬPRެTRdSiSyRRdΈ"ݬݬǕiyimBiǟ5 PPf 9WW)WWWWWWWWWI9P&?Pn[n[n{[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬu ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVViu  P޼PF` iǮQ VVVDZid ΀1l si* 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ< ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬir i= 1rPi+ ݬi; i i ݬ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi /ݬo PRެTRdSiSe RRdiI V1zVi[ 1hi- 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTCdTV· ·XP XX~SCd iiV1Vi1PΆ1iW,i>VkЬRR_RRRi7Έ/RPRެTRdSiSRRdΈ"ݬݬiii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2i^RbIݬD<ibiMV1BVPib14iVfݬaYiiijݬPѪjЪjRjPi RRjimyݬpi/ݬKPRެTRdSiSARRdis%V1VVvi71DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i~1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlmJR1ݪ Ά i1+Pծ,1΀1Ԯ,i|Rji RRjiΈ%RެTRdSiSRRdΈ"ݬݬǂiiyNinjAVVi31` i%Ά~ǏPi 17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcrެTdRBSFcǬiViǯRVDzikVd1sVi6i+1X|~|~ ߪ |~߭#ݪ PRR2RRRl+Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?PnY[nE[n=[(^WRVTfǸݬPѤdФdRdPf RRdfǻݬǾfլ.ݬPRެURe SfSyRReլ"ݬݬfzfnCf6f91~ BIBLIO.BCKqb%[DANA.BIBLIO]MENU_BIB_VMS.EXE;2XE;1$ @@Lt|dLtL4l<|D, 8 : @VAXCRTLLIBRTLMTHRTL:: MENU_BIB_VMS setcbreakrestore{| getchar_vms, mainx menucurseur erase  const_menuC@inverseH normal@ spawn4new_fich84trouve_a8ltrouve_c8trouve_t8thesauru8 ch_diredite_fi8 form_ref8 Dreftex8 |fin+ no_op modif_cor,corrige8kill_fic8Lmodif_ab8modif_cl8modif_su8liste_fi8,ini_bibl8 dretour,     ٔ    q ASKVAL askidomain8 askfdomain4 ask_speakaskival askivalh!askivalf9#faskival3P#askcvalP#askcvalhL#askcvalfl$faskcval,$askfval%askfvalh&askfvalfP'faskfvalD<(asksval(asksvalhp)asksvalf,*fasksvalP|* setcbreakx+restoreh+ getchar_vms0, ask_edite?P:re_ecrit            -}*[DANA.BIBLIO]MODIF_ABBAUT.C;1+,*./ 4dT-b%0123KPWO56B7oV80" Ŕ9GHJ/*? * MODIF_ABBAUT.C permet de modifierle auteurs pris en mot cles0 * de definire des abreviations our les journaux * * Version C pour ULTRIX * * 29 Juin 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**/ #include #include "askval.h"#include "ecran.h"#include "biblio.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1FILE *p_tempo;main(argc,argv) int argc; char **argv;{ register i; char nom_fichier[80], ordre[80], rep, nom[80], nom_dir[60]; short nb_fiches; int nb_modif;# include "titre_bib.h"  if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_ABBREV);5 if((c_abbrev = fopen(nom_fichier,LIRE_BIN)) == NULL) {! printf("c_abbrev.bib -> pb\n"); exit(1); }@ /* Lecture des auteurs mots cles et abreviations */- fread(&nb_key_aut,sizeof(short),1,c_abbrev);, fread(&nb_abbrev,sizeof(short),1,c_abbrev);3 fread(key_auteurs,sizeof(key_auteurs),1,c_abbrev);' fread(revue,sizeof(revue),1,c_abbrev); fclose(c_abbrev);I printf("\007Actuellement, il y a %d auteurs-mots cles:\n\n",nb_key_aut); for(i = 0; i < nb_key_aut; i++)A printf("%d -> %s %12s %s\n",i+1,REVERSE,key_auteurs[i],NORMAL);[ rep = askcval("\nVoulez-vous modifier la liste des auteurs \"mot_cle\" (o ou [n]): ",'n'); if (strchr("oOyY",rep)) { do {Q rep = askcval("Ajouter, Modifier, Supprimer ou Quitter (A, M, S, [Q]): ",'q'); switch(toupper(rep)) { case 'A':1 asksval("\nNom a memoriser [fin]: ","",nom); while(strlen(nom)) { nom[12] = 0; strupper(nom);* strcpy(key_auteurs[nb_key_aut],nom); nb_key_aut ++;2 asksval("\nNom a memoriser [fin]: ","",nom); } break; case 'M':P nb_modif = askival("\nNumero du nom a modifier [le dernier]: ",nb_key_aut);) printf("On modifie %s (o ou [n]): "," key_auteurs[(nb_modif-1)]); rep = askcval("",'n'); if (strchr("oOyY",rep)) {H asksval("Nouveau nom [inchange]: ",key_auteurs[(nb_modif-1)],nom); nom[12] = 0; strupper(nom);, strcpy(key_auteurs[(nb_modif-1)],nom); } break; case 'S':Q nb_modif = askival("\nNumero du nom a supprimer [le dernier]: ",nb_key_aut);* printf("On supprime %s (o ou [n]): "," key_auteurs[(nb_modif-1)]); rep = askcval("",'n'); if (strchr("oOyY",rep)) {D strcpy(key_auteurs[(nb_modif-1)],key_auteurs[(nb_key_aut-1)]); nb_key_aut--; } }  }while(toupper(rep) != 'Q'); }O printf("\007Actuellement, il y a %d abreviations de journaux\n\n", nb_abbrev); for(i = 0; i < nb_abbrev; i++)2 printf("%d -> %s %36s %s --> %s %-10s %s\n",i+1, REVERSE,revue[i].full,NORMAL,! REVERSE,revue[i].bref,NORMAL);U rep = askcval("\nVoulez-vous modifier une abreviation de journal (o ou [n]): ",'n'); if (strchr("oOyY",rep)) { do {Q rep = askcval("Ajouter, Modifier, Supprimer ou Quitter (A, M, S, [Q]): ",'q'); switch(toupper(rep)) { case 'A':0 asksval("\nNom du journal [fin]: ","",nom); while(strlen(nom)) { nom[36] = 0;( strcpy(revue[nb_abbrev].full,nom);( asksval("\tAbreviation: ","",nom); nom[9] = 0; strupper(nom);( strcpy(revue[nb_abbrev].bref,nom); nb_abbrev ++;1 asksval("\nNom du journal [fin]: ","",nom); } break; case 'M':S nb_modif = askival("\nNumero du journal a modifier [le dernier]: ",nb_abbrev);0 printf("On modifie %s --> %s (o ou [n]): ", revue[(nb_modif-1)].full,! revue[(nb_modif-1)].bref); rep = askcval("",'n'); if (strchr("oOyY",rep)) {T asksval("\nNouveau nom du journal [inchange]: ",revue[(nb_modif-1)].full,nom); nom[36] = 0;+ strcpy(revue[(nb_modif-1)].full,nom);S asksval("\tNouvelle abreviation [inchangee]: ",revue[(nb_modif-1)].bref,nom); nom[9] = 0; strupper(nom);+ strcpy(revue[(nb_modif-1)].bref,nom); } break; case 'S':T nb_modif = askival("\nNumero du journal a supprimer [le dernier]: ",nb_abbrev);1 printf("On supprime %s --> %s (o ou [n]): ", revue[(nb_modif-1)].full,! revue[(nb_modif-1)].bref); rep = askcval("",'n'); if (strchr("oOyY",rep)) {A strcpy(revue[(nb_modif-1)].full,revue[(nb_abbrev-1)].full);A strcpy(revue[(nb_modif-1)].bref,revue[(nb_abbrev-1)].bref); nb_abbrev--; } }  }while(toupper(rep) != 'Q'); }7 if((c_abbrev = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {! printf("c_abbrev.bib -> pb\n"); exit(1); }A /* Ecriture des auteurs mots cles et abreviations */ . fwrite(&nb_key_aut,sizeof(short),1,c_abbrev);- fwrite(&nb_abbrev,sizeof(short),1,c_abbrev);4 fwrite(key_auteurs,sizeof(key_auteurs),1,c_abbrev);( fwrite(revue,sizeof(revue),1,c_abbrev); fclose(c_abbrev);d printf("\007\nMaintenant, il y a %d auteurs-mots cles et %d abreviations\n",nb_key_aut, nb_abbrev);6 if((p_tempo = fopen("bib_abrev.lst",ECRIRE)) == NULL) {" printf("bib_abrev.lst -> pb\n"); exit(1); }$ puts(CLRAS); /* clear all screen */" puts(HOME); /* curseur en haut */C printf("\nListe des auteurs automatiquement mis en mot-cles\n\n");P fprintf(p_tempo,"\f\n\nListe des auteurs automatiquement mis en mot-cles\n\n"); for(i = 0; i < nb_key_aut; i++) {A printf("%d -> %s %12s %s\n",i+1,REVERSE,key_auteurs[i],NORMAL);4 fprintf(p_tempo,"%d -> %s \n",i+1,key_auteurs[i]); }* printf("\nAbreviation des journaux\n\n");7 fprintf(p_tempo,"\f\n\nAbreviation des journaux\n\n"); for(i = 0; i < nb_abbrev; i++) {1 printf("%d -> %s %36s %s --> %s %-9s %s\n",i+1, REVERSE,revue[i].full,NORMAL,! REVERSE,revue[i].bref,NORMAL);. fprintf(p_tempo,"%d -> %36s --> %-9s\n",i+1, revue[i].full,revue[i].bref); } puts("\n"); fclose(p_tempo); system("print bib_abrev.lst");}/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string;{ while(*string) { *string = toupper (*string); string++; }}*[DANA.BIBLIO]MODIF_ABBAUT.EXE;1+,q.'/ 4'&-b%0123 KPWO(56` @7 R@8 Nǜǔ9GHJJ0DX0205(m@,h" MODIF_ABBAUTV1.0`,m@05-05  += A U ! ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_abbrev.bibrctx=binc_abbrev.bib -> pb Actuellement, il y a %d auteurs-mots cles: %d -> %s %12s %s  Voulez-vous modifier la liste des auteurs "mot_cle" (o ou [n]): oOyYAjouter, Modifier, Supprimer ou Quitter (A, M, S, [Q]): Nom a memoriser [fin]: Nom a memoriser [fin]: Numero du nom a modifier [le dernier]: On modifie %s (o ou [n]): oOyYNouveau nom [inchange]: Numero du nom a supprimer [le dernier]: On supprime %s (o ou [n]): oOyYActuellement, il y a %d abreviations de journaux %d -> %s %36s %s --> %s %-10s %s  Voulez-vous modifier une abreviation de journal (o ou [n]): oOyYAjouter, Modifier, Supprimer ou Quitter (A, M, S, [Q]): Nom du journal [fin]: Abreviation: Nom du journal [fin]: Numero du journal a modifier [le dernier]: On modifie %s --> %s (o ou [n]): oOyY Nouveau nom du journal [inchange]: Nouvelle abreviation [inchangee]: Numero du journal a supprimer [le dernier]: On supprime %s --> %s (o ou [n]): oOyYwctx=binc_abbrev.bib -> pb  Maintenant, il y a %d auteurs-mots cles et %d abreviations bib_abrev.lstwbib_abrev.lst -> pb  Liste des auteurs automatiquement mis en mot-cles Liste des auteurs automatiquement mis en mot-cles %d -> %s %12s %s %d -> %s Abreviation des journaux Abreviation des journaux %d -> %s %36s %s --> %s %-9s %s %d -> %36s --> %-9s print bib_abrev.lst (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)Δ^c(UXZߥ7ߥ3ߥ.ߥ*ߥ%er(Ѭ1g~ߥ> P~(Pg IIIIIIIII!3P~?Pŏߥj\(ř\{;ţ\'\RЬRݢ'߭'߭z'߭'P'O'Y'Rbojb`<~bJ<~hb8 'S~ 'R?SRS4@ RSC};RSS)&SR SRS͚n~DF P~ņ&P1O+ r&Wf&Y[&TD&Vh&7&q~ŋP'P~PA2f1^?P g iP1P 88S8P8~dP88c8 R RB2f g iP1~P[[R RBSc!n~<P'P~=P1 cBg 00S0P0~dP00c0 [R RBifh ~[P P@HScŅn~šP'P~ŢPRR RBcf'~PQ1j~ŧH$RjSRS9P /RSChC RSS$SRjSRSɚn~ P~M#P1g #AW#[#V#T#s#q~R P&P~PA21?P ţŋg kP1P0 jR/RB f ųŤg 44S4P4~dP44c4 jR/RBhfj Ŵg kP1|1-j~P(PR/RBhYiB Scn~ P&P~P1 c"g0 cf iGg ,,S,,~dP,,c, ,R/RBhfnPj~kP/P@hYi@ Scřn~ż P&P~ŽP#jRR/RB cfjRR/RBhifj&~PQ1߭0!PU4! 9W !Rbjb<~b<~hb j~~ , P. ` Cq Hf Lk ŁV RSRSK RSCTdRSSŸ% dS SRCSRShRjSRSWPG/RSChVfB>C Td9RSSfdSKSRjSRS`iXbEP^PЬRb~PbR^ѬЏЏЬ^q Pvv }|^|RVUTPPa^~>1J?Pbd>Scߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^{RUTZWV[pYXfݬ0ݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?edO߭k߭iPO~fh߭fhSd1^Se1VSPPμ^zR~U~T~YV[Z|XWfݬ<k߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed\߭j߭hPO~fg߭fgSd1_Se1WSPP^yR}X}WT}VU[Z}Yfլݬf deѬ  dݬ#k߭jݬ ݬݬ@}i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg% ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭D߭jP ߭(P^uݬ|~c~߭ϋ߭PPP^%ݬݬ c~߭<߭PPP^wR|լ լݬݬ CݬHݬݬݬc~߭Ͽ߭IPPP^ݬ߭߭PPP^vRzTzSOWzV U[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭PPvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^uRyTyS/[yWUZYXVeݬpj~z߭iݬgf~߭߭hP߭}߭EPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^tRxWxVx[S(yެUTZYXeլݬe§cdѬcݬSpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~L߭i߭hPOPìP~cd߭cdQf1Qg1PP ^sRݬ߭a߭P߭߭JPPvP ^HsSݬݬ߭^|~`ws~߭ݬPO~z߭PR߭ݬ RPݬ ^rTݬݬ߭ݬvs~߭ݬScPORcPR~߭cPR߭ݬ ?RPݬݬ .5 ^rS|vլլݬݬ2ѬPPݬݬ߭ݬ$ݬ ݬus~߭ݬ߭PR߭ݬ RPݬݬ py^ݬP~߭1߭WPR߭ݬ 1RPݬݬ  )8^ qSFTtR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\|Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\IdS\" ^ pSsR|~|~ ߢ |~߭#ݢ P\\2\\\l\^usR|~|~|~߭1ݢ PT^soWY5sZ,΀CЬSЬRBcjiǏ%VSk.S!SǒiBSPѪjЪjes _·P ·լլ ΈPΈΈ0s0ݬPRެTRdSiSRRdΈ"ݬݬǕiiNiǟA PPf 9WW)WWWWWWWWWI9P&?Pn[nk[nk[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬeݬݬΐΓ~ݬݬ V1ZPVݬLPVPiV15ǥiA΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ] VVVDZi ΀1l si6 1WPެRF ,b? VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USc PSEd P1޼PE`ݬ, ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi iI 1rPi7 ݬig i" i ݬ+ PѪjЪj ݬ PѪjЪjRjPi  RRji ݬi m/ݬ PRެTRdSiSq RRdiU V1zVi 1hi9 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT Cd T V· ·XP XX~SCd i i V1Vi 1PΆ1ic ,iJ VkЬRRO RB Ric kΈ/R0 PRެTRdSiSRRdΈ"ݬݬi ii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVfݬaYi+iijݬPѪjЪjRjPi RRjimݬpii/ݬPRެTRdSiSMRRdis1V1VVvic1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlvREݪ4Ά i 1+Pծ,1΀1Ԯ,i|Rji RRji7hΈ%RެTRdSiSRRdΈ"ݬݬǂiiZinjMVVi?1` i%Ά~ǏAPi17P f%Ά~ǜPi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯ^VDziVd1sViBi71X|~|~ ߪ |~߭#ݪ PRR2RRRlO4Rݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[n[n[(^5aWnVdTfǸݬ#PѤdФdRdPf RRdfǻݬǾf3eլ.ݬPRެURe SfSRReլ"ݬݬffOfBfE@@LdLtL t| 4l<|D8 ,  @VAXCRTLLIBRTLMTHRTL MODIF_ABBAUT mainP Pstrupper(  ASKVALx askidomain8 askfdomain4 ask_speak،askivalԍaskivalhȎaskivalf9faskival38askcvalPaskcvalhLԐaskcvalfTfaskcval,askfvalaskfvalhaskfvalfPfaskfvalD$asksvalasksvalhXasksvalffasksvalPd setcbreak`restorehȘ getchar_vms0 ask_edite?8re_ecrit x           -}*[DANA.BIBLIO]MODIF_CLE.C;1+,'./ 4n2-b%0123KPWO56\7@ѣV8@# Ŕ9GHJ/*1 * MODIF_CLE.C permet de modifier les mots cles  * * Version C pour ULTRIX * * 5 Juillet 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**/#include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h" #ifdef UNIX# include #endif #ifdef MS_DOS# include #endifshort *les_desti, *les_fiches; /*@ * les tableaux ou l'on va ranger les numeros de fiches a * regrouper */main(argc,argv) int argc; char **argv;{ char nom_fichier[80], ordre[80], nom_dir[60], nom[20], rep, *zero; int i, j, k; short nb_fiches, *nb_c, *nb_f, nb_modif, nb_regroup;# include "titre_bib.h"  if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break;2~ BIBLIO.BCK'b%[DANA.BIBLIO]MODIF_CLE.C;1ER_CLE.EXE;1n, } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_MOTCLE_INDEX);; if((c_motcle_index = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_MOTCLE);7 if((c_motcle = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);S printf("\007Actuellement, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches);: /* Lecture du fichier index de mots cles */  p_motcle = motcle;8 fread(&motcle_last_bloc, sizeof(int),1,c_motcle_index);0 fread(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index);5 printf("Modification des mots cles, vous pouvez\n"); do { do {W rep = askcval("\n\tCorriger, Regrouper, Supprimer ou Quitter (C, R, S, [Q]): ",'q'); switch(toupper(rep)) { case 'C':4 asksval("\nMot cle a corriger [fin]: ","",nom); while(strlen(nom)) { nom[12] = 0; strupper(nom);! nb_modif = trouve_cle(nom); if (nb_modif <= 0) break;K printf("\nOn modifie %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): ", REVERSE, cle[(nb_modif-1)], NORMAL, nb_modif,J (motcle[(nb_modif-1)].nb_fiches-motcle[(nb_modif-1)].nb_elimine)); rep = askcval("",'n'); if (strchr("oOyY",rep)) {G asksval("\nNouveau mot cle [inchange]: ",cle[(nb_modif-1)],nom); nom[12] = 0; strupper(nom);% strcpy(cle[(nb_modif-1)],nom); }5 asksval("\nMot cle a corriger [fin]: ","",nom); } break; case 'R':: asksval("\nMot cle qui recevra les fiches: ","",nom); while(strlen(nom)) { nom[12] = 0; strupper(nom);! nb_modif = trouve_cle(nom); if (nb_modif <= 0) break;J printf("On regroupe %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): ", REVERSE, cle[(nb_modif-1)], NORMAL, nb_modif,J (motcle[(nb_modif-1)].nb_fiches-motcle[(nb_modif-1)].nb_elimine)); rep = askcval("",'n'); if (strchr("oOyY",rep)) {: asksval("Avec [inchange]: ",cle[(nb_modif-1)],nom); nom[12] = 0; strupper(nom);$ nb_regroup = trouve_cle(nom);" if (nb_regroup <= 0) break;n printf("On regroupe %s %s %s (Mot cle %d)\n avec %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): ", REVERSE, cle[(nb_modif-1)], NORMAL, nb_modif, REVERSE, cle[(nb_regroup-1)], NORMAL, nb_regroup,O (motcle[(nb_regroup-1)].nb_fiches-motcle[(nb_regroup-1)].nb_elimine)); rep = askcval("",'n'); if (strchr("oOyY",rep)) {' merge_key(nb_modif,nb_regroup);7 printf("%s %s %s indexe desormais %d fiches\n", REVERSE, cle[(nb_modif-1)], NORMAL,K (motcle[(nb_modif-1)].nb_fiches-motcle[(nb_modif-1)].nb_elimine)); } }* asksval("\net avec [fin]: ","",nom); } break; case 'S':J asksval("\nMot cle a supprimer [le dernier]: ",cle[(nb_cles-1)],nom); nb_modif = trouve_cle(nom); if (nb_modif <= 0) break;I printf("On supprime %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): ", REVERSE, cle[(nb_modif-1)], NORMAL, nb_modif,I (motcle[(nb_modif-1)].nb_fiches-motcle[(nb_modif-1)].nb_elimine)); rep = askcval("",'n'); if (strchr("oOyY",rep)) {" strlower(cle[(nb_modif-1)]); strcpy(nom,"(");$ strcat(nom,cle[(nb_modif-1)]); strcat(nom,")");; printf("%s %s %s est supprime et devient %s %s %s\n",( REVERSE,cle[(nb_modif-1)],NORMAL, REVERSE,nom,NORMAL);$ strcpy(cle[(nb_modif-1)],nom); } }  }while(toupper(rep) != 'Q');M rep = askcval("Voulez-vous en corriger une autre (o ou [n]): ",'n'); } while(strchr("oOyY",rep)); fclose(c_motcle); strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);7 if((c_codcle = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); }+ /* Reecriture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;' fwrite(nb_c,sizeof(short),1,c_codcle);' fwrite(nb_f,sizeof(short),1,c_codcle);$ fwrite(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);Q printf("\007Maintenant, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches); strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_MOTCLE_INDEX);= if((c_motcle_index = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } p_motcle = motcle;9 fwrite(&motcle_last_bloc, sizeof(int),1,c_motcle_index);1 fwrite(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index);}/**"* MERGE_KEY() regroupe 2 mots cles**/merge_key(nb_desti,nb_source)Bshort nb_desti, /* le numero du mot cle dans lequel on regroupe */% nb_source; /* celui qui disparait */{ int i, j, k, pas_la; long offset; p_key_fiche = key_fiche;& nb_source--; /* car demarre a zero */ nb_desti--; #ifdef DEBUG1= printf("\n*****\nNb fiches %d\n", motcle[nu_key].nb_fiches);3 printf("Mot_cle %d -> %s\n", nu_key, cle[nu_key]);#endif /*> * On lit d'abord les fiches du mot a regrouper et on les met * dans un tableau */` if((les_fiches = (short *)calloc((unsigned)motcle[nb_source].nb_fiches,sizeof(short))) == NULL) {; printf("Pb d\'allocation memoire 1 dans merge_key...\n"); return(-1); }! if (motcle[nb_source].nb_fiches) {5 key_fiche[99] = (int) motcle[nb_source].first_bloc; i = 0; do {- for (j = 0; j < 99; j++) key_fiche[j] = 0;: offset = (long)key_fiche[99] * (long)sizeof(key_fiche); fseek(c_motcle,offset,0);9 if( ! fread(p_key_fiche,sizeof(key_fiche),1,c_motcle)) {' printf("Pb de lecture au fread\n"); } for (k = 0; k < 99; k++) { /*% * on ne garde que les fiches non * eliminees */  if (key_fiche[k] > 0) $ les_fiches[i++] = key_fiche[k]; } #if DEBUG10 printf("key_fiche[99] = %d\n",key_fiche[99]);#endif } while(key_fiche[99] != 0); /*@ * On lit ensuite les fiches du mot ou ca arrive et on les met * dans un tableau */h_ if((les_desti = (short *)calloc((unsigned)motcle[nb_desti].nb_fiches,sizeof(short))) == NULL)  {e< printf("Pb d\'allocation memoire 2 dans merge_key...\n"); return(-1); }s4 key_fiche[99] = (int) motcle[nb_desti].first_bloc; i = 0; do {i- for (j = 0; j < 99; j++) key_fiche[j] = 0;n: offset = (long)key_fiche[99] * (long)sizeof(key_fiche); fseek(c_motcle,offset,0);9 if( ! fread(p_key_fiche,sizeof(key_fiche),1,c_motcle)) {' printf("Pb de lecture au fread\n");  } l for (k = 0; k < 99; k++)m { /*% * on ne garde que les fiches non * eliminees */  if (key_fiche[k] > 0)h# les_desti[i++] = key_fiche[k];, } #if DEBUG10 printf("key_fiche[99] = %d\n",key_fiche[99]);#endif } while(key_fiche[99] != 0); p4 key_fiche[99] = (int) motcle[nb_desti].first_bloc; /*3 * On se positionne au bon endroit pour ecrire la * suite */t do {(- for (j = 0; j < 99; j++) key_fiche[j] = 0;N: offset = (long)key_fiche[99] * (long)sizeof(key_fiche); fseek(c_motcle,offset,0);9 if( ! fread(p_key_fiche,sizeof(key_fiche),1,c_motcle))u {' printf("Pb de lecture au fread\n");s } } while(key_fiche[99] != 0);3 for (i = 0; i < motcle[nb_source].nb_fiches; i++); {! k = motcle[nb_desti].num_next;r pas_la = TRUE;O3 for (j = 0; j < motcle[nb_desti].nb_fiches; j++)= {& if (les_desti[j] == les_fiches[i]) {  pas_la = FALSE; break;_ } }# if (pas_la && les_fiches[i] > 0)c {" key_fiche[k] = les_fiches[i];! motcle[nb_desti].num_next ++;b! motcle[nb_desti].nb_fiches++;( if (motcle[nb_desti].num_next == 99) {e# motcle[nb_desti].num_next = 0;o& key_fiche[99] = motcle_last_bloc; motcle_last_bloc++; } fseek(c_motcle,offset,0); 5 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle);  } }s; motcle[nb_source].nb_fiches = motcle[nb_desti].nb_fiches;e= motcle[nb_source].first_bloc = motcle[nb_desti].first_bloc;f9 motcle[nb_source].num_next = motcle[nb_desti].num_next;t } elsed {, printf("\007Pas de fiches a regrouper\n"); } #ifdef DEBUG1h9 printf("Nb fiches %d next %d Bloc %d Last block %d\n",  motcle[nu_key].nb_fiches, motcle[nu_key].num_next,f0 motcle[nu_key].first_bloc, motcle_last_bloc); for (k = 0; k < 20; k++)p printf("%d ",key_fiche[k]);e1 printf("\n key_fiche[99] = %d\n",key_fiche[99]);=#endif}n/* * TROUVE_CLE() trouve le mot cle*/trouve_cle(le_mot) char *le_mot;c{o int i, j, k; char rep; int mot_len,k dif_len;  strupper(le_mot); mot_len = strlen(le_mot); if (isdigit(le_mot[0])) { i = atoi(le_mot);n+ i--; /* car on passe le numero externe */ C printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ",t REVERSE,cle[i],NORMAL,i+1);" rep = askcval("",'n');& if (strchr("oOyY",rep)) return(i+1); else return(-1); }  for ( i = 0; i < nb_cles; i++)- {& dif_len = dif_string(cle[i],le_mot);- if (!dif_len) return(i+1); /* mot trouve */e9 if (dif_len <= CORR_ORTOG) /* est-ce qu'il ressemble */  {[D printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ", REVERSE,cle[i],NORMAL,i+1); rep = askcval("",'n');(' if (strchr("oOyY",rep)) return(i+1); else continue; }  } /* n'existe pas */' printf("\007%s %s %s n'existe pas.\n",n REVERSE,le_mot,NORMAL); return (-1); }o/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string;m{f while(*string)  { *string = toupper (*string); string++;f }} /*(* STRLOWER() met en minuscules un string*/strlower(string) char *string; {  while(*string)  { *string = tolower (*string); string++;f }}_/*2* DIF_STRING() renvoi le nb de lettres differentes*/dif_string(str_a,str_b) char *str_a, *str_b;{e int dif;b char *str_c;; dif = 0;17 str_c = (strlen(str_a) > strlen(str_b))? str_a: str_b;u while(*str_c++) {" if (*str_a++ != *str_b++) dif++; } return(dif);%}ss (Mot cle %d)\n avec %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): ", REVERSE, cle[(nb_modif-1)], NORMAL, nb_modif, REVERSE, cle[(nb_r*[DANA.BIBLIO]MODIF_CLE.EXE;1+,Js.'/ 4'(-b%0123 KPWO(56~@7@88ǔ9GHJN0DX0205(@,h$ MODIF_CLEV1.0@R@05-05  += A W # ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s -> pb c_motcle_index.bibrctx=bin%s -> pb c_motcle.bibr+ctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Modification des mots cles, vous pouvez Corriger, Regrouper, Supprimer ou Quitter (C, R, S, [Q]): Mot cle a corriger [fin]: On modifie %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): oOyY Nouveau mot cle [inchange]: Mot cle a corriger [fin]: Mot cle qui recevra les fiches: On regroupe %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): oOyYAvec [inchange]: On regroupe %s %s %s (Mot cle %d) avec %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): oOyY%s %s %s indexe desormais %d fiches  et avec [fin]: Mot cle a supprimer [le dernier]: On supprime %s %s %s (Mot cle %d -%d fiches-) (o ou [n]): oOyY()%s %s %s est supprime et devient %s %s %s Voulez-vous en corriger une autre (o ou [n]): oOyYc_codcle.bibwctx=bin%s -> pb Maintenant, il y a %d mots cles et %d fiches c_motcle_index.bibwctx=bin%s -> pb Pb d'allocation memoire 1 dans merge_key... Pb de lecture au fread Pb d'allocation memoire 2 dans merge_key... Pb de lecture au fread Pb de lecture au fread Pas de fiches a regrouper Vous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyY%s %s %s n'existe pas.  (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^c,UrYߥ7ߥ3ߥ.ߥ*ߥ%em,Ѭ1g~ߥ>.P~\,Pg HHHHHHHHH 2P?PŏߥjZ,řZ;ţZ+ZЬRݢ+߭+߭+߭+P߭}+X+߭B+߭8+߭6+Pk߭/+ +߭*߭*(%߭*P߭0**>R>SR*TdSd<2~dy*2~2~:o*id{<@~idi**k+*(*V[)  )))))q~Ŕ PZZ~fPC.``````````````fF1;?P k P1 00R0P0~fP00b0 PW12WTTSxSP@iR2bQ@R2bPPQ~T. SC%߭$Ŋ߭$řŗ߭$P߭š$$>R>SR$RbSb<2~ʘbb$2~2~ūX$߭&$߭$߭$PO߭$#iw)#<@~i##P^Z[YVf 2RxRRBiR2b~U#Pj{k#P2RxRRBiSc1BRbTR>P`PbR2RďRRE#8~t"P {"S>Rb TPTjQb@aRbS1x2RxRRBiR2b~"PkC{"P2RxRRBRbTR>P`PbR2RďRRyR"l~)"P z "S>Rb TPTkQb@aRbS1x2RxRRBRbR>P`PbR2PŏPPݮT!~ !P sz!U2RxRRBiR2bRUR1ެW2g8x88Ю8RBD2g1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœd|Scªec³f^HvRYzUVzTZLzWuVO[,YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed߭k߭iPO~fh߭fhSd1^Se1VSPPμ^KuR\yUYyTVyYV[[Z8X Wfݬk߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^XtRixXfxWTxV(U[\Z9Yfլݬf deѬ  dݬk߭jݬ ݬݬwi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehgٍ ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭&P ߭P^9ݬ|~Oc~߭ϋ߭PPP^ݬݬ c~߭<߭PPP^MrRvլ լݬݬ C{nݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^qRuT~uS WtuVU[ZYYXeݬDpk~M߭j|~gff~߭߭iP߭P߭ PvkQcd_QcQdAVd~Vc~SS߭j߭iPO~behv߭qhehQc1UQd1LPP^pRytTvtS[ltWUZY|XQVeݬ<pj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^oRqsWnsVks[SsެUZTZYiXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~߭i߭hPOPìP~cd߭cdQf1Qg1PP ^AnRݬ߭߭CP߭߭PPvP ^mSEݬݬ߭|~Rrs~߭ݬPO~z߭PR߭ݬ RPݬ ^hmTݬGݬ߭~ݬqs~߭ݬEScPOR_cPR~߭cPR߭ݬ RPݬݬ  ^lS0qլլݬݬѬPPݬpݬ߭ݬ$ݬ ݬps~߭ݬ߭cPR߭ݬ ERPݬݬ 45^ݬP~߭߭PR߭ݬ RPݬݬ 8^kS ToR|~ߢPP\\\dn\|~|~ ߢ |~߭'ݢ P\\2\\\$d)\@Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^jSnR|~|~ ߢ |~߭#ݢ P\\2\\\lq\^)nR|~|~|~߭1ݢ PT^'jWpYmZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪjn _·P ·լլ ΈPΈΈm0ݬPRެTRdSiSERRdΈ"ݬݬǕi!ii iǟ PPf 9WW)WWWWWWWWWI9P&?Prn;[^n'[fn'[ cnU|~|~|~߭1ݪ ΆΆ iǢX1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ{ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ) ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1i ΀1iǫw V΀1 sif 1P޼RFb $PVViA  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~iq ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi2 ݬi i 1rPi ݬi i i ݬ PѪjЪj ݬ PѪjЪjRjPi  RRjie ݬi] g/ݬo PRެTRdSiS1 RRdi V1zVi 1hi1ZPΆ Ά1Vi14RP`PORVSS~ЬTTCdTV· ·XP XX~SCd i\iGV1Vi91PΆ1i#,iVkЬRRRRiQfΈ/RPRެTRdSiSRRdΈ"ݬݬiiri)eΆ >i_ݬݬΐΓ~ݬݬUV1V,i+1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVfݬaYiiijpݬPѪjЪjRjPi aRRjimAݬpi9d/ݬKPRެTRdSiS RRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdqP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[iJ1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlUR ݪΆ i1+Pծ,1΀1Ԯ,i|Rji RRjiqbΈ%RެTRdSiSQRRdΈ"ݬݬǂi-iuinj VVi1` i%Ά~Ǐ Pi17P f%Ά~ǜPi1 PRP`PORVЬSSeΆFVRBFcvެTdRBSYFcǬi1ViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬPPjnSPCbݬCb~S  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[n[rn[r(^[W2V_TfǸݬPѤdФdRdPf RRdfǻ}ݬǾfu_լ.ݬPRެURe SfSERReլ"ݬݬf"fj ff@@LdL|tL t|l<D t 8 ,  @VAXCRTLLIBRTLMTHRTL MODIF_CLE main܊ merge_keyx trouve_clestrupper(,strlower(T dif_stringa O   ASKVAL askidomain8 askfdomain4$ ask_speakaskivalaskivalhaskivalf9Dfaskival3xaskcvalPȕaskcvalhLaskcvalffaskcval,askfvalȗaskfvalhИaskfvalfP faskfvalDdasksvalasksvalhasksvalfTfasksvalP setcbreakrestoreh getchar_vms08 ask_edite?xre_ecrit            -} *[DANA.BIBLIO]MODIF_SUPER_CLE.C;1+,–I./ 4U@-b%0123KPWO56J7V8^H# Ŕ9GHJ3~ BIBLIO.BCK–Ib% [DANA.BIBLIO]MODIF_SUPER_CLE.C;11Ue(/*C * MODIF_SUPER_CLE.C permet de creer ou ajouter des fiches dans le * * fichier c_super_cle.bib, par mots cles. * * Version C pour ULTRIX * * 20 Juillet 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**/#include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h" main(argc,argv) int argc; char **argv;{ char nom_fichier[80], nom_ref[80], nom_dir[60], ordre[80], super_mot[40], mot_B_cherche[13], relation[5], rep; int i, j, k, /* indices */) num_A, /* numero du mot cle A et B */ num_B; short nb_fiches, inconnu, /* flag */0 *nb_c, /* pointeur sur nombre de mots cles */- *nb_f; /* pointeur sur nombre de fiches */# include "titre_bib.h"  if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle); strcpy(nom_fichier,nom_dir);! strcat(nom_fichier,C_SUPER_CLE);2 if((c_super = fopen(nom_fichier,APPEND)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); }U printf("\n\007Actuellement, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches); while(TRUE) {6 asksval("\nSuper Mot cle: +","\0",super_mot);' if (strlen(super_mot) == NULL) break; strupper(super_mot); super_mot[39] = 0;= if (super_mot[0] == '+') fprintf(c_super,"%s\n",super_mot);* else fprintf(c_super,"+%s\n",super_mot); while(TRUE) {  do {. asksval("\nMot cle: ","\0",mot_B_cherche); strupper(mot_B_cherche);& num_B = trouve_cle(mot_B_cherche); }while(num_B <= 0);! fprintf(c_super,"%d\n",num_B); do { inconnu = FALSE;T asksval("\nRelation (et, non, ou, [return pour finir]): ","\0",relation); strupper(relation); switch(relation[0]) { case 'E': fprintf(c_super,"ET\n"); break; case 'O': fprintf(c_super,"OU\n"); break; case 'N': fprintf(c_super,"NON\n"); break; case '\0': fprintf(c_super,"\n"); break; default:0 printf("\007Relation %s %s %s inconnue\n", REVERSE,relation,NORMAL); inconnu = TRUE; } }while(inconnu);' if (strlen(relation) == NULL) break; } } fprintf(c_super,"\n"); fclose(c_super);E rep = askcval("Avez vous des corrections a faire (o ou [n]): ",'n'); if (strchr("oOyY",rep)) {7 sprintf(ordre,"%s %s%s",EDITEUR,nom_dir,C_SUPER_CLE); system(ordre); }}/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string;{ while(*string) { *string = toupper (*string); string++; }}/* * TROUVE_CLE() trouve le mot cle*/trouve_cle(le_mot) char *le_mot;{ int i, j, k; char rep, *isinstr(); int nb_related, i_related[20], mot_len, dif_len;  strupper(le_mot); mot_len = strlen(le_mot); if (isdigit(le_mot[0])) { i = atoi(le_mot); i--; /*6 * c'est le numero du mot-cle qui est stocke et non * son rang dans le tableau */C printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ", REVERSE,cle[i],NORMAL,i+1); rep = askcval("",'n');& if (strchr("oOyY",rep)) return(i+1); else return(-1); }  nb_related = 0; for ( i = 0; i < nb_cles; i++) {& dif_len = dif_string(cle[i],le_mot);- if (!dif_len) return(i+1); /* mot trouve */9 if (dif_len <= CORR_ORTOG) /* est-ce qu'il ressemble */ {D printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ", REVERSE,cle[i],NORMAL,i+1); rep = askcval("",'n');' if (strchr("oOyY",rep)) return(i+1); else continue; } if (isinstr(cle[i],le_mot)) {2 if (nb_related < 20) i_related[nb_related] = i; nb_related++; } }- /* n'existe pas on propose un approchant */ if (nb_related == 1) {C printf("Vous voulez dire \007%s %s %s (Mot cle %d) ([o] ou n): ",7 REVERSE,cle[(i_related[0])],NORMAL,i_related[0]+1); rep = askcval("",'o');1 if (strchr("oOyY",rep)) return(i_related[0]+1); else return(-1); } if (nb_related > 1) { if(nb_related <= 20) {/ printf("\007Vous avez le choix parmi...\n");# for (i = 0; i < nb_related; i++) printf("\t%4d --> %s\n", i_related[i]+1, cle[(i_related[i])]); return(-1); } else {I printf("\007%d mot-cles possibles avec %s %s %s, precisez mieux...\n",& nb_related,REVERSE,le_mot,NORMAL); return(-1); }  } /* n'existe vraiment pas */& printf("\007%s %s %s n'existe pas\n", REVERSE,le_mot,NORMAL); return (-1);}/*2* DIF_STRING() renvoi le nb de lettres differentes*/dif_string(str_a,str_b) char *str_a, *str_b;{ int dif; char *str_c; dif = 0;7 str_c = (strlen(str_a) > strlen(str_b))? str_a: str_b; while(*str_c++) {" if (*str_a++ != *str_b++) dif++; } return(dif);}/*:* ISINSTR() regarde si une sous chaine est dans une chaine*/char *isinstr(string,substring)(char *string, /* La chaine incluante */) *substring; /* la sous chaine incluse */{ int diff_len, sub_len; $ sub_len = strlen(substring);% diff_len = strlen(string) - sub_len; A if (diff_len < 0) return(0); /* souschaine trop grande */M diff_len++; /* pour aller jusqu'au bout (poteaux et intervalles) */  while (diff_len--) {9 if(!strncmp(string,substring,sub_len)) return (string); string++; } return(FALSE);}"*[DANA.BIBLIO]MODIF_SUPER_CLE.EXE;1+,Ms.$/ 4$#-b%0123 KPWO%56@7 @8 iǔ9GHJD0DX0205(F@,hMODIF_SUPER_CLEV1.0F@05-05  +<@ S  ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s inexistant ou probleme c_super_cle.biba%s inexistant ou probleme Actuellement, il y a %d mots cles et %d fiches Super Mot cle: +%s +%s Mot cle: %d Relation (et, non, ou, [return pour finir]): ET OU NON Relation %s %s %s inconnue  Avez vous des corrections a faire (o ou [n]): oOyY%s %s%seditc_super_cle.bibVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) ([o] ou n): oOyYVous avez le choix parmi... %4d --> %s %d mot-cles possibles avec %s %s %s, precisez mieux... %s %s %s n'existe pas  (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)P^[&TWXߤ7ߤ3ߤ.ߤ*ߤ%db&Ѭ1g~ߤ>? P~M&Pg IIIIIIIII!3P~?Pďߤj &nę;ģ%nЬRݢn%n߭%߭v%߭x%Ph߭u%L%>R>ShRK%RbhSbh<2~~bh%n߭$߭$߭$Pg߭$$2~2@~/$sa$P1ΈΈSވވ~$PވΈcވ+ugW$ygC$I$Sĉ~ ΐΐRސPސ~cPސΐbސPPċ##S#UVľďΌΌRތތ~cPތΌbތRhZRE]RPPE "RRRRRRRR:.:P?Pge?ge3ge'ge #VV1/"P1!1Pg"g"n~P~&"P&8n3+"w"2P^PЬRb~r"PbR|^}XЬRbPb~B"PbRbЬSS"cRRRB("WS!PPSSȂ P@|}H!n~ȆP~ȇ!PSPP|Z2RZR1Tެ!$|! ]!Y ZRB (ޮ(VоSTݮ((PRS(RPЮ(UPSUUPPQPRaPЮ(Q(faTTRZPRIZSS ZRBȌ n~P~ PtSP ZRBU,ޮ,WоVV$PUݮ,$UPRT1RRSRS#UVݮ4iPЮ,T,gRPRPTT [ZK[Z2PZP1[OSS  RBÙ, o~P~PSPP[[[:S[% CRBcC~2SS[P}ݬx[?PȞșȁP|^VЬUUXPRЬSSHRPUTPSTTPPQPRaPЬQ֬ЬP֬a`VVPP ^ݬPSݬSPRPRRPRP$SݬݬPЬP֬RPRPP^ѬЏفЏʁЬā﵁^q tPev`v Q|^\}RﵗVUTPPa^~>1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœd\Scªec³f^h|RyUvTZlWUV3[ YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed#߭k߭iPO~fh߭fhSd1^Se1VSPPμ^k{R|UyTvY_V[?ZX)Wfݬk߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed0߭j߭hPO~fg߭fgSd1_Se1WSPP^xzR~X~WsT~VDU[@ZYfլݬf deѬ  dݬk߭jݬ ݬݬ~i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬ|~gc~߭ϋ߭PPP^ݬcݬ c~߭<߭bPPP^mxR|լ լݬݬ C[8Nݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^wR{T{S#W{VU[ZdYuXeݬ(pk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~sS߭j߭iPO~behv߭qhehQc1UQd1LPP^vRzTzS[zWUZY\XmVeݬ pj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^uRyWyVy[SyެUvTZpYIXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~ ߭i߭hPOPìP~cd߭cdQf1Qg1PP ^atRݬ߭߭#P߭߭PPvP ^tS%ݬݬ߭|~j4xs~߭ݬPO~z߭PR߭ݬ RPݬ pq^sTݬ+ݬ߭bݬws~߭ݬ%ScPORwcPR~߭cPR߭ݬ RPݬݬ  ^rSPwլլݬݬѬPPݬTݬ߭ݬ$ݬ ݬvs~߭ݬ߭CPR߭ݬ %RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ 8^qSTuR|~ߢPP\\\d\e|~|~ ߢ |~߭'ݢ P\\2\\\$dE\ Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^pStR|~|~ ߢ |~߭#ݢ P\\2\\\l\h^ItR|~|~|~߭1ݢ PT^GpWPY tZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪj9t _·P ·լլ ΈPΈΈt0ݬdPRެTRdSiS%RRdΈ"ݬݬǕi=iiǟ PPf 9WW)WWWWWWWWWI9P&?PnS[vn?[~n?[ cnU|~|~|~߭1ݪ ΆΆ iǢ<1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ[ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1iy ΀1iǫ[ V΀1 siF 1P޼RFb $PVVi!  P޼PF` iǮ VVVDZi( ΀1l si 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬk PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬiN ݬi6 i 1rPi ݬi i i ݬ PѪjЪjx ݬ PѪjЪjRjPi e RRjiI ݬiy m/ݬO PRެTRdSiS RRdi V1zVi 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTTp Cd T} V· ·XP XX~SCd ix i+ V1ViU 1PΆ1i ,iVkЬRRRRiqlΈ/RPRެTRdSiSRRdΈ"ݬݬiiVi)IΆ >i?ݬݬΐΓ~ݬݬUV1V,iG1Ά?1BΈLݬݬ2i"RbIݬD<ibiMV1BVPib14iVfݬaYiiijmTݬPѪjЪjRjPi ARRjim%ݬpiUj/ݬ+PRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEd}P1޼PE`ݬpݬݬΐΓ~ݬݬrV PRR[i*1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl5RݪΆ i1+Pծ,1΀1Ԯ,i|{Rji qRRjiU iΈ%RެTRdSiS1RRdΈ"ݬݬǂiIiinjVVi1` i%Ά~ǏPi17P f%Ά~ǜPi1 PRP`PORVЬSSIΆFVRBFcVެTdRBS9FcǬiMViǯVDzi/Vd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬPPNnSPCbݬCb^S  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[n[n[(^ bWVeTfǸݬPѤdФdRdPf }RRdfǻaݬǾffլ.ݬbPRެURe SfS%RReլ"ݬݬf>fff@@LdLtL t|4l<|D t 8 ,  @VAXCRTLLIBRTLMTHRTLMODIF_SUPER_CLE mainstrupper(@ trouve_cle dif_stringaxisinstrW A  ASKVALЇ askidomain8 askfdomain4< ask_speak0askival,askivalh askivalf9\faskival3askcvalPaskcvalhL,askcvalffaskcval,؍askfvalaskfvalhaskfvalfP8faskfvalD|asksvalasksvalhasksvalflfasksvalP setcbreakrestoreh getchar_vms0P ask_edite?re_ecrit Ї           -}*[DANA.BIBLIO]NEW_FICHES.C;1+,./ 4f-b%0123KPWO56 7@yW8@z# Ŕ9GHJ/*H * NEW_FICHES.C permet d'entrer des fiches dans le fichier c_fiches.bib I * avec gestion des mots cles, des abrevaitions, fiches killees etc....  * * Version C pour ULTRIX * * 29 Juin 1988 *, * Version pour fiches avec decoupage livres * 22 septembre 1988 *; * Version avec gestion d'ecran de l'entree des fiches! * 1er Novembre 1988 *" * Correction de bugs: jfv 12/7/90 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**/#include #include "askval.h"#include #include "ecran.h"/* #define DEBUG#define DEBUG1#define DEBUG3*/#define FALSE 0#define TRUE 1#include "biblio.h" #ifdef UNIX# include #endif #ifdef MS_DOS# include #endif8FILE *p_pre_fiche; /* fichier temporaire d'edition */ struct D_reference pre_fiche;short *les_fiches; /*1 * le tableau contenant les numeros de fiches * retenues */ #ifdef VMS#include #include #include #include #include int ttchannel;#endif main(argc,argv) int argc; char **argv;{ char nom_fichier[80], ordre[80], nom_dir[60], rep, *zero; int i, j, k; short nb_fiches, act_fiche, *nb_c, *nb_f, get_fiche();# include "titre_bib.h"  if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_MOTCLE_INDEX);; if((c_motcle_index = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_AUTEUR_INDEX);; if((c_auteur_index = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_ABBREV);5 if((c_abbrev = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);9 if((c_fiches = fopen(nom_fichier,APPEND_P_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_MOTCLE);7 if((c_motcle = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_AUTEUR);7 if((c_auteur = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);S printf("\007Actuellement, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches);@ /* Lecture des auteurs mots cles et abreviations */- fread(&nb_key_aut,sizeof(short),1,c_abbrev);, fread(&nb_abbrev,sizeof(short),1,c_abbrev);3 fread(key_auteurs,sizeof(key_auteurs),1,c_abbrev);' fread(revue,sizeof(revue),1,c_abbrev); fclose(c_abbrev);d printf("\007Actuellement, il y a %d auteurs-mots cles et %d abreviations\n",nb_key_aut, nb_abbrev);: /* Lecture du fichier index de mots cles */  p_motcle = motcle;8 fread(&motcle_last_bloc, sizeof(int),1,c_motcle_index);0 fread(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index);8 /* Lecture du fichier index des auteurs */  p_auteur = auteur;8 fread(&auteur_last_bloc, sizeof(int),1,c_auteur_index);0 fread(auteur, sizeof(auteur),1,c_auteur_index); fclose(c_auteur_index); do {- /* Remise a 0 de la pre_fiche precedente */ zero = &pre_fiche.type;6 for (i = 0; i < sizeof(pre_fiche); i++) *zero++ = 0; zero = &fiche.Simple.type;9 for (i = 0; i < sizeof(fiche.Simple); i++) *zero++ = 0; zero = &fiche.Double.type;9 for (i = 0; i < sizeof(fiche.Double); i++) *zero++ = 0;/ printf("%s%s\n\t\t%s Fiche Numero %d %s\n\n",+ CLRAS,HOME,REVERSE,nb_fiches+1,NORMAL);# act_fiche = get_fiche(nb_fiches); if (!strlen(pre_fiche.nom[0])) {8 printf("\n\007\007Il n'y a pas de nom d'auteur!!\n");[ rep = askcval("\nDesirez-vous garder cette fiche inhabituelle (o ou [n]): ",'n');" if (!strchr("oOyY",rep)) { rep = 'o'; continue; } }\ rep = askcval("\nDesirez-vous ajouter auteurs ou ligne de titre (o ou [n]): ",'n'); if (strchr("oOyY",rep)) {+ corrige(act_fiche); } if (fiche_unique()) {Q rep = askcval("\nDesirez-vous changer les mots-cles ([o] ou n): ",'o');! if (strchr("oOyY",rep)) {0 change_mots(act_fiche); } #ifdef DEBUG) printf("Avant Transfert_pre_fiche\n"); #endif 0 transfert_pre_fiche(act_fiche); #ifdef DEBUG& printf("Transfert_pre_fiche OK\n"); #endif  write_fiche(act_fiche); #ifdef DEBUG printf("Write_fiche OK\n"); show_fiche();#endif" write_motcle(act_fiche);" write_auteur(act_fiche);Y printf("\007La fiche %s %d %s est sauvee\n\n",REVERSE,act_fiche,NORMAL);@ nb_fiches = (simple)? act_fiche: act_fiche + 1; }; else printf("\n\007Je ne garde donc pas la nouvelle!\n");Q rep = askcval("\n\033[7m Voulez-vous continuer (o ou [n]): \033[m",'n'); } while(strchr("oOyY",rep)); fclose(c_fiches); fclose(c_motcle); fclose(c_auteur); strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);7 if((c_codcle = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {4~ BIBLIO.BCKb%ANA.BIBLIO]NEW_FICHES.C;1;1S.EXE;2|# printf("%s -> pb\n",nom_fichier); exit(1); }+ /* Reecriture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;' fwrite(nb_c,sizeof(short),1,c_codcle);' fwrite(nb_f,sizeof(short),1,c_codcle);$ fwrite(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);Q printf("\007Maintenant, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches); strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_MOTCLE_INDEX);= if((c_motcle_index = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } p_motcle = motcle;9 fwrite(&motcle_last_bloc, sizeof(int),1,c_motcle_index);1 fwrite(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index); strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_AUTEUR_INDEX);= if((c_auteur_index = fopen(nom_fichier,ECRIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } p_auteur = auteur;9 fwrite(&auteur_last_bloc, sizeof(int),1,c_auteur_index);1 fwrite(auteur, sizeof(auteur),1,c_auteur_index); fclose(c_auteur_index);}/*!* Ecrit la fiche dans c_fiche.bib*/write_fiche(numero) short numero;{ long offset;  p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);# if(fseek(c_fiches,offset,0) == -1) {@ printf("\007Probleme d'ecriture sur le fichier des fiches\n"); return(FALSE); }4 fwrite(p_fiche,sizeof(fiche.A_lire[0]),1,c_fiches); if (! simple) {! p_S_fiche = &(fiche.A_lire[1]);7 fwrite(p_S_fiche,sizeof(fiche.A_lire[1]),1,c_fiches);t }: printf("\n%s Fiche %s Numero %d sauvee %s\007\n",REVERSE,2 ((simple)? "Simple": "Double"), numero,NORMAL);}c/*)* SHOW_FICHE() montre une fiche a l'ecran9*/ show_fiche(){r register i; int a_la_ligne; /* flag */2 if (simple) { printf("\n**************************%s Fiche simple numero %5d %s*************************\n\n",REVERSE,fiche.Simple.numero,NORMAL);C for (i = 1; i <= fiche.Simple.nb_auteurs; i++) /* nb d'auteurs */o { printf("%s %s; ",8 fiche.Simple.prenom[(i-1)],fiche.Simple.nom[(i-1)]); if (i % 3 == 0) { printf("\n");r a_la_ligne = TRUE; } a_la_ligne = FALSE; s }w! if (! a_la_ligne) printf("\n");h- for (i = 0; i < 4; i++) /* nb de lignes */a {p% if (strlen(fiche.Simple.titre[i]))c) printf("%s\n",fiche.Simple.titre[i]);u }c& printf("%s; ",fiche.Simple.journal);% printf("%s: ",fiche.Simple.volume);S# printf("%s ",fiche.Simple.pages);l& printf("(%d)\n",fiche.Simple.annee);3 printf("\nTire-a-part: %s\n",fiche.Simple.t_a_p);.J printf("Entree le %s par [%d]\n",fiche.Simple.jour,fiche.Simple.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */r {s if (fiche.Simple.keys[i]) 0 printf("%s ",cle[(fiche.Simple.keys[i])-1]); }  } elsef { printf("\n**************************%s Fiche double numero %5d %s*************************\n\n",REVERSE,fiche.Simple.numero,NORMAL);C for (i = 1; i <= fiche.Double.nb_auteurs; i++) /* nb d'auteurs */e {, printf("%s %s; ",8 fiche.Double.prenom[(i-1)],fiche.Double.nom[(i-1)]); if (i % 3 == 0) { printf("\n");  a_la_ligne = TRUE; } a_la_ligne = FALSE; }i! if (! a_la_ligne) printf("\n");a- for (i = 0; i < 4; i++) /* nb de lignes */' {% if (strlen(fiche.Double.titre[i])) ) printf("%s\n",fiche.Double.titre[i]);e }o# if (strlen(fiche.Double.journal))r {I' printf("%s; ",fiche.Double.journal); }f else {p( printf("In %s\n",fiche.Double.livre);2 printf("Edite par %s\n",fiche.Double.editeurs);) printf("%s, ",fiche.Double.publisher);t% printf("%s\n",fiche.Double.ville);_ }e% printf("%s: ",fiche.Double.volume);C# printf("%s ",fiche.Double.pages);e& printf("(%d)\n",fiche.Double.annee);3 printf("\nTire-a-part: %s\n",fiche.Double.t_a_p);_J printf("Entree le %s par [%d]\n",fiche.Double.jour,fiche.Double.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */ {n if (fiche.Double.keys[i]) 0 printf("%s ",cle[(fiche.Double.keys[i]-1)]); }( } printf("\n");}D/*E* SHOW_PRE_FICHE() montre une fiche a l'ecran avant de la sauvegarderr*/show_pre_fiche(){h register i; int a_la_ligne; /* flag */o printf("%s%s",CLRAS,HOME);_ if (simple) { printf("\n**************************%s Fiche simple numero %5d %s*************************\n\n",REVERSE,pre_fiche.numero,NORMAL);i } elsea { printf("\n**************************%s Fiche double numero %5d %s*************************\n\n",REVERSE,pre_fiche.numero,NORMAL);; }? for (i = 1; i <= pre_fiche.nb_auteurs; i++) /* nb d'auteurs */ { printf("%s %s; ",_1 pre_fiche.prenom[(i-1)],pre_fiche.nom[(i-1)]);  if (i % 3 == 0) {x printf("\n"); a_la_ligne = TRUE; }r a_la_ligne = FALSE;R } if (! a_la_ligne) printf("\n");, for (i = 0; i < 4; i++) /* nb de lignes */ {! if (strlen(pre_fiche.titre[i])) % printf("%s\n",pre_fiche.titre[i]);n } if (strlen(pre_fiche.journal)) {# printf("%s; ",pre_fiche.journal);; } else_ {$ printf("In %s\n",pre_fiche.livre);. printf("Edite par %s\n",pre_fiche.editeurs);% printf("%s, ",pre_fiche.publisher);t! printf("%s\n",pre_fiche.ville);f }! printf("%s: ",pre_fiche.volume);  printf("%s ",pre_fiche.pages); " printf("(%d)\n",pre_fiche.annee);/ printf("\nTire-a-part: %s\n",pre_fiche.t_a_p);, printf("\n");}k/*$* WRITE_MOTCLE() ecrit les mots cles*/write_motcle(numero) short numero;){ int i, j, k;v short nu_key; long offset, act_offset;a p_key_fiche = key_fiche;a for (i = 0; i < 10; i++)v {@ nu_key = (simple)? fiche.Simple.keys[i]: fiche.Double.keys[i]; if (nu_key == 0) break;$ nu_key--; /* car demarre a zero */ #ifdef DEBUG1x> printf("\n*****\nNb fiches %d\n", motcle[nu_key].nb_fiches);4 printf("Mot_cle %d -> %s\n", nu_key, cle[nu_key]);#endif if (motcle[nu_key].nb_fiches)  {e3 key_fiche[99] = (int) motcle[nu_key].first_bloc;i dof {. for (j = 0; j < 99; j++) key_fiche[j] = 0;; offset = (long)key_fiche[99] * (long)sizeof(key_fiche);h fseek(c_motcle,offset,0);_: if( ! fread(p_key_fiche,sizeof(key_fiche),1,c_motcle)) {;8 printf("Pb de lecture au fread de c_motcle.bib\n");^ printf("\nFiche %d\ncle -> %d\nNb fiches %d\n", numero, nu_key,motcle[nu_key].nb_fiches);, printf("Mot_cle -> %s\n", cle[nu_key]); }F #ifdef DEBUG1%, printf("lu... (offset = %ld)\n",offset); for (k = 0; k < 20; k++) printf("%d ",key_fiche[k]);1 printf("key_fiche[99] = %d\n",key_fiche[99]); #endif } while(key_fiche[99] != 0);e k = motcle[nu_key].num_next;r key_fiche[k] = numero; motcle[nu_key].num_next ++; motcle[nu_key].nb_fiches++;% if (motcle[nu_key].num_next == 99) { motcle[nu_key].num_next = 0;% key_fiche[99] = motcle_last_bloc;  fseek(c_motcle,offset,0);s5 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle); / /* ecriture preparatoire de bloc suivant */n/ for (j = 0; j < 100; j++) key_fiche[j] = 0;z> offset = (long)motcle_last_bloc * (long)sizeof(key_fiche); motcle_last_bloc++;  } fseek(c_motcle,offset,0);4 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle); #ifdef DEBUG1a0 printf("reecrit... (offset = %ld)\n",offset); for (k = 0; k < 20; k++)c printf("%d ",key_fiche[k]);a printf("\n");#endif }f else {e. for (j = 0; j < 100; j++) key_fiche[j] = 0; motcle[nu_key].nb_fiches = 1;0 motcle[nu_key].first_bloc = motcle_last_bloc; motcle[nu_key].num_next = 1;c key_fiche[0] = numero;t= offset = (long)motcle_last_bloc * (long)sizeof(key_fiche);A fseek(c_motcle,offset,0);4 fwrite(p_key_fiche,sizeof(key_fiche),1,c_motcle); #ifdef DEBUG1J/ printf("1ere fois (offset = %ld)\n",offset);r for (k = 0; k < 20; k++)z printf("%d ",key_fiche[k]);m printf("\n");#endifB motcle_last_bloc++; /* le suivant sera sur le bloc d'apres */  }; #ifdef DEBUG1i: printf("Nb fiches %d next %d Bloc %d Last block %d\n",  motcle[nu_key].nb_fiches,B motcle[nu_key].num_next,1 motcle[nu_key].first_bloc, motcle_last_bloc);  for (k = 0; k < 20; k++) printf("%d ",key_fiche[k]);2 printf("\n key_fiche[99] = %d\n",key_fiche[99]);#endif }}fwrite_auteur(numero) short numero;{f register i, j, k; char initiale,f lettre_2;e short nu_key, nb_aut;n long offset;t p_aut_fiche = aut_fiche;s. for (i = 0; i < fiche.Simple.nb_auteurs; i++) { j = 0; do {C0 initiale = (simple)? fiche.Simple.nom[i][j]: fiche.Double.nom[i][j]; initiale = toupper(initiale); j ++; } while (! isupper(initiale)); : do /* traite les noms du genre D'Alembert ou M'bamako */ { 0 lettre_2 = (simple)? fiche.Simple.nom[i][j]: fiche.Double.nom[i][j];e lettre_2 = toupper(lettre_2); j ++; } while (! isupper(lettre_2)); 4 nu_key = (initiale - 'A') * 26 + (lettre_2 - 'A');* /* donc AA = zero, AB = 1 et BB = 2 */ #ifdef DEBUG1f> printf("\n*****\nNb fiches %d\n", auteur[nu_key].nb_fiches);#endif if (auteur[nu_key].nb_fiches)) {f3 aut_fiche[99] = (int) auteur[nu_key].first_bloc;_ do {. for (j = 0; j < 99; j++) aut_fiche[j] = 0;; offset = (long)aut_fiche[99] * (long)sizeof(aut_fiche);) fseek(c_auteur,offset,0);s: if( ! fread(p_aut_fiche,sizeof(aut_fiche),1,c_auteur)) {r8 printf("Pb de lecture au fread de c_auteur.bib\n");_ printf("\nFiche %d\n--> cle %d\nNb fiches %d\n", numero,nu_key, auteur[nu_key].nb_fiches);iQ printf("Auteur %s \n", ((simple)? fiche.Simple.nom[i]:fiche.Double.nom[i]));% } #ifdef DEBUG1u, printf("lu... (offset = %ld)\n",offset); for (k = 0; k < 20; k++) printf("%d ",aut_fiche[k]);1 printf("aut_fiche[99] = %d\n",aut_fiche[99]);;#endif } while(aut_fiche[99] != 0);s k = auteur[nu_key].num_next;* aut_fiche[k] = numero; auteur[nu_key].num_next ++; auteur[nu_key].nb_fiches++;% if (auteur[nu_key].num_next == 99)= { auteur[nu_key].num_next = 0;% aut_fiche[99] = auteur_last_bloc; fseek(c_auteur,offset,0);f5 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur); / /* ecriture preparatoire de bloc suivant */a/ for (j = 0; j < 100; j++) aut_fiche[j] = 0; > offset = (long)auteur_last_bloc * (long)sizeof(aut_fiche); auteur_last_bloc++;h } fseek(c_auteur,offset,0);4 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur); #ifdef DEBUG1n0 printf("reecrit... (offset = %ld)\n",offset); for (k = 0; k < 20; k++)) printf("%d ",aut_fiche[k]);e printf("\n");#endif }r else {e. for (j = 0; j < 100; j++) aut_fiche[j] = 0; auteur[nu_key].nb_fiches = 1;0 auteur[nu_key].first_bloc = auteur_last_bloc; auteur[nu_key].num_next = 1;l aut_fiche[0] = numero;s= offset = (long)auteur_last_bloc * (long)sizeof(aut_fiche);n fseek(c_auteur,offset,0);4 fwrite(p_aut_fiche,sizeof(aut_fiche),1,c_auteur); #ifdef DEBUG1,/ printf("1ere fois (offset = %ld)\n",offset);f for (k = 0; k < 20; k++)/ printf("%d ",aut_fiche[k]);t printf("\n");#endifB auteur_last_bloc++; /* le suivant sera sur le bloc d'apres */  } #ifdef DEBUG1 : printf("Nb fiches %d next %d Bloc %d Last block %d\n",  auteur[nu_key].nb_fiches,n auteur[nu_key].num_next,1 auteur[nu_key].first_bloc, auteur_last_bloc);. for (k = 0; k < 20; k++) printf("%d ",aut_fiche[k]);2 printf("\n aut_fiche[99] = %d\n",aut_fiche[99]);#endif }};curseur(nl,nc){r printf("\033[%d;%dH",nl,nc);p}terase(),{h printf("%s%s",CLRAS,HOME);E}e/*/* GET_FICHE() permet de rentrer une fichef*/short get_fiche(numero)p short numero;c{D int i,_! num_ligne; /* ligne courante */e char *zero,n rep, prompt[81],a ligne[81]; " )> pre_fiche.numero = (++numero); /* ce sera la + 1ieme fiche */ l erase();9 printf("%s Fiche Numero %d %s\n",REVERSE,numero,NORMAL);D simple = TRUE;  i = 0;; while(i < 10) { num_ligne = i+3; curseur(num_ligne,1);sJ printf("%s Auteur %2d %s %sNom: __________________ Prenom: ______%s\n",$ REVERSE,i+1,NORMAL,BOLD,NORMAL); curseur(num_ligne,18); fflush(stdout);e asksval("","",ligne); if (strlen(ligne)) {l ligne[18] = 0;o" strcpy(pre_fiche.nom[i],ligne); }m else {r pre_fiche.nb_auteurs = i; if (i > 5) simple = FALSE;% break;* }* curseur(num_ligne,46); fflush(stdout);) asksval("","",ligne);n ligne[6] = 0;*$ strcpy(pre_fiche.prenom[i],ligne); i++; }0 if (i == 10) /* a 10, le nb n'est pas update */ { pre_fiche.nb_auteurs = 10; simple = FALSE;  num_ligne = i+3; } /* fin du if */ curseur(num_ligne,1); /* efface la fin de la ligne */ puts("\033[K"); 0 /* titre */& num_ligne = pre_fiche.nb_auteurs + 4; curseur(num_ligne,1);& printf("%s Titre %s",REVERSE,NORMAL); fflush(stdout); num_ligne++;  curseur(num_ligne,1); printf("%s\P_____________________________________________________________________________\n\P_____________________________________________________________________________\n\P_____________________________________________________________________________\n\S_____________________________________________________________________________%s\n"," BOLD,NORMAL);) curseur(num_ligne,1); fflush(stdout); i = 0;\ while(i < 4)n { asksval("","",ligne);  if (strlen(ligne)) { ligne[80] = 0;$ strcpy(pre_fiche.titre[i],ligne); }/ else {e if (i > 4) simple = FALSE;i break;v }o i++; } n num_ligne += 4; num_ligne++;c curseur(num_ligne,1);D printf("%s Journal: %s %s____________________________________%s\n", REVERSE,NORMAL,BOLD,NORMAL);k curseur(num_ligne,12);y fflush(stdout); asksval("","",ligne); if (strlen(ligne))\ { curseur(num_ligne,12); fflush(stdout);r strupper(ligne); curseur(num_ligne,12); printf("%s",ligne);e fflush(stdout);  test_abrev(ligne); ligne[36] = 0;" strcpy(pre_fiche.journal,ligne); } else  { curseur(num_ligne,1);e puts("\033[K");t fflush(stdout);9 curseur(num_ligne,1);h printf("%s Livre: %s\n%s\eS_____________________________________________________________________________%s\n",t REVERSE,NORMAL,BOLD,NORMAL); printf("%s Edite par: %s\n%s\eS_____________________________________________________________________________%s\n",t REVERSE,NORMAL,BOLD,NORMAL);K printf("%s Publie par: %s %s_______________________________________%s\n",o REVERSE,NORMAL,BOLD,NORMAL);G printf("%s Ville: %s %s________________________________________%s\n", REVERSE,NORMAL,BOLD,NORMAL); simple = FALSE;t /* Livre */ num_ligne++; curseur(num_ligne,1);t fflush(stdout);t asksval("","",ligne);b ligne[80] = 0; strcpy(pre_fiche.livre,ligne); /* Edite par */ num_ligne += 2; curseur(num_ligne,1);e fflush(stdout);s asksval("","",ligne); ligne[80] = 0;# strcpy(pre_fiche.editeurs,ligne); /* Publie par */r num_ligne ++;i curseur(num_ligne,15); fflush(stdout);i asksval("","",ligne);= ligne[39] = 0;$ strcpy(pre_fiche.publisher,ligne); /* Ville */ num_ligne++; curseur(num_ligne,10); fflush(stdout);h asksval("","",ligne);o ligne[39] = 0; strcpy(pre_fiche.ville,ligne); } num_ligne ++; curseur(num_ligne,1);? printf("%s Volume: %s %s____%s\n",REVERSE,NORMAL,BOLD,NORMAL);f curseur(num_ligne,11);f fflush(stdout); asksval("","",ligne); ligne[4] = 0; strcpy(pre_fiche.volume,ligne); curseur(num_ligne,20);tD printf("%s Pages: %s %s__________%s\n",REVERSE,NORMAL,BOLD,NORMAL); curseur(num_ligne,29);l fflush(stdout); asksval("","",ligne); ligne[10] = 0;s strcpy(pre_fiche.pages,ligne);e curseur(num_ligne,45);* printf("%s Annee: %s \n",REVERSE,NORMAL); curseur(num_ligne,54);f fflush(stdout);! pre_fiche.annee = askival("",0);k4 if (pre_fiche.annee < 100) pre_fiche.annee += 1900; curseur(num_ligne,54);l printf("%d",pre_fiche.annee); num_ligne++;f curseur(num_ligne,1);E printf("%s T-a-P: %s %s__________%s\n",REVERSE,NORMAL,BOLD,NORMAL);n curseur(num_ligne,11);c fflush(stdout); asksval("","",ligne); ligne[10] = 0;  strcpy(pre_fiche.t_a_p,ligne);i curseur(23,1);fG printf("%sDesirez-vous corriger la fiche ([o] ou n):%s ",BOLD,NORMAL);n rep = askcval("",'o'); if (strchr("oOyY",rep)) {e edite(); } tmp_ok = TRUE;A if ((p_pre_fiche = fopen("prefiche.tmp",ECRIRE)) == NULL). { S printf("\007pb sur prefiche.tmp: la correction sera impossible\n");  tmp_ok = FALSE;i } if (tmp_ok) {, for (i = 0; i < pre_fiche.nb_auteurs; i++) { strupper(pre_fiche.nom[i]);! strupper(pre_fiche.prenom[i]);0 fprintf(p_pre_fiche,"%s\n",pre_fiche.nom[i]);3 fprintf(p_pre_fiche,"%s\n",pre_fiche.prenom[i]);( }e fprintf(p_pre_fiche,"\S----------------------------------- T I T R E --------------------------------\n");  for (i = 0; i < 4; i++)B { " if (strlen(pre_fiche.titre[i]))3 fprintf(p_pre_fiche,"%s\n",pre_fiche.titre[i]);d else break; }e fprintf(p_pre_fiche,"\S------------------------------ R E F E R E N C E -----------------------------\n"); if (strlen(pre_fiche.journal))1 fprintf(p_pre_fiche,"%s\n",pre_fiche.journal);) else {_1 fprintf(p_pre_fiche,"\n%s\n",pre_fiche.livre);e2 fprintf(p_pre_fiche,"%s\n",pre_fiche.editeurs);3 fprintf(p_pre_fiche,"%s\n",pre_fiche.publisher);(/ fprintf(p_pre_fiche,"%s\n",pre_fiche.ville);n },/ fprintf(p_pre_fiche,"%s\n",pre_fiche.volume); . fprintf(p_pre_fiche,"%s\n",pre_fiche.pages);. fprintf(p_pre_fiche,"%d\n",pre_fiche.annee);. fprintf(p_pre_fiche,"%s\n",pre_fiche.t_a_p); } show_pre_fiche(); /* Mots cles */0 for (i = 0; i < 10; i++) pre_fiche.keys[i] = 0;" printf("Entrez vos mots-cles\n"); i = test_auteur();= nb_key_act = i; while(i < 10) {L sprintf(prompt,"\n%s Mot-cle %d: %s %s____________%s\r%s Mot-cle %d %s: ",$ REVERSE,i+1,NORMAL,BOLD,NORMAL,% REVERSE,i+1,NORMAL,BOLD,NORMAL);  asksval(prompt,"",ligne);e if (strlen(ligne)) {_ ligne[12] = 0;) pre_fiche.keys[i] = trouve_key(ligne);c7 /* on redemande sans incrementer si -1 en retour */*) if (pre_fiche.keys[i] == -1) continue;[ nb_key_act++; }( else break;t i++; } #ifdef DEBUG% printf("%d mots cles\n",nb_key_act);#endif/*+* Manque l'identification et la date a* sont mises a la fin*/% pre_fiche.type = (simple)? 'S': 'D';e! if (tmp_ok) fclose(p_pre_fiche);; return(numero);}n/*:* TEST_ABREV() regarde si il y a une abbreviation de titre*/test_abrev(abrege) char *abrege;t{c int i;; char input[37]; b strcpy(input,abrege); strupper(input);= for (i = 0; i < nb_abbrev; i++) {F if (strcmp(input,revue[i].bref)) continue; /* -1 ou 1 -> pas egal */ else {g strcpy(abrege,revue[i].full);9 printf("\007%s %s %s\n",REVERSE,revue[i].full,NORMAL);, break; }f }},/*?* TEST_AUTEUR() regarde si il y a un auteur a mettre en mot cle<3* retourne le nombre d'auteurs trouves en mot_cles.t*/ test_auteur() {t int i, j, k;; * k = 0;n+ for (i = 0; i < pre_fiche.nb_auteurs; i++)D { strupper(pre_fiche.nom[i]); " for (j = 0; j < nb_key_aut; j++) {rS if (strcmp(key_auteurs[j],pre_fiche.nom[i])) continue; /* -1 ou 1 -> pas egal */t elseb {5 pre_fiche.keys[k] = trouve_key(pre_fiche.nom[i]);[4 printf("Mot-cle %d: %s\n",k+1,pre_fiche.nom[i]); k ++; break; } } } return (k);}%/*+* TROUVE_KEY() trouve le mot cle ou le creeC*/trouve_key(le_mot) char *le_mot;({e int i, j, k; char rep, *isinstr();i int nb_related, i_related[20], mot_len, dif_len;  strupper(le_mot); mot_len = strlen(le_mot); if (isdigit(le_mot[0])) { i = atoi(le_mot);r; i--; /* car le numero connu commence a 1 et non a zero */C printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ",  REVERSE,cle[i],NORMAL,i+1);) rep = askcval("",'n');& if (strchr("oOyY",rep)) return(i+1); else return(-1); }  nb_related = 0; for ( i = 0; i < nb_cles; i++)O {& dif_len = dif_string(cle[i],le_mot);- if (!dif_len) return(i+1); /* mot trouve */9 if (dif_len <= CORR_ORTOG) /* est-ce qu'il ressemble */_ {.D printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ", REVERSE,cle[i],NORMAL,i+1); rep = askcval("",'n');i' if (strchr("oOyY",rep)) return(i+1);" else continue;n }  if (isinstr(cle[i],le_mot))] {e2 if (nb_related < 20) i_related[nb_related] = i; nb_related++; }_. } /* n'existe pas on propose un approchant */ if (nb_related == 1)i {C printf("Vous voulez dire \007%s %s %s (Mot cle %d) ([o] ou n): ",t7 REVERSE,cle[(i_related[0])],NORMAL,i_related[0]+1);_ rep = askcval("",'o');1 if (strchr("oOyY",rep)) return(i_related[0]+1); else return(-1); } if (nb_related > 1) { if(nb_related <= 20) {_/ printf("\007Vous avez le choix parmi...\n");_# for (i = 0; i < nb_related; i++)_ printf("\t%4d --> %s\n", i_related[i]+1, cle[(i_related[i])]); return(-1); }_ else {_I printf("\007%d mot-cles possibles avec %s %s %s, precisez mieux...\n",_& nb_related,REVERSE,le_mot,NORMAL); return(-1); })  }= printf("\007%s %s %s est un nouveau mot-cle (le %d eme).\n",{$ REVERSE,le_mot,NORMAL,nb_cles+1);5 rep = askcval("\007Le garde-t-on (o ou [n]): ",'n');h if (strchr("oOyY",rep)) { strcpy(cle[nb_cles],le_mot); nb_cles++; return(nb_cles); } else return (-1);}/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string;_{_ while(*string)s { *string = toupper (*string); string++;n }}e/*'* CORRIGE() permet de reediter la fichee*/corrige(numero)) short numero;u{u int i, started; h char ligne[81], * fgetss();  if (!tmp_ok) return; * sprintf(ligne,"%s prefiche.tmp",EDITEUR); system(ligne);;? if ((p_pre_fiche = fopen("prefiche.tmp",LIRE)) == NULL) {sS printf("\007pb sur prefiche.tmp: la correction sera impossible\n"); tmp_ok = FALSE;_ return;_ } /*_+ * evite les lignes blanches de debut de_ * fichier  */ i = 0;L doM { fgetss(ligne,80,p_pre_fiche);e i ++;_ }while (!strlen(ligne));_ i --; rewind(p_pre_fiche);_) while(i--) fgetss(ligne,80,p_pre_fiche);O ; simple = TRUE;b for (i = 0; i < 4; i++) {- pre_fiche.nom[i][0] = 0; /* inialisation */M0 pre_fiche.prenom[i][0] = 0; /* inialisation */ } i = 0;_ while(i < 10) { fgetss(ligne,80,p_pre_fiche);O if (strlen(ligne)) {B if (strncmp(ligne,"----------",10)) /* si pas egal c'est bon */ { ligne[18] = 0; #ifdef DEBUG printf("Aut: %s",ligne);#endif# strcpy(pre_fiche.nom[i],ligne);i! fgetss(ligne,80,p_pre_fiche);e ligne[6] = 0;s #ifdef DEBUG printf(" Pre: %s\n",ligne); #endif& strcpy(pre_fiche.prenom[i],ligne); i++; } elsei { pre_fiche.nb_auteurs = i;s if (i > 5) simple = FALSE; break; } }  } if (i == 10)b { pre_fiche.nb_auteurs = i;  simple = FALSE;s^ fgetss(ligne,80,p_pre_fiche); /* pour sauter le delimiteur qu'on n'a pas vu */ } /* fin du if */ /* titre */F for (i = 0; i < 4; i++) pre_fiche.titre[i][0] = 0; /* inialisation */ i = 0;O while(i < 4)c { ligne[0] = 0;f fgetss(ligne,80,p_pre_fiche);" if (strlen(ligne)) {sB if (strncmp(ligne,"----------",10)) /* si pas egal c'est bon */ { ligne[80] = 0; #ifdef DEBUG printf("T: %s\n",ligne);#endif% strcpy(pre_fiche.titre[i],ligne);, } else break; }s i++; } fgetss(ligne,80,p_pre_fiche);F if (!strncmp(ligne,"----------",10)) /* c'est le delimiteur */. fgetss(ligne,80,p_pre_fiche); if (strlen(ligne))k { #ifdef DEBUG printf("J: %s\n",ligne);#endif test_abrev(ligne); ligne[36] = 0;" strcpy(pre_fiche.journal,ligne); } elsen { simple = FALSE;% fgetss(ligne,80,p_pre_fiche);V ligne[80] = 0; strcpy(pre_fiche.livre,ligne); fgetss(ligne,80,p_pre_fiche);" ligne[80] = 0;# strcpy(pre_fiche.editeurs,ligne);n fgetss(ligne,39,p_pre_fiche);% ligne[39] = 0;$ strcpy(pre_fiche.publisher,ligne); fgetss(ligne,39,p_pre_fiche);' ligne[39] = 0; strcpy(pre_fiche.ville,ligne); #ifdef DEBUG) printf("LIVRE: %s\n",pre_fiche.livre);e#endif } fgetss(ligne,80,p_pre_fiche); #ifdef DEBUG printf("V: %s",ligne);"#endif ligne[4] = 0; strcpy(pre_fiche.volume,ligne); fgetss(ligne,80,p_pre_fiche); #ifdef DEBUG printf("P: %s",ligne);0#endif ligne[10] = 0;s strcpy(pre_fiche.pages,ligne);h+ pre_fiche.annee = faskival(p_pre_fiche,0); fgetss(ligne,80,p_pre_fiche); #ifdef DEBUG printf("Tap: %s",ligne);"#endif ligne[10] = 0;) strcpy(pre_fiche.t_a_p,ligne);\% pre_fiche.type = (simple)? 'S': 'D'; #ifdef DEBUG; printf("Fiche %s relue\n",((simple)?"Simple":"Double"));B#endif fclose(p_pre_fiche);.}[/*D* TRANSFERT_PRE_FICHE() transfert final de la prefiche dans la fiche*/transfert_pre_fiche(numero)\ short numero;-{-#include R register i, nb_a; long tim, *p_tim; #ifdef DEBUG3l& printf("Arrivee dans transfert..\n");#endif n if (simple) { #ifdef DEBUG3  printf("Fiche simple..\n");#endif nb_a = 0;) fiche.Simple.type = 'S'; fiche.Simple.numero = numero;r- for (i = 0; i < 5; i++) /* nb d'auteurs */ {r if (strlen(pre_fiche.nom[i])) { nb_a ++; strupper(pre_fiche.nom[i]);e" strupper(pre_fiche.prenom[i]);1 strcpy(fiche.Simple.nom[i],pre_fiche.nom[i]);"7 strcpy(fiche.Simple.prenom[i],pre_fiche.prenom[i]);c } else { fiche.Simple.nom[i][0] = 0;" fiche.Simple.prenom[i][0] = 0; } };! fiche.Simple.nb_auteurs = nb_a;;- for (i = 0; i < 4; i++) /* nb de lignes */e {1" if (strlen(pre_fiche.titre[i]))5 strcpy(fiche.Simple.titre[i],pre_fiche.titre[i]);R! else fiche.Simple.titre[i][0];  }R1 strcpy(fiche.Simple.journal,pre_fiche.journal);i/ strcpy(fiche.Simple.volume,pre_fiche.volume);=- strcpy(fiche.Simple.pages,pre_fiche.pages);c' fiche.Simple.annee = pre_fiche.annee; - strcpy(fiche.Simple.t_a_p,pre_fiche.t_a_p);1 p_tim = &tim;n tim = time(0);) strcpy(fiche.Simple.jour,ctime(p_tim)); #ifdef UNIXo! fiche.Simple.uic_mb = getuid();#endif #ifdef VMS! fiche.Simple.uic_mb = getuid();t#endif #ifdef MS_DOSp fiche.Simple.uic_mb = 0;#endif- for(i = 0; i < 10; i++) /* les mots cles */e {, fiche.Simple.keys[i] = pre_fiche.keys[i]; }e } elset { #ifdef DEBUG3v printf("Fiche double..\n");i#endif nb_a = 0;7 fiche.Double.type = 'D'; fiche.Double.numero = numero; . for (i = 0; i < 10; i++) /* nb d'auteurs */ {i if (strlen(pre_fiche.nom[i])) { nb_a++;1 strcpy(fiche.Double.nom[i],pre_fiche.nom[i]);\7 strcpy(fiche.Double.prenom[i],pre_fiche.prenom[i]); } else { fiche.Double.nom[i][0] = 0;n" fiche.Double.prenom[i][0] = 0; } }b! fiche.Double.nb_auteurs = nb_a; #ifdef DEBUG3( printf("Noms transferes..\n");#endif- for (i = 0; i < 4; i++) /* nb de lignes */  {p" if (strlen(pre_fiche.titre[i]))5 strcpy(fiche.Double.titre[i],pre_fiche.titre[i]);[% else fiche.Double.titre[i][0] = 0;u } #ifdef DEBUG3 " printf("Titres transferes..\n");#endif- strcpy(fiche.Double.livre,pre_fiche.livre);d3 strcpy(fiche.Double.editeurs,pre_fiche.editeurs);;5 strcpy(fiche.Double.publisher,pre_fiche.publisher);t- strcpy(fiche.Double.ville,pre_fiche.ville);_ #ifdef DEBUG3m" printf("Livres transferes..\n");#endif1 strcpy(fiche.Double.journal,pre_fiche.journal);_/ strcpy(fiche.Double.volume,pre_fiche.volume);n- strcpy(fiche.Double.pages,pre_fiche.pages);{ #ifdef DEBUG3_# printf("Journal transferes..\n"); #endif' fiche.Double.annee = pre_fiche.annee;u- strcpy(fiche.Double.t_a_p,pre_fiche.t_a_p);" p_tim = &tim;l tim = time(0);) strcpy(fiche.Double.jour,ctime(p_tim));O #ifdef DEBUG3n' printf("References transferees..\n");e#endif #ifdef UNIX=! fiche.Double.uic_mb = getuid();e#endif #ifdef VMS fiche.Double.uic_mb = 0;#endif #ifdef MS_DOSu fiche.Double.uic_mb = 0;#endif- for(i = 0; i < 10; i++) /* les mots cles */t {u, fiche.Double.keys[i] = pre_fiche.keys[i]; }  } fclose(p_pre_fiche);M}1/*.* CHANGE_MOTS permet de modifier les mots cles*/ )change_mots(numero)s short numero; { int i, k, num_key, nb_keys; char ligne[81], prompt[81],a rep; t /* Mots cles */ while(TRUE) { i = 0; while(i < nb_key_act)o {  k = pre_fiche.keys[i]-1;{ strcpy(ligne,cle[k]); if (strlen(ligne)) + printf("\nMot-cle %d: %s\n",i+1,ligne);t else break; i++;0 }_ nb_keys = nb_key_act;;k rep = askcval("\nVoulez-vous Ajouter, Supprimer, Modifier ou [Q]uitter\nReponse (A, S, M ou [Q]): ",'q');n  switch(tolower(rep)) {( case 'a': i = nb_key_act;)G sprintf(prompt,"\nMot-cle %d: ____________\rMot-cle %d: ",i+1,i+1);  asksval(prompt,"\0",ligne);e if (strlen(ligne)) {  ligne[12] = 0;p+ pre_fiche.keys[i] = trouve_key(ligne);s9 /* on redemande sans incrementer si -1 en retour */M. if (pre_fiche.keys[i] > 0) nb_key_act++;  }% break; case 'm':C sprintf(prompt,"Numero du mot cle a changer (1-%d) :",nb_keys);l& num_key = askival(prompt,nb_keys); i = num_key - 1;G sprintf(prompt,"\nMot-cle %d: ____________\rMot-cle %d: ",i+1,i+1);; asksval(prompt,"\0",ligne); if (strlen(ligne)) {u ligne[12] = 0;rF if (trouve_key(ligne) > 0) pre_fiche.keys[i] = trouve_key(ligne); }g break; case 's':E sprintf(prompt,"Numero du mot cle a supprimer (1-%d) :",nb_keys);r& num_key = askival(prompt,nb_keys); i = num_key - 1;2 pre_fiche.keys[i] = pre_fiche.keys[nb_keys-1];" pre_fiche.keys[nb_keys-1] = 0; nb_key_act--;f break; case 'q': return; }I  }}L/* * FGETSS() mime celui de RSXn */0# char * fgetss(buffer,maxbytes,iop)s char *buffer; int maxbytes; FILE *iop;= { char *status; & status = fgets(buffer,maxbytes,iop); buffer[strlen(buffer) - 1] = 0; return(status); }/*2* DIF_STRING() renvoi le nb de lettres differentes*/dif_string(str_a,str_b)w char *str_a, *str_b;{i int dif;l char *str_c;i dif = 0;7 str_c = (strlen(str_a) > strlen(str_b))? str_a: str_b;h while(*str_c++) {" if (*str_a++ != *str_b++) dif++; } return(dif);s}o/*:* ISINSTR() regarde si une sous chaine est dans une chaine*/char *isinstr(string,substring)(char *string, /* La chaine incluante */) *substring; /* la sous chaine incluse */8{  int diff_len, sub_len; e$ sub_len = strlen(substring);% diff_len = strlen(string) - sub_len;e A if (diff_len < 0) return(0); /* souschaine trop grande */eM diff_len++; /* pour aller jusqu'au bout (poteaux et intervalles) */  while (diff_len--) {9 if(!strncmp(string,substring,sub_len)) r5~ BIBLIO.BCKb%ANA.BIBLIO]NEW_FICHES.C;1EUR.EXE;11uhLeturn (string); string++;{ } return(FALSE);u}=/*9* FICHE_UNIQUE() verifie si cette fiche n'existe pas deja_*/fiche_unique(){l register i, j, k; char initiale,i lettre_2,/ rep, l_auteur[19];; short nu_key, nb_aut,i la_fiche,i nb_fiches, annee,> type_actuel; /*pour conserver le type de la fiche actuelle*/ long offset;t nN printf("\n\007Je verifie que cette fiche n'existe pas deja, patientez...\n"); type_actuel = simple;" nb_fiches = 32000; /* majorant */ nb_aut = 0;+ for (k = 0; k < pre_fiche.nb_auteurs; k++) { j = 0; do {s" initiale = pre_fiche.nom[k][j]; j ++; } while (! isupper(initiale)); -: do /* traite les noms du genre D'Alembert ou M'bamako */ {0" lettre_2 = pre_fiche.nom[k][j]; j ++; } while (! isupper(lettre_2)); 4 nu_key = (initiale - 'A') * 26 + (lettre_2 - 'A');, /* donc AA = zero, AB = 1 et BB = 27 */ #ifdef DEBUG1%1 printf("\n*****\nNb fiches %d, nu_key = %d\n", ;$ auteur[nu_key].nb_fiches,nu_key);#endif+ if (nb_fiches > auteur[nu_key].nb_fiches)t {p) nb_fiches = auteur[nu_key].nb_fiches;3 nb_aut = nu_key;i% strcpy(l_auteur,pre_fiche.nom[k]);h }g } nu_key = nb_aut;, #ifdef DEBUG14 printf("\n*****\nNb fiches %d, nu_key = %d %s\n", - auteur[nu_key].nb_fiches,nu_key,l_auteur);i#endif if (nb_fiches)s {U if((les_fiches = (short *)calloc((unsigned int)(nb_fiches),sizeof(short))) == NULL) {p+ printf("Pb d\'allocation memoire...\n");p simple = type_actuel; return(NULL); }n# auteur_fiches(nu_key,&nb_fiches);p for(k = 0; k < nb_fiches; k++) {n la_fiche = les_fiches[k]; read_fiche(la_fiche); if (killed) continue; if (fiche.Simple.type == 'S') { #ifdef DEBUG1r, printf("fiche Simple %d --> %d %s %s\n", la_fiche, fiche.Simple.annee, fiche.Simple.volume,s fiche.Simple.pages);B#endif. if (fiche.Simple.annee == pre_fiche.annee) {H #ifdef DEBUG1i printf("meme annee\n");#endif7 if (!strcmp(fiche.Simple.volume,pre_fiche.volume))u { #ifdef DEBUG1  printf("meme volume\n");#endif6 if (!strcmp(fiche.Simple.pages,pre_fiche.pages)) {s #ifdef DEBUG1d printf("memes pages\n");.#endif* /* elle existe sans daoute deja! */b printf("%s%s\007\007\007%s Cette fiche semble deja exister dous le numero %s %d %s...\n\n",1 HOME,CLRAS,REVERSE,BOLD,la_fiche,NORMAL);  show_fiche();@ rep = askcval("\nEst-ce bien celle-la ([o] ou n): ",'o'); if (strchr("oOyY",rep)) { simple = type_actuel;. return(FALSE); } }h } }[ } if (fiche.Double.type == 'D') { #ifdef DEBUG1i, printf("fiche Double %d --> %d %s %s\n", la_fiche, fiche.Double.annee, fiche.Double.volume,[ fiche.Double.pages);l#endif. if (fiche.Double.annee == pre_fiche.annee) {[7 if (!strcmp(fiche.Double.volume,pre_fiche.volume))a {6 if (!strcmp(fiche.Double.pages,pre_fiche.pages)) {m* /* elle existe sans daoute deja! */b printf("%s%s\007\007\007%s Cette fiche semble deja exister dous le numero %s %d %s...\n\n",3 HOME,CLRAS,REVERSE,BOLD,la_fiche+1,NORMAL); show_fiche();@ rep = askcval("\nEst-ce bien celle-la ([o] ou n): ",'o'); if (strchr("oOyY",rep)) f { simple = type_actuel;d return(FALSE); } }  } } } }m }% printf("C'est bon, je la garde!\n"); simple = type_actuel; return(TRUE);} /*D* AUTEUR_FICHES() met dans un tableau le numero de toutes les fiches!* indexees pour l'auteur cherche.=*/auteur_fiches(num_aut,nb_fic)/#int num_aut; /* code de l'auteur */]*short *nb_fic; /* nb de fiches (sortie) */{. short nb, k, bloc_1; long offset;D #ifdef DEBUG1r printf("ici auteur_fiches\n");s#endif  p_aut_fiche = aut_fiche;0% bloc_1 = auteur[num_aut].first_bloc; nb = 0; doi {2 offset = (long)bloc_1 * (long)sizeof(aut_fiche); fseek(c_auteur,offset,0);d8 if( ! fread(p_aut_fiche,sizeof(aut_fiche),1,c_auteur)) { 6 printf("Pb de lecture au fread de c_auteur.bib\n"); return(NULL); }i for (k = 0; k < 99; k++) {i2 if (aut_fiche[k] > 0) /* -1 --> fiche killee */$ les_fiches[nb++] = aut_fiche[k]; }u bloc_1 = aut_fiche[99];d #ifdef DEBUG1e* printf("lu... (offset = %ld)\n",offset); for (k = 0; k < nb; k++) {i/ printf("aut_fiche[%d]: %d ",k,aut_fiche[k]);_2 printf("les_fiches[%d]: %d\n",k,les_fiches[k]); }e/ printf("aut_fiche[99] = %d\n",aut_fiche[99]);r#endif } while(bloc_1);y *nb_fic = nb; return;}e/*$* READ_FICHE() relit la fiche numero*/read_fiche(numero) short numero;n{" long offset;r . simple = TRUE;  killed = wrong_numero = FALSE;n p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);# if(fseek(c_fiches,offset,0) == -1). {> printf("\007probleme a la lecture de la fiche %d\n",numero); return(FALSE); }0 fread(p_fiche,sizeof(fiche.A_lire),1,c_fiches); switch(fiche.A_lire[0].type)e { case 'S':d simple = TRUE; break;b case 'D':; simple = FALSE; break;i case 'K':t killed = TRUE; break;l default :r wrong_numero = TRUE;} }  return(TRUE);} #ifdef UNIXN#include i short cooked;sstatic struct sgttyb tbuf; void setcbreak(){t ," if(ioctl(0,TIOCGETP,&tbuf) == -1) {" printf(" sortir par set break"); exit();/ } cooked = tbuf.sg_flags; tbuf.sg_flags = CBREAK;# if (ioctl(0,TIOCSETP,&tbuf) == -1)s { exit();; } }rvoid restore(){n tbuf.sg_flags = cooked; n6 if (ioctl(0,TIOCSETP,&tbuf) == -1) printf("warning"); }/*H* EDITE() permet de faire de l'edition pleine page de la fiche, avant deF* la sauver. On ne peut ni rajouter une ligne de titre, ni un auteur.*a*/edite()b{y# define CTRL_F ('\006')# define ESC ('\033')_# define HAUT ('A')+# define BAS ('B')# define DROITE ('C')# define GAUCHE ('D')# define BEEP putchar('\007')  struct  { char *texte; int ligne, debut,e longueur; } champ[32];1 int ligne_crte, col_crte,c chp_crt, chp_an,a bas, haut,  i, k; char c,  corrige[81], annee[20]; - setcbreak(); /* met le terminal en cbreak */s a BEEP; curseur(1,30); 7 printf("%s%sEDITION%s finir par %sCrtl F%s (%sF%sin)",_1 REVERSE,BLINK,NORMAL,BOLD,NORMAL,BOLD,NORMAL);" /* mise a jour des champs */e chp_crt = 0;g ligne_crte = 2;? for (i = 0; i < pre_fiche.nb_auteurs; i++) /* nb d'auteurs */; { ligne_crte++;* champ[chp_crt].texte = pre_fiche.nom[i];% champ[chp_crt].ligne = ligne_crte; r champ[chp_crt].debut = 18; champ[chp_crt].longueur = 18; chp_crt++;- champ[chp_crt].texte = pre_fiche.prenom[i];i% champ[chp_crt].ligne = ligne_crte; t champ[chp_crt].debut = 46; champ[chp_crt].longueur = 6; chp_crt++; }' ligne_crte += 2; /* saute 2 lignes */,, for (i = 0; i < 4; i++) /* nb de lignes */ { ligne_crte ++;, champ[chp_crt].texte = pre_fiche.titre[i];% champ[chp_crt].ligne = ligne_crte; 1 champ[chp_crt].debut = 1; champ[chp_crt].longueur = 80;e chp_crt++; } ligne_crte ++;g ligne_crte ++;h * if (strlen(pre_fiche.journal)) {+ champ[chp_crt].texte = pre_fiche.journal;r% champ[chp_crt].ligne = ligne_crte; w champ[chp_crt].debut = 12; champ[chp_crt].longueur = 36;t chp_crt++; } elseN { ligne_crte++;s) champ[chp_crt].texte = pre_fiche.livre;s% champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 1;* champ[chp_crt].longueur = 80;u chp_crt++; ligne_crte++; ligne_crte++;u, champ[chp_crt].texte = pre_fiche.editeurs;% champ[chp_crt].ligne = ligne_crte; n champ[chp_crt].debut = 1;< champ[chp_crt].longueur = 80; chp_crt++; ligne_crte++;+- champ[chp_crt].texte = pre_fiche.publisher;r$ champ[chp_crt].ligne = ligne_crte; champ[chp_crt].debut = 15; champ[chp_crt].longueur = 40;) chp_crt++; ligne_crte++;A) champ[chp_crt].texte = pre_fiche.ville; % champ[chp_crt].ligne = ligne_crte; h champ[chp_crt].debut = 10; champ[chp_crt].longueur = 40;t chp_crt++; } ligne_crte++;) champ[chp_crt].texte = pre_fiche.volume;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;l champ[chp_crt].longueur = 4;s chp_crt++;i( champ[chp_crt].texte = pre_fiche.pages;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 29;s champ[chp_crt].longueur = 10; chp_crt++;(% sprintf(annee,"%d",pre_fiche.annee);{ champ[chp_crt].texte = annee;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 54;) champ[chp_crt].longueur = 4;  chp_an = chp_crt; chp_crt++; ligne_crte++;( champ[chp_crt].texte = pre_fiche.t_a_p;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;e champ[chp_crt].longueur = 10; bas = ligne_crte; haut = champ[0].ligne;  ligne_crte = haut;h col_crte = champ[0].debut;a chp_crt = 0;b curseur(ligne_crte,col_crte);" while ((c = getchar()) != CTRL_F) { if (c == ESC)s {u* if ((c = getchar()) == '[' || c == 'O') { c = getchar(); switch (c) { case HAUT:a if (chp_crt == 0)r {* BEEP; break;d } chp_crt--;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);) break; case BAS: if (ligne_crte == bas) {. BEEP; break;t }r ligne_crte++;  chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);i break; case DROITE:eC if (col_crte == champ[chp_crt].debut+champ[chp_crt].longueur)% {% BEEP; break;  }m col_crte++;c# curseur(ligne_crte,col_crte);. break; case GAUCHE:i+ if (col_crte == champ[chp_crt].debut)f { BEEP; break; }  col_crte--;e# curseur(ligne_crte,col_crte); break; default:r BEEP;l }; } }  else {m6 if ( c == '\177' || c == '\008') /* delete ou BS */ {, for (i = 0; i < 80; i++) corrige[i] = 0;( k = col_crte - champ[chp_crt].debut;. strncpy(corrige,champ[chp_crt].texte,k-1);- strcat(corrige,&champ[chp_crt].texte[k]);n) strcpy(champ[chp_crt].texte,corrige);c col_crte--; 4 printf("\b%s%s_%s",&(champ[chp_crt].texte[k-1]), BOLD,NORMAL);! curseur(ligne_crte,col_crte);p6 if (chp_crt == chp_an)! { F pre_fiche.annee = atoi(annee);! } ) continue;u } if ( c < ' ') { if ( c == '\n' || c == '\r') {d if (ligne_crte == bas)e { BEEP; chp_crt = 0;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte); continue;i } elsea { chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);e continue;  } }; else {k BEEP; continue; }u }+ for (i = 0; i < 80; i++) corrige[i] = 0; ' k = col_crte - champ[chp_crt].debut; + strncpy(corrige,champ[chp_crt].texte,k);} corrige[k] = c; corrige[k+1] = 0;, strcat(corrige,&champ[chp_crt].texte[k]);( strcpy(champ[chp_crt].texte,corrige); col_crte++;) printf("%s",&champ[chp_crt].texte[k]);e curseur(ligne_crte,col_crte); if (chp_crt == chp_an)c {" pre_fiche.annee = atoi(annee); } }i }( restore(); /* repasse en mode cooked */ }c#endif #ifdef VMS tint cooked[3];void setcbreak(){ int status; short iosb[4];o int ttchar[3];a $DESCRIPTOR(ttdesc,"TT:");d status = sys$assign ( &ttdesc,  &ttchannel, ; 0 , ( 0 );, if (status != SS$_NORMAL) {8 fprintf(stderr,"%%Erreur %d sur ASSIGN TT:\n",status); exit(status);c } status = sys$qiow ( 0 ,  ttchannel,  IO$_SENSEMODE, iosb ,  0 , 0 , 1 cooked ,  12 ,  0 , h 0 , = 0 , e 0 );u if (status == SS$_NORMAL) status = iosb[0];r if (status != SS$_NORMAL) {; fprintf(stderr,"%%Erreur %d sur QIO SENSEMODE\n",status);e exit(status);f } ttchar[0] = cooked[0];, ttchar[1] = cooked[1] | TT$M_NOECHO;. ttchar[2] = cooked[2] | TT2$M_PASTHRU; status = sys$qiow ( 0 , r ttchannel,  IO$_SETMODE, iosb ,  0 , / 0 , c ttchar ,  12 ,  0 , l 0 , t 0 , s 0 );R  if (status == SS$_NORMAL) status = iosb[0];i if (status != SS$_NORMAL) {9 fprintf(stderr,"%%Erreur %d sur QIO SETMODE\n",status);  exit(status);f }}rvoid restore(){e int status; short iosb[4];u status = sys$qiow ( 0 , ( ttchannel,  IO$_SETMODE, iosb ,  0 , e 0 , cooked ,  12 ,  0 ,  0 ,  0 , ' 0 );m  if (status == SS$_NORMAL) status = iosb[0];R if (status != SS$_NORMAL) {9 fprintf(stderr,"%%Erreur %d sur QIO SETMODE\n",status);f exit(status);e } status = sys$dassgn(ttchannel);}cchar getchar_vms(){s char c; short iosb[4];o int status; status = sys$qiow ( 0 , r ttchannel,  IO$_READVBLK, } iosb ,  0 , _ 0 , t &c ,  1 , A 0 , i 0 , O 0 , u 0 );s return(c);})/*H* EDITE() permet de faire de l'edition pleine page de la fiche, avant deF* la sauver. On ne peut ni rajouter une ligne de titre, ni un auteur.*d*/edite()e{i# define CTRL_F ('\006')# define ESC ('\033').# define HAUT ('A')t# define BAS ('B')# define DROITE ('C')/# define GAUCHE ('D')e# define BEEP putchar('\007')( struct  { char *texte; int ligne, debut,e longueur; } champ[32];H int ligne_crte, col_crte,( chp_crt, chp_an,{ bas, haut, i, k; char c,  corrige[81], annee[20]; l- setcbreak(); /* met le terminal en cbreak */a  BEEP; curseur(1,30);;7 printf("%s%sEDITION%s finir par %sCrtl F%s (%sF%sin)",b1 REVERSE,BLINK,NORMAL,BOLD,NORMAL,BOLD,NORMAL);; /* mise a jour des champs */E I chp_crt = 0;% ligne_crte = 2;? for (i = 0; i < pre_fiche.nb_auteurs; i++) /* nb d'auteurs */i { ligne_crte++;** champ[chp_crt].texte = pre_fiche.nom[i];% champ[chp_crt].ligne = ligne_crte; + champ[chp_crt].debut = 18; champ[chp_crt].longueur = 18;t chp_crt++;- champ[chp_crt].texte = pre_fiche.prenom[i];;% champ[chp_crt].ligne = ligne_crte; m champ[chp_crt].debut = 46; champ[chp_crt].longueur = 6; chp_crt++; }' ligne_crte += 2; /* saute 2 lignes */c, for (i = 0; i < 4; i++) /* nb de lignes */ { ligne_crte ++;, champ[chp_crt].texte = pre_fiche.titre[i];% champ[chp_crt].ligne = ligne_crte; ) champ[chp_crt].debut = 1;i champ[chp_crt].longueur = 80;x chp_crt++; } ligne_crte ++;h ligne_crte ++;g c if (strlen(pre_fiche.journal))1 {+ champ[chp_crt].texte = pre_fiche.journal;;$ champ[chp_crt].ligne = ligne_crte; champ[chp_crt].debut = 12;o champ[chp_crt].longueur = 36;x chp_crt++; } else { ligne_crte++;e) champ[chp_crt].texte = pre_fiche.livre;1% champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 1;  champ[chp_crt].longueur = 80;t chp_crt++; ligne_crte++;m ligne_crte++;=, champ[chp_crt].texte = pre_fiche.editeurs;% champ[chp_crt].ligne = ligne_crte; _ champ[chp_crt].debut = 1;i champ[chp_crt].longueur = 80;x chp_crt++; ligne_crte++;m- champ[chp_crt].texte = pre_fiche.publisher;r$ champ[chp_crt].ligne = ligne_crte; champ[chp_crt].debut = 15; champ[chp_crt].longueur = 40;x chp_crt++; ligne_crte++;h) champ[chp_crt].texte = pre_fiche.ville;h% champ[chp_crt].ligne = ligne_crte; n champ[chp_crt].debut = 10; champ[chp_crt].longueur = 40;t chp_crt++; } ligne_crte++;) champ[chp_crt].texte = pre_fiche.volume;_$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;} champ[chp_crt].longueur = 4;t chp_crt++;_( champ[chp_crt].texte = pre_fiche.pages;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 29;4 champ[chp_crt].longueur = 10; chp_crt++;r% sprintf(annee,"%d",pre_fiche.annee);i champ[chp_crt].texte = annee;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 54;a champ[chp_crt].longueur = 4;c chp_an = chp_crt; chp_crt++;c ligne_crte++;( champ[chp_crt].texte = pre_fiche.t_a_p;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;+ champ[chp_crt].longueur = 10; bas = ligne_crte; haut = champ[0].ligne;. ligne_crte = haut;c col_crte = champ[0].debut;c chp_crt = 0;o curseur(ligne_crte,col_crte);& while ((c = getchar_vms()) != CTRL_F) { if (c == ESC)  {m. if ((c = getchar_vms()) == '[' || c == 'O') { c = getchar_vms(); switch (c) { case HAUT: if (chp_crt == 0)( { BEEP; break;e } chp_crt--;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte); break; case BAS: if (ligne_crte == bas) {t BEEP; break;_ } ligne_crte++;c chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);i break; case DROITE:C if (col_crte == champ[chp_crt].debut+champ[chp_crt].longueur)c { BEEP; break;e }f col_crte++;[# curseur(ligne_crte,col_crte);r break; case GAUCHE: + if (col_crte == champ[chp_crt].debut)  {i BEEP; break;r }  col_crte--; # curseur(ligne_crte,col_crte);t break; default: BEEP; }  } }_ else {  if ( c < ' ') { if ( c == '\n' || c == '\r') {  if (ligne_crte == bas)  { BEEP;  chp_crt = 0;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);u continue;o } else] { chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);" continue;. } }  else {; BEEP; continue; }p }" if ( c == '\177' ) /* delete */ {, for (i = 0; i < 80; i++) corrige[i] = 0;( k = col_crte - champ[chp_crt].debut;. strncpy(corrige,champ[chp_crt].texte,k-1);- strcat(corrige,&champ[chp_crt].texte[k]); ) strcpy(champ[chp_crt].texte,corrige); col_crte--;'4 printf("\b%s%s_%s",&(champ[chp_crt].texte[k-1]), BOLD,NORMAL);! curseur(ligne_crte,col_crte);e6 if (chp_crt == chp_an)! {cF pre_fiche.annee = atoi(annee);! }t) continue;e }+ for (i = 0; i < 80; i++) corrige[i] = 0;o' k = col_crte - champ[chp_crt].debut;k+ strncpy(corrige,champ[chp_crt].texte,k);  corrige[k] = c; corrige[k+1] = 0;, strcat(corrige,&champ[chp_crt].texte[k]);( strcpy(champ[chp_crt].texte,corrige); col_crte++;) printf("%s",&champ[chp_crt].texte[k]);g curseur(ligne_crte,col_crte); if (chp_crt == chp_an)c {" pre_fiche.annee = atoi(annee); } }r }( restore(); /* repasse en mode cooked */ }p#endif #ifdef MS_DOS /*H* EDITE() permet de faire de l'edition pleine page de la fiche, avant deF* la sauver. On ne peut ni rajouter une ligne de titre, ni un auteur.* */edite(){d# define CTRL_F ('\006')# define ESC ('\033')# define HAUT (72)# define BAS (80)T# define DROITE (77)# define GAUCHE (75)# define BEEP putchar('\007') struct  { char *texte; int ligne, debut,( longueur; } champ[32];N int ligne_crte, col_crte,) chp_crt, chp_an,i bas, haut,  i, k; char c,O corrige[81], annee[20]; , BEEP; curseur(1,30); 7 printf("%s%sEDITION%s finir par %sCrtl F%s (%sF%sin)",=1 REVERSE,BLINK,NORMAL,BOLD,NORMAL,BOLD,NORMAL);S /* mise a jour des champs */" r chp_crt = 0;  ligne_crte = 2;? for (i = 0; i < pre_fiche.nb_auteurs; i++) /* nb d'auteurs */  { ligne_crte++;1* champ[chp_crt].texte = pre_fiche.nom[i];% champ[chp_crt].ligne = ligne_crte; $ champ[chp_crt].debut = 18; champ[chp_crt].longueur = 18; chp_crt++;- champ[chp_crt].texte = pre_fiche.prenom[i];t% champ[chp_crt].ligne = ligne_crte; = champ[chp_crt].debut = 46; champ[chp_crt].longueur = 6; chp_crt++; }' ligne_crte += 2; /* saute 2 lignes */u, for (i = 0; i < 4; i++) /* nb de lignes */ { ligne_crte ++;, champ[chp_crt].texte = pre_fiche.titre[i];% champ[chp_crt].ligne = ligne_crte; E champ[chp_crt].debut = 1;0 champ[chp_crt].longueur = 80;0 chp_crt++; } ligne_crte ++; ligne_crte ++;= $ if (strlen(pre_fiche.journal))i {+ champ[chp_crt].texte = pre_fiche.journal;%% champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 12; champ[chp_crt].longueur = 36;h chp_crt++; } elsea { ligne_crte++;o) champ[chp_crt].texte = pre_fiche.livre;0% champ[chp_crt].ligne = ligne_crte; } champ[chp_crt].debut = 1;, champ[chp_crt].longueur = 80; chp_crt++; ligne_crte++;  ligne_crte++;, champ[chp_crt].texte = pre_fiche.editeurs;% champ[chp_crt].ligne = ligne_crte; u champ[chp_crt].debut = 1;u champ[chp_crt].longueur = 80; chp_crt++; ligne_crte++;C- champ[chp_crt].texte = pre_fiche.publisher;e$ champ[chp_crt].ligne = ligne_crte; champ[chp_crt].debut = 15; champ[chp_crt].longueur = 40;a chp_crt++; ligne_crte++;c) champ[chp_crt].texte = pre_fiche.ville;l% champ[chp_crt].ligne = ligne_crte; t champ[chp_crt].debut = 10; champ[chp_crt].longueur = 40;, chp_crt++; } ligne_crte++;) champ[chp_crt].texte = pre_fiche.volume;t$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;% champ[chp_crt].longueur = 4;% chp_crt++;b( champ[chp_crt].texte = pre_fiche.pages;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 29;g champ[chp_crt].longueur = 10; chp_crt++;u% sprintf(annee,"%d",pre_fiche.annee);i champ[chp_crt].texte = annee;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 54;  champ[chp_crt].longueur = 4;h chp_an = chp_crt; chp_crt++;; ligne_crte++;( champ[chp_crt].texte = pre_fiche.t_a_p;$ champ[chp_crt].ligne = ligne_crte;  champ[chp_crt].debut = 11;m champ[chp_crt].longueur = 10; bas = ligne_crte; haut = champ[0].ligne;n ligne_crte = haut;< col_crte = champ[0].debut; chp_crt = 0;e curseur(ligne_crte,col_crte); while ((c = getch()) != CTRL_F) { if (c == 0)t { c = getch();d switch (c)h { case HAUT: if (chp_crt == 0) { BEEP;l break; } chp_crt--;h' ligne_crte = champ[chp_crt].ligne;=% col_crte = champ[chp_crt].debut;l" curseur(ligne_crte,col_crte); break;o case BAS:r if (ligne_crte == bas)+ { BEEP; break; } ligne_crte++; chp_crt++;' ligne_crte = champ[chp_crt].ligne; % col_crte = champ[chp_crt].debut;_" curseur(ligne_crte,col_crte); break;+ case DROITE:B if (col_crte == champ[chp_crt].debut+champ[chp_crt].longueur) { BEEP; break; } col_crte++;" curseur(ligne_crte,col_crte); break;e case GAUCHE:* if (col_crte == champ[chp_crt].debut) { BEEP;e break; } col_crte--;" curseur(ligne_crte,col_crte); break;i default: BEEP; } }p else {e< if ( c == '\177' || c == '\b' ) /* delete ou backspace */ {, for (i = 0; i < 80; i++) corrige[i] = 0;( k = col_crte - champ[chp_crt].debut;. strncpy(corrige,champ[chp_crt].texte,k-1);- strcat(corrige,&champ[chp_crt].texte[k]);}) strcpy(champ[chp_crt].texte,corrige);+ col_crte--;c4 printf("\b%s%s_%s",&(champ[chp_crt].texte[k-1]), BOLD,NORMAL);! curseur(ligne_crte,col_crte);t6 if (chp_crt == chp_an)! {eF pre_fiche.annee = atoi(annee);! }=) continue;+ } if ( c < ' ') { if ( c == '\n' || c == '\r') {p if (ligne_crte == bas)c { BEEP;  chp_crt = 0;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);c continue;r } else_ { chp_crt++;( ligne_crte = champ[chp_crt].ligne;& col_crte = champ[chp_crt].debut;# curseur(ligne_crte,col_crte);_ continue;h } }  else { BEEP; continue; }  }+ for (i = 0; i < 80; i++) corrige[i] = 0;-' k = col_crte - champ[chp_crt].debut;n+ strncpy(corrige,champ[chp_crt].texte,k);  corrige[k] = c; corrige[k+1] = 0;, strcat(corrige,&champ[chp_crt].texte[k]);( strcpy(champ[chp_crt].texte,corrige); col_crte++;) printf("%s",&champ[chp_crt].texte[k]);; curseur(ligne_crte,col_crte); if (chp_crt == chp_an)c {" pre_fiche.annee = atoi(annee); } }t } };#endife DROITE:C if (col_crte == champ[chp_crt].debut+champ[chp_crt].longueur)c { BEEP; break;e }f col_crte++;[# curseur(ligne_crte,col_crte);r break; case GAUCHE: + if (col_crte == champ[chp_crt].debut)  {i BEEP; break;r }  col_crte--; # curseur(ligne_crte,col_crte);t break; default: *[DANA.BIBLIO]NEW_FICHES.EXE;1+,s .K/ 4KL-b%0123 KPWOL56`[@7/@8ʤǔ9GHJ0DX0205(,@,hD NEW_FICHESV1.0#,@05-05   +D,Jv B ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s -> pb c_motcle_index.bibrctx=bin%s -> pb c_auteur_index.bibrctx=bin%s -> pb c_abbrev.bibrctx=bin%s -> pb c_fiches.biba+ctx=bin%s -> pb c_motcle.bibr+ctx=bin%s -> pb c_auteur.bibr+ctx=bin%s -> pb Actuellement, il y a %d mots cles et %d fiches Actuellement, il y a %d auteurs-mots cles et %d abreviations %s%s %s Fiche Numero %d %s  Il n'y a pas de nom d'auteur!! Desirez-vous garder cette fiche inhabituelle (o ou [n]): oOyY Desirez-vous ajouter auteurs ou ligne de titre (o ou [n]): oOyY Desirez-vous changer les mots-cles ([o] ou n): oOyYLa fiche %s %d %s est sauvee  Je ne garde donc pas la nouvelle!  Voulez-vous continuer (o ou [n]): oOyYc_codcle.bibwctx=bin%s -> pb Maintenant, il y a %d mots cles et %d fiches c_motcle_index.bibwctx=bin%s -> pb c_auteur_index.bibwctx=bin%s -> pb Probleme d'ecriture sur le fichier des fiches %s Fiche %s Numero %d sauvee %s DoubleSimple **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s **************************%s Fiche simple numero %5d %s*************************  **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Pb de lecture au fread de c_motcle.bib Fiche %d cle -> %d Nb fiches %d Mot_cle -> %s Pb de lecture au fread de c_auteur.bib Fiche %d --> cle %d Nb fiches %d Auteur %s [%d;%dH%s%s%s Fiche Numero %d %s %s Auteur %2d %s %sNom: __________________ Prenom: ______%s %s Titre %s%s_____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________%s %s Journal: %s %s____________________________________%s %s%s Livre: %s %s_____________________________________________________________________________%s %s Edite par: %s %s_____________________________________________________________________________%s %s Publie par: %s %s_______________________________________%s %s Ville: %s %s________________________________________%s %s Volume: %s %s____%s %s Pages: %s %s__________%s %s Annee: %s %d%s T-a-P: %s %s__________%s %sDesirez-vous corriger la fiche ([o] ou n):%s oOyYprefiche.tmpwpb sur prefiche.tmp: la correction sera impossible %s %s ----------------------------------- T I T R E -------------------------------- %s ------------------------------ R E F E R E N C E ----------------------------- %s %s %s %s %s %s %s %d %s Entrez vos mots-cles %s Mot-cle %d: %s %s____________%s %s Mot-cle %d %s: %s %s %s Mot-cle %d: %s Vous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) ([o] ou n): oOyYVous avez le choix parmi... %4d --> %s %d mot-cles possibles avec %s %s %s, precisez mieux... %s %s %s est un nouveau mot-cle (le %d eme). Le garde-t-on (o ou [n])6~ BIBLIO.BCKs b%[DANA.BIBLIO]NEW_FICHES.EXE;1XE;11K!| : oOyY%s prefiche.tmpeditprefiche.tmprpb sur prefiche.tmp: la correction sera impossible ------------------------------ Mot-cle %d: %s Voulez-vous Ajouter, Supprimer, Modifier ou [Q]uitter Reponse (A, S, M ou [Q]): Mot-cle %d: ____________ Mot-cle %d: Numero du mot cle a changer (1-%d) : Mot-cle %d: ____________ Mot-cle %d: Numero du mot cle a supprimer (1-%d) : Je verifie que cette fiche n'existe pas deja, patientez... Pb d'allocation memoire... %s%s%s Cette fiche semble deja exister dous le numero %s %d %s...  Est-ce bien celle-la ([o] ou n): oOyY%s%s%s Cette fiche semble deja exister dous le numero %s %d %s...  Est-ce bien celle-la ([o] ou n): oOyYC'est bon, je la garde! Pb de lecture au fread de c_auteur.bib probleme a la lecture de la fiche %d TT:%%Erreur %d sur ASSIGN TT: %%Erreur %d sur QIO SENSEMODE %%Erreur %d sur QIO SETMODE %%Erreur %d sur QIO SETMODE %s%sEDITION%s finir par %sCrtl F%s (%sF%sin)%d%s%s_%s%s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)ά^KXmUZߥ7ߥ3ߥ.ߥ*ߥ%e}XѬ1g~ߥ>>P~xXPg HHHHHHHHH 2P?PŏߥjZ&XřZ3C;ţZWZ CЬRݢW߭W߭W߭WP}߭W\W߭FW߭R>SRUTdiSdZ<2~mdDFUSc2~2@~DU4d d<~[d<~dc~~Trd<@~GdcD^dK< ~Vd5NTV:Y TX1T[JQSPSRT,TQSSc2RRR^ZU6f2~ PTSP(gfn~ŊiP~hPoW1bn~iP~hP 2T~&P1o~ iP~=hP 2T~#2TRR Rlj2lRRď-RR!SP _fmP<-~kL-<-~k2p~ žSPŷSSŲŏf2TRRZRa gRbBfRSPRSS Pkfn~ŐiPWW~żhP1RRbbb߭Q߭Q߭QP߭QQ>R>SRQRbsSbd<2~wbNOQ2~2M~QQ߭Q߭ Q&$߭QP߭. QPP<@~vPP߭|P8߭rPMK߭pPPa߭UuPDPZ~7eBP < ~+~(P P2P<^aeSUTd2PPď-PPeOP_OPe<-~O-e<-~tO2~ þRP÷RRòÏ^O^dU=TBW1"2~O\2R\R@ OS\PPRBP@d&cz\P{PQPP.cV2RR\V 0N\PŏQ\RBćRbNP b2N\ԟ6NSc;c@c2~DcJc2 ~\c\>Sc2cRR RBgs"NS \1e2~wN\2R\RCMSP\PPRBP@cz\P{PQPPcV2RR\V M\ŏQ\RB RbeMP bxM\ԟ?EMP?VM3MFMRbĞbbbdMSci c2t~cvc2ā~ă(c\>Sc2cRR RBg?LS \CL|^aTSOJE~LUeĬ2~ħSe 2~İe\2R\RC7LUP\PPRBP@ ez\P{PQPPeV2RR\V K\ŏQ\RB RbKP bK\ԟ?KP?K3M"KRbÞ)b7b<bd@[KUeiEe2t~IevOea^p`TXWSZcԮK[J8JVJ >464P PЮ4RtPPY1Y2YRxRRBgP`1 BRQ>P`PbQ2PŏPUUhkh~'HP/cf2YRxRP@gP2`~R2~ċf RBjĭf2YPxPP@Q2aRBca@gRbacJaUhkh~0R>cP`PcRŏUUhkh~f0hR>P`PcR2YPxPP@gRb@QJa@Rbcŏ2RRhkh~04 M^`^YVn[WIZgS2RSR1H8H4H0H@HRPkSPRP@TPSPRP@TTXX~2RRxRRBvUe1XBuRP>RbRbP2RŏRXX@~r@PMɼD2>PxPRBuR2b~P2~Pk SRBT PSRBTTH1`2>TxTTD?uU2eRBgeD'uRbecTe5X@~,P>RbRcPŏXX@~u,PP>RbRcP2>TxTTD|tRbDutUeDhtRbgŏoRR(@~,DS2RSR1n^e[RݬݬF^E[\&!EΤ^#[TVE[&!EF2~A*ESEUEY0X=EWSZZRReĖđčS~ĈJeZRRekiZěĚhZDPlZSP@gSSKUCPZR.RekiZĝĜh`ZSP@gSS 18S  SZZSSDUeĞaD2RRZZSSeijĮĢekODZZSSe ķeZSSDRZ /ZCPZŏQRP@ CR) PRRZZSSCWgF A = 8 gZS SgkxCXhZK J z.YiZ#CP1ZS SgkhZΨΨRި Pި~$CPިΨbިZS SBZL BkBZJ~Z?B1^ZSSgO BkhZSSg ļ ĸ ij S g7 2 . ) gĈ ă  z ; g Č gZZSSgkhZ iZMAUeZZSSgkhZ iZƞeZZSSgkhZ iZeZZS SgkhZ iZeZZSS?AUe  eZS SekAWgZ ,Xh^Zd@YiZSSe8 3 / * eZSSekgZ= < hdZiiZS-SeR M > eZS6SekgV ##Pttd2tRlRRtZS6Se2t~W eZZSSeĆ ā } x Z eZS SekgZċ Ċ hdZviSSe ļ Č eo~ %P~ `?P C?P0 K?1U2RUR1>?S?WPUP@ΰΰRްPް~cPްΰbްUP@άάRެެ~cPެάbެUP@ gUP@ kgU2PUP1f Nk>SŏQSP@ Rb1>Pbg :>Sk &>Rb?=P?Ļ bDMĿ bƞ b b bd =Sci rc2t~ `cv OcS>RbR S P=qPSS;S 1PMHDSRR?;62R- ߭ =ZQ߭(Z<P/fZPCƍCƍSS 1zSRDRRf cl<2P|<^QTRUOVݬ߭%<ޭ׮ ޮ R P ~Q<P  b SfRSRG/SRBe߭;P'B Rbݬ;bb]R;SfPSP^QVT[UԮ2RѮR1;Yk;XPRBޮR~iPbSkRSR_ZJWg S\LkhP4\LRbEPEčbU\\f;\UPS \S\֮2RѮR1ZUPPx^3PXЬRbPb~:PbRbЬSS:cRRRB:WSf:PPSSȰ P@~ȫvy:n~ȴ P~ȵ<:PSPP|Z28RZR1Tެ :(:$9Y ZRB~,ޮ,Vо STݮ,,PRS,RPЮ,UPSUUPPQPRaPЮ,Q,faTTRZPRIZSS ZRB}Ⱥ9n~P~T9PtSP ZRBa}0ޮ0Wо VV(PUݮ0(UPRT1RRSRS#UVݮ8iPЮ0T0gRPRPTT [ZK[Z2PZP1[OSS8 RB|38o~<P~=8PSPP[[[:B8S[% CRBo|C~`^8SS[PȫݬȦ[m;8P2!RRRݬȯ8n~?P~7P)ݬ2R RB{72PP^PЬRb~7PbR^LUT]YZ߭f7߭7*-7Pi,97SޭθPQiQ7PRθ6P@޸S߭6PSi6SRSR9PޭδPQiQμ6PRδ6P@޴SPSPɰjRRP@RP@RSo6XX6WE6VޭΰPQiQθhPRΰgP@ް߭ 6Pt a߭5PP߭SP@fޭάPQiQδhPRάgP@ެ߭SP@fSPSSj PS 1PS 4SjޭΤPRiRά5PRΤn5P@ޤRŏQRP@ RSޭΨPQiQΰD5PRΨ&5P@ި߭5P. l߭4P!߭ŏQSP@ 4SSޭΠPRiRΨ4PRΠ4P@ޠ w߭4P.ޭΜPRiRΤ4PRΜs4P@ޜ߭b4P߭߭?741jޭΘPRiRΠ54PRΘ4P@ޘ߭M3ޭΔPRiRΜ3PRΔ3P@ޔ߭Ğ3ޭΐ'RiRΘ3PRΐ3P@ސ߭v3ޭΌ'RiRΔz3PRΌ\3P@ތ߭83ޭΈPRiRΐ;3PRΈ3P@ވ߭d2ޭ΄PRiRΌ2PR΄2P@ބ߭i2iPtޭ΀PRiRΈ2PR΀2P@ހ߭vk2jSRDRRe2^Y]W1uTSgS`2V2ZSXHRb 2PvTbXޮXUXPX~fPXXeXSRBTޮTUTPT~fPTTeTSRBBjSRBBdjPHSRBdSbTRŏQRSC Tda1PdCLJC1Rӟ?11ScdcictvcޭR0PR0Pc0P P>ɍS>RcbSR P1=TDgS0VSUERb0PTbEfSRBBf ESRB STRŏQRSC TdM0PdC /0C R˟MM0ScɞǞccc??cddciicttvvcޭR/PR/PǃcǁP>ɍS>RcbSR P}/8^DTU}XzsVS2hRSRGP2CōPP P@f߭$/߭&/P߭SRRĂ2/RS2hPSP2hWq~ēMP~'/Pa3PPPPPPPPPPPPPPOP1bP"?P2hSSRRRZ.߭ Z߭v.P1߭PCō1h1PWZg.WZ.PSSRRR3Z?.߭ZZM߭-P1߭P1߭ PCō1yW\Z-WZPWRBō@ōWGōh1?P18 ^ݬ ݬSS-PRSg-P@RP|^VЬUUH-PRЬSS8-RPUTPSTTPPQPRaPЬQ֬ЬP֬a`VVPP ^ݬ,PSݬ,SPRPRRPRP$Sݬݬ,PЬP֬RPRPP^BWUZUYoX,Vǃ,4}6R2SRS1P\RQP\QP@S\SPPP@fRT\TP@Q\QPPP@fSPPPQ\\P\\T2T\x\\LYSccT6R\L߭+R2\R\1j6[12~i+Pj+4 P2[R>[ިOxRRB|YRTS2TRďRR@q+3~<+P9+1PQP2Q\LhSRS2RRjPLhB`=bQTSkR2SRS1*D*[<8*@jSBcT2TH*HRio2HSS\ď-\\v*PS*LSwRWnVXV[uZkTdjxRBRYU2YRďRRh(h~jd(Pa(PS2SQAdUPU2PPfRAd@b=bSYU< ^u=SUTde﫥2RRPď-PP˞'PR*'P丹1J?PbdScߢecߢfcߢ+duScߢ:ecߢDfcߢSdUScߢaecߢnfcߢxd5Scˆec“fcPœdScªec³f^FRJUJTZJW!V[YXfݬpݾ½߭k|~jgi~߭ ϧ ߭iP߭cPSPоSdeYSdSe?edW`߭k߭iPO~fh߭fhSd1^Se1VSPPμ^ERIUITIY+V[ZXWfݬ|k߭jݬ ii~߭ ϱ ߭hP߭mPSkSdeYSdSe?edd_߭j߭hPO~fg߭fgSd1_Se1WSPP^DRHXHW?THVU[ZYfլݬf deѬ  dݬck߭jݬ ݬݬHHi~߭ݬ ϑ ߭iP߭MPSkSghuSgSh[fլݬfdehg-^ ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬS|~﫶c~߭ϋ߭ePPP^ݬݬ c~߭<߭PPP^BR Gլ լݬݬ C'ݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭jPPP^ARETESgWEVyU[GZY1Xeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~[S߭j߭iPO~behv߭qhehQc1UQd1LPP^@RDTDS7[[DWqUZ?YX)Veݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^?RCWCVC[pS0DެU2TZ,YXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭UPvjQfg{QfQg]eլݬe·cdVg~Vf~TY߭i߭hPOPìP~cd߭cdQf1Qg1PP ^>Rݬ߭߭P߭߭PPvP ^P>Sݬ_ݬ߭|~ﮱhBs~߭ݬkPO~z߭TPR߭ݬ 6RPݬ $%^=T]ݬݬ߭ݬAs~߭ݬScPORgcPR~߭cPR߭ݬ RPݬݬ  ^=SAլլݬݬoѬPPݬݬ߭Gݬ$ݬ ݬ@s~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ xy8^R|~|~ ߢ |~߭#ݢ P\\2\\\lI\^}>R|~|~|~߭1ݢ PT^{:WY=>Z,΀CЬSЬRBcjiǏeVSkSySǒiSmPѪjЪjm> _·P ·լլ ΈPΈΈ8>0ݬPRެTRdSiS%RRdΈ"ݬݬǕiiqiǟ PPf 9WW)WWWWWWWWWI9P&?Prn[^n[jn[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vi V1iy ΀1iǫ V΀1 siF 1P޼RFb $PVVi!  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷ" VǺio ΀1Pݬ: VP~iI ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi i 1rPiw ݬi i iI ݬ{ PѪjЪj ݬZ PѪjЪjRjPi e RRji ݬi5 #8/ݬ PRެTRdSiS RRdi V1zVi 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT( CdB T1 V· ·XP XX~SCd i4 iV1Vi 1PΆ1i ,iVkЬRRRRi6Έ/RPRެTRdSiSRRdΈ"ݬݬiaiٮi)Ά >i?ݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiM]V1BVPib14iV;fݬaYiiij ݬ6PѪjЪjRjPi ARRjimݬpi4/ݬPRެTRdSiSRRdisqV1VVvi1DΆ1 c10[1)R[jЬSTUU[USSPSEd-P1޼PE`ݬ$ݬݬΐΓ~ݬݬrV PRR[i*1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪΆ i1+Pծ,1΀1Ԯ,i|Rji qRRji?3Έ%RެTRdSiS1RRdΈ"ݬݬǂii}injVVi1` i%Ά~ǏPi17P f%Ά~ǜqPi1 PRP`PORVЬSSΆFVRBFc ެTdRBSFcǬi ViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlR[ݪ c1ЬRݬ=PPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn」[n謹[Οnﵣ[Ο(^=,WV/TfǸAݬsPѤdФdRdPf }RRdfǻݬǾfM;0լ.ݬPRެURe SfS%RReլ"ݬݬffrff@@"LL L 4t|l<d|DtL, t 8 ,  @VAXCRTLLIBRTLMTHRTL NEW_FICHES main write_ficheT show_fiche show_pre_fichex write_motcle write_auteurcurseur erase Ц get_fiched 4 test_abrevذ test_auteur trouve_key(strupper(corrige$4transfert_pre_fiche change_mots fgetss00 dif_stringaisinstrW fiche_unique auteur_fiches read_fiche\ setcbreak\restorei getchar_vms, edite4     ` 7 W?  ~d `i}iia~jF 1`Kld4Z7mts'xl竤1 }(p߸9Y$㤒#8|ԉ Q1[mTQsw&;l0Ꮈxv!n$bGOLMR pE2 .dCwn.Y-Ւ'^p/ϿZKP;!+%KCчl"f?pM v`6*Ħ(t2fM$N` T8MlŵfJN׈W:d=Di;) u؇oK=C;8Ƞ̊p*)piK_uK}.XZ9s_Q03.᧰`7ȻEF]zÐqjaڄ uU%g*7uizM0Vudaa{<] nTHD&,wBAAKVh,DKw"8=2>=hr4LT4}umߢ%[1|fK?՛ {_B7$0gt #'.m:μp/_>k w¸հ}mZζxi4]/Rvhjmt'vR ~ݯ~#zdt#m?k\X/aVAߍ:%wirJ YǮoXF=_kS} N90t "NOBl}bΥ,k |"vu;?-T>p$qkwۏiM.KD|R #$pvFt$l +=Ip{SMw4eR9Gc3w|LW5Y]}`3ټtN%3lEd>_|S^ΔJ< 0[8U{jTaէ lSxJcU=r!L}:=rwVk֖m &_WXܯzE8ȡWqMu/P s{Me`jMY`:H 6^ ,.X*M_ӽ{ znMBsyE$qmsR#|wjs=hj:M:>5A[5W;[M!=?O)H>VuҁB\LE3RO֮\6mH5TP!1_OzH~>pwGF25XXz#lq8p:;]ۇ BL˜ӜK%NI}7,OVe,ܛI 6%$`%)s9\mF=lbS(I1 _H d>,JH1.fPtږr> h_vM=!;=ާ'l)(jЋAA0l@ڋ) V1=o)0A83\(uau_X9;rq6-( &x5DP2$zgXu͛Y42=5{b[1)%>h?5Տ<Jg_c}dna{;?"7UvT UTOB/k\<[I8~܀<ˣxNVjz(>[25% I.>E4cpk&s];:Ř]U EJQ/ i<Ni_vT{ژ`Ffzw]pdnX daVBT}t"!Ii!uTcpSH%[ Yl3[3c!61N0\ޢ,~#=- xrk!tJ\ZTvm#x~wZ^vTU85\4a:,àݶ*7!D۷^2g |S= IF%Z7Bhi2략2|opf ~ܼ~"λd[s =˱f^G DwL!CdL(RȜf+q|>~-հvW䨩tؔ'ˮaU՘ghC PxrL@X)fUv|Hof2R4 ѧuDjWQ8nk= pHނE?z#'N ,Whޭe!cwqip=+b/~)ɬN!mR2)-TZ׻G쩺WIV ?qL;ԋJL+5yŋñ4|6oՊThC賅p?9_Ņ'P6N#ZUZA'V)J3vF)2FҏFkBKRʕ{ *|w_T#X勤/`1(HU›θ`ntG\4`q^#PE{0\myz(_%WG-*7]jSOnR$ p~5q]wv@ͮNmS>%RjZ~J j|)k!u .*A;b7 $I^sˋN_oxXsC)YT'a{M&2I ު˘UsˌFV3WLוʩ~ᎃᯌ"&PȤ農=jWNn*4j!5]g:70 `ʅPTv/ >A}KX~?|[xNpn}I>xsZ^vN{wonci!˙pܸӏt1d-Rվ*ii[~`Kkcr%׃ f\Ee*5:p1[N^h쀭bIb #>pAЩŒ+]'{6HUwBރT =*FtXg}2@:w!irxy7%OqHqBi>mHdJ6GQ}VP%7ak}9 vPc6e\Wq,(sCqx #k1AįƣuR  逄8 myVVPt =v0^$V\-1;w c2_YM"z3ƒ0^g`H$adA 'e( 9 &N ëE*2~jrHq>7l@]`=)1::h۪Т4w9T Nq3&WNxuL^k&5TڹF)ƾ0 f1ȔcxBrB&l+4fM n; p z4?=8L"cnH3!hɚf 05N\e>z:ή;QC"i!e7%REkA3y{pIb9oM~X@e?H|{j$#Lpw$X.!2HG"MLwnH{g㽻!d`"X{Y$AGGՑ}Wz# G P;xLdׅ*+ y}2VHƮ,bS[ManeCkF$Y[߹W^~N*:DJGP+˓ta~.0-(p%?lJJ鰜,WgZ<3D>\% σY2,=z'udVGf4Ҫ!p wo$^6~5*5"_=0#.giGTqXo9|I%~)1/>5QB4\*wEi Nt-\ g%2L}oŃMԧkH钀˙'G1{R#:-4Iz}jM̎ 8JasЛ R: S OQ#89ÞUpȜwLcF"KI8]=.2HU2<:^@2iw"UoSkL9ĩγ#H;fƵb$KA`Gzru?6jRbDqT,%؏4-Nܳ4KWc,hb7=Mz?360 IKEm(yϥ}d\D] _<4*68\Fr-'9Qr"۲za7?Ĵ.nhUt^[UA 譺N4bi+vS QgnLiR5g~85^a$x[3ki Ō?LUAN^8ө~阈I"-/% q0/}O8T1?{osHi<9'|^zehrX#o#j\u~غ6%ǯWbiQf<Vubg"-@h7rHW !׵8;~Cs;ebaFnE [ɸB_&.:;UT:SWv<}!*|B@ɾɅKY8KʘbmM2ێ&y m"u_LkY!' ob݇9-J 8=$\$wcd\5ILJ' [d(~ @aVKcq/Q  3hfhN2M~]MhQϲ=_½F~辻bxU#'YH%~ghI/ m?TWts& @ 2 E e@=%@>G+2 yy)u2ď 82Ax!Jpxo،NK4 IR|ɺrC5 FrmA\ZXn\r |v h`2Kyy X>H*_FH:f5+{?ЯiΈ. J'K˄"y"w1{XʤܥMz\vj^i'ǀd9Zi9d5wR#v$!`L/(4)Ꝗ2i%\íwDSLu{=,T^Th>/)yj 2+2޳f9}8_LNahEYKO S4^Ҡ_%0Kc^x毽sa+:k낵 8v<%'Wۦy &֧t-e Y0*Y|eq6'dt8{p;tZV_< =Ns }q@Mw ;($`KͽP/@x)GmÛ@uy`6փ$1rseZGK -+s˓52b=!*wMD@bt[]&؛ʞzZI_~.bvF8k),!] =.#Kԅ jyZg!ZI2XuYewKKw-Y铥sJt α@ ??yep)#%4%2jeAތ *Ԑ{`eﰀ޳b5qE -Jiw:}Vk<ĥps:B,c׎Y'gwe4P(쐣I+V@%+]~P"r4Z2#c"t;xI f#ai:BΗd9y/$t;wy@# $EJiJf ݰ = 5ɛ'`#O^|'L~NgGWP5X]cu]KERgY=G3,N6e "6~cZ(7ň̿1PĮ'>K:wgf=)](/=$c{Y/dS(w+>?Ўk)ZZC6wVĘ(ւ=~G~MUpt #mݫZq!&}95➌$lv nḁ`ij2$ed_J 6A6}[)o͙L'2W9!B61gΣ&KiNH-/U./_π洞NQ:'M6;6v-i*gw!ulPG"M%Q9^C=Db7ڶ}{5][ZŬ+LW˲}C!߮BWyLtR͖KC-,ڔ5||rK{"dةa]Xn6 .1 j}C5mweUCm!Ÿ{b=mV_{o[:خ>s6zYe8N(bϞ_hwAeg?u\qnzph+~5*n5ρڌMA 1z4nj?4s J/~.o7a~2гLRQ,~F*x_h:?7`!ԾJܙ6ZXaK$1TTz4<7IC;ZP. ݜ="|o~P]&->E#R(W&&ʚ$@2q0DpF4\E=F!;he}mY$ NyI~og%Y: *HWptCBvЮ[gv4x1i -3!2mj?t{[r3/sYr7 =F CڷO7 |z SPOxu{qau4~%kR)kx2wxe:t5LcxWu󬯚!'CΫ^ivkSa/>4 nW[ BsŃ%c5a W.i;d@_츗[*1'a߼Gg34OGЗz&zܒϡ)Eof@ir.u8͔t~#Y0VY-_ !Z}dYU:Onz _BG8sW3R1z*- XYXSKwIf +[ jfi Қ)MrJ&#\#VxKT:@ '?<׷%D8 .bpGJn2a(9fSR}HHge .X&o_(&j[^F(p[`Mʥ!Rۙ3f @wn5gx_:%q]+=/0"OX7saS- m>' M' 3dێ"Nq4!Kv ӴGF3+::"bQ 4`Iy %6h]HxoYgi=(,%۳X< 2wI;/(uIEh}<~? L1{uOk&wNCQ04wW m 5M|ד$>\τMCij^[暢+O=ʼn(e $^#` ¸ AG{k/j7?.B Z)| ,KюOj0ҺuQ;)Mmp5BQeML|2o86N 'D 8*7dl/=(tvMdXȽ:ɧRNk1MPWz+9EFҒ27IưHaw'Nt:έ" SCd'UHcå&I#D\hU7t=}Vm (jwS:ϡ7[#f@}c>^z!rL9N.}כ $hk_N,Py) t.+ 6|/BP^Ep1+w/-rWI$4펚usi*h 0Zɧg5cWǢbv?:P9 r0Bx^pjUU؝ d4k˯XX~wzPD Pb@Cð9l&Hr#E!,.Љk/,@.xv$ݾ^-T  |HK.ei^75Y`#t++ +Hz͜nݐ먻aݪ0=QzQd)[бz$T )-5ZDc?j udE".}6]ûvq`8mncRC?{0^D.+G>@&`2J0`Fk~V{ >sEQ  V`:pο)U)?r^ӽvQG?*Uёؗ!29?qe tG[w(G{O[(/3< nP?ZڈZS^]Q P u`RZ6D?x-6!5&nׂ PF@m{#;o}5Lo#G osJZٙh)D^XHV=]T4~Knilw Q1 A>ՔU'mKXFybp_DF$БOK#'0>g\:D\spg7n|Y^@%<92)[!f /QY7 G|6C'(ZMb+*R:re$~:(]p|ͿtRYg®¯++@P4OJo3Ykcz9ͷzEnڰf2Aȃ7_.VPj#U8|nuo=|>#5 O.Ui}J M+$w [Q| O}}7:ܑxg0=濿%_Yfoɐ/g$KzAbCK7V)ljnWKq!=k7V6Ov>hzbiR?E8V#KPEӰJ'}ժ\KNU?D1[Jz&/â+c4|}=]G8_T3[6.Jh xy,4+n8JP\K#?/y2st}g\x;ͭMY4Zll ć6f"C](匣?)|ЎWdPW~ t^g%{&Ho`<&^@Wr? ̷A>!+.1~&;m -uʼڗX0YO]8z#D*}M6?;(1Eq8hYL*g2f-_A~$,, QMAU x5$xop"BWQkߺVލozT;yh1_a1ki[&d32-5`*2V&^M#ul$;)@tDsĦk? ٪OoҀmdiZuiO; nn+l8o[o2`9̊.9y y,D(*q!|Nҳ8K.[| 3H )ML>=lFmS~KJSjl8I:8PZOdy8dU-]XDޅ>GUߠxxkȂY5֧]썕93٣"[p/Hۈ#s1nMuP]w`7oZ jAAR:D]4/z`9!L /Zl IXWY힧oC{+vOO =ӹOSK_dL֤7t~rS+o3f>eՅS|wR{2<{b4UBHR(҄" tG!x?\yFCd!Z۪~=3@f> {hsd׌hwTGc{0!g=Bd7n`Nxm ~onGjN.d.DߤPZr{UXI {/Vʌk= gܙPKA+L"@zNgZ.蕠 j[ b,^)*O3Gì_ OegMksjCT$P b:? ,+f g.+pd IڂoW@ t{7-爙씘vЋ\7.Y4ӘI̓QBZCi]dYu1$׶6O[R'`kc6xb֢^Ql[0K *u'M{>DY6Zپ/92=vLᄬcf_˃ pЏ'M1^쵭>1!&" 3[0Z/_M=[qJZdS{F(s 8VKk/\w#M:m v3`2xo;![?ba+%v4ROG?Qbw5s33͊{œjb:֘}2%c?Ҧ|q@Z_dg{*OPmB9Iq{\WxK]~z#a'%ĞVAb| ɾ,&r ƾ//D(FZeG\Ѥb25EfvLˍ᫠v~IKja7O*Jsi5f~y <{ 2Lzц5%o!}f}QHS℡O\b7'{耀&-4&-ԇ-"k>%lº(DRHHt3)=K9~ŏ.GͣC`>LV$4kqx?4i󶎾M)#pJ@tx I N0*Z) Aucv3\[֛HwTC)7;uBwv1t>ZR vRy|Dïf ȤZNYqء¤~4kȶ'w-  tq_)B#v-:g]ۼ"#fŏb;}|_ [V2?2S- #Lj3G@xϐ&Y{#m~k ]H(ҞAb P^3|zna-D:T f؆}"lD0ww;":pOܗVe⌸Ҝ$f97S_άU~<>Rc<.âi)T4OO:pZ603"pLwvB 7\Ewl{b?!on΢@~uIϬLAHF9tڬLa_ߕ L2? t8YNLB(Yp-zБ 'o}f*Efpŷe/dU+.yS;bf] ὂ+?I.}A@P>Les,B$ϥg(7cj~E6-D ]~[7u qJo4Rk'lj>]M7[y$,YGh+tW~͕)7?YxT*vi)뷺NJ i4^ e4;tYG$ƏC9_ۼ-h1`Q]C}ELPܧZw*^!5 ,{1gA4eSMOcжh>ʼ k@ x=:SU) TaAaDthEed+0UE~p f|q {+"u˪fx[&c.;28jB,EP`ߵ}n-wjGx\V&ryʼn2# \*w[_[ [%)NKx$7sȻ?R/f\K"s]hWgKz?|57u Of΅Pt!m]dh |;v]zp#Fdm~p8rE?Ѧ|인/u 'KF3AOVDu~F$8гTs(b2=fko* Lh!%&{W㡅‰Nb݁AX0Ko([4|xQHkO o4PwPD>XB9YƦv2j Y\B0Tz b1._9rO|V1M FRc)A)\6nt`ss;FAH]]7MŇ̟:2hJdGǏ y^;# b_(?{gNw#X? _IܢP.nmr?!{5=q PMBb6)ϡǀůY*5\&QN}ʂyme;bK3T(A1L6#c;VŵOVI vTs0DmvQ{%ו:yGEu=P(B،E{O2WU*$Cg!> ͈he}UӜ.Q ȕĕϜg7veh5 `jTy0rKuE1{Z:;|AU}r5w7r*fUTDIǥ/daky@rgsմNx-XlD YVd(BR x8o)q>|rr{58$9 1L-^r+Sz$:-瞖(KGvq0Nа'v&| fU>P A/9IIGi(["1&DRk- Q 3BU0&jn-fcF%(7#? T#GȴmU/$,2]jo6z-4b{7ؤZ_!|z3d*UDl-p@j])r( !^$09?z4h^COG\v3Gzw‘c"P͌QkY[jSɯR#lg^&=ȕqҿg_ߟHsMb"̰k=/19\/ucJ@f2q:MUgɘ4kvߦ{qՠ2aR(axa P ,Nc] Ncd}hmډskEUpP$+)Ό q[ ⻘]ŧj72\*@Bisz!/. ? dž ,7_7>Ք9̓fu.4_eݴ~U|VGEu6Ѷxr .)_X#SE*@0Aˑ} s6LVK(=-ۇx2JXG_[ I/R5 8.ثH=xd+D7<~]iGeyv d|1A+íYOlYչ)иwxzYC @vXpټJ7CoyľWP{ӧ)Ck:9οw B(Yԩh ;w6|a=Py"di Z $4KoZV_ti'״~;?22bBƑE)]wa,ybir=s1o|KJ7't&;Lyoԅ A=oJމLdŠSweXzǨ_aXBG$~YU L?Oi߫l<1 r7oHZOTU,G}$q/5~0D )H(1(VРp݊F3Y}%pXNIL$9$(u\/$P)?CZtX 7qQTKR!H%ti%S$JCԤX4}/"(P+nρV+ k j򯈻_ʐ7HZn4&ڽkvE,#dHu*ׄۛm;\Jgm.Z'+UPwgE<)+=K,ǥj e+h|UƋD-R0Kn+Dy,bdJ1gm^r6g9ќjAT~o:aMW5^:rܩrH ^S}q%';h#}o. ̊'Р@ =zv=>QL4t_$8RYy&%B돖E}`u]N|ա-@WIq6fZ{w|JlsWi g1#EbuлƆV"+; <b $:kE6pT k\ 0B1*?+wN]iǧw;ܜ0tvTr $\.aO3Tt5F=eS98j0Ozxc`;tR?W]SW&i)bx-7gHe*hg"o |u^&9v^0 sm_xE?ϜW =ɲíaGo ]P.i0_O*؎{R AjO4jb :hmbwp{(,9Lր`mX-m6ahFtnge~9e.J :L3q)``6z0IqJM"\)J~67u谱so. urnSB yFq-6ĨP@bx^*Pa?){ +}9N^|üG-OkXVxdQHSg?Zyc^#x +8z-g]d^?V5Sw@#RJФlEo()2^ Cn_ZQEWGY9. LVJtI<-Rj / 5v17. Q}0jFg6nxfP,g a1Jq&|a@k0jxw3.jSiq$GqPd.첄YLoɌ5Cjw U5œw#Ɇ;_9*fa~EPv-HvÎMy*R[Iu)D =# faE5 |izǀ btwx|doҡ炘ix3\қ¤6?Knud,sB!~,eq}lh=_,91Klx8'LTՠL$mSɾ-]Nj|zFԣ)N=me!:fM[m_ |h (vvN߿!Sdz) afljC2,2o(Oy@yѷ@Sb?I֚B{ײK|2 WPVE إFJ]pB%e8Rl܇ H8gzvHh4蘅,%?NZbжXP"$XrUUxõm֙7y;/JF9Y819<r :ahVs'}ND5) Th_.>c98KbGz+|O,@Mc'ǞI?eŽVejL\Y}.XLO+v'@17\hV0}Q hL>75F1/KC Lz mHջ+}wj2'i|1@SIY݈N:t4j2^Wυs%.sz4~15ҟīm?f~oQFeյ6ڛH5_Hu2=<@*ԿL0ݞ' ms$kC ƚ%h0ýٜ<$^ZXᏖyurI\kn(eAG CVlSi3;^ᔺ;awgUd6*79"Ub~= hSu]IB}7aV *vC쐕^n*JM{⟈ tjATsYC a!tT (GIL|#$Nvr8֬zsz$[ǠQ|“ݿ~Z.:q*  .qF02U"Jf~ї0(w8Vrk:VK ZK|8jIs/sV+:_7.,fskK3O'>M$9L~xRNA2_+7UR3FsǢ-nmUypgLB9;#A@n4m91hN?i9 JNʋn"T2o;Z>#zeH&StdLFBO ศ}([)OAyͽo1WQԄ+2p@G4J!kǧG2 moM"Kh-d*C&|>^Nr5;^!;=EH$ {YF>ts}l,xqW: .5{{1p="OGOc?+7O> y, bbfύ] JV4βom4N)R ¸M/BhDn1 p9+- rF퀖5DžVlUĞ:#Eԇa]sH uΖYA@; =j[(c6Зi4D)-[y:Дn0u*xQ^~`Q6 Gd󎺄epa:˗LmU徠&-3rBwϥInSvNg|P#АH?T~.czcVD >A, V[ܭ(S.ZL꾅n3qV*Tk rQT%8Kd LV9 ^K!b]|Ҡ!=#u U+C[n'avQ\BpҶ ̄ 4#A"#ߜ|Dj 8r6@+Nd4s{JS/bCL{%,}HR$+3Y׳wV*q=j RG}@? Yq w{(sBq>@|x ̈Z'C5ub1C!cDS\Y}w28Wɥ+&)b3ȀI Nds^e?8& Y2O7CD-Sx8+BA1эm?yaj2cBP#}rj>Mf&:*4$,[ TМyq8 AaB`{vz?Z<ƊU{0-"(nXq)+[JJ+Pm(5\vp{wn194I2k?Q Eu [ )v$?'o]iVD,P?>h;$cX{%`pyBN61(/MS#3רKUYA 0K@˪y4Y6,_B|dw!̯2074 Lz(k1_EI]Z!*|$|yq CQ̍:&||*dZH4hǰa8%Bۣ\3 in^vG{FtF.wY[Pvuw(s!}zAl}sl&O&QW7:ϝRI?Ή&ԭCǂOYBXkx(J"=o)V%rC-rk} USRL=CU.5tH݋y=hu nDx5hN-*N/-OZuđA)*޸ ԟ_cZ6<8"H:tVS߽݂6C(W`yWA^4wNJ.6M9o&,I^ _%-]"Y ޟ/#ӌx(U j}>rI[d3@@8 2ŲbdygfIT*oB|ΪSS!X9_3KMbA$TtDP.Gdj oT!-T[."o[ǫ؄OM{`J\4Bw~7}ڤo 31c:#q֗q‘zZJjktxD@]zf KyYz[-|}f0L hVMWIŴխTt()W#FNwHz@) ,/ۃ_"=OjBL#-r%ڨpkqS7kQ$0 ʽK"lNbMzQvN0RJDگ9Rs*p3 @.N=MD.i#0no/Lz7Ac?l*|밋 s˼ Y5 䟹L&9>ZP xV꩞p'A/4{8ۢӊ/QdҮ.TnSCDLW?Pˠw溵є-9PN:@GR'ږ0E8aVJaWxK8v~W-cf`'I0̗9ǃ,WwfQ=6C$Ԣle8۾lz~N#uӛ1=2:g`Pw&4qHd{LZ A/67䆯 3g6ե:d[Kkݎ-2܎C[J {[3&6zi?ҲwCע&| y0!GV™a*;9X')NvqZB{a=cfɝƕK#6=iB=&Š ͻ>Kk*sYQ7!J3aHi԰Xd0ܳ4U'ae?}.r>&Q!Tt߾{]j(ư ?#MSI~u=qgKѺ}z"3y_HduV'\"NYaC<#RUZ6%&|eH'Tvka|tPZcxJh5a(kGڙB@ "9/ ]1wvli.xp 1cg}!C3(@I&,iUyRlD7_F JmbT'\9BjMkk70{ IsW㿷d+KoF 6@PX7,麔A'f+P'ea f~{gO}2KcS)PNC陈+_tV #\JhagFTl<w-K(/Rw3-V^ wGE8+0DHXvĖeRu26+Q8)1r&3Rrδ 34̖Vdzcݲ8O3Bi 9Ova !=w5Ɛ̍5&1+?KW6va@̓c H-wZǮ=x L4n֫ H-9P, Jxؽ-p{a/0d8öۮJr((֞B=|(iseԨnUڗ>BQ5y57UJY*F^g/6V'.G%pE l= D;c2Iwegʂe@7gؚT!ְa=ݤ6z0+c*_F[yR'cGt5~Gv 2ܞՃ ڽ0FyҟLx$giqa6׷(1Wy:B˧WJ|$WMfŵS9!o@QO3~]9_#UyjX+w /΍@bQqP _l|t.6U ~LQ`S^|k6=durt,#F8>4=;S(h5E@ ^;$5"DCi]5FicdJC`4nm y<>d[d{w)Ao _Z^>FiR+HK%4:l?^cz5PT^`㴐oA!u}g/g~)@&sLnn)v R1%?J8%B (K@A%Ճ^P|QB7/(ދ>\/ B9 sX\G8,r oR>?G,(Z~*]/\v3VU4Hk6+u(U[m+18qx6}oO?뺍?9d(EVFE$!'] iFDw`.a | NaҹfDΥfH,S<@9ɡ  &PL{d FQɵa,C?12Jxm=\mk3p+uǁXM& s"5yzS!-tB[qd S ]h7V + I±\ ċJۛ`9Nと3E[ϱ<HhGB`ӆӛn 񈆄COI|n鵄E-JR'H 5FtO9qWo v=.sw͕Z3ѡIfr1P.6bF%a@\ǏuQA%%;-NP\ 碱Yh+d}a\*p&@ `i@ D-uJn T˵B)Tq.ySqi>m@cm5h,-U#--={0XblԊbp+a{ ╃Jۻ!t#l48Ti1[2Lg&Y҂_z 7J :-3 2 @Rig?HW40xCstV<؆5eK$ь."=hV_%_*4Wx: XH~;>xb"6&_V\YkRv#N\?ڬ)|N"14%6Y9kϳv;$SJDh2{ȫH.Cr1ǰ.թEktcᓭw]M*(/u ZKEwlTzfJÆG&l\ p"hb>'"NpaF6a;"DX0TziOIX\Np#K>QkߓlTQ~(JdZ<}"jϗљG a)喧sr[C!}$ Y }>ʔBBdG722|F;?+4gњT}O>Q$!*&.0&Ԛ+M{ΏŸL~,p33C ,9l|td^EnЀ飯uL\W#muxqV66,"ڤԩ$~s1l KdwAb %/ISY_Y#idTk{D@&q hC{ S7nzU<6XP"ЎBʀձh"QL6.Sw PRWONczh :î.8J6&`PEfCOq"UQfbp \XA(GAE9#=V&qLsbV5zdxuR,ibR#P@}V0Ɋ^1uջUL pjQ:~aWE"F:S`(m hЍJOD ƣ]"_cut) {WtN# 묞*7($ eC7<:#=_Iz70g█%I[h6Pҷe"Oѣ^VdMh@8W)nm`XJkuɥQMgN\ĨsR1Z&O8> 1N1P ^tRݬ߭Y8~ BIBLIO.BCKs b%[DANA.BIBLIO]NEW_FICHES.EXE;1.EXE;1KfH  /  R ASKVAL( askidomain8` askfdomain4 ask_speakaskivalaskivalhxaskivalf9faskival3askcvalP8askcvalhLaskcvalffaskcval,0askfval8askfvalh@askfvalfPfaskfvalDasksvalhasksvalhasksvalffasksvalP setcbreakrestorehx getchar_vms0 ask_edite?re_ecrit (           -}*[DANA.BIBLIO]PROJET.BIB;1+,3./ 4L -b%0123KPWO56f\=7@3W8# Ŕ9GHJ$Programme Action UNIX MS/DOS VMSL----------------------------------------------------------------------------3corrige_fiches.c correction des fiches * * *$cree_codcle.c RSX -> UNIX * NA NA$cree_fiches.c RSX -> UNIX * NA NA$cree_motcle.c RSX -> UNIX * NA NA"display_fiche.c functions - - -2edite_fiches.c edition de references * * *.form_refer.c formatage reference * * *&ini_biblio.c initialise * * *%kill_fiches.c supprime * * *-liste_fiches.c liste de fiches * * *4modif_abbaut.c change auteurs et abbrev * * *,modif_cle.c modif des mot cles * * *3modif_super_cle.c modif des super cles * * *,new_fiches.c entree des fiches * * **references.c cree un fichier REF * NA NA;reftex.c Cree un fichier BiBTeX * * *$show_fiche.c fonction - - -,thesaurus.c liste le thesaurus * * */trouve_auteur.c trouve par auteur * * *-trouve_cle.c trouve par mot-cle * * */trouve_texte.c trouve par mot-cle * * *1menu_bib_unix.c menu biblio UNIX/ULTRIX * NA NA)menu_bib_vms.c menu biblio VMS NA NA *7menu_bib_rbw.c menu biblio pour Rainbow DEC NA * NA1menu_bib_pc.c menu biblio pour IBM/PC NA * NA*[DANA.BIBLIO]REFTEX.C;1+,0&./ 4_-b%0123KPWO56A 7nW8 $ Ŕ9GHJ$/*9 * REFTEX.C permet de creer un fichier utilisable par TeX? * a partir des numeros de fiches dans le fichier c_fiches.bib. *% * Version C pour ULTRIX, MS/DOS, VMS * * 4 Janvier 1989 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**/#include #include "askval.h"#include #include "ecran.h"#include "sys_bib.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h" 8FILE *fich_ref, /* fichier des numeros de references */' *fich_list; /* fichier dimpression */ main(argc,argv) int argc; char **argv;{ char nom_fichier[80], nom_ref[80], nom_liste[80], nom_dir[60], ordre[80], numero[11], rep; int i, j, k; short nb_fiches, *nb_c, *nb_f;  char *fgetss();# include "titre_bib.h"  if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);7 if((c_fiches = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);; nom_fichier[0] = 0; /* remise a blanc du nom de fichier */" while(menu(nom_fichier,nom_ref));1 if((fich_ref = fopen(nom_fichier,LIRE)) == NULL) {0 printf("%s inexistant ou probleme\n",nom_ref); exit(1); } /* fichier de listing */D sprintf(ordre,"Fichier resultat pour BibTeX [%s[.bib]]: ",nom_ref); strcpy(nom_liste,nom_ref); strcat(nom_liste,".bib");$ asksval(ordre,nom_liste,nom_liste); strcpy(nom_ref,nom_fichier); if (!strchr(nom_liste,'.')) { strcpy(nom_fichier,nom_liste); strcat(nom_fichier,".bib"); } else { strcpy(nom_fichier,nom_liste); if(strtok(nom_liste,".bib"))* nom_liste[(strlen(nom_liste) - 4)] = 0;" else strcat(nom_fichier,".bib"); } strcpy(nom_liste,nom_fichier);4 if((fich_list = fopen(nom_fichier,ECRIRE)) == NULL) {/ printf("%s impossible a ouvrir\n",nom_liste); exit(1); }" while(fgetss(numero,10,fich_ref)) { i = atoi(numero); do {$ if(read_fiche((short)i) == FALSE) {( printf("\007Probleme de lecture\n"); exit(1); } if (wrong_numero) { i ++; } }while(wrong_numero); read_fiche((short)i); if (! killed) { print_refer(); } } fclose(fich_list);C printf("Liste de references preparee pour BibTeX dans %s %s %s\n"," REVERSE, nom_liste, NORMAL); fclose(c_fiches); fclose(fich_ref);}/*2* PRINT_REFER() imprime une fiche dans un fichier*/ print_refer(){ register i; fprintf(fich_list,"\n"); if (simple) {@ fprintf(fich_list,"@ARTICLE{%d ,\n\tAUTHOR = {\n\t\t%s, %s\n", fiche.Simple.numero,0 fiche.Simple.prenom[0],fiche.Simple.nom[0]);B for (i = 1; i < fiche.Simple.nb_auteurs; i++) /* nb d'auteurs */ {( fprintf(fich_list,"\t\tand %s, %s\n",0 fiche.Simple.prenom[i],fiche.Simple.nom[i]); } fprintf(fich_list,"\t},\n");% fprintf(fich_list,"\tTITLE = {\n");- for (i = 0; i < 4; i++) /* nb de lignes */ {% if (strlen(fiche.Simple.titre[i]))4 fprintf(fich_list,"%s\n",fiche.Simple.titre[i]); } fprintf(fich_list,"\t},\n");@ fprintf(fich_list,"\tJOURNAL = {%s},\n",fiche.Simple.journal);> fprintf(fich_list,"\tVOLUME = {%s},\n",fiche.Simple.volume);< fprintf(fich_list,"\tPAGES = {%s},\n",fiche.Simple.pages);= fprintf(fich_list,"\tYEAR = {%d}\n}\n",fiche.Simple.annee); fprintf(fich_list,"\n"); } else {# if (strlen(fiche.Double.journal)) {A fprintf(fich_list,"@ARTICLE{%d ,\n\tAUTHOR = {\n\t\t%s, %s\n", fiche.Double.numero,1 fiche.Double.prenom[0],fiche.Double.nom[0]); } else {F fprintf(fich_list,"@INCOLLECTION{%d ,\n\tAUTHOR = {\n\t\t%s, %s\n", fiche.Double.numero,1 fiche.Double.prenom[0],fiche.Double.nom[0]); }B for (i = 1; i < fiche.Double.nb_auteurs; i++) /* nb d'auteurs */ {( fprintf(fich_list,"\t\tand %s, %s\n",0 fiche.Double.prenom[i],fiche.Double.nom[i]); } fprintf(fich_list,"\t},\n");% fprintf(fich_list,"\tTITLE = {\n");- for (i = 0; i < 4; i++) /* nb de lignes */ {% if (strlen(fiche.Double.titre[i]))4 fprintf(fich_list,"%s\n",fiche.Double.titre[i]); } fprintf(fich_list,"\t},\n");# if (strlen(fiche.Double.journal)) {A fprintf(fich_list,"\tJOURNAL = {%s},\n",fiche.Double.journal); } else {G fprintf(fich_list,"\tBOOKTITLE = {\n%s\n\t},\n",fiche.Double.livre);A fprintf(fich_list,"\tEDITOR = {%s},\n",fiche.Double.editeurs);E fprintf(fich_list,"\tPUBLISHER = {%s},\n",fiche.Double.publisher);? fprintf(fich_list,"\tADDRESS = {%s},\n",fiche.Double.ville); }> fprintf(fich_list,"\tVOLUME = {%s},\n",fiche.Double.volume);< fprintf(fich_list,"\tPAGES = {%s},\n",fiche.Double.pages);= fprintf(fich_list,"\tYEAR = {%d}\n}\n",fiche.Double.annee); fprintf(fich_list,"\n"); }}/*$* READ_FICHE() relit la fiche numero*/read_fiche(numero) short numero;{ long offset;  simple = TRUE; killed = wrong_numero = FALSE; p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);2 if(fseek(c_fiches,offset,0) == -1) return(FALSE);0 fread(p_fiche,sizeof(fiche.A_lire),1,c_fiches); switch(fiche.A_lire[0].type) { case 'S': simple = TRUE; break; case 'D': simple = FALSE; break; case 'K': killed = TRUE; break; default : wrong_numero = TRUE; }  return(TRUE);}/* * FGETSS() mime celui de RSX */"char * fgetss(buffer,maxbytes,iop) char *buffer; int maxbytes; FILE *iop;{ char *status;% status = fgets(buffer,maxbytes,iop); buffer[strlen(buffer) - 1] = 0; return(status);}/*#* MENU() presente le menu de depart*/menu(nom_fichier,nom_ref)char *nom_fichier, *nom_ref;{ char rep, ordre[80];_ printf("%s%s\n\nUn fichier contenant des numeros des references est necessaire\n",CLRAS,HOME);# printf("\n\n\t\t%s M E N U %s\n\n\2\t D -> obtenir le Directory des fichiers *.num\n\6\t C -> Creer ou modifier un fichier avec l'editeur\n\*\t P -> utiliser un fichier Preexistant\n\\t T -> Traiter ce fichier\n\<\t S -> Sortir sans traiter ce fichier\n\n",REVERSE,NORMAL);+ rep = askcval("\t Votre choix [P]: ",'P'); switch(tolower(rep)) { case 'd':E printf("%s%s\n\n\t\tDirectory des fichiers *.num\n\n",CLRAS,HOME); #ifdef UNIX system("ls -sF *.num");#endif #ifdef MS_DOS system("dir *.num /w");#endif #ifdef VMS system("dir *.num");#endif9 sprintf(ordre,"\n\n%s Taper RETURN pour continuer %s", REVERSE,NORMAL); askcval(ordre,'s'); return(TRUE); case 'c':> asksval("Nom generique du Fichier a creer [refer[.num]]: ", "refer.num",nom_ref); if (!strchr(nom_ref,'.')) { strcpy(nom_fichier,nom_ref); strcat(nom_fichier,".num"); } else { strcpy(nom_fichier,nom_ref); 0 if(strcmp((rindex(nom_fichier,".")),".num"))0 nom_fichier[(strlen(nom_fichier) - 4)] = 0; strcat(nom_fichier,".num");* }? printf("\n\007\007%s ATTENTION, un numero par ligne %s\n\n",V REVERSE,NORMAL);S. sprintf(ordre,"%s %s",EDITEUR,nom_fichier); system(ordre);V return(TRUE); case 't':o if (strlen(nom_fichier)) {- printf("On traite le fichier %s %s %s\n",n" REVERSE,nom_fichier,NORMAL); return(FALSE); } return(TRUE); case 's':r exit(SUCCES); case 'p':eK asksval("Fichier contenant les numeros des references [refer[.num]]: ",u "refer.num",nom_ref);t if (!strchr(nom_ref,'.')) { strcpy(nom_fichier,nom_ref); strcat(nom_fichier,".num");f } else { strcpy(nom_fichier,nom_ref); 0 if(strcmp((rindex(nom_fichier,".")),".num"))0 nom_fichier[(strlen(nom_fichier) - 5)] = 0; strcat(nom_fichier,".num");a } return(FALSE); break;g default:# printf("\007Option inconnue\n");  return(TRUE); }}0 ordre[80], numeroH9~ BIBLIO.BCKsb%[DANA.BIBLIO]REFTEX.EXE;1XE;1XE;1'*[DANA.BIBLIO]REFTEX.EXE;1+,s.'/ 4'&-b%0123 KPWO(56@7`N<@8`ǔ9GHJJ0DX0205(o@,h"REFTEXV1.0o@05-05  += A U ! ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s inexistant ou probleme c_codcle.bibrctx=bin%s inexistant ou probleme r%s inexistant ou probleme Fichier resultat pour BibTeX [%s[.bib]]: .bib.bib.bib.bibw%s impossible a ouvrir Probleme de lecture Liste de references preparee pour BibTeX dans %s %s %s  @ARTICLE{%d , AUTHOR = { %s, %s and %s, %s }, TITLE = { %s }, JOURNAL = {%s}, VOLUME = {%s}, PAGES = {%s}, YEAR = {%d} } @ARTICLE{%d , AUTHOR = { %s, %s @INCOLLECTION{%d , AUTHOR = { %s, %s and %s, %s }, TITLE = { %s }, JOURNAL = {%s}, BOOKTITLE = { %s }, EDITOR = {%s}, PUBLISHER = {%s}, ADDRESS = {%s}, VOLUME = {%s}, PAGES = {%s}, YEAR = {%d} } %s%s Un fichier contenant des numeros des references est necessaire  %s M E N U %s D -> obtenir le Directory des fichiers *.num C -> Creer ou modifier un fichier avec l'editeur P -> utiliser un fichier Preexistant T -> Traiter ce fichier S -> Sortir sans traiter ce fichier  Votre choix [P]: %s%s Directory des fichiers *.num dir *.num %s Taper RETURN pour continuer %sNom generique du Fichier a creer [refer[.num]]: refer.num.num..num.num %s ATTENTION, un numero par ligne %s %s %seditOn traite le fichier %s %s %s Fichier contenant les numeros des references [refer[.num]]: refer.num.num..num.numOption inconnue (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^[(UTg[Zߥ7ߥ3ߥ.ߥ*ߥ%ec(Ѭ1g~ߥ>P~N(Pg FFFFFFFFF0z?Pŏߥj~(ř~?;ţ~'~ЬRݢ'߭|'߭r'߭x'P߭u'D'߭.'߭$'߭*'PS߭''&>HR>S)R&RbSb<2~#b&Z߭PPZ߭P5߭&PZ7|&K&ZR~d&Z "&Rb| &Sc ~q߭Zb. %P ߭bŁ߭c> ߭bņ %P %P@  Pŋ߭c߭ |%Ő߭%P# Œ%U%sΤ SSάT%PRΤ6%P@ޤR1F%W/%V0%Y%Xs%PS2SPjdk8c2PPPď-PP gPRk™Wݬ߭F߭PݬPݬPPЬSS=3 .SPSݬGݬJSЬSSNLSPcPSnP@cSݬJPXhP^ѬЏ1Џ"Ь ^q ~P~v~v ~|^zR V&UTPPa^~>1J?PbdrScߢecߢfcߢ+dQScߢ:ecߢDfcߢSd1ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^yR}U}T+Z}WV[YXfݬ`ݾ½߭k|~jgi~߭ ϧ ߭iP߭_PSPоSdeYSdSe?ed{߭k߭iPO~fh߭fhSd1^Se1VSPPμ^xR|U|T|YV[ZXWfݬlk߭jݬ ii~߭ ϱ ߭hP߭iPSkSdeYSdSe?ed߭j߭hPO~fg߭fgSd1_Se1WSPP^wR{X{WT#|VU[ZYfլݬf deѬ  dݬSk߭jݬ ݬݬl{i~߭ݬ ϑ ߭iP߭IPSkSghuSgSh[fլݬfdehgQ ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬC|~c~߭ϋ߭IPPP^]ݬݬ c~߭<߭PPP^uR-zլ լݬݬ Cݬxݬݬݬc~߭Ͽ߭}PPP^ݬ߭h߭NPPP^uRxTxSWxVAU[#ZY Xeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~ˎS߭j߭iPO~behv߭qhehQc1UQd1LPP^tRwTwS[[wW9UZYXVeݬpj~z߭iݬgf~߭߭hP߭}߭uPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^sRvWvVv[8STwެUTZYXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭EPvjQfg{QfQg]eլݬe·cdVg~Vf~x߭i߭hPOPìP~cd߭cdQf1Qg1PP ^qRݬ߭߭P߭߭zPPvP ^tqSݬOݬ߭|~us~߭ݬOPO~z߭8PR߭ݬ RPݬ  ^pT%ݬݬ߭ݬts~߭ݬScPORcPR~߭cPR߭ݬ sRPݬݬ bi ^@pStլլݬݬjKѬPPNݬݬ߭#ݬ$ݬ ݬ ts~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ eRPݬݬ T]8^5oS~TrR|~ߢPP\\\d"\|~|~ ߢ |~߭'ݢ P\\2\\\$d\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\V ^9nSrR|~|~ ߢ |~߭#ݢ P\\2\\\lH%\^qR|~|~|~߭1ݢ PT^mWYaqZ,΀CЬSЬRBcjiǏUVSkbSUSǒirSQPѪjЪjq _·P ·լլ ΈPΈΈ\q0ݬPRެTRdSiSRRdΈ"ݬݬǕii~iǟq PPf 9WW)WWWWWWWWWI9P&?Pn[n[n[ cnU|~|~|~߭1ݪ ΆΆ iǢ 1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPiF V15ǥiq ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l sif 1WPެRF ,bs VPVPi5  PF ViǷ VǺiK ΀1Pݬ VP~i% ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEdI P1޼PE`ݬ` ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi iy 1rPig ݬi iR i9 ݬ_ PѪjЪj ݬ> PѪjЪjRjPi RRjiݬi Gk/ݬPRެTRdSiSRRdiV1zVi1hii1ZPΆ Ά1ViC14RP`PORVSS~ЬTTCdT V· ·XP XX~SCd iiV1Vi1PΆ1i,izVkЬRRRvRiiΈ/RdPRެTRdSiSRRdΈ"ݬݬi=iIi)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMMV1BVPib14iV+fݬaYi[iijݬPѪjЪjRjPi RRjimݬpi#h/ݬPRެTRdSiS}RRdisaV1VVvi1DΆ1 c10[1)R[jЬSTUU[US7PSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRyݪhΆ i:1+Pծ,1΀1Ԯ,i| Rji RRjicfΈ%RެTRdSiSRRdΈ"ݬݬǂiiinj}VVio1` i%Ά~ǏuPiF17P f%Ά~ǜIPi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDziVd1sVirig1X|~|~ ߪ |~߭#ݪ PRR2RRRldR7ݪ c1ЬRݬ!PPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn5[n![n)[(^a_WV#cTfǸ1ݬWPѤdФdRdPf  RRdfǻݬǾf)_cլ.ݬPRެURe SfSRReլ"ݬݬfffrfu@@LLtL 4t|l<d|D8 ,  @VAXCRTLLIBRTLMTHRTL REFTEX maintt print_referx read_fiche fgetss0 menu\ [ ASKVAL@ askidomain8x askfdomain4 ask_speakaskivalaskivalhaskivalf9̑faskival3askcvalPPaskcvalhLaskcvalffaskcval,HaskfvalPaskfvalhXaskfvalfPfaskfvalDasksvalasksvalh asksvalfܘfasksvalP, setcbreak(restoreh getchar_vms0 ask_edite?re_ecrit @           -}*[DANA.BIBLIO]RENBIB.COM;1+,8$./ 4(-b%0123KPWO56Uq7 ]W8 B$ Ŕ9GHJ$ rename askval.h askval.h $ rename biblio.h biblio.h $ rename ecran.h ecran.h $ rename sys_bib.h sys_bib.h "$ rename titre_bi.h titre_bib.h $ rename projet.bib projet.bi'$ rename corrige_.c corrige_fiches.c &$ rename display_.c display_fiche.c %$ rename edite_fi.c edite_fiches.c #$ rename form_ref.c form_refer.c #$ rename ini_bibl.c ini_biblio.c #$ rename kill_fic.c kill_fiche.c %$ rename liste_fi.c liste_fiches.c &$ rename menu_uni.c menu_bib_unix.c %$ rename menu_vms.c menu_bib_vms.c ($ rename menu_ms.c menu_bib_ms_dos.c %$ rename modif_ab.c modif_abbaut.c "$ rename modif_cl.c modif_cle.c ($ rename modif_su.c modif_super_cle.c #$ rename new_fich.c new_fiches.c #$ rename referenc.c references.c #$ rename show_fic.c show_fiche.c "$ rename thesauru.c thesaurus.c &$ rename trouve_a.c trouve_auteur.c #$ rename trouve_c.c trouve_cle.c %$ rename trouve_t.c trouve_texte.c *[DANA.BIBLIO]SHOW_FICHE.C;1+,k. / 4 v-b%0123KPWO56`Z7I!X8$ Ŕ9GHJ/*/ * SHOW_FICHE.C contient la routines a inclure9 * dans les prgs necessitant une visualisation des fiches8 * (trouve_cle, trouve_auteur, liste_fiches, new_fiches) * * a #inclure apres biblio.h * * Version C pour ULTRIX * * 23 Juin 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**//*)* SHOW_FICHE() montre une fiche a l'ecran*/Ishort stop_visu = FALSE; /* permet d'arreter la visualisation en cours */ show_fiche(){ register i; char rep; int a_la_ligne; /* flag */2 if (stop_visu) return; /* on ne visualise plus */ & puts(CLRAS); /* clear all screen */ $ puts(HOME); /* se remet en haut */ if (simple) { printf("\n**************************%s Fiche simple numero %5d %s*************************\n\n",REVERSE,fiche.Simple.numero,NORMAL);C for (i = 1; i <= fiche.Simple.nb_auteurs; i++) /* nb d'auteurs */ { printf("%s %s; ",8 fiche.Simple.prenom[(i-1)],fiche.Simple.nom[(i-1)]); if (i % 3 == 0) { printf("\n"); a_la_ligne = TRUE; } a_la_ligne = FALSE;  }! if (! a_la_ligne) printf("\n");- for (i = 0; i < 4; i++) /* nb de lignes */ {% if (strlen(fiche.Simple.titre[i]))) printf("%s\n",fiche.Simple.titre[i]); }& printf("%s; ",fiche.Simple.journal);% printf("%s: ",fiche.Simple.volume);# printf("%s ",fiche.Simple.pages);& printf("(%d)\n",fiche.Simple.annee);3 printf("\nTire-a-part: %s\n",fiche.Simple.t_a_p);J printf("Entree le %s par [%d]\n",fiche.Simple.jour,fiche.Simple.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */ { if (fiche.Simple.keys[i]) 0 printf("%s ",cle[(fiche.Simple.keys[i])-1]); } } else { printf("\n**************************%s Fiche double numero %5d %s*************************\n\n",REVERSE,fiche.Simple.numero,NORMAL);C for (i = 1; i <= fiche.Double.nb_auteurs; i++) /* nb d'auteurs */ { printf("%s %s; ",8 fiche.Double.prenom[(i-1)],fiche.Double.nom[(i-1)]); if (i % 3 == 0) { printf("\n"); a_la_ligne = TRUE; } a_la_ligne = FALSE; }! if (! a_la_ligne) printf("\n");- for (i = 0; i < 4; i++) /* nb de lignes */ {% if (strlen(fiche.Double.titre[i]))) printf("%s\n",fiche.Double.titre[i]); }# if (strlen(fiche.Double.journal)) {' printf("%s; ",fiche.Double.journal); } else {( printf("In %s\n",fiche.Double.livre);2 printf("Edite par %s\n",fiche.Double.editeurs);) printf("%s, ",fiche.Double.publisher);% printf("%s\n",fiche.Double.ville); }% printf("%s: ",fiche.Double.volume);# printf("%s ",fiche.Double.pages);& printf("(%d)\n",fiche.Double.annee);3 printf("\nTire-a-part: %s\n",fiche.Double.t_a_p);J printf("Entree le %s par [%d]\n",fiche.Double.jour,fiche.Double.uic_mb);- for(i = 0; i < 10; i++) /* les mots cles */ { if (fiche.Double.keys[i]) 0 printf("%s ",cle[(fiche.Double.keys[i]-1)]); } }C printf("\n\n%s Suivante ou Quitte ([S] ou Q): %s",REVERSE,NORMAL); rep = askcval("",'s');* if (strchr("fFqQ",rep)) stop_visu = TRUE; else stop_visu = FALSE;} *[DANA.BIBLIO]SIGLAMENE.DIR;1+,u ./ 4-b%0123 KPWO5697 b8J / Ŕ9GHJI N PACE C_ABBREV.BIB2 C_AUTEUR.BIB+C_AUTEUR_INDEX.BIB C_CODCLE.BIB#  C_FICHES.BIB C_MOTCLE.BIB֗LC_MOTCLE_INDEX.BIB#,C_SUPER_CLE.BIB%*[DANA.BIBLIO.SIGLAMENE]C_ABBREV.BIB;3+,2./ 4 -u 0123KPWO56l>i70dc8 Ŕ9GHJSIGSIGLAMENE%*[DANA.BIBLIO.SIGLAMENE]C_AUTEUR.BIB;1+,+. / 4 -u 0123KPWO 5%68c75c8  Ŕ9GHJ (+ '1  % )*!$%,/33@:~ BIBLIO.BCKu ,[DANA.BIBLIO.SIGLAMENE]C_AUTEUR_INDEX.BIB;30 Ng,*[DANA.BIBLIO.SIGLAMENE]C_AUTEUR_INDEX.BIB;30+,. / 4 $-u 0123KPWO 56 ۫_ᥔ7Gc88& Ŕ9GHJ       &*[DANA.BIBLIO.SIGLAMENE]C_CODCLE.BIB;35+, ./ 4-u 0123KPWO56楔7`Nc8 Ŕ9GHJ4k3DRIVERVMSTECHNIQUEHARDWAREPROC.VECT.(ARREY_PROC)ARCHITECTURARRAY.PROC.FMSTDMSTERMINALLOGICIELGESTIONLANGAGEPROGRAMMAT.COBOLCLUSTERCONFIG.O.S. VIRTUELUNIXEMULATEURSYSTEM VENVIRONNEMENULTRIXOPERAT. SYSTDESCRIPTIONBUGSVIE DU SIGMESSAGERIERSXORGANIS. SYSOPTIMISATIONMARKETINGMAINTENANCEPROBLEMESSOLUTIONSINFORMATIONSMODEMBASICPLACE. MEMPLACE. DISKPERFORMANCEVITESSESURVEILLANCEPROGRAMMEROUTINEVAXDATABASETABLEURBIOCHIMIERECHERCHEPLACE DISKDOCINSTALLATIONHELPS.A.V. DECDEVISCONTRAT DECSITE INSTAL.ACHATS/VENTETELEDIAGNOTIINTEL. ARTIFSYTEM. EXP.PARAMETRESWORKING SETRESPONS. SYSRAPIDITEPAGINGSWAPPINGMAC <--> VAXETHERMACETHERVAXCOMMUNICATIORESEAUTRANSFERTMACSNVAXKERMITEMULATIONLSEDEVELOPPEURSEDITIONADRESSESDIST. BANDESLANGAGE CUNIX/VMSAVANTAGEFICHIERGEST. DISKLG. ORI. OBJCOMPATIBIL.LIBRAIRIESCARACTERISTIRT-11 XMGEST. MEM.PDPRT 11FORTRANOSMACROANALYSEGENERALITESOUTILSGRAPHIQUEBIBLIOTDTLANGAGE CSOURCE%*[DANA.BIBLIO.SIGLAMENE]C_FICHES.BIB;1+,.9/ 498-u 0123KPWO95*6sc74c8` Ŕ9GHJ.SDIGITALDriver de terminaux. Quoi de neuf sous VAX/VMS V4.0 ?SIGLAMENE1vaxMon Jun 17SBOULONP.Les processeurs vectoriels chez CSPISIGLAMENE1vaxMon Jun 17SDIGITALTerminal Data Management Systemf sous VAX/VMS V4.0 ?siglamene1GestionMon Jun 17  SDIGITALFMS : Form management systememf sous VAX/VMS V4.0 ?SIGLAMENE1gestionMon Jun 17  SDIGITALVax Cobol management systememf sous VAX/VMS V4.0 ?SIGLAMENE1gestionMon Jun 17 SIGITALConfigurations Clusterystememf sous VAX/VMS V4.0 ?SIGLAMENE1gestionMon Jun 17 SIGITALEUNICE: A Case Study of Unix Metaport Technical IssuesSIGLAMENE1UnixonMon Jun 17 SDEPPBALLENGERGREG.DAVIDEvaluation of System V Compatibility in ULTRIX-32 V1.2SIGLAMENE1UnixMon Jun 17 S DEPPBALLENGERGREGDAVIDEvaluation of system V compatibility in ULTRIX 32 V1.2SIGLAMENE1unixTue Jun 18S DUBIEJ.M.Le mot du Chairman RSXSIGLAMENE1rsxTue Jun 18S SYSTEM INDUSTRIESSIMACS : System industries Multiple Access Control System SIGLAMENE1rsxTue Jun 18 S DIGITALSysteme d'information et de communication/VMS V4.0 ?SIGLAMENE1rsxionTue Jun 18!"#$%&S IGITALBasic +2 Optimisation 5de communication/VMS V4.0 ?SIGLAMENE1rsxionTue Jun 18' ()SIGITALFXDRV Disque virtuel memoireommunication/VMS V4.0 ?SIGLAMENE1rsxionTue Jun 18*' +SIGITALCOLOGcing VMS version 5de communication/VMS V4.0 ?SIGLAMENE1rsxionTue Jun 18,SMUIRHEADDONALDWild card file expansion routineSIGLAMENE1rsxTue Jun 18-.SEVERHARTGLENNPORTACALC (Analyticalc) : A 3D Spreadsheet/Database SystemSIGLAMENE1rsxTue Jun 18/01 SHAMMCHARLEPEP : A Peptide Sequencing ProgramSIGLAMENE1rsxTue Jun 1823 SLEMAIREJ.P.Caroll d'or 1986 : Allocation temporaire de place disqueSIGLAMENE2vaxTue Jun 18 45/SDIGITALKURJANPHILAnnouncing VMS Version 5SIGLAMENE2vaxTue Jun 18/SPEINEPInstallation de produits sous VMSSIGLAMENE2vaxTue Jun 18/6.7SBORDET;~ BIBLIO.BCKu %[DANA.BIBLIO.SIGLAMENE]C_FICHES.BIB;19?BJ.P.Installation et maintenancehez CSPISIGLAMENE2rsxTue Jun 188"69:;!<=SMERCIERH.Intelligence artificielle sur VAX : OPS5SIGLAMENE2unixTue Jun 18>?SBARTHELEMYALLENGERALAINAVIDParametres pour ameliorer les performances d'un system VAX/VMS V4.SIGLAMENE2vaxTue Jun 18@/ABSBARTHELEMYALLENGERALAINAVIDParametres du Working Set vus par un utilisateur VAX/VMS V4MS V4.SIGLAMENE2vaxTue Jun 18@*C SHAMELCARLEPaging, Swapping, Working set adjustementSIGLAMENE2vaxTue Jun 18DEA@SIGITALURJANHILMac Meets Vax Version 5SIGLAMENE2vaxTue Jun 18F GHIJKLMNSIGITALURJANHILVAX L.S.E. : Wizard's notesSIGLAMENE2vaxTue Jun 18OP/QSDECUSALLENGERREGAVIDVie du sig VAX de DECUS FRANCEility in ULTRIX 32 V1.2SIGLAMENE2vaxTue Jun 18RSSCHAUVEAUFRED.Environnement C sous VMSCompilateur Version 2.1SIGLAMENE2unixTue Jun 18TPUVSMOULINP.C-TRI : Gestionnaire de fichier sous UNIXSIGLAMENE2unixTue Jun 18 WXS IGITALURJANHILMP-LRO : Un outil pour la generation de systeme expertsSIGLAMENE2unixTue Jun 18>Y?S!AXIS DIGITALEmulation d'UNIX sous VMSSIGLAMENE2unixTue Jun 18NUZS"IGITALURJANHILAjuster la distribution Binaire d'ULTRIXSIGLAMENE2unixTue Jun 184JBS#IGITALURJANHILSysteme V dans ULTRIX 5SIGLAMENE2unixTue Jun 18[\*S$HETRICKBRIANUltrix development across architectures using CSIGLAMENE2lugcWed Jun 19TPS%GENINDUTERTREGUYJEANQu'est ce que Kermit ?Le club Kermit.SIGLAMENE2RT11Wed Jun 19JM&N S&IGITALURJANHILAdressage sur le PDP-11 / Memory management SOFT et HARDSIGLAMENE2RT11Wed Jun 19]PD^_S'DEVEAUXALLENGERD.GAVIDRATFOR RT-11 : Environnement de programmation 32 V1.2SIGLAMENE2rt-11Wed Jun 19`P5aS(DIGITALURJANHILRT11ncing VMS Version 5SIGLAMENE2rt11Wed Jun 19`bS)PERROTCHRISTCCL : Concise command LanguageMSSIGLAMENE2rt11Wed Jun 19` PacS*PERROTCHR.TUCL : User command linkageageMSSIGLAMENE2rt11Wed Jun 19`P S+DIGITALURJANHILRT11 : Regions GlobalesSIGLAMENE2rt11Wed Jun 19`]P^S,GENINUTERTREG.EANLes languages de programmationLe club Kermit.SIGLAMENE2rt11Wed Jun 19P`%deS-IGITALURJANHILTransfert de fichiers rt11 rsxSIGLAMENE2rt11Wed Jun 19KW`JfbS.IGITALURJANHILProgrammes utilitaires en C sous rt11SIGLAMENE2rt11Wed Jun 19T.[`S/VIBERTJFEchanges rt11 <--> rsx en langage CSIGLAMENE2rt11Wed Jun 19T`a_KWS0IGITALURJANHILGraphique sur PRO/RT11SIGLAMENE2rt11Wed Jun 19g` S1DECUSXALLENGER.GAVIDBibliotheque RT11ironnement de programmation 32 V1.2SIGLAMENE2rt11Wed Jun 19` [hWS2IGITALURJANHILTraitement de texte portable sous rt11SIGLAMENE2rt11Wed Jun 19 i`-hS3VIBERTSUARDJFJLAcquisition en temps reel en CSIGLAMENE2rt11Wed Jun 19`jk_P.%*[DANA.BIBLIO.SIGLAMENE]C_MOTCLE.BIB;1+,֗L.*/ 4**-u 0123KPWO+5,6@4c7c8@} Ŕ9GHJ8!$ "$%()+-33&0 (%012  ',.3$  !" !#( "#$ (+   1 -/ "((+ )*#   , %  #2.3%012"'  "&<~ BIBLIO.BCK֗Lu %[DANA.BIBLIO.SIGLAMENE]C_MOTCLE.BIB;1*0"%--/%!%$&')*+,312$./!-/1W !#.13%02#&+&+&/3'()*+,-./0123')/(-),,-012233,*[DANA.BIBLIO.SIGLAMENE]C_MOTCLE_INDEX.BIB;35+,,./ 4D-u 0123KPWO56p楔7 |c8 Ŕ9GHJ k         !"#$%&')*+,-./0123456789:;<=>?@)BCDEFGHIJKLM N OPQRSTUVXYZ[\]^ _ `abcdefZhij(*[DANA.BIBLIO.SIGLAMENE]C_SUPER_CLE.BIB;1+,./ 4-u 0123KPWO56Yc7c8# Ŕ9GHJ*[DANA.BIBLIO]SYS_BIB.H;1+,k. / 4L -b%0123KPWO 56 i?)7jX8$ Ŕ9GHJ/**>* SYS_BIB.H est le header file dans lequel sont definis toutes0* les variables globales qui sont OS dependantes%* et necessaires au logiciel C_biblio** UNIX, VMS, MS/DOS* ** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**/ #define VMS/* #define UNIX#define MS_DOS*/ #ifdef VMS # undef UNIX# undef MS_DOS#endif #ifdef MS_DOS # undef UNIX # undef VMS#endif #ifdef UNIX # undef VMS# undef MS_DOS#endif/*L * definir soit UNIX, soit VMS, soit MS_DOS redefinir GENERAL, qui doit etre * site dependant */ #ifdef UNIX* /* les noms de fichiers */ # define C_FICHES "c_fiches.bib" # define C_CODCLE "c_codcle.bib" # define C_MOTCLE "c_motcle.bib",# define C_MOTCLE_INDEX "c_motcle.bib.index" # define C_AUTEUR "c_auteur.bib",# define C_AUTEUR_INDEX "c_auteur.bib.index" # define C_ABBREV "c_abbrev.bib"&# define C_SUPER_CLE "c_super_cle.bib"# define REF_CLE "ref_cle"# define REF_TXT "ref_txt"# define EDITEUR "bibedit"(# define GENERAL "/usr/general/biblio/"# define BIBLIO "./biblio/"# define ECRIRE "w"# define ECRIRE_BIN "w"# define ECRIRE_P "w+"# define ECRIRE_P_BIN "w+"# define LIRE "r"# define LIRE_BIN "r"# define LIRE_P "r+"# define LIRE_P_BIN "r+"# define APPEND "a"# define APPEND_BIN "a"# define APPEND_P_BIN "a+"# define SUCCES 0#endif #ifdef VMS/*G * definir un nom logique qui contiendra le nom de directory du fichier$ * general ex: BIB: -> DUA0:[BIBLIO] */* /* les noms de fichiers */ # define C_FICHES "c_fiches.bib" # define C_CODCLE "c_codcle.bib" # define C_MOTCLE "c_motcle.bib",# define C_MOTCLE_INDEX "c_motcle_index.bib" # define C_AUTEUR "c_auteur.bib",# define C_AUTEUR_INDEX "c_auteur_index.bib" # define C_ABBREV "c_abbrev.bib"&# define C_SUPER_CLE "c_super_cle.bib"# define REF_CLE "ref_cle"# define REF_TXT "ref_txt"# define EDITEUR "edit"# define GENERAL "BIB:"# define BIBLIO "[.BIBLIO]"# define ECRIRE "w"!# define ECRIRE_BIN "w","ctx=bin"# define ECRIRE_P "w+"$# define ECRIRE_P_BIN "w+","ctx=bin"# define LIRE "r"# define LIRE_BIN "r","ctx=bin"# define LIRE_P "r+""# define LIRE_P_BIN "r+","ctx=bin"# define APPEND "a""# define APPEND_BIN "a","ctx=bin"%# define APPEND_P_BIN "a+","ctx=bin"# define SUCCES 1#endif #ifdef MS_DOS/**C* On aura du faire une batch file appelant l'editeur desire avec la* path correcte**/* /* les noms de fichiers */# define C_FICHES "fiches.bib"# define C_CODCLE "codcle.bib"# define C_MOTCLE "motcle.bib"&# define C_MOTCLE_INDEX "motcle_x.bib"# define C_AUTEUR "auteur.bib"&# define C_AUTEUR_INDEX "auteur_x.bib"# define C_ABBREV "abbrev.bib"## define C_SUPER_CLE "supercle.bib"# define REF_CLE "ref_cle"# define REF_TXT "ref_txt"# define EDITEUR "bibedit"'# define GENERAL "\\general\\biblio\\"# define BIBLIO ".\\biblio\\"# define ECRIRE "w"# define ECRIRE_BIN "wb"# define ECRIRE_P "w+"# define ECRIRE_P_BIN "w+b"# define LIRE "r"# define LIRE_BIN "rb"# define LIRE_P "r+"# define LIRE_P_BIN "r+b"# define APPEND "a"# define APPEND_BIN "ab"# define APPEND_P_BIN "ab+"< /* redefinition de short utilise pour les 32 bits */## define short int# define SUCCES 0#endif*[DANA.BIBLIO]TEX_TITRE_BIB.H;1+,&./ 48f-b%0123KPWO56&7X8 /% Ŕ9GHJ8 printf("%s%s\n%s b i b l i o T e X %s %s (c)jfv\n\n",* CLRAS, HOME, REVERSE, NORMAL, VERSION);*[DANA.BIBLIO]THESAURUS.C;1+,./ 4e-b%0123KPWO56BM7`-X8`m^% Ŕ9GHJ(/*G * THESAURUS.C permet de lister l'ensemble des mots cles existants avec * leur numero * * Version C pour ULTRIX * * 1er Juillet 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 7* This software was developped only for resarch purpose2* and is in any way usable for commercial purpose.**//* #define DEBUG*/#include #include "askval.h"#include "ecran.h"#include #include #include "biblio.h"#define LIGNES_PAR_PAGE 50 #ifdef UNIX# define LIGNES_PAR_ECRAN 23#else# define LIGNES_PAR_ECRAN 20#endif#define TRUE 1#define FALSE 0char new_cle[1000][13];int numero[1000];char super_cle[200][40];long tim, /* pour la date */ *p_tim;"FILE *c_codcle, /* le thesaurus */$ *p_liste, /* son listing pour lp */& *v_liste; /* son listing pour visu */main(argc,argv) int argc; char *argv[];{ char nom_fichier[80], nom_dir[60], ordre[80], rep, *temp_cle; int i,j,k,p, n, nb_tot_lignes, nb_lignes, nb_restant, page, nb_colonnes, nb_pages, nb_mots_page, nu_mot_debut, nu_mot_final, nb_super, next, indexees;  short nb_fiches, visu, *nb_c, *nb_f;# include "titre_bib.h"  if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else  { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_MOTCLE_INDEX);; if((c_motcle_index = fopen(nom_fichier,LIRE_BIN)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir);! strcat(nom_fichier,C_SUPER_CLE);0 if((c_super = fopen(nom_fichier,LIRE)) == NULL) {# printf("%s -> pb\n",nom_fichier); exit(1); } H rep = askcval("\nDesirez-vous une liste sur l'ecran (o ou [n]): ",'n'); if (strchr("oOyY",rep)) {A nb_colonnes = askival("Nombre de colonnes du listing [2]: ",2); nb_lignes = LIGNES_PAR_ECRAN; visu = TRUE; } else {A nb_colonnes = askival("Nombre de colonnes du listing [4]: ",4); nb_lignes = LIGNES_PAR_PAGE; visu = FALSE; } /* lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);H fread(nb_f,sizeof(short),1,c_codcle);fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);: /* Lecture du fichier index de mots cles */  p_motcle = motcle;8 fread(&motcle_last_bloc, sizeof(int),1,c_motcle_index);0 fread(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index);S printf("\007\nActuellement,il y a %d mots cles et %d fiches\n",nb_cles,nb_fiches); nb_super = trouve_super_cle();, printf("et %d super mots cles\n",nb_super); / /* on enleve les blancs,les tabulations etc */  for( i = 0; i < nb_cles; i++) { j = 0; k = 0; while(cle[i][j] != '\0') { if (isalpha(cle[i][j])) { new_cle[i][k++] = cle[i][j]; } j++; } new_cle[i][k] = '\0'; }) /* preparation de l'indexage indirect */- for( i = 0; i < nb_cles; i++) numero[i] = i;6 /* tri alphabetique des mots cles par tri a bulles */6 printf("\nMise en ordre alphabetique en cours...\n"); for( i = 0; i < nb_cles-1; i++) { if ( i % 50 == 0 ) { printf("%4d\r",i); fflush(stdout); } for( j = i; j < nb_cles; j++) {; if ((strcmp(new_cle[numero[i]],new_cle[numero[j]]) > 0)) { swap(&numero[i],&numero[j]); } } } #ifdef DEBUG for( i = 0; i < nb_cles; i++)? printf("%d %s --> %5d\n",i,new_cle[(numero[i])],numero[i]+1);#endif ! for( i = 0; i < nb_super-1; i++) { if ( i % 10 == 0 ) { printf("%4d\r",i); fflush(stdout); } for( j = i; j < nb_super; j++) {/ if ((strcmp(super_cle[i],super_cle[j]) > 0)) {' swapstr(super_cle[i],super_cle[j]); } } } /* affichage */ p_tim = &tim; tim = time(0); #ifdef UNIX6 if((v_liste = fopen("thesaurus.vis",ECRIRE)) == NULL) {0 printf("Impossible d'ouvrir thesaurus.vis\n"); exit(1); } if (visu) {K nb_tot_lignes = nb_cles / nb_colonnes; /* nb de lignes pleines en tout */; nb_restant = nb_cles % nb_colonnes; /* et ce qui reste */% if (nb_restant) nb_tot_lignes++; /*$ * si une ligne incomplete ca! * fait une ligne en plus */5 nb_pages = nb_cles / (nb_lignes * nb_colonnes) + 1; T printf("Thesaurus des %s %d %s mot-cles de %s %s %s\n(%d fiches) en date du %s\n", REVERSE,nb_cles,NORMAL, REVERSE,nom_fichier,NORMAL, nb_fiches,ctime(p_tim)) ;) for(page = 1; page <= nb_pages; page++) {+ nb_mots_page = nb_lignes * nb_colonnes;, nu_mot_debut = nb_mots_page * (page - 1);. nu_mot_final = nu_mot_debut + nb_mots_page;6 if (nu_mot_final > nb_cles) nu_mot_final = nb_cles; $ for( j = 0 ; j < nb_lignes ; j++) { % for (i= 0; i < nb_colonnes; i ++) {* k = nu_mot_debut + i * nb_lignes + j;% if (k >= nu_mot_final) continue;O indexees = motcle[(numero[k])].nb_fiches - motcle[(numero[k])].nb_elimine;V fprintf(v_liste,"%-12s -> %4d (%4d f) ",cle[(numero[k])],numero[k]+1,indexees); } fprintf(v_liste,"\n"); }& if (nu_mot_final == nb_cles) break; }+ fprintf(v_liste,"\n\nSUPER MOTS-CLES\n"); for( i = 0; i < nb_super; i++) {$ give_super(super_cle[i],v_liste); } fclose(v_liste);' system("more -dc -23 thesaurus.vis"); system("rm thesaurus.vis");F rep = askcval("\nDesirez-vous une liste imprimee ([o] ou n): ",'o'); if (strchr("nN",rep)) exit(); }#else if (visu) {K nb_tot_lignes = nb_cles / nb_colonnes; /* nb de lignes pleines en tout */; nb_restant = nb_cles % nb_colonnes; /* et ce qui reste */% if (nb_restant) nb_tot_lignes++; /*$ * si une ligne incomplete ca! * fait une ligne en plus */5 nb_pages = nb_cles / (nb_lignes * nb_colonnes) + 1; ) for(page = 1; page <= nb_pages; page++) {] printf("\nPage %d\t\tThesaurus des %d mot-cles de %s \n\t\t\t(%d fiches) en date du %s\n", page,nb_cles,nom_fichier, nb_fiches,ctime(p_tim)) ;+ nb_mots_page = nb_lignes * nb_colonnes;, nu_mot_debut = nb_mots_page * (page - 1);. nu_mot_final = nu_mot_debut + nb_mots_page;6 if (nu_mot_final > nb_cles) nu_mot_final = nb_cles; $ for( j = 0 ; j < nb_lignes ; j++) { % for (i= 0; i < nb_colonnes; i ++) {* k = nu_mot_debut + i * nb_lignes + j;% if (k >= nu_mot_final) continue;O indexees = motcle[(numero[k])].nb_fiches - motcle[(numero[k])].nb_elimine;M printf("%-12s -> %4d (%4d f) ",cle[(numero[k])],numero[k]+1,indexees); } printf("\n"); }A printf("\n%s Suite ou Quitte ([S] ou Q): %s ",REVERSE,NORMAL); rep = askcval("",'s');! if (strchr("fFqQ",rep)) break;& if (nu_mot_final == nb_cles) break; }" printf("\n\nSUPER MOTS-CLES\n"); for( i = 0; i < nb_super; i++) {# give_super(super_cle[i],stdout); }D rep = askcval("Desirez-vous une liste imprimee ([o] ou n): ",'o'); if (strchr("nN",rep)) exit(); }#endif  6 if((p_liste = fopen("thesaurus.lst",ECRIRE)) == NULL) {0 printf("Impossible d'ouvrir thesaurus.lst\n"); exit(1); }8 printf("Mise en page pour l'impression en cours...\n"); if (visu) nb_colonnes = 4;J nb_tot_lignes = nb_cles / nb_colonnes; /* nb de lignes pleines en tout */: nb_restant = nb_cles % nb_colonnes; /* et ce qui reste */$ if (nb_restant) nb_tot_lignes++; /*# * si une ligne incomplete ca * fait une ligne en plus */A4 nb_pages = nb_cles / (nb_lignes * nb_colonnes) + 1; nb_lignes = LIGNES_PAR_PAGE; ( for(page = 1; page <= nb_pages; page++) {e fprintf(p_liste,"\nPage %d\t\tThesaurus des %d mot-cles de %s \n\t\t\t(%d fiches) en date du %s\n",a page,nb_cles,nom_fichier,. nb_fiches,ctime(p_tim)) ;/* nb_mots_page = nb_lignes * nb_colonnes;+ nu_mot_debut = nb_mots_page * (page - 1);e- nu_mot_final = nu_mot_debut + nb_mots_page;I5 if (nu_mot_final > nb_cles) nu_mot_final = nb_cles;C # for( j = 0 ; j < nb_lignes ; j++)  {e$ for (i= 0; i < nb_colonnes; i ++) {) k = nu_mot_debut + i * nb_lignes + j;$ if (k >= nu_mot_final) continue;N indexees = motcle[(numero[k])].nb_fiches - motcle[(numero[k])].nb_elimine;U fprintf(p_liste,"%-12s -> %4d (%4d f) ",cle[(numero[k])],numero[k]+1,indexees); } fprintf(p_liste,"\n"); }  fprintf(p_liste,"\f");% if (nu_mot_final == nb_cles) break;l }* fprintf(p_liste,"\f\nSUPER MOTS-CLES\n"); for( i = 0; i < nb_super; i++)e {# give_super(super_cle[i],p_liste);t } fclose(p_liste); #ifndef DEBUGl system("print thesaurus.lst");eE printf("thesaurus.lst envoye sur la file d'attente d'impression\n");;#endif}d swap(n1,n2) int *n1,*n2;{g int temp; temp = *n1; *n1 = *n2;[ *n2 = temp;}eswapstr(n1,n2) char *n1,*n2;h{o char temp[40]; strcpy(temp,n1);i strcpy(n1,n2);u strcpy(n2,temp);n}s/*>* TROUVE_SUPER_CLE() lit le fichier des super cles, et renvoi,** soit le numero du mot, soit la relation*/trouve_super_cle(){[ char ligne[50], *fgetss(); int i;A o i = 0; fgetss(ligne,49,c_super); { dot { if (ligne[0] == '+') {p strcpy(super_cle[i++],ligne); }i# } while(fgetss(ligne,49,c_super));e retur=~ BIBLIO.BCKb%[DANA.BIBLIO]THESAURUS.C;1ER_CLE.EXE;1ekcn(i);,}E/*;* GIVE_SUPER() lit le fichier des super cles, et imprime sat * compositionp*/give_super(super_mot,out)a7char *super_mot; /* le super mot demarrant par un + */e,FILE *out; /* le pointeur ou on le met */{" char ligne[50], *fgetss(); int i,} nb_char; i rewind(c_super);s. if (fgetss(ligne,49,c_super) == NULL) return; don { if (!strcmp(ligne,super_mot))n {s nb_char = 0;h! fprintf(out,"\n\n%s\n",ligne);a" while(fgetss(ligne,49,c_super)) { if (!strlen(ligne))i {h fprintf(out,"\n");c return; }m nb_char += strlen(ligne)+1;, if (isdigit(ligne[0])) {N i = atoi(ligne)-1;e fprintf(out,"%s ",cle[i]);( }  if (isalpha(ligne[0])) fprintf(out,"%s ",ligne); if (nb_char > 100) { fprintf(out,"\n");  nb_char = 0;l }n } n }h# } while(fgetss(ligne,49,c_super));_}c/* * FGETSS() mime celui de RSX_ */e# char * fgetss(buffer,maxbytes,iop) char *buffer; int maxbytes; FILE *iop;e{  char *status;m & status = fgets(buffer,maxbytes,iop); buffer[strlen(buffer) - 1] = 0; return(status);}x0 fread(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index);S printf("\007\nActuellement,il y a %d mots cles et %d fiches\n",nb_cles,nb_fiches); nb_super = trouve_super_cle();, printf("et %d super mots cles\n",nb_super); / /* on enleve les blancs,les tabulations etc */  for( i = 0; i < nb_cles; i++) { j = 0; k = *[DANA.BIBLIO]THESAURUS.EXE;1+,s .$/ 4$#-b%0123 KPWO%56@7A8ڔǔ9GHJD0DX0205(=@, h THESAURUSV1.0 =@05-05  EV Wp q   ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001%s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_codcle.bibrctx=bin%s -> pb c_motcle_index.bibrctx=bin%s -> pb c_super_cle.bibr%s -> pb Desirez-vous une liste sur l'ecran (o ou [n]): oOyYNombre de colonnes du listing [2]: Nombre de colonnes du listing [4]:  Actuellement,il y a %d mots cles et %d fiches et %d super mots cles Mise en ordre alphabetique en cours... %4d %4d Page %d Thesaurus des %d mot-cles de %s (%d fiches) en date du %s %-12s -> %4d (%4d f) %s Suite ou Quitte ([S] ou Q): %s fFqQ SUPER MOTS-CLES Desirez-vous une liste imprimee ([o] ou n): nNthesaurus.lstwImpossible d'ouvrir thesaurus.lst Mise en page pour l'impression en cours... Page %d Thesaurus des %d mot-cles de %s (%d fiches) en date du %s %-12s -> %4d (%4d f) SUPER MOTS-CLES print thesaurus.lstthesaurus.lst envoye sur la file d'attente d'impression %s %s %s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)^W(YrZ3xWߩ7ߩ3ߩ.ߩ*ߩ%ib(Ѭ1g~ߩ>P~Q(Pg IIIIIIIII!3P~?Pɏߩj (nəO;ɣ'n&ЬRݢn'n߭|'߭r'߭t'Pup߭q'D'n߭.'߭$'߭&'P3p߭#'&n߭&߭&(߭&Po߭*&&n~41P~e&Pj P[Ɏ P2[>vR>S_oRW&RbIoSb:o<2~Y<b$o&go b o<@~gbn%2~2~ɲ%P%X2﷔RXRy|T XVTVRB;ITVRB;RRRB%R XRUSURSTRB;C{TTVRBv; XRURB^X2>RXRS20RSRPSCjS2RSR %T2RRTR1$UzTP{2PQPPT#$$$TS2ᅮRSRK CjRBē DjRB︓ePDjCjRRS2tRSRT2fRRTR1kXX1%$ $UzXP{ PQPPX($7$$XTTl(XRB:V(TRB-ScfP4(XRB c ee eTTXX1V;#P12aSSTzSP{PQPPT[SS1 #XP'#P2~߭2~-hUUUV2ݑRVRRVT[`PSHS[RURTRRV0xBjP@gQ2aQ@P2`PPQ~Bj~ BjP@8vhSSɎhTT[ɹɴɐhs~ɽ P~ɾ""P28RVR  "S"2"(SRBOSSߚo~T P~!P!!P]!{!9!2SSTzSP{PQPPT[RRSS2[1@!X[C!P2~߭2~ehUUUV2RVRRVT[jSNS[RURTRRV6xBjP@gQ2aQ@P2`PPQ~Bj~ BjP@6ɮBhSS,hTT[h2gRVR B S#P(SRBwSSP^ЬQaRЬP`aR4^ݬ߭ԞRbݬݬb߭ݬb^ThSRޭʮ1PcPݮ|P\ݮGP@+߭R\R(\Ld-ޭʮ 1PcPݮ7P\ݮ P@ \RP^S55Z.W h ޭʮ1TgTݮ PRݮP@RUYXV|[Pݬ߭P1T߭*ݬeޭʮ 1P{gPݮ(iPRݮ hP@ R1߭fP0ݬ<߭fPPTPPP@g߭kP P@j2ݬePPP@gP ߭6ݬeTd :ݬeTޭʮ$1QfQݮ,iPRݮ$hP@$R1Wޭʮ1PfPݮ$iPRݮhP@R1P ^ݬ ݬЬSS\PRS(P@cRP^ѬЏЏЬ^q Pv|v m|^xR2V諭U[TPPa^~>1J?PbdbScߢecߢfcߢ+dAScߢ:ecߢDfcߢSd!ScߢaecߢnfcߢxdScˆec“fcPœdScªec³f^RUTﯽZWVYXfݬTݾ½߭k|~jgi~߭ ϧ ߭iP߭3PSPоSdeYSdSe?ed?1߭k߭iPO~fh߭fhSd1^Se1VSPPμ^RUTYV[ZXWfݬ`k߭jݬ ii~߭ ϱ ߭hP߭=PSkSdeYSdSe?edL0߭j߭hPO~fg߭fgSd1_Se1WSPP^RXWTVU[ZYfլݬf deѬ  dݬGk߭jݬ ݬݬ0i~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg/ ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭rP ߭hP^ݬ7|~Kc~߭ϋ߭PPP^Yݬݬ c~߭<߭PPP^Rլ լݬݬ Cݬlݬݬݬc~߭Ͽ߭QPPP^ݬ߭T߭"PPP^RTSWV=U[ZYXeݬpk~M߭j|~gff~߭߭iP߭P߭tPvkQcd_QcQdAVd~Vc~,S߭j߭iPO~behv߭qhehQc1UQd1LPP^RTS,[W5UZYXVeݬpj~z߭iݬgf~߭߭hP߭}߭iPvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^RWV[4SެUTZYXeլݬe§cdѬcݬwpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭9PvjQfg{QfQg]eլݬe·cdVg~Vf~<*߭i߭hPOPìP~cd߭cdQf1Qg1PP ^}Rݬ߭߭P߭߭nPPvP ^8SݬCݬ߭z|~NPs~߭ݬ#PO~z߭ PR߭ݬ RPݬ ^T!ݬݬ߭ݬs~߭ݬScPORKcPR~߭cPR߭ݬ cRPݬݬ R= ^Slլլݬݬf7ѬPPJݬݬ߭ݬ$ݬ ݬs~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭߭_PR߭ݬ URPݬݬ D18^ SzTR|~ߢPP\\\d\|~|~ ߢ |~߭'ݢ P\\2\\\$d\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Ido\F ^ SR|~|~ ߢ |~߭#ݢ P\\2\\\lD\^eR|~|~|~߭1ݢ PT^c WY%Z,΀CЬSЬRBcjiǏIVSkRSESǒi^S%PѪjЪjU _·P ·լլ ΈPΈΈ 0ݬPRެTRdSiSRRdΈ"ݬݬǕiiUriǟe PPf 9WW)WWWWWWWWWI9P&?Pno}[n[}[n[}[ cnU|~|~|~߭1ݪ ΆΆ iǢ 1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬT PVPi: V15ǥi] ΀1Vi V1i ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l siZ 1WPެRF ,bG VPVPi)  PF ViǷ VǺi7 ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[USk PSEd= P1޼PE`ݬP ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi im 1rPi[ ݬi i i- ݬ3 PѪjЪj ݬ PѪjЪjRjPi RRjiݬi /ݬPRެTRdSiSRRdiyV1zVi1hi]1ZPΆ Ά1Vi714RP`PORVSS~ЬTTCdTV· ·XP XX~SCd iiV1Vi1PΆ1i,inVkЬRRsRfRiΈ/R8PRެTRdSiSRRdΈ"ݬݬi)ii)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMAV1BVPib14iVfݬaYiGiJijݬPѪjЪjRjPi RRjimݬpi/ݬPRެTRdSiSqRRdisUV1VVvi1DΆ1 c10[1)R[jЬSTUU[US PSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRiݪXΆ i.1+Pծ,1΀1Ԯ,i|Rji RRji'Έ%RެTRdSiSRRdΈ"ݬݬǂiia~injqVVic1` i%Ά~ǏePi:17P f%Ά~ǜ9Pi1 PRP`PORVЬSSΆFVRBFcެTdRBSFcǬiViǯVDziVd1sVifi[1X|~|~ ߪ |~߭#ݪ PRR2RRRlPR'ݪ c1ЬRݬPPnSPCbݬCbS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?PnY[pnE[pnQ[p(^%WVTfǸ%ݬ+PѤdФdRdPf RRdfǻݬǾf#լ.ݬPRެURe SfSRReլ"ݬݬffVsfff@@LLt t|4l<d|DL,Lt 8 ,  @VAXCRTLLIBRTLMTHRTL THESAURUS main swapswapstr(trouve_super_clet give_super fgetss- >n ASKVALL askidomain8 askfdomain4 ask_speakaskivalaskivalhaskivalf9faskival3 askcvalP\askcvalhLaskcvalf(faskcval,Taskfval\askfvalhdaskfvalfPfaskfvalDasksvalasksvalh,asksvalffasksvalP8 setcbreak4restoreh getchar_vms0 ask_edite? re_ecrit L           -}*[DANA.BIBLIO]TITRE_BIB.H;1+,../ 42`-b%0123KPWO56)7 Y8 4% Ŕ9GHJ2 printf("%s%s\n%s B I B L I O %s %s (c)jfv\n\n",* CLRAS, HOME, REVERSE, NORMAL, VERSION);*[DANA.BIBLIO]TROUVE_AUTEUR.C;1+,-./ 4U-b%0123KPWO5607@4CY8@t% Ŕ9GHJ,/*: * TROUVE_AUTEUR.C permet de retrouver des fiches dans le  * fichier c_fiches.bib. * * Version C pour ULTRIX * * 23 Juin 1988 *" * Version pour fiches avec livres * 22 sept 88 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**/#include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h" #ifdef UNIX# include #endif #ifdef MS_DOS# include #endif?FILE *fich_num, /* fichier avec numero des fiches trouvees */ ' *fich_list; /* fichier dimpression */ int show; /* flag */short *les_fiches; /*1 * le tableau contenant les numeros de fiches * retenues */#include "display_fiche.c"main(argc,argv) int argc; char **argv;{ char nom_fichier[80], nom_dir[60], nom_aut[37], ordre[80], prenom_cherche[7], prenom_pur[7], nom_cherche[37], rep; int i, j, k; short nb_fiches, nb_aut,! annee_1, /* fourchette basse */! annee_2, /* fourchette haute */ *nb_c, *nb_f;# include "titre_bib.h"  if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_AUTEUR_INDEX);; if((c_auteur_index = fopen(nom_fichier,LIRE_BIN)) == NULL) {> printf("%s n'existe pas ou pose un probleme\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_ABBREV);5 if((c_abbrev = fopen(nom_fichier,LIRE_BIN)) == NULL) {> printf("%s n'existe pas ou pose un probleme\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);7 if((c_fiches = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {> printf("%s n'existe pas ou pose un probleme\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {> printf("%s n'existe pas ou pose un probleme\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_AUTEUR);7 if((c_auteur = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {> printf("%s n'existe pas ou pose un probleme\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);U printf("\n\007Actuellement, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches);@ /* Lecture des auteurs mots cles et abreviations */- fread(&nb_key_aut,sizeof(short),1,c_abbrev);, fread(&nb_abbrev,sizeof(short),1,c_abbrev);3 fread(key_auteurs,sizeof(key_auteurs),1,c_abbrev);' fread(revue,sizeof(revue),1,c_abbrev); fclose(c_abbrev);N rep = askcval("\nDesirez-vous voir les fiches sur l'ecran ([o] ou n): ",'o');% if (strchr("oOyY",rep)) show = TRUE; else show = FALSE;8 /* Lecture du fichier index des auteurs */  p_auteur = auteur;8 fread(&auteur_last_bloc, sizeof(int),1,c_auteur_index);0 fread(auteur, sizeof(auteur),1,c_auteur_index); fclose(c_auteur_index); do {C asksval("\nNom de l'Auteur a trouver: ","\0",nom_cherche);) if (strlen(nom_cherche) == NULL) break; strupper(nom_cherche);; asksval("Prenom [inconnu]: ","\0",prenom_cherche); strupper(prenom_cherche); j = 0;. for (i = 0; i < strlen(prenom_cherche); i++) {! if(isalpha(prenom_cherche[i]))( prenom_pur[j++] = prenom_cherche[i]; } prenom_pur[j] = 0;: annee_1 = askival("\nAnnee (limite basse) [tout]: ",-1); if (annee_1 > 0) {% if(annee_1 < 100) annee_1 += 1900;8 sprintf(ordre,"Annee (limite haute) [%d]: ",annee_1);% annee_2 = askival(ordre,annee_1);& if (annee_2 < 100) annee_2 += 1900; }& /* fichier des numeros des fiches */# /* elimine les blancs et les ' */+ for( i = 0; i < strlen(nom_cherche); i++) {6 if (nom_cherche[i] >= 'A' && nom_cherche[i] <= 'Z') nom_aut[i] = nom_cherche[i]; else nom_aut[i] = '_'; } nom_aut[i] = 0; strcpy(nom_fichier,nom_aut); strcat(nom_fichier,".num"); strlower(nom_fichier);4 if((fich_num = fopen(nom_fichier,ECRIRE)) == NULL) {2 printf("%s impossible a ouvrir\n",nom_fichier); exit(1); } /* fichier de listing */ strcpy(nom_fichier,nom_aut); strcat(nom_fichier,".lst"); strlower(nom_fichier);5 if((fich_list = fopen(nom_fichier,ECRIRE)) == NULL) {2 printf("%s impossible a ouvrir\n",nom_fichier); exit(1); }N if (annee_1 > 0) fprintf(fich_list,"Fiches concernant %s %s (%d -> %d)\n\n",4 prenom_cherche, nom_cherche, annee_1, annee_2);8 else fprintf(fich_list,"Fiches concernant %s %s \n\n"," prenom_cherche, nom_cherche);? nb_aut = read_auteur(nom_cherche,prenom_pur,annee_1,annee_2); fclose(fich_list); fclose(fich_num);8 printf("%d fiches trouvees pour %s %s %s %s\n",nb_aut,+ REVERSE,prenom_pur,nom_cherche,NORMAL); if (nb_aut) { int efface; efface = TRUE;P rep = askcval("Desirez-vous conserver les fichiers (o ou [n]): ",'n'); if(strchr("oOyY",rep)) { efface = FALSE; strcpy(nom_fichier,nom_aut); strcat(nom_fichier,".num"); strlower(nom_fichier);< printf("Vous trouverez le resultat de la recherche:\n");6 printf("\tles numeros des fiches dans %s %s %s\n"," REVERSE,nom_fichier,NORMAL); strcpy(nom_fichier,nom_aut); strcat(nom_fichier,".lst"); strlower(nom_fichier);6 printf("\t la liste des fiches dans %s %s %s\n"," REVERSE,nom_fichier,NORMAL); }C rep = askcval("Voulez-vous un listing ([o] ou n): ",'o'); if (strchr("oOyY",rep)) {* sprintf(ordre,"print %s",nom_fichier); system(ordre);N printf("\t La liste des fiches %s %s %s est envoyee sur l'imprimante\n"," REVERSE,nom_fichier,NORMAL);  } if (efface) { strlower(nom_aut); #ifdef UNIX6 sprintf(ordre,"rm %s.num %s.lst",nom_aut,nom_aut); system(ordre);#endif #ifdef VMS; sprintf(ordre,"del %s.num;0 %s.lst;0",nom_aut,nom_aut); system(ordre);#endif #ifdef MS_DOS( sprintf(ordre,"del %s.lst",nom_aut); system(ordre);( sprintf(ordre,"del %s.num",nom_aut); system(ordre);#endif } }A rep = askcval("Voulez-vous continuer (o ou [n]): ",'n'); } while(strchr("oOyY",rep)); fclose(c_fiches); fclose(c_auteur); fclose(c_codcle);}/*>* READ_AUTEUR() determine le code auteur et va lire les fiches* qui le contiennent.*/3read_auteur(nom_auteur,prenom_auteur,an_deb,an_fin)char *nom_auteur, *prenom_auteur; short an_deb, an_fin;{ register i, j, k; short nb_fiches; char initiale, lettre_2; short nu_key, nb_aut, la_fiche; long offset; nb_aut = 0; j = 0; do { initiale = nom_auteur[j]; j ++; } while (! isupper(initiale)); 9 do /* traite les noms du genre D'Alembert ou M'bamako */ { lettre_2 = nom_auteur[j]; j ++; } while (! isupper(lettre_2)); 3 nu_key = (initiale - 'A') * 26 + (lettre_2 - 'A');+ /* donc AA = zero, AB = 1 et BB = 27 */ #ifdef DEBUG0 printf("\n*****\nNb fiches %d, nu_key = %d\n", # auteur[nu_key].nb_fiches,nu_key);#endif& nb_fiches = auteur[nu_key].nb_fiches; if (nb_fiches) {U if((les_fiches = (short *)calloc((unsigned int)(nb_fiches),sizeof(short))) == NULL)* {V+ printf("Pb d\'allocation memoire...\n");* return(NULL); }s# auteur_fiches(nu_key,&nb_fiches);* for(k = 0; k < nb_fiches; k++) {t la_fiche = les_fiches[k]; read_fiche(la_fiche); if (killed) continue; if (fiche.Simple.type == 'S') {, if (an_deb > 0) /* si annees a tester */ {t' if (!(fiche.Simple.annee >= an_deba1 && fiche.Simple.annee <= an_fin)) continue;  } 0 for(i = 0; i < fiche.Simple.nb_auteurs; i++) {.1 if (!strcmp(nom_auteur,fiche.Simple.nom[i]))u {T if (prenom_auteur[0] == 0 || cmp_prenom(prenom_auteur,fiche.Simple.prenom[i])) {d /* c'est bon */ nb_aut++; if(show) show_fiche();o print_fiche();*) fprintf(fich_num,"%d\n",la_fiche);s break; }s } }d } if (fiche.Double.type == 'D') {, if (an_deb > 0) /* si annees a tester */ { ' if (!(fiche.Double.annee >= an_deb 1 && fiche.Double.annee <= an_fin)) continue;v } 0 for(i = 0; i < fiche.Double.nb_auteurs; i++) {i1 if (!strcmp(nom_auteur,fiche.Double.nom[i]))c {T if (prenom_auteur[0] == 0 || cmp_prenom(prenom_auteur,fiche.Double.prenom[i])) {  /* c'est bon */ nb_aut++; if(show) show_fiche();n print_fiche();l) fprintf(fich_num,"%d\n",la_fiche); break;c }i } }  } }[ } else, {8 printf("\007Pas d'auteur %s repertorie\n",nom_auteur); } return(nb_aut);}t/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string; {s while(*string)t { *string = toupper (*string); string++;l }}"/*(* STRLOWER() met en minuscules un string*/strlower(string) char *string;{{  while(*string)g { *string = tolower (*string); string++;a }}i/*D* AUTEUR_FICHES() met dans un tableau le numero de toutes les fiches!* indexees pour l'auteur cherche.t*/auteur_fiches(num_aut,nb_fic)c#int num_aut; /* code de l'auteur */i*short *nb_fic; /* nb de fiches (sortie) */{; short nb, k, bloc_1;i long offset;) #ifdef DEBUG printf("ici auteur_fiches\n"); #endif  p_aut_fiche = aut_fiche;;% bloc_1 = auteur[num_aut].first_bloc; nb = 0; doh {2 offset = (long)bloc_1 * (long)sizeof(aut_fiche); fseek(c_auteur,offset,0);f8 if( ! fread(p_aut_fiche,sizeof(aut_fiche),1,c_auteur)) {16 printf("Pb de lecture au fread de c_auteur.bib\n"); return(NULL); }c for (k = 0; k < 99; k++) {N if (aut_fiche[k] > 0)$ les_fiches[nb++] = aut_fiche[k]; }m bloc_1 = aut_fiche[99]; #ifdef DEBUG* printf("lu... (offset = %ld)\n",offset); for (k = 0; k < nb; k++) {i# printf("aut: %d ",aut_fiche[k]);r% printf("ens: %d\n",les_fiches[k]);m }n/ printf("aut_fiche[99] = %d\n",aut_fiche[99]);t#endif } while(bloc_1);_ *nb_fic = nb; return;}i/*$* READ_FICHE() relit la fich>~ BIBLIO.BCK-b%[DANA.BIBLIO]TROUVE_AUTEUR.C;1;11UJ'e numero*/read_fiche(numero) short numero;o{e long offset;s o simple = TRUE;) killed = wrong_numero = FALSE;( p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);2 if(fseek(c_fiches,offset,0) == -1) return(FALSE);0 fread(p_fiche,sizeof(fiche.A_lire),1,c_fiches); switch(fiche.A_lire[0].type)b { case 'S':o simple = TRUE;f break;t case 'D':e simple = FALSE; break;d case 'K':( killed = TRUE; break;_ default :r wrong_numero = TRUE;o }  return(TRUE);}r/*=* CMP_PRENOM() compare les chaines avec seulement les lettress)* La 1ere chaine n'a deja que des lettrese*/cmp_prenom(chaine,test) char *chaine,p *test; {e char test_court[7]; int i, j; i = j = 0;u r while(test[j])a { if (isalpha(test[j]))e {d test_court[i] = test[j];; i++; } j++; } test_court[i] = 0;u9 return(!strcmp(chaine,test_court)); /* TRUE si egales */ }NL) break; strupper(nom_cherche);; asksval *[DANA.BIBLIO]TROUVE_AUTEUR.EXE;1+,s.-/ 4---b%0123 KPWO.56"EA7zA8 ǔ9GHJX0DX0205(A,h( TROUVE_AUTEURV1.0@A05-05  +> B[ ' ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ***************** Fiche simple numero %d ***************** %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s ***************** Fiche double numero %d ***************** %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_auteur_index.bibrctx=bin%s n'existe pas ou pose un probleme c_abbrev.bibrctx=bin%s n'existe pas ou pose un probleme c_fiches.bibr+ctx=bin%s n'existe pas ou pose un probleme c_codcle.bibrctx=bin%s n'existe pas ou pose un probleme c_auteur.bibr+ctx=bin%s n'existe pas ou pose un probleme Actuellement, il y a %d mots cles et %d fiches Desirez-vous voir les fiches sur l'ecran ([o] ou n): oOyY Nom de l'Auteur a trouver: Prenom [inconnu]: Annee (limite basse) [tout]: Annee (limite haute) [%d]: .numw%s impossible a ouvrir .lstw%s impossible a ouvrir Fiches concernant %s %s (%d -> %d) Fiches concernant %s %s %d fiches trouvees pour %s %s %s %s Desirez-vous conserver les fichiers (o ou [n]): oOyY.numVous trouverez le resultat de la recherche: les numeros des fiches dans %s %s %s .lst la liste des fiches dans %s %s %s Voulez-vous un listing ([o] ou n): oOyYprint %s La liste des fiches %s %s %s est envoyee sur l'imprimante del %s.num;0 %s.lst;0Voulez-vous continuer (o ou [n]): oOyYPb d'allocation memoire... %d %d Pas d'auteur %s repertorie Pb de lecture au fread de c_auteur.bib (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^}UXTҠWhek2ߥa2w1ߥb2~ߥ]ߥ N2\2R\RA<2SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp1\ŏQ\RBćRb1P bߥr1\՟ߥv1Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgųV1S \1e2~ ŷ51\2R\RC#1SP\PPRBP@cz\P{PQPPcV2RR\V 0\ŏQ\RB Rb0P b 0\ԟ?0P?$03M)z0RbĞ0b>bCbdGG0SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg/S \ůŪŃ/s~ųP~Ŵ/PhP^zU%VTӝX1/2~Źff/\2R\RGT/SP\PPRBP@dfcz\P{PQPP fcW2RR\W f/\ŏQ\RBćRb.Pbf.\ҟf.Sc fcfc2~fcfc2 ~-fc\>Sc2cRR RBhDfT.S \1}P2~Hf7.\2R\RE%.S\PPRBP@ńfcz\P{PQPP ŌfcW2RR\W Ŏf-\PŏQ\RB Rb-PbŐf-\ҟ?-P?Ŕf-;Mřfp-RbĞŠfbŮfbųfbdŷf5-Sciżfc2t~fcvfc2ā~ăfc\>čSc2cRR RBhf,S \,\^{,xU,Z.*%!,Ѭ1g~5P~t,Pg HHHHHHHHH 2P?Pņa-,nŐ:ŽŚ,nЬRݢn+n߭+߭+߭+P߭+h+n߭R+ ߭H+߭J+Pk߭ G++n߭+E߭*UR߭*P-߭]**n߭*ł߭*őŏ߭*P߭ř*~*n߭h*ž߭^*߭`*P߭]*0*>R>ScR/*TdMSd><2~]d()Sc2~2,~) dd<~Gd<~!dco~-P~dX)P q PfedR< ~id<0(W)Y ,(<(H(D(V((([($( (8(4w(ņi<gP1DddRdPd~iPddbdśň<``S``~iP``c`TRgRP2PBPPP@jPTPTB@RgRPєD~ŝ4PXPXd 2XRlRRX2XRRżHR4PBBd2BRlRRBRgRP1BPPAPZ PBI P_BIRgRPϔBII߭P߭Lޭ\\S\\~fP\\c\߭0P\߭k(I߭P߭LޭXXRXX~fPXXbX߭0P߭k(X!2B~2X~8;02B~2X~PS z ŀ{2S~VkS1oSn~ń@P~ŵ<P1SI߭Pź߭LޭTTRTPT~fPTTbTſk߭kI߭P߭LޭPPRPP~fPPPbPM߭H!ko~Q@P~u<P+߭zH߭ŃkSLILLRLPL~fPLLbLIILn~@P~<P1O$Rb3b22P^ToY)VRZ#XJRTBdWRWSSSChUBeTRTSSSChWSSSTRRSRRS2SRxRRB{Rb12~;#PT [#P2SR>jxRRB{Rb[W2[RďRR<%#/~o"PJ"6PUP2USCjWRW2RRTCjBd=bU[WS2RSR1y"4q"8<@"DjRCb[2[RKf2RRRď-RRjG"PTyPN1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSd}Scߢaecߢnfcߢxd]Scˆec“fcPœd8Scªec³f^ pRtUtT{ZtW9V[YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭oPSPоSdeYSdSe?edlj߭k߭iPO~fh߭fhSd1^Se1VSPPμ^oR sUsTsYCV[ZX Wfݬk߭jݬ ii~߭ ϱ ߭hP߭yPSkSdeYSdSe?edԈ߭j߭hPO~fg߭fgSd1_Se1WSPP^nR-rX*rWWTorV$U[ ZYfլݬf deѬ  dݬk߭jݬ ݬݬqi~߭ݬ ϑ ߭iP߭YPSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭P^ݬ|~c~߭ϋ߭PPP^ݬ?ݬ c~߭<߭BPPP^lRypլ լݬݬ C?2ݬݬݬݬc~߭Ͽ߭PPP^ݬ߭p߭PPP^dkREoTBoSW8oVU[kZDYUXeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^\jR=nT:nS龍[0nWUZcY<XMVeݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^TiR5mW2mV/m[SmެUVTZPY)Xeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~Ă߭i߭hPOPìP~cd߭cdQf1Qg1PP ^hRݬ߭߭P߭߭PPvP ^gS ݬݬ߭|~ks~߭ݬPO~z߭PR߭ݬ ^RPݬ LQ^,gTuݬݬ߭BݬEks~߭ݬScPOR/cPR~߭cPR߭ݬ RPݬݬ  ^fSjլլݬݬѬPPݬ0ݬ߭kݬ$ݬ ݬljs~߭ݬ߭#PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ 8^eSTCiR|~ߢPP\\\dj\A|~|~ ߢ |~߭'ݢ P\\2\\\$d%\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\ ^dSNhR|~|~ ߢ |~߭#ݢ P\\2\\\lm\D^gR|~|~|~߭1ݢ PT^cW4YgZ,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪjg _·P ·լլ ΈPΈΈg0ݬDPRެTRdSiSRRdΈ"ݬݬǕii9iǟ PPf 9WW)WWWWWWWWWI9P&?P:n[&n[.n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ7 ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPi V15ǥi ΀1Vie V1iU ΀1iǫ7 V΀1 si" 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPi  PF ViǷ^ VǺi ΀1Pݬf VP~im ݬK PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[if 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi. ݬi i 1rPi ݬi i i ݬ PѪjЪjP ݬ PѪjЪjRjPi A RRji% ݬiY a/ݬ/ PRެTRdSiSRRdiV1zVi1hi1ZPΆ Ά1Vi14RP`PORVSS~ЬTTHCdjTYV· ·XP XX~SCd iXiV1Vi51PΆ1i,iVkЬRRRRi`Έ/RPRެTRdSiSiRRdΈ"ݬݬii2i)%Ά >iݬݬΐΓ~ݬݬUV1V,i'1Ά?1BΈLݬݬ2iRbIݬD<ibiMV1BVPib14iVwfݬaYiibijI,ݬbPѪjЪjRjPi RRjimݬpi5o^/ݬ PRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEd-P1޼PE`ݬLݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪΆ i1+Pծ,1΀1Ԯ,i|WRji MRRji1\Έ%RެTRdSiS RRdΈ"ݬݬǂi)iEinjVVi1` i%Ά~ǏPi17P f%Ά~ǜPif1 PRP`PORVЬSS!ΆFVRBFc2ެTdRBSFcǬi-ViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬiPP&nSPCbݬCb:S  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[Nnq[:ny[:(^UWVoYTfǸ}ݬPѤdФdRdPf YRRdfǻ=ݬǾfqYլ.ݬBPRެURe SfSRReլ"ݬݬff:ff@@LdLtL t4|l<|D t 8 ,  @VAXCRTLLIBRTLMTHRTLĴȴ TROUVE_AUTEUR show_fiche print_fiche main read_auteur8ؖstrupper(strlower(( auteur_fichesԗ read_fiche cmp_prenom^ m   ASKVAL askidomain84 askfdomain4h ask_speak\askivalXaskivalhLaskivalf9faskival3askcvalP askcvalhLXaskcvalf؞faskcval,askfval askfvalhaskfvalfPdfaskfvalDasksval<asksvalhܣasksvalffasksvalP setcbreakrestorehL getchar_vms0| ask_edite?re_ecrit            -}*[DANA.BIBLIO]TROUVE_CLE.C;1+,.-/ 4]-,R-b%0123KPWO-56@H&7rY8% Ŕ9GHJ/*6 * TOUVE_CLE.C permet de retrouver des fiches dans le ' * fichier c_fiches.bib, par mots cles. * * Version C pour ULTRIX * * 4 Juillet 1988 * (U.S. Independance day)" * Version avec fiches pour livres * 22 sept 88 * Corrige bug MS_DOS et VMS * 7 dec 88 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**/#include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h" #ifdef UNIX# include #endif #ifdef MS_DOS# include #endif?FILE *fich_num, /* fichier avec numero des fiches trouvees */ ' *fich_list; /* fichier dimpression */#include "display_fiche.c"5short *mot_a, /* les tableaux dans lesquels sont */8 *mot_b, /* stockes les numeros des fiches trouvees */ *les_fiches, show; /* flag */main(argc,argv) int argc; char **argv;{ char nom_fichier[80], nom_ref[80], nom_dir[60], ordre[80], nom_cherche[19], prenom_cherche[7], prenom_pur[7], mot_A_cherche[13], mot_B_cherche[13], relation[5],4 combinaison[133], /* la combinaison des motcles */ rep; int i, j, k, /* indices */) num_A, /* numero du mot cle A et B */ num_B,@ add, /* flag VRAI si on peut K ajouter dans combinaison */. super; /* flag maintenu par super_cle() */ short nb_fiches,! annee_1, /* fourchette basse */! annee_2, /* fourchette haute */2 nb_a, /* nb de fiches, dans A, B et resultat */ nb_b, nb_retenues, inconnu, /* flag */0 *nb_c, /* pointeur sur nombre de mots cles */- *nb_f; /* pointeur sur nombre de fiches */ # include "titre_bib.h" if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);7 if((c_fiches = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir);$ strcat(nom_fichier,C_MOTCLE_INDEX);; if((c_motcle_index = fopen(nom_fichier,LIRE_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); }: /* Lecture du fichier index de mots cles */  p_motcle = motcle;8 fread(&motcle_last_bloc, sizeof(int),1,c_motcle_index);0 fread(motcle, sizeof(motcle),1,c_motcle_index); fclose(c_motcle_index); strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_MOTCLE);7 if((c_motcle = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle); strcpy(nom_fichier,nom_dir);! strcat(nom_fichier,C_SUPER_CLE);0 if((c_super = fopen(nom_fichier,LIRE)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); }U printf("\n\007Actuellement, il y a %d mots cles et %d fiches\n",nb_cles, nb_fiches); combinaison[0] = 0; super = FALSE; do {3 asksval("\nMot cle: ","\0",mot_A_cherche);- if (strlen(mot_A_cherche) == NULL) exit(1); strupper(mot_A_cherche);, if (mot_A_cherche[0] == '+') super = TRUE;> if (super) num_A = super_cle(mot_A_cherche,relation,&super);) else num_A = trouve_cle(mot_A_cherche); }while(num_A <= 0);) nb_fiches = motcle[(num_A-1)].nb_fiches; if (nb_fiches) {P if((mot_a = (short *)calloc((unsigned int)(nb_fiches),sizeof(short))) == NULL) {+ printf("Pb d\'allocation memoire...\n"); return(NULL); } }+ if (key_fiches(num_A,mot_a,&nb_a) == NULL) {: printf("\007Erreur avec le mot cle %s\n",mot_A_cherche); exit(1); }8 printf("\n\t%s --> %d fiches\n\n",cle[(num_A-1)],nb_a); #ifdef DEBUG for(i = 0; i < nb_a; i++)) printf("mot_a[%d] -> %d\n",i,mot_a[i]);#endif$ strcat(combinaison,cle[(num_A-1)]); add = TRUE; while(TRUE) { do { inconnu = FALSE;, if (super) super_cle("",relation,&super); else {R asksval("Relation (et, non, ou, [return pour finir]): ","\0",relation); } strupper(relation);H if (strlen(combinaison) + 5 > 132) add = FALSE;  switch(relation[0]) { case 'E':) if (add) strcat(combinaison," ET "); break; case 'O':) if (add) strcat(combinaison," OU "); break; case 'N':* if (add) strcat(combinaison," NON "); break;' case 'F': /* fin de supermot-cle */& printf("\007Fin du super mot\n"); inconnu = TRUE; break; case '\0': break; default:/ printf("\007Relation %s %s %s inconnue\n", REVERSE,relation,NORMAL); inconnu = TRUE; } }while(inconnu);& if (strlen(relation) == NULL) break;  do {4 if (super) num_B = super_cle("",relation,&super); else {. asksval("\nMot cle: ","\0",mot_B_cherche);- if (strlen(mot_B_cherche) == NULL) break; strupper(mot_B_cherche);. if (mot_B_cherche[0] == '+') super = TRUE;@ if (super) num_B = super_cle(mot_B_cherche,relation,&super);+ else num_B = trouve_cle(mot_B_cherche); } }while(num_B <= 0);* nb_fiches = motcle[(num_B-1)].nb_fiches; if (nb_fiches) {Q if((mot_b = (short *)calloc((unsigned int)(nb_fiches),sizeof(short))) == NULL) {, printf("Pb d\'allocation memoire...\n"); return(NULL); } }, if (key_fiches(num_B,mot_b,&nb_b) == NULL) {; printf("\007Erreur avec le mot cle %s\n",mot_B_cherche); break; }7 printf("\n\t%s --> %d fiches\n",cle[(num_B-1)],nb_b); #ifdef DEBUG for(i = 0; i < nb_b; i++)* printf("mot_b[%d] -> %d\n",i,mot_b[i]);#endifT if (strlen(cle[(num_B-1)]) + strlen(combinaison) > 132) add = FALSE;. if (add) strcat(combinaison,cle[(num_B-1)]);  nb_retenues = nb_a + nb_b;W if((les_fiches = (short *)calloc((unsigned int)(nb_retenues),sizeof(short))) == NULL) {? printf("\007Pb d\'allocation memoire pour les_fiches...\n"); break; } inconnu = FALSE; switch(relation[0]) { case 'E':+ et(mot_a,mot_b,nb_a,nb_b,&nb_retenues); break; case 'O':+ ou(mot_a,mot_b,nb_a,nb_b,&nb_retenues); break; case 'N':, non(mot_a,mot_b,nb_a,nb_b,&nb_retenues); break; default:. printf("\007Relation %s %s %s inconnue\n", REVERSE,relation,NORMAL); inconnu = TRUE; } if (inconnu) continue; #ifdef DEBUG" for(i = 0; i < nb_retenues; i++)4 printf("les_fic?~ BIBLIO.BCKb%ANA.BIBLIO]TROUVE_CLE.C;1;1S.EXE;2]-:hes[%d] -> %d\n",i,les_fiches[i]);#endif free(mot_a); free(mot_b);> mot_a = les_fiches; /* le resultat devient le nouveau mot */2 nb_a = nb_retenues; /* et le nombre de fiches */I printf("\n%s %s %s --> %d fiches\n\n",REVERSE,combinaison,NORMAL,nb_a); } if (nb_a <= 0) {H printf("\007%s Pas de fiche pour cette combinaison de mots cles %s\n", REVERSE,NORMAL); fclose(c_fiches); fclose(c_motcle); exit(SUCCES); }S rep = askcval("Desirez-vous savoir quelles sont ces references ([o] ou n): ",'o');e if (strchr("Nn",rep)) { fclose(c_fiches);e fclose(c_motcle); exit(SUCCES); }7 printf("\nCriteres supplementaires de selection: \n");yC annee_2 = annee_1 = askival("\tAnnee (limite basse) [tout]: ",-1);g if (annee_1 >= 0) {$ if(annee_1 < 100) annee_1 += 1900;9 sprintf(ordre,"\tAnnee (limite haute) [%d]: ",annee_1);e$ annee_2 = askival(ordre,annee_1);% if (annee_2 < 100) annee_2 += 1900;r } nom_cherche[0] = 0;] asksval("\n\tNom d'un des auteurs [pas de selection par auteur]: ","\0",nom_cherche);e prenom_cherche[0] = 0;i if (strlen(nom_cherche))c { strupper(nom_cherche);= asksval("\tPrenom [inconnu]: ","\0",prenom_cherche);e strupper(prenom_cherche);U j = 0;. for (i = 0; i < strlen(prenom_cherche); i++) {! if(isalpha(prenom_cherche[i]))o( prenom_pur[j++] = prenom_cherche[i]; }o prenom_pur[j] = 0; }Y rep = askcval("Desirez-vous voir les references retenues sur l'ecran ([o] ou n): ",'o');i% if (strchr("YyOo",rep)) show = TRUE; else show = FALSE;s< printf("Nom generique des fichiers %s *.num et *.lst %s\n", REVERSE,NORMAL); K sprintf(ordre,"des numeros et de la liste des references retenues [%s]: ",r REF_CLE); asksval(ordre,REF_CLE,nom_ref); ,% /* fichier des numeros des fiches */h strcpy(nom_fichier,nom_ref);, strcat(nom_fichier,".num");3 if((fich_num = fopen(nom_fichier,ECRIRE)) == NULL)o {1 printf("%s impossible a ouvrir\n",nom_fichier);; exit(1); } /* fichier de listing */  strcpy(nom_fichier,nom_ref);  strcat(nom_fichier,".lst");4 if((fich_list = fopen(nom_fichier,ECRIRE)) == NULL) {1 printf("%s impossible a ouvrir\n",nom_fichier);i exit(1); }W if (annee_1 > 0) fprintf(fich_list,"Recherche par mots cles\n%s (%s %s %d -> %d)\n\n",b- combinaison, prenom_cherche, nom_cherche,  annee_1, annee_2);: else fprintf(fich_list,"Recherche par mots cles\n%s\n\n", combinaison);nE nb_retenues = read_cle(nb_a,nom_cherche,prenom_pur,annee_1,annee_2);  fclose(fich_list); fclose(fich_num);= printf("\n%d fiches retenues pour %s %s %s\n\n",nb_retenues,r REVERSE,combinaison,NORMAL);' if (nb_retenues)e { int efface;c efface = TRUE;O rep = askcval("Desirez-vous conserver les fichiers (o ou [n]): ",'n');O if(strchr("oOyY",rep)) {  efface = FALSE; strcpy(nom_fichier,nom_ref);t strcat(nom_fichier,".num"); strlower(nom_fichier);o; printf("Vous trouverez le resultat de la recherche:\n");a5 printf("\tles numeros des fiches dans %s %s %s\n",(! REVERSE,nom_fichier,NORMAL);e strcpy(nom_fichier,nom_ref);) strcat(nom_fichier,".lst"); strlower(nom_fichier);f2 printf("\tla liste des fiches dans %s %s %s\n",! REVERSE,nom_fichier,NORMAL);; }(B rep = askcval("Voulez-vous un listing ([o] ou n): ",'o'); if (strchr("oOyY",rep))n {c) sprintf(ordre,"print %s",nom_fichier);, system(ordre);(M printf("\t La liste des fiches %s %s %s est envoyee sur l'imprimante\n",)! REVERSE,nom_fichier,NORMAL);t u }l if (efface)i { strlower(nom_ref); #ifdef UNIXu5 sprintf(ordre,"rm %s.num %s.lst",nom_ref,nom_ref);l system(ordre);d#endif #ifdef MS_DOSe' sprintf(ordre,"del %s.num",nom_ref);, system(ordre);_' sprintf(ordre,"del %s.lst",nom_ref); system(ordre);e#endif #ifdef VMS) sprintf(ordre,"del %s.num;0",nom_ref);e system(ordre);P) sprintf(ordre,"del %s.lst;0",nom_ref);n system(ordre);m#endif }  } fclose(c_fiches); fclose(c_motcle);}s/* * READ_CLE() va lire les fiches* qui le contiennent.d*/:read_cle(nb_fiches,nom_auteur,prenom_auteur,an_deb,an_fin)int nb_fiches;char *nom_auteur,c *prenom_auteur; short an_deb, an_fin;{i register i, j, k; short la_fiche; int nb_trouve;i nb_trouve = 0;n #ifdef DEBUG+ printf("\nici read_cle(%d,%s,%s,%d,%d)\n",o5 nb_fiches,nom_auteur,prenom_auteur,an_deb,an_fin);0#endif for(k = 0; k < nb_fiches; k++)f { la_fiche = mot_a[k]; read_fiche(la_fiche);[ #ifdef DEBUG1r show_fiche();#endif if (killed) continue;" if (fiche.Simple.type == 'S')l {t #ifdef DEBUG* printf("\nFiche Simple %d\n",la_fiche);#endif+ if (an_deb > 0) /* si annees a tester */( { #ifdef DEBUG) printf("\nAnnee: %d -> %d cherche\n",e& fiche.Simple.annee,an_deb);#endif& if (!(fiche.Simple.annee >= an_deb0 && fiche.Simple.annee <= an_fin)) continue; } if (nom_auteur[0])n {0 for(i = 0; i < fiche.Simple.nb_auteurs; i++) {a #ifdef DEBUG+ printf("\nAuteur: %s -> %s cherche\n",i, fiche.Simple.nom[i],nom_auteur);#endif1 if (!strcmp(nom_auteur,fiche.Simple.nom[i])); {T if (prenom_auteur[0] == 0 || cmp_prenom(prenom_auteur,fiche.Simple.prenom[i])) {  /* c'est bon */ nb_trouve++;m bonne(la_fiche);a break;l }1 } }d } elsei { /* c'est bon */  nb_trouve++; bonne(la_fiche); } }t if (fiche.Double.type == 'D')  { + if (an_deb > 0) /* si annees a tester */  {& if (!(fiche.Double.annee >= an_deb0 && fiche.Double.annee <= an_fin)) continue; } if (nom_auteur[0])L {0 for(i = 0; i < fiche.Double.nb_auteurs; i++) {d1 if (!strcmp(nom_auteur,fiche.Double.nom[i]))a {T if (prenom_auteur[0] == 0 || cmp_prenom(prenom_auteur,fiche.Double.prenom[i])) {t /* c'est bon */ nb_trouve++;e bonne(la_fiche);c break;i }F } }\ } elsen { /* c'est bon */  nb_trouve++; bonne(la_fiche); } }t } return(nb_trouve);i}n/** BONNE() imprime la fiche*/ bonne(numero)c short numero; { #ifdef DEBUG" printf("ici bonne(%d)\n",numero);#endif if (show) show_fiche(); print_fiche();l! fprintf(fich_num,"%d\n",numero); }/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string;L{b while(*string)p { *string = toupper (*string); string++;+ }}r/*(* STRLOWER() met en minuscules un string*/strlower(string) char *string;e{m while(*string)o { *string = tolower (*string); string++;b }} /*G * KEY_FICHES() met dans le tableau ces_fiches le numero de toutes les $ * fiches pour le mot cle cherche. */h%key_fiches(num_key,ces_fiches,nb_fic)d!int num_key; /* code de la cle */e4short *ces_fiches, /* ou mettre les numero trouvs */% *nb_fic; /* nb de fiches (sortie) */0{r short nb, nb_fiches, k, bloc_1; long offset; #ifdef DEBUG, printf("ici key_fiches(%d,...)\n",num_key);#endif9 num_key--; /* on passe le numero connu de l'exterieur */d p_key_fiche = key_fiche;  % bloc_1 = motcle[num_key].first_bloc;s nb =0;b doo {2 offset = (long)bloc_1 * (long)sizeof(key_fiche); fseek(c_motcle,offset,0);n8 if( ! fread(p_key_fiche,sizeof(key_fiche),1,c_motcle)) {d6 printf("Pb de lecture au fread de c_motcle.bib\n"); return(NULL); }t for (k = 0; k < 99; k++) {) if (key_fiche[k] > 0)$ ces_fiches[nb++] = key_fiche[k]; } bloc_1 = key_fiche[99];a #ifdef DEBUG* printf("lu... (offset = %ld)\n",offset); for (k = 0; k < nb; k++) {b# printf("key: %d ",key_fiche[k]);:% printf("ens: %d\n",ces_fiches[k]);e };/ printf("key_fiche[99] = %d\n",key_fiche[99]);i#endif } while(bloc_1);  *nb_fic = nb; return(TRUE);}n/*$* READ_FICHE() relit la fiche numero*/read_fiche(numero) short numero;_{e long offset;p #ifdef DEBUG' printf("ici read_fiche(%d)\n",numero);#endif a simple = TRUE;; killed = wrong_numero = FALSE;u p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);2 if(fseek(c_fiches,offset,0) == -1) return(FALSE);0 fread(p_fiche,sizeof(fiche.A_lire),1,c_fiches); switch(fiche.A_lire[0].type)d { case 'S':e simple = TRUE;s break;, case 'D':E simple = FALSE; break; case 'K':m killed = TRUE;C break; default :l wrong_numero = TRUE;l }  return(TRUE);}]/* * TROUVE_CLE() trouve le mot cle*/trouve_cle(le_mot) char *le_mot;m{l int i, j, k;U char rep, *isinstr();i int nb_related, i_related[20], mot_len, dif_len; = strupper(le_mot); mot_len = strlen(le_mot); if (isdigit(le_mot[0])) { i = atoi(le_mot);_ i--; /*6 * c'est le numero du mot-cle qui est stocke et non * son rang dans le tableau */C printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ",  REVERSE,cle[i],NORMAL,i+1);u rep = askcval("",'n');& if (strchr("oOyY",rep)) return(i+1); else return(-1); }  nb_related = 0; for ( i = 0; i < nb_cles; i++)  {& dif_len = dif_string(cle[i],le_mot);- if (!dif_len) return(i+1); /* mot trouve */9 if (dif_len <= CORR_ORTOG) /* est-ce qu'il ressemble */ {iD printf("Vous voulez dire \007%s %s %s (Mot cle %d) (o ou [n]): ", REVERSE,cle[i],NORMAL,i+1); rep = askcval("",'n');o' if (strchr("oOyY",rep)) return(i+1);a else continue;) }i if (isinstr(cle[i],le_mot))R {2 if (nb_related < 20) i_related[nb_related] = i; nb_related++; }. }- /* n'existe pas on propose un approchant */e if (nb_related == 1)e {C printf("Vous voulez dire \007%s %s %s (Mot cle %d) ([o] ou n): ",n7 REVERSE,cle[(i_related[0])],NORMAL,i_related[0]+1);r rep = askcval("",'o');1 if (strchr("oOyY",rep)) return(i_related[0]+1);e else return(-1); } if (nb_related > 1) { if(nb_related <= 20) {i/ printf("\007Vous avez le choix parmi...\n");g# for (i = 0; i < nb_related; i++) printf("\t%4d --> %s\n", i_related[i]+1, cle[(i_related[i])]); return(-1); }i else {uI printf("\007%d mot-cles possibles avec %s %s %s, precisez mieux...\n",,& nb_related,REVERSE,le_mot,NORMAL); return(-1); }b  } /* n'existe vraiment pas */& printf("\007%s %s %s n'existe pas\n", REVERSE,le_mot,NORMAL); return (-1);,} /*2* DIF_STRING() renvoi le nb de lettres differentes*/dif_string(str_a,str_b)) char *str_a, *str_b;{ int dif;h char *str_c;t dif = 0;s7 str_c = (strlen(str_a) > strlen(str_b))? str_a: str_b;m while(*str_c++) {" if (*str_a++ != *str_b++) dif++; } return(dif);;} /*"* ET() fait la fonction logique ET*/et(cle_a,cle_b,nb_a,nb_b,nb_et)O*short *cle_a, /* numero des 2 mots cles */ *cle_b; int nb_a, nb_b,4 *nb_et; /* nb de fiches selectionnees (pointeur) */{( register i, j, k; /* indices */ int nb_c; nb_c = nb_a + nb_b; k = 0;p for (i = 0; i < nb_a; i++)e { for (j = 0; j < nb_b; j++) {f8 if (cle_a[i] == cle_b[j]) les_fiches[k++] = cle_a[i]; }o } *nb_et = k;} /*"* OU() fait la fonction logique OU*/ou(cle_a,cle_b,nb_a,nb_b,nb_ou)+short *cle_a, /* tableau des 2 mots cles */  *cle_b; int nb_a, nb_b,4 *nb_ou; /* nb de fiches selectionnees (pointeur) */{) register i, j, k; /* indices */ int pas_la; /* flag */ k = 0; for (i = 0; i < nb_a; i++)f les_fiches[k++] = cle_a[i];l for (i = 0; i < nb_b; i++)n { pas_la = TRUE; for (j = 0; j < nb_a; j++) {  if (cle_b[i] == cle_a[j]) { pas_la = FALSE;% break; } }o) if (pas_la) les_fiches[k++] = cle_b[i];f } *nb_ou = k;}o/*$* NON() fait la fonction logique NON* retourne un pointeur de shortl*/!non(cle_a,cle_b,nb_a,nb_b,nb_non)d7short *cle_a, /* tableaux contenant les 2 mots cles */) *cle_b; int nb_a, nb_b,5 *nb_non; /* nb de fiches selectionnees (pointeur) */m{e register i, j, k; /* indices */ int dans_a_seul; /* flag */ k = 0;) for (i = 0; i < nb_a; i++)e { dans_a_seul = TRUE;e for (j = 0; j < nb_b; j++) {, if (cle_a[i] == cle_b[j]) { dans_a_seul = FALSE; break; } }. if (dans_a_seul) les_fiches[k++] = cle_a[i]; } *nb_non = k;i}/*:* ISINSTR() regarde si une sous chaine est dans une chaine*/char *isinstr(string,substring)u(char *string, /* La chaine incluante */) *substring; /* la sous chaine incluse */f{e int diff_len, sub_len; B$ sub_len = strlen(substring);% diff_len = strlen(string) - sub_len;t A if (diff_len < 0) return(0); /* souschaine trop grande */cM diff_len++; /* pour aller jusqu'au bout (poteaux et intervalles) */  while (diff_len--) {9 if(!strncmp(string,substring,sub_len)) return (string); string++;. } return(FALSE);b} /*=* CMP_PRENOM() compare les chaines avec seulement les lettrest)* La 1ere chaine n'a deja que des lettresm*/cmp_prenom(chaine,test) char *chaine,  *test;({A char test_court[7]; int i, j; i = j = 0;i e while(test[j])r { if (isalpha(test[j]))n {t test_court[i] = test[j];  i++;  }( j++; } test_court[i] = 0;o9 return(!strcmp(chaine,test_court)); /* TRUE si egales */ }s/*7* SUPER_CLE() lit le fichier des super cles, et renvoi, ** soit le numero du mot, soit la relation*/)super_cle(super_mot,super_relation,super)o7char *super_mot, /* le super mot demarrant par un + */b# *super_relation; /* la relation */ %int *super; /* l'adresse du flag */ {f char ligne[50], *fgetss();  if (strlen(super_mot))< { rewind(c_super); do {n( if (fgetss(ligne,49,c_super) == NULL) {; printf("\007Le super mot %s n'existe pas\n",super_mot);i return(0); }" }while(strcmp(ligne,super_mot)); } fgetss(ligne,49,c_super); if (!strlen(ligne)) { strcpy(super_relation,"FIN"); *super = FALSE;e return(0); } if(isalpha(ligne[0])) { strcpy(super_relation,ligne);e return; } return(atoi(ligne));b}o/* * FGETSS() mime celui de RSX */# char * fgetss(buffer,maxbytes,iop)O char *buffer; int maxbytes; FILE *iop;h{  char *status;i f& status = fgets(buffer,maxbytes,iop); buffer[strlen(buffer) - 1] = 0; return(status);}l fprintf(fich_num,"%d\n",numero); }/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string;L{b while(*string)p { *string = toupper (**[DANA.BIBLIO]TROUVE_CLE.EXE;1+,t.6/ 466-b%0123 KPWO756`A7WVA8ǔ9GHJ@0DX0205(|A,h0 TROUVE_CLEV1.0@$|A05-05   +@ Dc / ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ***************** Fiche simple numero %d ***************** %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s ***************** Fiche double numero %d ***************** %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s inexistant ou probleme c_codcle.bibrctx=bin%s inexistant ou probleme c_motcle_index.bibrctx=bin%s inexistant ou probleme c_motcle.bibr+ctx=bin%s inexistant ou probleme c_super_cle.bibr%s inexistant ou probleme Actuellement, il y a %d mots cles et %d fiches Mot cle: Pb d'allocation memoire... Erreur avec le mot cle %s %s --> %d fiches Relation (et, non, ou, [return pour finir]): ET OU NON Fin du super mot Relation %s %s %s inconnue  Mot cle: Pb d'allocation memoire... Erreur avec le mot cle %s %s --> %d fiches Pb d'allocation memoire pour les_fiches... Relation %s %s %s inconnue  %s %s %s --> %d fiches %s Pas de fiche pour cette combinaison de mots cles %s Desirez-vous savoir quelles sont ces references ([o] ou n): Nn Criteres supplementaires de selection: Annee (limite basse) [tout]: Annee (limite haute) [%d]: Nom d'un des auteurs [pas de selection par auteur]: Prenom [inconnu]: Desirez-vous voir les references retenues sur l'ecran ([o] ou n): YyOoNom generique des fichiers %s *.num et *.lst %s des numeros et de la liste des references retenues [%s]: ref_cleref_cle.numw%s impossible a ouvrir .lstw%s impossible a ouvrir Recherche par mots cles %s (%s %s %d -> %d) Recherche par mots cles %s %d fiches retenues pour %s %s %s Desirez-vous conserver les fichiers (o ou [n]): oOyY.numVous trouverez le resultat de la recherche: les numeros des fiches dans %s %s %s .lst la liste des fiches dans %s %s %s Voulez-vous un listing ([o] ou n): oOyYprint %s La liste des fiches %s %s %s est envoyee sur l'imprimante del %s.num;0del %s.lst;0%d Pb de lecture au fread de c_motcle.bib Vous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) (o ou [n]): oOyYVous voulez dire %s %s %s (Mot cle %d) ([o] ou n): oOyYVous avez le choix parmi... %4d --> %s %d mot-cles possibles avec %s %s %s, precisez mieux... %s %s %s n'existe pas Le super mot %s n'existe pas FIN (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^yUXTﺠWheo>ߥe>g1ߥb2~ߥ]ߥ R>\2R\RA@>SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp=\ŏQ\RBćRb=P bߥr=\՟ߥv=Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgųZ=S \1e2~ ŷ9=\2R\RC'=SP\PPRBP@cz\P{PQPPcV2RR\V <\ŏQ\RB Rb<P b <\ԟ?<P?$<3M)~<RbĞ0b>bCbdGK<SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg;S \ůŪŃ;s~ų!P~Ŵ;PhP^vU VTﻝX1/2~Źfj;\2R\RGX;SP\PPRBP@dfcz\P{PQPP fcW2RR\W f;\ŏQ\RBćRb:Pbf:\ҟf:Sc fcfc2~fcfc2 ~-fc\>Sc2cRR RBhDfX:S \1}P2~Hf;:\2R\RE):S\PPRBP@ńfcz\P{PQPP ŌfcW2RR\W Ŏf9\PŏQ\RB Rb9PbŐf9\ҟ?9P?Ŕf9;Mřft9RbĞŠfbŮfbųfbdŷf99Sciżfc2t~fcvfc2ā~ăfc\>čSc2cRR RBhf8S \88^o8ZsX.*%!8Ѭ1g~5FP~|8Pg HHHHHHHHH 2P?PȆa18Ȑ":ȽȚ 8"ЬRݢ7߭7߭7߭7P߭7`7߭J7߭@7 ߭J7P_߭K77߭6,߭6A?߭6P߭I66M6<@~66߭e6d߭[6tq߭e6P߭|f6-6>{R>SPR86Rb:Sb+<2~Jb5߭5ȗ߭5ȧ߭5P߭ȩ552~2~5ԭ5T͖I ͖^5P A5͖θθS޸P޸~dP޸θc޸͖+խ͖߭̈́PS͖PSS1kSRxRRBRb$2~4P4P?SP͖4o42~SR RBvRb;4=42[v4T+4VX4WPUխ߭̈́P+̈́Q̈́SP~dPc3PP[̈́R11REzRPPE #_oooooooK7WP?P[^ȁfQP[JȆf=P[6ȋf)PȑgUP̈́ȤgUU1̈́3P1U 3TPխ߭̈́ePΜ1͉͉2Pk͉μμS޼޼~dP޼μc޼͉+խ͉߭̈́ePΜP͉- PΜΜ1WΜRxRRB&Rb$2~2PS*2P?:Τ[ P͉212~ΠR RBSc1c1PR1PRR[[ cp12S2RRSS2~\1Pj$x11uΚ̈́PPE #{1P?PRUOW2Y2V>Π|QY,PPVPAe@g RSRjTAeCdPPVQQYRޠ1P?2~2~xVU2W2T>Y|QW7SPTPBf@eSPPTS QSQjTBfCdRRWQis̈́nQU0ΚΚ1Y0P0j>2~Ȗȑw01P6Ț////o~P~/P#/v/Q/v/~FPVVWVLVd 2VRlRRV2VRRe9/RPWWd 2WRlRRWͱͱȹȂͪͱ.P1ͱδδS޴P޴~.P޴δc޴ͪȻ`ͪΰΰTްPް~.PްΰdްUSͪ@.SP:PCͪRRRB`.RURUCͪBͣSͪ.SPɔEͣo~P~-P POJ-ȍS-PȕqP߭k-ȝ߭a-Ȣ߭o-P߭Ȥp-7-P߭!-ȼ߭-߭%-P߭&-,V%2W~2V~ͱͪq, Z,2W~2V~ͣͱ2~P0,',O J 2~& ,1Tn~S GP~Ȅ I,P1TP߭,ȉ ߭ ,ޭάάSެ Pެ~4,PެάcެȎ , ߭ Ȼ +P߭+ ߭+ޭΨΨSިި~+PިΨcި ߭ +o~ RP~A T+P3߭F ^+++ȓ ߭Ȏ O 9+TnPΤΤSޤ Pޤ~(+PޤΤcޤPȗ **PȤ **ɿ**P^eYﭿV*WZSެS15ެ[5*8-*<@DM*H^RCbN2NR1Ofv2RRRď-RR *PTw1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSdScߢaecߢnfcߢxdScˆec“fcPœdlScªec³f^0eRAiU>iTZ4iW}VS[(Y=Xfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭PSPоSdeYSdSe?ed~߭k߭iPO~fh߭@~ BIBLIO.BCKtb%[DANA.BIBLIO]TROUVE_CLE.EXE;1R.EXE;116:*!fhSd1^Se1VSPPμ^3dRDhUAhT>hYV[_Z4XIWfݬk߭jݬ ii~߭ ϱ ߭hP߭PSkSdeYSdSe?ed}߭j߭hPO~fg߭fgSd1_Se1WSPP^@cRQgXNgWTgVdU[`Z5Yfլݬf deѬ  dݬk߭jݬ ݬݬfi~߭ݬ ϑ ߭iP߭PSkSghuSgSh[fլݬfdehg| ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭<߭"P ߭P^Aݬ|~Cc~߭ϋ߭PPP^ݬoݬ c~߭<߭~PPP^5aReլ լݬݬ CXvݬݬݬݬc~߭Ͽ߭PPP^ݬ߭߭PPP^`RidTfdSW\dVU[ZYXeݬ4pk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~;zS߭j߭iPO~behv߭qhehQc1UQd1LPP^_RacT^cSy[TcWUZYxXVeݬ,pj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^x^RYbWVbVSb[SbެUTZYeXeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭PvjQfg{QfQg]eլݬe·cdVg~Vf~w߭i߭hPOPìP~cd߭cdQf1Qg1PP ^)]Rݬ߭Y߭?P߭߭PPvP ^\SMݬݬ߭|~F`s~߭ݬPO~z߭PR߭ݬ RPݬ ^P\Tݬ7ݬ߭ݬi`s~߭ݬAScPOR[cPR~߭cPR߭ݬ RPݬݬ  ^[S`լլݬݬѬPPݬ`ݬ߭ݬ$ݬ ݬ_s~߭ݬ߭_PR߭ݬ 5RPݬݬ $1^ݬP~߭)߭PR߭ݬ RPݬݬ 8^ZSTg^R|~ߢPP\\\d\u|~|~ ߢ |~߭'ݢ P\\2\\\$de\0Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id \ ^YSr]R|~|~ ߢ |~߭#ݢ P\\2\\\l\x^]R|~|~|~߭1ݢ PT^YWxY\Z,΀CЬSЬRBcjiǏVSkSSǒiSPѪjЪj] _·P ·լլ ΈPΈΈ\0ݬPRެTRdSiS1RRdΈ"ݬݬǕi]ieiǟ PPf 9WW)WWWWWWWWWI9P&?Pfn/[Rn[Zn[ cnU|~|~|~߭1ݪ ΆΆ iǢH1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬkݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬݬݬΐΓ~ݬݬ V1ZPVݬPVPi V15ǥi ΀1Vi V1i ΀1iǫg V΀1 siR 1P޼RFb $PVVi-  P޼PF` iǮ VVVDZiH ΀1l si 1WPެRF ,b VPVPi  PF ViǷ VǺi ΀1Pݬ VP~i ݬ PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬin ݬiV i 1rPi ݬi i i ݬ PѪjЪj ݬ PѪjЪjRjPi q RRjiU ݬi V/ݬk PRެTRdSiS RRdi V1zVi? 1hi 1ZPΆ Ά1Vi 14RP`PORVSS~ЬTT Cd T V· ·XP XX~SCd i i7 V1Viu 1PΆ1i ,iVkЬRR RRi 9UΈ/RPRެTRdSiSRRdΈ"ݬݬiibi)UΆ >iKݬݬΐΓ~ݬݬUV1V,ig1Ά?1BΈLݬݬ2iBRbIݬD<ibiMV1BVPib14iVfݬaYiiijydݬPѪjЪjRjPi MRRjim1ݬpiuS/ݬGPRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USPSEdP1޼PE`ݬݬݬΐΓ~ݬݬrV PRR[i61PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRl].RݪΆ i1+Pծ,1΀1Ԯ,i|Rji }RRjiaQΈ%RެTRdSiS=RRdΈ"ݬݬǂiiiqinjVVi1` i%Ά~ǏPi17P f%Ά~ǜPi1 PRP`PORVЬSSYΆFVRBFcfެTdRBSIFcǬimViǯ VDziOVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlRݪ c1ЬRݬPP^nSPCbݬCbnS  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pnﱾ[zn[fn量[f(^JW:VNTfǸݬPѤdФdRdPf RRdfǻmݬǾfNլ.ݬ~PRެURe SfS1RReլ"ݬݬf^ffff@@LLtL t4|l<d|D, t 8 ,  @VAXCRTLLIBRTLMTHRTL TROUVE_CLE show_fiche print_fiche mainread_clef lbonne8strupper(̟strlower( key_fiches read_ficheh trouve_cle< dif_stringa etS ou nondisinstrW< cmp_prenom^ super_cle fgetss-       ۹  ASKVAL askidomain8 askfdomain4, ask_speak askivalaskivalhaskivalf9Lfaskival3askcvalPЬaskcvalhLaskcvalffaskcval,ȭaskfvalЮaskfvalhدaskfvalfP(faskfvalDlasksvalasksvalhasksvalf\fasksvalP setcbreakrestoreh getchar_vms0@ ask_edite?re_ecrit            -}*[DANA.BIBLIO]TROUVE_TEXTE.C;1+,ݙ./ 4S-b%0123KPWO567ϡY8& Ŕ9GHJ(/*E * TROUVE_TEXTE.C permet de rechercher une cahine de caracteres dans  * l'ensemble du fichier. * * Version C pour ULTRIX * * 6 Octobre 1988 *//*** Auteur: Dr J-F VIBERT* Laboratoire de Physiologie* CHU Saint-Antoine* 27 rue Chaligny* 75571 Paris cedex 12 * France** Copyright Dr JF Vibert * All rights reserved'* Access limited to authorized persons 8* This software was developped only for research purpose2* and is in any way usable for commercial purpose.**/#include #include #include "askval.h"#include #include "ecran.h"/* #define DEBUG*/#define FALSE 0#define TRUE 1#include "biblio.h" #ifdef UNIX# include #endif #ifdef MS_DOS# include #endif+FILE *fich_list, /* fichier dimpression */0 *fich_num; /* fichier des numeros de fiches */#include "display_fiche.c"short nb_fiches,* nb_retenues, /* nb de fiches trouvees */ case_indep, /* flag MAJ/min */ auteurs, journal; +char ligne[900], /* buffer pour la fiche */6 *isinstr(); /* routine de recherche de sous chaine */main(argc,argv) int argc; char **argv;{( char nom_fichier[80], /* fourre tout */7 nom_num[80], /* fichier des numeros de references */0 texte_A_chercher[80], /* le texte a trouver */) nom_dir[60], /* directory de la BdD */ ordre[80], /* une ligne */ rep; int i, j, k, visu, /* flags */ imprime,  an, demarre; /* annee de depart */ short *nb_c, *nb_f; #include "titre_bib.h" if (argc == 1) {D rep = askcval("Fichier [G]eneral ou Personnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_dir,argv[1]); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_FICHES);7 if((c_fiches = fopen(nom_fichier,LIRE_P_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); } strcpy(nom_fichier,nom_dir); strcat(nom_fichier,C_CODCLE);5 if((c_codcle = fopen(nom_fichier,LIRE_BIN)) == NULL) {4 printf("%s inexistant ou probleme\n",nom_fichier); exit(1); }( /* Lecture des mots cles */ nb_c = &nb_cles; nb_f = &nb_fiches;& fread(nb_c,sizeof(short),1,c_codcle);& fread(nb_f,sizeof(short),1,c_codcle);# fread(cle,sizeof(cle),1,c_codcle); fclose(c_codcle);B sprintf(ordre,"Nom generique des fichiers %s *.num et *.lst %s\n\7des numeros et de la liste des fiches retenues [%s]: ", REVERSE,NORMAL,REF_TXT); asksval(ordre,REF_TXT,nom_num); % /* fichier des numeros des fiches */ strcpy(nom_fichier,nom_num); strcat(nom_fichier,".num");3 if((fich_num = fopen(nom_fichier,ECRIRE)) == NULL) {1 printf("%s impossible a ouvrir\n",nom_fichier); exit(1); }= asksval("\nTexte a trouver: ","\0",texte_A_chercher);/ if (strlen(texte_A_chercher) == NULL) exit(1);F rep = askcval("Est-ce une portion de nom d'auteur ([n] ou o): ",'n');) if (tolower(rep) == 'o') auteurs = TRUE; else auteurs = FALSE;S rep = askcval("Est-ce une portion de titre de journal ou livre ([n] ou o): ",'n');) if (tolower(rep) == 'o') journal = TRUE; else journal = FALSE;G rep = askcval("Recherche sans differencier MAJ/min ([o] ou n): ",'o');- if (tolower(rep) == 'n') case_indep = FALSE; else case_indep = TRUE;, if (case_indep) strupper(texte_A_chercher);S demarre = askival("On prend les references a compter de quelle annee [tout]: ",0);3 if (demarre > 0 && demarre < 100) demarre += 1900;F rep = askcval("Desirez-vous les voir sur l\'ecran ([o] ou n): ",'o');$ if (strchr("nN",rep)) visu = FALSE; else visu = TRUE;; rep = askcval("Desirez-vous un listing (o ou [n]): ",'n');( if (strchr("oOyY",rep)) imprime = TRUE; else imprime = FALSE; /* fichier de listing */ if (imprime) { strcpy(nom_fichier,nom_num); strcat(nom_fichier,".lst");5 if((fich_list = fopen(nom_fichier,ECRIRE)) == NULL) {2 printf("%s impossible a ouvrir\n",nom_fichier); exit(1); } }  nb_retenues = 0; for (i = 0; i < nb_fiches; i++) { if (! ((i+1) % 50)) { printf("Fiche %d\r",i+1); fflush(stdout); } do {& if(read_fiche((short)i+1) == FALSE) {( printf("\007Probleme de lecture\n"); exit(1); } if (wrong_numero) { i ++; }( }while(wrong_numero && i < nb_fiches); read_fiche((short)i+1);8 an = (simple)? fiche.Simple.annee: fiche.Double.annee; if (! killed && an >= demarre) {% if(trouve_texte(texte_A_chercher)) { if (imprime) print_fiche(); if (visu) show_fiche(); nb_retenues++;% fprintf(fich_num,"%d\n",(simple)? fiche.Simple.numero: fiche.Double.numero); } } } fclose(fich_list); fclose(fich_num);= printf("\n%d fiches retenues pour %s %s %s\n\n",nb_retenues,$ REVERSE,texte_A_chercher,NORMAL); if (nb_retenues) { int efface; efface = TRUE;O rep = askcval("Desirez-vous conserver les fichiers (o ou [n]): ",'n'); if(strchr("oOyY",rep)) { efface = FALSE; strcpy(nom_fichier,nom_num); strcat(nom_fichier,".num"); strlower(nom_fichier);; printf("Vous trouverez le resultat de la recherche:\n");5 printf("\tles numeros des fiches dans %s %s %s\n",! REVERSE,nom_fichier,NORMAL); if (imprime) { strcpy(nom_fichier,nom_num); strcat(nom_fichier,".lst"); strlower(nom_fichier);3 printf("\tla liste des fiches dans %s %s %s\n"," REVERSE,nom_fichier,NORMAL); } } if (imprime) {C rep = askcval("Voulez-vous un listing ([o] ou n): ",'o'); if (strchr("oOyY",rep)) {* sprintf(ordre,"print %s",nom_fichier); system(ordre);N printf("\t La liste des fiches %s %s %s est envoyee sur l'imprimante\n"," REVERSE,nom_fichier,NORMAL);  } } if (efface) { strlower(nom_num); #ifdef UNIXB if (imprime) sprintf(ordre,"rm %s.num %s.lst",nom_num,nom_num);+ else sprintf(ordre,"rm %s.num",nom_num); system(ordre);#endif #ifdef VMSG if (imprime) sprintf(ordre,"del %s.num;0 %s.lst;0",nom_num,nom_num);. else sprintf(ordre,"del %s.num;0",nom_num); system(ordre);#endif #ifdef MS_DOS if (imprime) {( sprintf(ordre,"del %s.lst",nom_num); system(ordre); }' sprintf(ordre,"del %s.num",nom_num); system(ordre);#endif } } fclose(c_fiches); fclose(c_motcle);}/*$* READ_FICHE() relit la fiche numero*/read_fiche(numero) short numero;{ long offset; simple = TRUE; killed = wrong_numero = FALSE; p_fiche = &fiche;2 offset = (long)(numero-1) * sizeof(fiche.Simple);2 if(fseek(c_fiches,offset,0) == -1) return(FALSE);0 fread(p_fiche,sizeof(fiche.A_lire),1,c_fiches); switch(fiche.A_lire[0].type) { case 'S': simple = TRUE; break; case 'D': simple = FALSE; break; case 'K': killed = TRUE; break; default : wrong_numero = TRUE; }  return(TRUE);}/*(* STRUPPER() met en majuscules un string*/strupper(string) char *string;{ while(*string) { *string = toupper (*string); string++; }}/*(* STRLOWER() met en majuscules un string*/strlower(string) char *string;{ while(*string) { *string = tolower (*string); string++; }}/*?* TROUVE_TEXTE() met la fiche dans un string et cherche la sous* chaine dedans*/trouve_texte(str,no_case) char *str; /* texte a trouver */{ register i; char buffer[300]; ligne[0] = 0; if (simple) { if (auteurs) {C for (i = 0; i < fiche.Simple.nb_auteurs; i++) /* nb d'auteurs */ { sprintf(buffer,"%s %s ", fiche.Simple.prenom[i], fiche.Simple.nom[i]); strcat(ligne,buffer); } }- for (i = 0; i < 4; i++) /* nb de lignes */h {r' strcat(ligne,fiche.Simple.titre[i]);s strcat(ligne," "); }r if (journal)& strcat(ligne,fiche.Simple.journal); } else  { if (auteurs) {tC for (i = 0; i < fiche.Double.nb_auteurs; i++) /* nb d'auteurs */5 { sprintf(buffer,"%s %s ", fiche.Double.prenom[i], fiche.Double.nom[i]); strcat(ligne,buffer);r } }h- for (i = 0; i < 4; i++) /* nb de lignes */o { ' strcat(ligne,fiche.Double.titre[i]);u strcat(ligne," ");u }t if (journal) {i$ if (strlen(fiche.Double.journal)) {' strcat(ligne,fiche.Double.journal);E } elsef { sprintf(buffer," %s %s ",u fiche.Double.livre,  fiche.Double.editeurs);d strcat(ligne,buffer);l } }.#ifdef COMPLET sprintf(buffer," %s %s %d",r fiche.Double.volume,/ fiche.Double.pages, fiche.Double.annee);i strcat(ligne,buffer);b#endif }! if (case_indep) strupper(ligne);e& if (isinstr(ligne,str)) return(TRUE); else return (FALSE); }/*:* ISINSTR() regarde si une sous chaine est dans une chaine*/char *isinstr(string,substring)(char *string, /* La chaine incluante */) *substring; /* la sous chaine incluse */u{/ int diff_len, sub_len; e$ sub_len = strlen(substring);% diff_len = strlen(string) - sub_len;* rA if (diff_len < 0) return(0); /* souschaine trop grande */tM diff_len++; /* pour aller jusqu'au bout (poteaux et intervalles) */ p while (diff_len--) {9 if(!strncmp(string,substring,sub_len)) return (string); string++;a } return(FALSE);o}eonnel ([g] ou p) :", 'g'); switch (tolower(rep)) { case 'p':A sprintf(ordre,"Nom du repertoire personnel [%s]: ",BIBLIO);" asksval(ordre,BIBLIO,nom_dir); break; case 'g': default:@ sprintf(ordre,"Nom du repertoire general [%s]: ",GENERAL);# asksval(ordre,GENERAL,nom_dir); break; } } else { strcpy(nom_d*[DANA.BIBLIO]TROUVE_TEXTE.EXE;1+,v.-/ 4-,-b%0123 KPWO.56LA7ܘA8ǔ9GHJ(0DX0205(A,h' TROUVE_TEXTEV1.0A05-05  -@ D\ & ? ! VAXCRTL_001! LIBRTL_001O! MTHRTL_001 **************************%s Fiche simple numero %5d %s************************* %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s **************************%s Fiche double numero %5d %s************************* %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s Suivante ou Quitte ([S] ou Q): %sfFqQ***************** Fiche simple numero %d ***************** %s %s; %s %s; %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s ***************** Fiche double numero %d ***************** %s %s; %s %s; In %s Edite par %s %s, %s %s: %s (%d) Tire-a-part: %s Entree le %s par [%d] %s %s%s %s B I B L I O %s %s (c)jfv V4.2-vFichier [G]eneral ou Personnel ([g] ou p) :Nom du repertoire personnel [%s]: [.BIBLIO][.BIBLIO]Nom du repertoire general [%s]: BIB:BIB:c_fiches.bibr+ctx=bin%s inexistant ou probleme c_codcle.bibrctx=bin%s inexistant ou probleme Nom generique des fichiers %s *.num et *.lst %s des numeros et de la liste des fiches retenues [%s]: ref_txtref_txt.numw%s impossible a ouvrir Texte a trouver: Est-ce une portion de nom d'auteur ([n] ou o): Est-ce une portion de titre de journal ou livre ([n] ou o): Recherche sans differencier MAJ/min ([o] ou n): On prend les references a compter de quelle annee [tout]: Desirez-vous les voir sur l'ecran ([o] ou n): nNDesirez-vous un listing (o ou [n]): oOyY.lstw%s impossible a ouvrir Fiche %d Probleme de lecture %d %d fiches retenues pour %s %s %s Desirez-vous conserver les fichiers (o ou [n]): oOyY.numVous trouverez le resultat de la recherche: les numeros des fiches dans %s %s %s .lst la liste des fiches dans %s %s %s Voulez-vous un listing ([o] ou n): oOyYprint %s La liste des fiches %s %s %s est envoyee sur l'imprimante del %s.num;0 %s.lst;0del %s.num;0%s %s %s %s %s %s (? pour aide)Pas d'aideMauvaise valeur (? per aiuto)No aiutoCattiva valora (? fur HilfeNicht HilfeNicht Gut (? por ayudad)No ayudadNo bueno (? for help)No helpBad value%d%s (%d-%d)[%dC%s%s%s %d%s (%d-%d)[%dC%s%s%s [0%d;%dH%d[0%d;%dH%s (%d-%d)[%dC%s%s%s [0%d;%dH%f%f%s (%.1f-%.1f)[%dC%s%s%s %f%f%s (%.1f-%.1f)[%dC%s%s%s [0%d;%dH%f%f[0%d;%dH%s (%.1f-%.1f)[%dC%s%s%s %f%s%s[0%d;%dH%sTT:%%ASKVAL: Error %d on ASSIGN TT: %%ASKVAL: Error %d on QIO SENSEMODE %%ASKVAL: Error %d on QIO SETMODE %%ASKVAL: Error %d on QIO SETMODE 7%s[0%d;%dH8 [%dC88[%dC8[%dC[%dC[0%d;%dH%s%s%s88%s%s%s88%s8[%dC%s%c8[%dC8%s[0%d;%dH8[%dC[0%d;%dH%s%s%s8[%dC8%s%s%s88%s8[%dC88[0%d;%dH81234567890-+1234567890-+.eE%s8[%dC88%s[0%d;%dH8Bad valueNo help (? for help)΀^yUX]TnWheK0ߥA01ߥb2~ߥ]ߥ .0\2R\RA0SP\PPRBP@dߥfcz\P{PQPPߥncV2RR\V ߥp/\ŏQ\RBćRb/P bߥr/\՟ߥv/Scߥ{cŀc2~ńcŊc2 ~Ŝ\>Sc2cRR RBgų6/S \1e2~ ŷ/\2R\RC/SP\PPRBP@cz\P{PQPPcV2RR\V .\ŏQ\RB Rb.P b .\ԟ?.P?$j.3M)Z.RbĞ0b>bCbdG'.SciLc2t~PcvVc2ā~ăhc\>Sc2cRR RBg-S \ůŪŃ-s~ųP~Ŵ-PhP^vUV^ToX1/2~ŹfF-\2R\RG4-SP\PPRBP@dfcz\P{PQPP fcW2RR\W f,\ŏQ\RBćRb,Pbf,\ҟf,Sc fcfc2~fcfc2 ~-fc\>Sc2cRR RBhDf4,S \1}P2~Hf,\2R\RE,S\PPRBP@ńfcz\P{PQPP ŌfcW2RR\W Ŏf+\PŏQ\RB Rb+PbŐf+\ҟ?+P?Ŕfb+;MřfP+RbĞŠfbŮfbųfbdŷf+Sciżfc2t~fcvfc2ā~ăfc\>čSc2cRR RBhf*S \*|^s*tVvWUX.*%!X*Ѭ1g~5P~^*Pg FFFFFFFFF0?PƆà*Ɛ̀.:ƽƚ̀)̀ЬRݢ)߭)߭)߭l)PY߭i)D)߭b)߭X) ߭)P߭)(>R>SR(RbSb<2~Ԕb(ƛƗƒ,̀(\ƣ̀\߭(ƫ߭(ư߭P(P߭ƲM((( u F(P 'n~cTdP~&(ScPo n~dP~cPo  P o~LdP~cPn2 S P~'Pc}> Pd lo~Ƹt P~*'Pn~H P~&P PJ\߭&߭&߭&P߭&d& T2RTR1Jc&[h&ZM&Y2&TSzSP{2PQPPS3kW&(&2TPPheg2PPPď-PPjPRmP!qPPD4DDDDDD8DDDDDDD,"P?PbPbPcP^PЬRb~6!PbR^PЬRb~!PbRΘ^{Z@jVﱿTj 1BS2RSR7SRBSRBd j S2RSRRu UŏQRSCćjejeR1j= 1P2DS2RSR9SRBSRBjS2RSRRUPŏQRSC jejeRE?P?j'PĞMqjt^)j4ޮ4S4P4~aP44c4j0ޮ0YЬXX:PWݮ0-WPSU7PSSRSR'WXݮ8PЮ0U0iSRSRUUPP ^ݬPSݬSPRPRRPRP$SݬݬPЬP֬RPRPP^ѬЏsЏsЬss^q sPysvtsv es|^poR͉VzU?TPPa^~>1J?PbdScߢecߢfcߢ+dScߢ:ecߢDfcߢSduScߢaecߢnfcߢxdUScˆec“fcPœd0Scªec³f^|nRrUrTZrW V[YXfݬݾ½߭k|~jgi~߭ ϧ ߭iP߭GPSPоSdeYSdSe?ed;߭k߭iPO~fh߭fhSd1^Se1VSPPμ^mRqUqTqYV[ZXWfݬk߭jݬ ii~߭ ϱ ߭hP߭QPSkSdeYSdSe?edH߭j߭hPO~fg߭fgSd1_Se1WSPP^lRpXpW'TpVU[ZYfլݬf deѬ  dݬwk߭jݬ ݬݬ(pi~߭ݬ ϑ ߭iP߭1PSkSghuSgSh[fլݬfdehg ߭j߭iPOPìP~+de?߭:1deSg1Sh1SPP^ݬ߭߭P ߭|P^ݬg|~c~߭ϋ߭PPP^}ݬݬ c~߭<߭:PPP^jRnլ լݬݬ Cݬݬݬݬc~߭Ͽ߭PPP^ݬ߭H߭PPP^iRmTmSWmVaU['Z<YXeݬpk~M߭j|~gff~߭߭iP߭P߭PvkQcd_QcQdAVd~Vc~S߭j߭iPO~behv߭qhehQc1UQd1LPP^hRlTlSWYUZY4X Veݬpj~z߭iݬgf~߭߭hP߭}߭PvjQcd[QcQd=Vd~Vc~k€߭i߭hPO~ef£߭ž•efQc1UQd1LPP^gRkWkVk[XSlެUTZ Y!Xeլݬe§cdѬcݬpj~±߭iݬ$ݬ ݬkf~߭ݬ߭hP߭´߭iPvjQfg{QfQg]eլݬe·cdVg~Vf~8߭i߭hPOPìP~cd߭cdQf1Qg1PP ^ufRݬ߭߭P߭߭PPvP ^0fSݬsݬ߭|~Hjs~߭ݬPO~z߭xPR߭ݬ VRPݬ DI^eTEݬݬ߭ݬis~߭ݬScPOR/cPR~߭cPR߭ݬ RPݬݬ  ^dSdiլլݬݬOѬPPnݬݬ߭'ݬ$ݬ ݬhs~߭ݬ߭PR߭ݬ RPݬݬ ^ݬP~߭߭PR߭ݬ RPݬݬ 8^cSTgR|~ߢPP\\\d&\|~|~ ߢ |~߭'ݢ P\\2\\\$d\Т ɏ|~|~ ߭|~߭#ݢ P\\2\\\Id\f ^bSfR|~|~ ߢ |~߭#ݢ P\\2\\\lh)\^]fR|~|~|~߭1ݢ PT^[bWYfZ,΀CЬSЬRBcjiǏyVSkSSǒivSPѪjЪjMf _·P ·լլ ΈPΈΈf0ݬ<PRެTRdSiSRRdΈ"ݬݬǕii9iǟ PPf 9WW)WWWWWWWWWI9P&?P>n[*n[2n[ cnU|~|~|~߭1ݪ ΆΆ iǢ1m ΆPP1]ΆPP1|~|~|~߭1ݪ RR[ RO1v|~|~|~߭1ݪ PP1"HT4\t\1P?P c1[1UUP[U޼REbݬ/ݬݬΐΓ~ݬݬ] V1 c1[1[RURUPU޼REbݬ ݬݬΐΓ~ݬݬ V1ZPVݬ PVPij V15ǥiu ΀1Vi= V1i- ΀1iǫ V΀1 si 1P޼RFb $PVVi  P޼PF` iǮ VVVDZi ΀1l si 1WPެRF ,b VPVPiY  PF ViǷ6 VǺiO ΀1Pݬ^ VP~i) ݬC PV΀1|~|~|~߭1ݪ RR~1 c1[1R[iSTUU[US PSEd P1޼PE`ݬ ݬݬΐΓ~ݬݬV PRR[i> 1 P|~|~|~߭1ݪ RR81|~|~|~߭1ݪ RR~1Έ=ݬݬi ݬi i 1rPi ݬi i i] ݬ PѪjЪj( ݬ~ PѪjЪjRjPi  RRji ݬi `/ݬ' PRެTRdSiS RRdi V1zVi 1hi 1ZPΆ Ά1Vig 14RP`PORVSS~ЬTT Cdb TQ V· ·XP XX~SCd i iV1Vi1PΆ1i,iVkЬRRRRi^Έ/RPRެTRdSiSARRdΈ"ݬݬiAi i)Ά >iݬݬΐΓ~ݬݬUV1V,i1Ά?1BΈLݬݬ2iRbIݬD<ibiMqV1BVPib14iVOfݬaYi_ibij!ݬZPѪjЪjRjPi RRjimݬpi\/ݬPRެTRdSiSRRdisV1VVvi1DΆ1 c10[1)R[jЬSTUU[USwPSEdaP1޼PE`ݬDݬݬΐΓ~ݬݬrV PRR[i1PΆΆZ|~|~ ߪ |~߭#ݪ PRR2RRRlRݪxΆ i^1+Pծ,1΀1Ԯ,i|/Rji %RRji [Έ%RެTRdSiSRRdΈ"ݬݬǂiiEinjVVi1` i%Ά~ǏPij17P f%Ά~ǜPi>1 PRP`PORVЬSSΆFVRBFc*ެTdRBS FcǬiViǯVDziVd1sVii1X|~|~ ߪ |~߭#ݪ PRR2RRRlhRGݪ c1ЬRݬaPPnSPCbݬCb2S  SnPn[ [ PPf 7UU'UUUUUUUUUGPr?Pn[Nnu[:n}[>(^TWVWTfǸUݬPѤdФdRdPf 1RRdfǻݬǾf-Xլ.ݬ:PRެURe SfSRReլ"ݬݬff:ff@@LdLt 4l<|DLt| 8 ,  @VAXCRTLLIBRTLMTHRTL TROUVE_TEXTE show_fiche print_fiche main read_fiche\strupper(strlower( trouve_texteșisinstrW   ϕ ASKVAL askidomain8X askfdomain4 ask_speakaskival|askivalhpaskivalf9faskival3askcvalP0askcvalhL|askcvalffaskcval,(askfval0askfvalh8askfvalfPfaskfvalḌasksval`asksvalhasksvalffasksvalP setcbreakrestorehp getchar_vms0 ask_edite?re_ecrit             -}NB `(5s zid obs-RBIB;30mEkk{SƕC1P~ ۔4xQn+a os+m ̄wXW~)Mg K*ܭlx>bLjkTqrǛh-v=f%.$2b(B W<Fo5=8AG~CV,KṆC5 41Bg& Fh؛_CB5,e1bҀOvn-^GY<>+{kTkG O  (ݨ$9&ue|$Q>\R[Hi@۴2uʮ&[? Zo,E6ԓ[I-o(cV;:/8 D,f|L9-%!KQoT ~9Rgt!TPѽR48MrTq"bj͇OqZ.uU!,K'Y%Bhvbr\ZGFu׎n;#<4&#l5b>jw?YsӠ*F+ uB{`TDʷkȼ o<is//H]v}mq{yT%ƨ$™=LW]ѕoZVxt/Z4M(^ڼ\=l%yn(cF,Ns `G 2PLl`?ᣖyedŠ2U"RĒEV g%߾ )^,DmȱkXKp肠B.*r$L9/u aDj-e bM[Nym| uLF%!A&(IMJy g;X+۝!dpFd!M'TUikU|Pr٢†,s7[Lg_˄]|앃:U/!&]4$w:MCqTrG+G#EU8fz,+m;Z͉o!f!QCeS|\ hXP{7gkwS0fWM먰 2Lkj Od!u.:| dZxM Xe4TI0wPzQGUIz-|BO 1l` Vx102;nEH㐭FJ͗]r9]<͂g ,eۆ =HZWhf̜w%yyQ²^:T߱⹕v*vluO才lwz K+7z 8.hֻ INgۦӍ9[&,S0KFW,( @tF{#hil"XW\d'ѬJw ^rӉ:G ڠ  -$.,U򞖰|dV,m^P SUO_t^ Ч g]lpvƴRf8G_6:,P^RLQWP9=5WHIZH[myiҁ o#\s.jd~aڟwؤ,6FF[ J9WjybD#`B,''Dl)Qۆ߃z"ux0=xqJY.dIB20~;\%S#/v D;OΕ/]l57O.-DEXBEV*1!t 4 2'z A±s@GP'hr%Oz@Fʂ` k|c$^f 왃KX{?ऩ6Xx<fڇyQľQBg5i.R ;25疙Cn,ѣƧz1oS0w/)*3}fgN)W SHŀh-v* ӉklFߔgfSQ,Y_x_QF^+Pc@ WuOPC8ڻ|{avyrA|݈ F 6Zj tf3Z*z1b |cs:IQ|Xme~Q1ad[DnOMܙ‹B*ymyAa H)r_ ^.XšX|TڲCpu 4袕\bs6CrVqXl xRj q]ӔbyZw@:[G~6rmB!rx AZYo08F)6}4 .7@sd)jm煮dt*Tukf@ 77 '[nի@SNsJ۴$~ Q|TC/%42l玫7ii0 pM3g()]Ԏ.8घDO_ eW7b XTv|*o椟r/vN6ศpL'Ƨzg1Ƶ'Tw<^aڪqf?JB,yi˽Taz*@T|=a!KsG;SV.,")&;8Bq,޴]Qæ/q<^ǨCfzRϐN$3ԅ1LPƟZT0xL#{,DkR5@ZST2tĖ}g'vCJ:*t+oeģ[vW$p+/Z" &"5Hضu^ѫp2+dI8p8XvB=:>>l>bAkGek IG*BtbFa|amwz03 N+ؽE ډ hlEW(XҸ*VFsǩV&H%z]*9;(T'VLi6c DPy7C:޾ uf'\ޯH2:ICEhϷqV;wI *#LEsلsӯQF$ ΉLEiʃCthr"{lT}IR<Am{raAvA 4m_kkJzpu}inR%mZwL }K}u-"NMF+C.ۤɍ B}ְ.f-Rb ^@cMO\2k<|Ou*~͛.-USDO3 ה~fssg)8"*z% a;'բ4_=Tˎ2x_o-KRRYE q839]HzL iZA}n;{W 7fΣ:{t݉-x HtNxe%<ی2D2մmDCioj{v{ns{z+/*Wmm{2&8KM.DׄBvN:瓾KNs0eY8@4'44**]޲̭4$PHȢ=V -MW*?v#[UVZnq?o7([1;rtWNWzCɡT~hذ$pvaBT ErU@։Ht[xo0t-E݋2u;eHjS8h@9'kbX @u)3'C)^r,Kh5pBզMYn P@Q&"g@v!Gތdz mf'5hklST@>8)-u{`ǃM1¾0k<+zv :)2l;ijUԵ[Ihc8!ՁUOL\ׅ_9ƢID}ZզVvegѤX,T&r՘ 鹲TVXnl^qhp$n}*N{* X=-B{^x!']?^%/ͩ,&f$u_Kq\ C DDHWzPEGj(YX\Їlx@|EMz(9ҟ}1tY+29o6k;bqӃ7%oKF^S2ZS4ډN=lpdqVYP3^ˀ{CGWP\ʄ.7>xP;eG Vl#߯v̊w38?&.:u9 [̴CY(}DC^IB,M qƺVx+BBؕ`ѯFâAJZ>˱b!wFvfX~t|Bۃ7^kO{d.ޏXB%-5_.%WZ`jY.eVrw{s|pigł)D-=,# C@[)SV]fD02J+1FFu閶AW(+*X:SNj c4FB _vLG.﬛ZfRw9q2hy0dm;Wš$R}p_ZA\ذ= \ydt$vL#ԑdcӹDZMb ʷ4adjO$~ ugq2?wtݍ!]zH?$u%]8~4(dK:U4N?VT\Ńu"ǀ^,x+rݾp.;eV%Mਟm;ŃnoӂFȶ= kz`@ )5!}ĵOO}m:JOz1=nr Qޮ'KOLxjO! S2r~133}m7pܤQ0 yv^>ߒ7uN2d/޶]]gQa~W :"!;+޹Y2 y@Y}y+AGmx0 Fuki4IC)v?i䵇W3Eps эL-:lʉ1Q럺mphi#Y84ѷQj*9y"0TUg MϬQ7uTѠR?.fN fhB%#edS0"PJ ^e[:ֆ$lj lR7 Kc;~bLp&,{ϜᨅM{piVA!}Q4o2SHLM>)#tkoD t޲T\E2 lS5"OW$ȝZ mb=h0kx~d\ S_vj+]qȺ89~xUaA]X)Fh,6,98,)<-.=4-yW{i W ~)޽y bXv?rBi>1?Ʋ=vqAV(Q ܦ}H2vaBKpf `G;?ݡ/=Xi8n:0C$(BMu^C2uwA C۳ }SlUAz+^ O+Tv0qZ7޷Ȫ^aѝ e Zm#MyaXXHՙ7~(ٍ+ >\:F7sf";8R pm!mMc5ة@̵ 4{[`FB\^¸YDžG,Wm+oѱCi[ab/XDh_[[IXςos _-?nC|rIh_ľ#IUaш%Pa*!]F!xʼn۞T/)-VqJ[Ⱦ˰DtEq.qY&Ț7 |$5 +$J |p9\b IBgVuwϯD}e]5(V}O DvH}'d$B!ߘmqis4,F O3< 0mc9 0_'gz,IU?F$hZyi[粯8 sˏF,pgik2*ª+YFdwj&8"&E -B2Ȥӗ[Q(fqJt?rNtg_#@wYr3S¬lw8Ծ;Nȿ6<-I|oV/04j3V;'6mLun} i&5S@1.Wz4 5X#`sKt7d7(y]O#~ Q W3O-UI8įʶϺh|ۮ9 /ek Bԣoai5n&,#Da-oL0k3{ZV}xO`Jc-5]in=֩gc~o. ɓM qk=vr26bl3[ƛ; ۝6WT⋌?`K-o Xu9VSGqW7``nj藍x d< uP{+42y]FJtI@K^r(E٘bL@ڠ?m H mȚrQ1%&?}og>jĤvEkLǍO/X'*th [i \%} |0͓Krr wTfO.A~j]2aR݆6n# kĪ EWZ5kDE/yN(F\֞_[}C[fp _&\AO; k J;еM?wQ$QwXe̓R?e؏˶9AWЯȄb/3{A/44'!LYs1&[ xtnj2n1(z>'}GZƁAPX*-dK5vu?!WF 7ݬ2j@a%twT&v~ .Ls[?W.#;})o ڧ,H_n z75#i|' 5,8yD"\}v^[X"^Qs%6nwZ9\?0wTPR^./'6 R[3gor-zALB>jr-߶glPӳ],J#AJ{ط@"&Za3:?q&,cz  bNDJZ7o27!݆N#H]+ M)_gopP YsһӠf,Z7!A[K_KyI="0γ'Xiqltԯ2p1W#j{HȆ++8cX9uǕeh,/Qjk{3BkD~Dj6ďv*ſRVЮ!K# C̆D{:r,'|:&?&KbIsgS7 +$" }X4r<߮1ʅ?WQ EVu}*&M&`!XS1%P%eܩ\T:iB~]Fw<˖^j5Ye 2_:8ȮUH.ߥ34ϯ&B39w8*i+f?4tas`v^ٮN[*hF GNͶe$f* a6f c;c˛;ǒB]W񞴹d_axQ~Oq{#+d1B/+<WS*cs2=5X8|;sLB,Y<&4V jSɹonauJb"bꎏu EwyCĴ [>7>&Y0"i}/ynjzưmȟ4E}g9&4'1SgyP $Z2[WӭcZK]~l$@b$Q|+@amA.yħ _xVv Isj԰( $`ezS[Biyf:uJ;?\D%by"(u=fA"߂Epx'J:l\Yh,B] C_1 Otc'`gZOLxA9=Vlp&o_P̈́zD~v~K/ۃmCجގ]j@hPY8n;ҕJx$ߜc5nWT_Τ)Cv:Z%tx@z;cblOG,}oE2$EΑKPUYRմYZ318$d較+YιMC f|?:>/ EqkH秉q&}/pH N[}mQ_{\׬KЀE` aȜ_:|  nsX*(B@ Td"h(j_Fr\zΖ+ j5By/'ӬK0+$:gӭRh6A0ؘp$*Xys4@koGj3h Xv* U2 8æ S hA9'Z ajTSmmDDϢ^*D/y| @qv8X˭x N"nsjx5;<9=}ٞ.81O)d\Rb #2$~~6\̳c(a(_,N>@(#ԃn!}tyo05`CMo(wh h>JM&\^rn9T@^:}&n˶j%?ıMJS9`nO$3#՚AT̼s} ȢU[9<|9D 6bJA6\XfD!sy8^C !GB~faoƓi`ThN5?WZzYǁ?UĀ<v":S4V6eIwM+<:z݊8^"Ѷ٢,#d `Q^ib 4+7uQ~n6$3(CLf}Kt!}f:xtV禝윦?Y7v'r+mıT~@?ո@j1pC=q1?a[}LQ-|'pbP}fi-K3̓Gʚc#*g‹Zjg<QBgs/i1Z/KgB:tm<gYd@e aL>3]uˋSrvR^{ϳ'D߮UI,LWBP9n |EUPVDxB1K/$ iR'*3T.#gPڭ]xP ۫OVU~ǣ$#{Ϫ. ߊ HN$ėR iP?a_;HpE~L_: |tMUznI1()ռƌ,7}|# n+!_&G" &-(W18D'fЉ[~L 'RfU\'rIq/ũqʣ+mN#w.O@`wW<#Wd!oT"rH~|8nGqZa\҉Ƞ2CtwI`AhEq&RgOK-8bd#~ ;@bRKfe#VO[?c 3⫌lO/v~+9R|5VZh15n'7KB3L ླྀ:J8DHu[:FG>~X{0, CPQnHFxz^ xZzOUL.1%eeؚqҌ>lGƍ%- c$6AEY4Ƶ$ HIhxQx scr٦Lۺ[ ɜ:ERwL2o3+a3jڞnwޡyh!+%N䵆[#yC>Zw2%NjTvrMdx u/:fdu .]yvɾ^Zj.ɶ=hW~:jjMcQrUf1WFN$ D]]Z7TX-!G]nO/߆VtbyI3nKH 5@rS0eΚDEsϯ|W Qe26r$XbYGu]'`(, Z*N A)3Q14)ה?5{.aւ S(T֭vu:>`PeOI6 ӃA<{O':9:!&9Ȯ)ꞕ*p\I_fvqsp9>Tk-t3\B1%J#eūE=)պwy7- M]O ~t0Y#&T{gNӵZsl<]B"A]QGlf%BD|[0A0V;a-GIVZ`a9]<y㙮[$ۦ='M;A}SĦ >>l/&MMEww7漠jEt4W-fYm{0&prnvzpjBL`xcY+S g@fǂG^;Ϡ\s+eE@y}Vx  %f u;] lS*9# =C̛(-zT&wxxEؖ7zQ; [0xIUe9I)Wjr~;Ͷ*|;xPe/? ku3rgc~>LGoXfj+G'ck~j<S@CWLaS3Xjbb=q04M#Co؀'oBę&IݽP3joԃ<`H\KƵmjS `o{TTso9)1HDp,2o&8]TKX:NqQ<&i N,li=U3SڒGM*#qPWmc+Rqg pL>n9-R5#|O0gvč_8%+^PNyyJjy;@Mq){O8co >ySZ)X'^tw?Jgo@@4-'M {tRX%n*sLT)$LAQ0.%bwwb FQ4{94-R߳ri4]_Yr7ݧqNu{H =qlۗP#uT@5w3O^<8MҜIVEgq#>uY|BԆ,#PJyL4jjie؍^>%@ѻ@߿ ˲[\0jm:+|X݆*>ȲȊ| 悋ޮ֋ms*:C̀e&&د܋DS4Mddu #n3eIfMs`UӠ[\&-1 KF)7 WxE[*vW/ 0YCw"߅f/3LE/51P#T]v5D2}AB&PP0D]?QeQo|-Rj/*Z 7:!#{O[G B6Eeh)fè|WE~ p6ļ \^u&2Ex+UB'i}X6P$ݓ㾖A;v{KBkDPӷH)D ~{Bf8h<njGu/;%}a߫^EoR5t3LDr9\'ڨy[}RԴCyXԋ'1'd*@طJJ >^q}d!]nCFD.[9C(%}Mp( e@ B'fh-d<bkrd8iD'# pyŠL(G*<jfҒth8}2| @lgt^_ M+~|"Xc6Dy~k}o\ٚ958 " $1@&k9:,7أpgUi8uJ|uZi5x=wlj89"UovLYY{_D \3 vAdOPˇe@1R@N)>+Pb/W FN_0YuCG7G4Awd4ʜYlbe/\/({;0:soNaq|"N+Q0(5>C)à>-[ щ~u7zu&af rG,u7Pm q)l$Oj;\=Uo88l-OƛViR-d\z%2֯w$y./Bq?6Ok/;#}+0Uj"sYlږ%Q1vNl;zw( e򟉩&Uy %tg]-q)M3Cq)NR%n;!8f $ }m;`&ZPI7rJimyt.$[wYrDhS|,RU>ӊ|cX3rm(ӷ m> _Oi-=f0ZA\ھHN)VVrI%hRrfC-ArI*$ dзHRgW 3b-1>PWMy /daETbJR2te2ZܸsׁDMVpXLWr[{":lcneqM^qWrDCUrȑ94g֥mt'RMK[N?&n=UIa@(7(c])?e=tD 59=CS.vpY aDmF4)_ m10AE E;PHAe[  88$;^OX~$d7?Dlvdd'-A& ka|e; hOg/\}|\efELkM jky]B+F Jhlm`lte;j Vs</" 4haHF6{Bxv.|՚@lWBϭ mb1;K,[E Lt)b!U,x)31AB\UF30c >"%cz.A.'h-Ir` (d;zW]W]_v Fq1viua-h?,km>:/_~@M>tq"`gBDek,80/X*t1F< x~W}F "+mIQ,"<(L$cGQ}b?bn77#U#JKyo/KAOPZb-.WT@"7Fs -QY̶L[Bgk KR{轉!9in"\[r0NIĞ{ȝ!ȏٿ 'sT;Ɲ_U[W i.BVL5>:pEg0$Vn޶+s +wcvvX7)|Nj1"s+KȄU!R

R%7tl}^R|>጗x;W0GdJi{%uʑmLtO7qƉbRlЌEjˀHhƋ,+18ývڟvM_* N&9u !#~6hҌ~X>'gMfo HՐyKJv2pu|9VATj $ыGBEP`v`9ߗ$RD:1 Q;E_`;TGזFN%U8mi&Դu94݀GF᭒o/ ܠ94̣+!?@JgH铴Kzvmbxb6i WiLrl._ {1akju oDL X'h7Ok&Z f|_0O& ddiiw4V}L]5zq ^F(o ?i8'GhP_&::MPg}"26x9Xttt%`|vwKPi ` >{dgIq>'l=1$"AlqxFkbw0 8d /rOo?l+ϥ+-J'YP  &OW|A!#BQ cG-dspZB7Zrlfj>me  3DKqlXEW@ !"gg -B'9n#u#^bm"2Uhhjsmi Sr!?s0UV2wqmHJ]PJEVS=@{܌6t2yr{HS)@N,Wl#Aipzb(,"z6m>P!, !1< >P 6X .eEy*([PCg\0n\^N-Ac=fBl_Rjh- F^rN+x MNn&gnz=3{2OuqN^%/T v8"#F l1[= .<rĤM.|d46E'͙h @X >lnɥv$٧%݈ eKY((롍֮4F!20pKJ( uʒ)aƇ$K6sAe:gfzP?~o"=Ux 4glX/9w^Zf7W#UiZL?ó-!Ջʦ⭫⫞,MU+e:sݨg1MGR~BfrTȆ[BEu1譙k^ʔĝj4nAvȽرswdyEvte?x[Jt5눟,FUВr<6Pka[Dֹ{'SL`),iH m+g5wk #cVNJ0;^?L߸#2\7Vc%MZLW P \$G[<.\ rMi"[|^a!ﳶӛ/ ^j3xA?r+W5>d ~ oywϳ|q$j3yXH|5\vتtʹ 4OTE?u d%;O̮vj98IMq神oGl~:yO[fa$~=#IJA1'?U6_KKj%rKK3ZKE*_psuY,v| ' fD(bEh2"b7\aw~UYQ(4J'4R^]%8/(l7khDm+͟j*|ڧJZN.TF+`#ŵCz_;OIkTjr!~Brx4_NjnGHq>T :WYj;`F[dZRP[ZCbF"}@83vjNe-U,U@ w,[G [S^Ky K1Tc*6(0cx%E^eyTs+~& ɥxztXF|?Yy_fepjqZ W-5y-1"m,¯~#"t>Y9X+iUy?d<;L<5J[7dNpٷg M ӷ㍋-NgK!,]L9]@ ckf]1 /[;8+$B)ѝ?^#\doUg* aPe4WllIN~CơR"#e8+26YfLpDRE6nPeat?n*qhJTrFp>`n{džȥ i<иrnEW5,n.Ơ(RTRM *z4 `.ÇWۜGK̺]Mw@t gͬ~%_ae6nR+^_%b-KqI *|1pR=Ic)y촤=p:DgZ&'y{]gl+z3r¢v: ܎Y`KZM[(^:yP,r1846J='o5-vx T89 yۦĻNвx`9WyÄ@3&G[i(~_u+U9 ^pL_7Y͏2 ig*p^g_$}U IO~f^w;qw @cx/fު~>*4u6֤ܡTs31ZW ݗ$0G`PLE)\>6''I@4h@_9-TvבqĻ84}4;[8'P.i'TSBf%Ir8stGddqFUO3z[uWT. )/Fj (G1^iX壱z]Tbz#})Uu-|2*D=}B>[a]fϜUGStR֫w$J1k!$uxfVݲna{&M|_@ۀPV~s~9:#bpFHNL[AvT7h'e&C4<0&Űζ ~nzZnuGAS:~٬=dY䐚$ٿ+P>7krXb~+[8ɷgĮͿޅp]?{fuH L|]Zݮ7 *Ob.<֍F7ӿ<+Jn{Qvq:V}ۋSz; |{(>+;7=]SUÑn]m~1NZ /x݋%.;^?ۇ:dsv"{9|519uUqR;a:"ܦot9yFH>S~`/>kGs?è +ʈD&l T%.?L%+7 GEҕv=jXbb3#0]`fbfJtY炟8 *6, 4'P7Ց vK2J EaN[7'~HwdJREfO)Y.;{SF޵qEaABV>pHݯ흵"Mc~ָ|{1l@6gjqdw-l8xcp*:)R`/!-dzMf~QRM6Bo|q5ZhwV_cgKїy<ށ"vJ #fy!*MV?3 }^neԿPz[3\'BҒrD7bi' iM}E@3ā&a'G8F鴍ę(n {R[6>AW) ؤzp}}Eʿ]|]bM:cTp\ϱ2Si`nS} HM d8 z~$}nҫ-r7hF/1 m5@j sT x$DfIf8`vw~谹|HVe1wN_[(T%pR#RR'˻oUd΍?yZ<+Jxg/UERQ?)[͞.zP xt lŹ}NK>_a@[fidHi|=,bHPěJri /amE5<ßQ*C)͒4@h"a>>~fW7B {=ܖ}c!4>pԇJC7$NAN&#MI/ _fAeaLh4 ^0鎌=:&G9&Q%ci|,pv&Gá׭_8vzE&b牓:).ņʚ.!iz4=]ᑒ񃬒Xg"m&ʟ|)t`x"/7:lh8ՠ@61 A -H殍ww+͖/"~hɟ`6 ũ*^/=`[ճ[U?SR jNf486H ;cjۡqV8{}40!ȷޢ |H`ib4t6x]yZ()/Sctq3GKwJioaӽL-jsD6r)n>oP ^nrl~~rD.-?uZ *9!ebXPkl+WrD&k J.2WuZ Kt hs0Y1f{}LB?+w{:%`G\ƷTrW.aq5WfF9䗍7!ȼ8vU\E7dn**_H؅}q'-@ / k B <ZN臡 X/s`| 5aп䳚l".'DweVU3To26L:NE:Xx*"M~][m-Qe7:7s;QH" Yԡu0cxK'BI=5 6~f{}6ܥb`;U:6+Ej mYrٰ  _LugfolS4"m`A"Ewo_|]_s$mD3_mtO$h1va)bZ| [#2=M}q]=O5X]U`pjfOo>O7j!D:_=oٿ". DmX^ )|bgLrwF+eszy; 4~pnCgS1ˉl@cAhv㲃:a0ҶW]lNS[Hel.F&fߡ,Lyy8*;O9NKGSmNޱcnq#oNGN6y)ڐ,'Wlbx r]`~H)*GB a0RT|qE7[5fXފ"Qcf́23Мrf<{ }Wba|阷ykOwg]0׏|+mjn2ӌHWX]>AyVy<|wcs&T1[[&?Ub֌GTXkؔ NW{-jlZpkXG`yy"%oBLn τ!Y tY*ovsm6QmӦAbgp9@ƺo&:ws[Zl>\HKC5F]K@cҿInur<V  JPڽQVt8κOQy&(v1}=P -Նm2rqcjlD路*Wu_ 1Ŗ&uF7 r S8j" T:/#cBp\m n,"YcyǩnP0.sZX8 yá]0~a6:ȑC >Io)"i\T7_zQL4YCqEN@\piPYD,zAZg@˓zHr^M9'2Y!CeHk '?cix0W/!~$$ ƇZ'|%#dzϲaͯbFY8`e&Tn.NRHDO^_}0չ|/f*V-g5"?YQVyvF0Wois`mIȁ4IP'T?͛2'U)+󪳑dqSI.,I$ErjHU2: ʄp4NfF [(x3Z1t"($'"T bdY߄cdn8chul ykLHT6 4XTYuhuQ{VT;CqQ`:]kP[È3z_R.ůw:{HQQDZ5vhQKwoNhEjm.c'VA}'w&݇7i{,=+75 bGhضXn`'io+|'~aDŽ0p2 "pDƎǜ=tzN$aCTjr-{S#HѬ%\`~G<Ĭ!hnGw0Őv?p1iYpNj!f3kB4Wծ!G, Á 4Ҥ]VӃsx5U޵Մ^#u}I%~< 2/s+Zm۸g٪q)JX.$^?GX8bJ.)o{k/u2vȣ= @k9{WC,Lr-N}5&A4uQ=]iŧ{rem2@IDU#,tE`Ű+e`#x=X 6 ?vMBikv'f*}͎i@Ah>Y*h:ZA?C"Dߌz[\a`~(r+;L^4GZ9c0 %;D<(C riMod aU )a* k9iKgFWPP ޓ k#Ea8I("%1{zX70xyMbc ɼxN+K8ii[D󟉺/Y'Q?7_4q&=MݹI]gDʽRn~m0=]&V:5G7#7A(ÌqgP %Fi•wdM", לVǍ,aE1u,0Smo);P ho =2<߮8(bKncu:t ;b`fd6^0R +foxz⍜'qGnuޒ*Ԩ ϴuعkag@