#!/usr/bin/env perl use strict; use warnings; package deckcomposer; use File::Basename; my ($deckfile) = @ARGV; my($deckname, $deckdir, $suffix) = fileparse($deckfile, ".hs"); my $latexpreamble = <) { if ($line =~ m/(\d+)\s*:\s*(.+)\n/) { my $nr = int($1); my $name = $2; for(my $i=0; $i < $nr; $i++) { push(@list, $name); print "@list\n"; if( @list == 4 ) { $doc = add_to_page($doc, @list); @list = (); } } } } if (@list > 0) { while (@list < 4) { push(@list, "Empty"); } $doc = add_to_page($doc, @list); } $doc = end_document($doc); close $deck; my $texfilename = "$deckdir/${deckname}_base.tex"; open my $texfile, '>', $texfilename or die "Could not open $texfilename for writing: $!"; print {$texfile} $doc; system("pdflatex -output-directory $deckdir $texfilename"); system("pdfunite auxilary/auximage.pdf $deckdir/${deckname}_base.pdf $deckdir/$deckname.pdf"); system("xdg-open $deckdir/$deckname.pdf");