C LAST UPDATE: 
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C
C************************
C**     LDM_SYMM_STR   **
C************************
C
C
      SUBROUTINE LDM_SYMM_STR (IS, STR)
C
      INCLUDE 'implicit_none.finc'
C
C Purpose: Get 'Int. Tab.' like string from a symmetry operator
C
C Author:  From CCP4's SYMTRN
C
C Arguments:
C
      INTEGER IS
      CHARACTER*(*) STR

C IS        (R)   Symmetry operator number (1 to NSYM)
C STR       (W)   Returned operator string
C
C====== Parameter statements
C 

C
C====== GLOBALS:
C
      INCLUDE 'ldm_data.finc'
      EXTERNAL  LDM_BDAT
C
C====== LOCALS:
C
      CHARACTER*1 AXISCR(3)
      CHARACTER*1 NUMB(9)
      INTEGER NPNTR1(10)
      INTEGER NPNTR2(10)
      INTEGER ICH
      INTEGER IST
      INTEGER ITR
      INTEGER I
      INTEGER J

      DATA AXISCR/'X','Y','Z'/
      DATA NUMB/'1','2','3','4','5','6','7','8','9'/
      DATA NPNTR1/0,1,1,1,0,1,0,2,3,5/
      DATA NPNTR2/0,6,4,3,0,2,0,3,4,6/
C
C-------------------------------------------------------------------------------
C

      STR = ' '
      IF (IS.GT.NSYM) RETURN
      ICH = 1
      DO 20 J = 1,3
C
C====== IST is flag for first character of operator
C
         IST = 0
         DO 10 I = 1,4
            IF (ROTSYM(J,I,IS).NE.0) THEN
               IF (ROTSYM(J,I,IS).GT.0 .AND. IST.GT.0) THEN
                  STR(ICH:ICH) = '+'
                  ICH = ICH + 1
               END IF

               IF (ROTSYM(J,I,IS).LT.0) THEN
                  STR(ICH:ICH) = '-'
                  IST = 1
                  ICH = ICH + 1
               END IF

               IF (I.NE.4) THEN
                  STR(ICH:ICH) = AXISCR(I)
                  IST = 1
                  ICH = ICH + 1
               END IF

               IF (I.EQ.4 .AND. ROTSYM(J,4,IS).NE.0) THEN
                  ITR = NINT(ABS(ROTSYM(J,4,IS))*12.0)
                  STR(ICH:ICH+2) = 
     +                        NUMB(NPNTR1(ITR))//'/'//NUMB(NPNTR2(ITR))
                  ICH = ICH + 3
               END IF
            END IF
10       CONTINUE
C
C====== Add comma, space
C
         IF (J.NE.3) THEN
             STR(ICH:ICH+2) = ',  '
             ICH = ICH + 3
         END IF
20    CONTINUE
      RETURN
      END
