code: def process_pmc(pmc_id, offline=False, output_fname=default_output_fname):
      
      xml_str = pmc_client.get_xml(pmc_id)
      if xml_str is None:
          return None
      fname = pmc_id + '.nxml'
      with open(fname, 'wb') as fh:
          fh.write(xml_str.encode('utf-8'))
      ids = id_lookup(pmc_id, 'pmcid')
      pmid = ids.get('pmid')
      rp = process_nxml_file(fname, citation=pmid, offline=offline,
                             output_fname=output_fname)
      return rp
docs: Return a ReachProcessor by processing a paper with a given PMC id.
  
      Uses the PMC client to obtain the full text. If it's not available,
      None is returned.
  
      Parameters
      ----------
      pmc_id : str
          The ID of a PubmedCentral article. The string may start with PMC but
          passing just the ID also works.
          Examples: 3717945, PMC3717945
          https://www.ncbi.nlm.nih.gov/pmc/
      offline : Optional[bool]
          If set to True, the REACH system is ran offline. Otherwise (by default)
          the web service is called. Default: False
  
      Returns
      -------
      rp : ReachProcessor
          A ReachProcessor containing the extracted INDRA Statements
          in rp.statements.