C***********************************************************************C C C C BIBABBRE.FTN EST SOUSROUTINE DE BIBLIO.FTN C C IL REMPLIT OU PERMET DE MODIFIER UNE FILE C D'ABBREVIATIONS POUR LES TITRES DES REVUES AINSI C QU'UNE FILE DES AUTEURS QUI DEVRONT APPARAITRE C AUTOMATIQUEMENT EN MOT CLE. C C LA FILE S' APPELLE DL1:[204,100]ABBAUT.BIB C C C ELLE PORTE LA PROTECTION [RWED,RWED,RWE,R] C C C********************************************************************** SUBROUTINE ABBRE DIMENSION EGO(30,12),ABB(40,42),LB(40) BYTE ABB,EGO OPEN (UNIT=1,NAME='DL1:[204,100]ABBAUT.BIB',TYPE='OLD', 2ACCESS='SEQUENTIAL',FORM='UNFORMATTED') OPEN (UNIT=6,NAME='SY:LP.LST',TYPE='NEW', 2DISP='PRINT') READ(1)NABB,ABB,NEGO,EGO TYPE 50 50 FORMAT('0 ABBREVIATIONS') DO 700 I=1,NABB TYPE 1,I,(ABB(I,J),J=1,6),(ABB(I,J),J=7,42) 700 CONTINUE 1 FORMAT(1X,I5,3X,6A1,' POUR ',36A1) TYPE 51 51 FORMAT('0NOUVELLES ABBREVIATIONS :') 110 NABB=NABB+1 IF (NABB.GT.40) GO TO 100 TYPE 2,NABB 2 FORMAT(//,'$ABBREVIATION ',I3,' :') ACCEPT 3,(ABB(NABB,I),I=1,6) 3 FORMAT(6A1) IF(ABB(NABB,1).EQ.' ') GO TO 100 TYPE 4 4 FORMAT(//'$POUR : ') ACCEPT 5,(ABB(NABB,K),K=7,42) 5 FORMAT(36A1) GO TO 110 100 TYPE 10 10 FORMAT(//,'$CORRECTIONS ? :') ACCEPT 30,REP 30 FORMAT(A3) IF (REP.NE.'OUI') GO TO 200 TYPE 11 11 FORMAT(//,'$NUMERO A CORRIGER:') ACCEPT 12,NC 12 FORMAT(I5) TYPE 2,NC ACCEPT 3,(ABB(NC,I),I=1,6) TYPE 4 ACCEPT 5,(ABB(NC,K),K=7,42) GO TO 100 200 TYPE 52 52 FORMAT('1 AUTEURS MIS EN MOT CLE') DO 750 I=1,NEGO TYPE 40,I,(EGO(I,J),J=1,12) 750 CONTINUE 40 FORMAT(1X,'AUTEUR ',I3,3X,12A1) TYPE 53 53 FORMAT('0 AUTEURS A RAJOUTER :') 120 NEGO=NEGO+1 IF (NEGO.GT.30) GO TO 125 TYPE 7,NEGO 7 FORMAT(//,'$AUTEUR ',I3,' : ') ACCEPT 8,(EGO(NEGO,K),K=1,12) 8 FORMAT(12A1) IF (EGO(NEGO,1).NE.' ') GO TO 120 125 TYPE 300 300 FORMAT(//,'$CORRECTIONS ? :') ACCEPT 30,REP IF (REP.NE.'OUI') GO TO 122 123 TYPE 11 ACCEPT 12,NC IF (NC.EQ.0) GO TO 122 TYPE 7,NC ACCEPT 8,(EGO(NC,I),I=1,12) GO TO 123 122 NABB=NABB-1 NEGO=NEGO-1 REWIND 1 WRITE(1)NABB,ABB,NEGO,EGO DO 1000 I=1,NABB DO 1001 IJ=7,42 IF ((ABB(I,IJ).LT.'A').OR.(ABB(I,IJ).GT.'Z') ) GO TO 1001 ABB(I,IJ-6)=ABB(I,IJ) ABB(I,IJ)=' ' 1001 CONTINUE LB(I)=I 1000 CONTINUE DO 301 KI=1,36 301 ABB(40,KI)='Z' NMCZ=NABB-1 DO 103 I=1,NMCZ KMIN=40 DO 303 K=I,NABB DO 310 KI=1,36 IF (ABB(LB(K),KI).EQ.' ') GO TO 303 IF (ABB(LB(K),KI).GT.ABB(KMIN,KI)) GO TO 303 IF (ABB(LB(K),KI).EQ.ABB(KMIN,KI)) GO TO 310 KMIN=LB(K) KLB=K GO TO 303 310 CONTINUE 303 CONTINUE LB(KLB)=LB(I) LB(I)=KMIN 103 CONTINUE REWIND 1 READ(1)NABB,ABB,NEGO,EGO PRINT 54 54 FORMAT('0 ABBREVIATIONS DES JOURNAUX') DO 800 I=1,NABB PRINT 111,I,(ABB(LB(I),J),J=7,42),(ABB(LB(I),J),J=1,6) 111 FORMAT(1X,I5,3X,36A1,'---> ',6A1) 800 CONTINUE PRINT 55 55 FORMAT('1 AUTEURS MIS EN MOT CLE') DO 900 I=1,NEGO PRINT 40,I,(EGO(I,J),J=1,12) 900 CONTINUE CLOSE (UNIT=1) CLOSE (UNIT=6,DISP='PRINT') RETURN END