#! /usr/bin/perl

use warnings;
use strict;

my @lines = <>;

LINE: for ( my $i = 0; $i < @lines; ++$i ) {
    $_ = $lines[ $i ];
    s/(\\end{frame})\s*(\%.*)/$1\n$2/;
    s/(\\reveal)/\\pause\n\%$1\n/;
    s/\\overlay/\\pause\n\%\\overlay/;
    s/^\{\}\s*%?.*\n//;
    s/(\\begin{overlay})/\\pause\n\%$1/;
    s/(\\end{overlay})/\%$1/;
    s/^\s*(\\heading)({.*})/\%$1$2\n\\frametitle$2/;
    s/(\\listofslides)/\%$1/;
    print;
}
