anchor.diff:      ! Compute projected points
       call perspective(x,y,z,viewer_x,viewer_y,viewer_z,look_x,look_y,look_z,xproj,yproj)
   
  -    ! Write projected points
  -    write(luout,*) xproj,yproj
  +    ! Is there extra data in the line?
  +    read(input_line,*) ch64
  +    i = index(input_line,trim(ch64))
  +    input_line(i:i+len_trim(ch64)-1) = ''
  +    read(input_line,*) ch64
  +    i = index(input_line,trim(ch64))
  +    input_line(i:i+len_trim(ch64)-1) = ''
  +    read(input_line,*) ch64
  +    i = index(input_line,trim(ch64))
  +    input_line(i:i+len_trim(ch64)-1) = ''
  +    if (input_line.ne.'') then
  +        isExtraData = .true.
  +    else
  +        isExtraData = .false.
  +    endif
  +
  +    ! Write projected points (and extra data if available)
  +    if (isExtraData) then
  +        write(luout,*) zoom_scale*xproj,zoom_scale*yproj,trim(input_line)
  +    else
  +        write(luout,*) zoom_scale*xproj,zoom_scale*yproj
  +    endif
   enddo
   
   
  
positive.code:                             viewer_z, &
                              look_x, &
                              look_y, &
                              look_z
  
  implicit none
  
  ! Local variables
  integer :: luin, luout, nline, ios
  character(len=512) :: input_line
  double precision :: x, y, z, xproj, yproj
  
  
  ! Parse command line
  
negative.code:                             viewer_z, &
                              look_x, &
                              look_y, &
                              look_z, &
                              zoom_scale
  
  implicit none
  
  