docs: def publication_info(self, key, value):
      """Populate the ``publication_info`` key."""
      def _get_cnum(value):
          w_value = force_single_element(value.get('w', ''))
          normalized_w_value = w_value.replace('/', '-').upper()
  
          return normalized_w_value
  
      def _get_material(value):
          schema = load_schema('elements/material')
          valid_materials = schema['enum']
  
          m_value = force_single_element(value.get('m', ''))
          normalized_m_value = m_value.lower()
  
          if normalized_m_value in valid_materials:
              return normalized_m_value
  
      def _get_parent_isbn(value):
          z_value = force_single_element(value.get('z', ''))
          if z_value:
              return normalize_isbn(z_value)
  
      def _get_pubinfo_freetext(value):
          x_value = force_single_element(value.get('x', ''))
          if not x_value.startswith('#DONE'):
              return x_value
  
      page_start, page_end, artid = split_page_artid(value.get('c'))
  
      parent_recid = maybe_int(force_single_element(value.get('0')))
      parent_record = get_record_ref(parent_recid, 'literature')
  
      journal_recid = maybe_int(force_single_element(value.get('1')))
      journal_record = get_record_ref(journal_recid, 'journals')
  
      conference_recid = maybe_int(force_single_element(value.get('2')))
      conference_record = get_record_ref(conference_recid, 'conferences')
  
      return {
          'artid': artid,
          'cnum': _get_cnum(value),
          'conf_acronym': force_single_element(value.get('q')),
          'conference_record': conference_record,
          'hidden': key.startswith('7731') or None,
          'journal_issue': force_single_element(value.get('n')),
          'journal_record': journal_record,
          'journal_title': force_single_element(value.get('p')),
          'journal_volume': force_single_element(value.get('v')),
          'material': _get_material(value),
          'page_end': page_end,
          'page_start': page_start,
          'parent_isbn': _get_parent_isbn(value),
          'parent_record': parent_record,
          'parent_report_number': force_single_element(value.get('r')),
          'pubinfo_freetext': _get_pubinfo_freetext(value),
          'year': maybe_int(force_single_element(value.get('y'))),
      }