docs: def gabc(elem, doc):
      """Handle gabc file inclusion and gabc code block."""
      if type(elem) == Code and "gabc" in elem.classes:
          if doc.format == "latex":
              if elem.identifier == "":
                  label = ""
              else:
                  label = '\\label{' + elem.identifier + '}'
              return latex(
                  "\n\\smallskip\n{%\n" +
                  latexsnippet('\\gregorioscore{' + elem.text + '}', elem.attributes) +
                  "%\n}" +
                  label
              )
          else:
              infile = elem.text + (
                  '.gabc' if '.gabc' not in elem.text else ''
              )
              with open(infile, 'r') as doc:
                  code = doc.read().split('%%\n')[1]
              return Image(png(
                      elem.text,
                      latexsnippet('\\gregorioscore', elem.attributes)
                  ))
      elif type(elem) == CodeBlock and "gabc" in elem.classes:
          if doc.format == "latex":
              if elem.identifier == "":
                  label = ""
              else:
                  label = '\\label{' + elem.identifier + '}'
              return latexblock(
                  "\n\\smallskip\n{%\n" +
                  latexsnippet('\\gabcsnippet{' + elem.text + '}', elem.attributes) +
                  "%\n}" +
                  label
                  )
          else:
              return Para(Image(url=png(elem.text, latexsnippet('\\gabcsnippet', elem.attributes))))