docs: def convert_unusable_tag_to_misc(line,
                                   misc_text,
                                   tag_match_end,
                                   closing_tag):
      """Function to remove an unwanted, tagged, citation item from a reference
         line. The tagged item itself is put into the miscellaneous text variable;
         the data up to the closing tag is then trimmed from the beginning of the
         working line. For example, the following working line:
           Example, AN. Testing software; <cds.YR>(2001)</cds.YR>, CERN, Geneva.
         ...would be trimmed down to:
           , CERN, Geneva.
         ...And the Miscellaneous text taken from the start of the line would be:
           Example, AN. Testing software; (2001)
         ...(assuming that the details of <cds.YR> and </cds.YR> were passed to
         the function).
         @param line: (string) - the reference line.
         @param misc_text: (string) - the variable containing the miscellaneous
          text recorded so far.
         @param tag_match_end: (integer) - the index of the end of the opening tag
          in the line.
         @param closing_tag: (string) - the closing tag to look for in the line
          (e.g. </cds.YR>).
         @return: (tuple) - containing misc_text (string) and line (string)
      """
  
      # extract the tagged information:
      idx_closing_tag = line.find(closing_tag, tag_match_end)
      # Sanity check - did we find a closing tag?
      if idx_closing_tag == -1:
          # no closing tag found - strip the opening tag and move past this
          # recognised item as it is unusable:
          line = line[tag_match_end:]
      else:
          # closing tag was found
          misc_text += line[tag_match_end:idx_closing_tag]
          # now trim the matched item and its tags from the start of the line:
          line = line[idx_closing_tag + len(closing_tag):]
      return (misc_text, line)