(* if lang is defined -*)
    \selectlanguage{(( lang | lang2babel ))}
(* endif *)

(*- if metadata.columns is defined *)
\songcolumns{(( metadata.columns ))}
(* endif *)

\beginsong{
    (*- for title in titles -*)
        (( title|escape_specials('{}&#_^%$\\') ))
        (*- if not loop.last -*)
            \\
        (* endif *)
    (* endfor -*)
}[
  by={
      (* for author in authors *)
        (( author[1]|escape_specials('{}&#_^%$\\') )) (( author[0]|escape_specials('{}&#_^%$\\') ))
        (*- if not loop.last -*)
        ,
        (* endif *)
      (* endfor *)
  },
  (* for key in ['album', 'copyright'] *)
  (* if key in metadata *)
  (( key ))={(( metadata[key]|escape_specials('{}&#_^%$\\') ))},
  (* endif *)
  (* endfor *)
  (* if 'url' in metadata *)
  url={(( metadata.url|escape_url ))},
  (* endif *)
  (* if 'cover' in metadata *)
    (* block cover *)
      (* set cover = metadata["cover"].argument|search_image|path2posix *)
      (* if cover *)
    cover={(( cover ))},
      (* endif *)
    (* endblock *)
  (* endif *)
  (* for key in metadata.morekeys *)
  (( key.keyword ))={(( key.argument|escape_specials('{}&#_^%$\\') ))},
  (* endfor *)
]

(* if (metadata.cover is defined) *)
\cover
(* endif *)

(*- for chord in metadata['define'] -*)
  (( render(chord) ))
(* endfor *)

(*- if metadata.capo is defined -*)
  \capo{(( metadata.capo ))}
(* endif *)

(* include 'song_body' *)

\endsong
