#!/usr/bin/perl -w

my @exporder = ("given", "unconnected", "connected", "random1",
		"random2", "random3");

my %experiments = ("given"       => "Given",
		   "unconnected" => "Unconnected",
		   "connected"   => "Connected",
		   "random1"     => "Random1",
		   "random2"     => "Random2",
		   "random3"     => "Random3");

my %nets = ("a" => "Net A",
	    "b" => "Net B");

my %solvers = ("fa-aic" => "First-Ascent+AIC",
	       "fa-bic" => "First-Ascent+BIC",
	       "gr-aic" => "Greedy+AIC",
	       "gr-bic" => "Greedy+BIC");


for my $net (sort keys %nets) {
  for my $exp (@exporder) {
    
    print "\\begin{figure}[ptbh]\n";
    print "  \\centering\n";
    &show_initial($net, $exp);

    my $count = 0;
    for my $solver (sort keys %solvers) {
      if ($count == 0) {
	print "  \\mbox{\n";
      }
      print "    \\hfill\n";
      &show_solver($net, $exp, $solver);
      if ($count == 0) {
	# print "      \\quad\n";
      } else {
	print "    \\hfill\n}\n";
      }
      $count++;
      if ($count > 1) {
	$count = 0;
      }
    }
    
    print "  \\caption{Initial and final structures for "
      . $nets{$net} . ", " . $experiments{$exp} . " initial network}\n";
    print "\\label{fig:struct-$net-$exp}\n";
    print "\\end{figure}\n\n";
  }
}


sub show_initial {
  my($net, $exp) = @_;

  my $basename = "part4-net$net-$exp-initial";

  my $scale = "0.5";

  if ($basename eq "part4-netb-connected-initial") {
    # it's ginormous.
    $scale = "0.4";
  }

  print "  \\includegraphics[scale=$scale]{figures/$basename}\n";
}

sub show_solver {
  my ($net, $exp, $solver) = @_;

  my $basename = "part4-net$net-$exp-$solver";

  my $scale = "0.5";

  if ($basename =~ /part4-netb-connected/) {
    # it's ginormous.
    $scale = "0.4";
  }

  print "     \\includegraphics[scale=$scale]{figures/$basename}\n";
}
