#!/usr//bin/perl -s # -d creates a .debug camila file my $filename = shift; open(STDIN, "< $filename.aux") or die "cant find $filename.aux\n" ; if ($d){ open(CAM, "| tee $filename.debug | camilax > $filename.cal") or die "cant create $filename.cal\n" } else { open(CAM, "|camilax > $filename.cal") or die "cant create $filename.cal\n" } print CAM ' princ("\\\\gdef\\\\@camila{\\\\ifcase\\\\cec\n lixo \n");'," \n " ; while(<>){ if(/\\cam\@prototype{(.*?)}/){ print CAM "nload(\"$1\");\n" ;} if(/\\cam\@eval{(.*?)}{(.*)/) { $name = "_f$1"; $corpo = $2; for($corpo){ chop; s/;\s*$//; s/\\par/\n/g; if (/^\s*(\w+)\(([^)]*)\)\s*=/) {print CAM "$_;\n"; print CAM 'princ("\\\\or "); princ(', "'$1", ') ; princ("\n");' , "\n" ; } else {print CAM "$name()=$_;\n"; print CAM 'princ("\\\\or "); princ(', "$name", '()) ; princ("\n");' , "\n" ; } } } if(/\\cam\@input{(.*?)}{(.*)/) { $corpo = $2; open(CAM2, "|camilax > $1") or die "cant create $1\n" ; for ($corpo){ chop; s/\\par/\n/g; print CAM2 $_ ; } close(CAM2); } } print CAM ' princ( "\\\\fi}\n") ;', "\n" ; close CAM ;