--- loncom/interface/printout.pl 2006/06/20 09:39:47 1.104 +++ loncom/interface/printout.pl 2006/06/30 01:24:41 1.107 @@ -487,16 +487,28 @@ foreach $texfile (@texfile) { &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", "for $status_statement first latex to repaginate", \%prog_state, $name_file); - &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", - "for $status_statement second latex to repaginate", - \%prog_state, $name_file); - &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", - "for $status_statement third latex to repaginate", - \%prog_state, $name_file); + if ($tableofcontents eq 'yes') { + &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", + "for $status_statement second latex to repaginate", + \%prog_state, $name_file); + &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", + "for $status_statement third latex to repaginate", + \%prog_state, $name_file); + } + if ($tableofindex eq 'yes') { + my $idxname = $latex_file; + $idxname =~ s/\.tex$/\.idx/; + &busy_wait_command("makindex $idxname", + "Re-creating index file", + \%prog_state, $idxname); + &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", + "for $status_statement now Recreting index (latex)", + \%prog_state, $dvi_file); + + } &busy_wait_command("$comma $name_file 1>dev/null 2>/dev/null", "for $status_statement dvips to repaginate", \%prog_state, $new_name_file); - print "\n

PDF output file (see link below)

\n"; $new_name_file =~ m/^(.*)\./; my $ps_file = my $tempo_file = $1.'temporar.ps'; @@ -577,12 +589,24 @@ foreach $texfile (@texfile) { &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", "for $status_statement first latex to repaginate", \%prog_state, $name_file); - &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", - "for $status_statement second latex to repaginate", - \%prog_state, $name_file); - &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", - "for $status_statement third latex to repaginate", - \%prog_state, $name_file); + if ($tableofcontents eq 'yes') { + &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", + "for $status_statement second latex to repaginate", + \%prog_state, $name_file); + &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", + "for $status_statement third latex to repaginate", + \%prog_state, $name_file); + } + if ($tableofindex eq 'yes') { + my $idxname = $latex_file; + $idxname =~ s/\.tex$/\.idx/; + &busy_wait_command("makeindex $idxname", + "Re-creating index file", + \%prog_state, $idxname); + &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null", + "for $status_statement now Recreting index (latex)", + \%prog_state, $dvi_file); + } &busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null", "for $status_statement dvips to repaginate", \%prog_state, $new_name_file); @@ -676,7 +700,6 @@ sub busy_wait_command { $SIG{CHLD} = \&REAPER; $done=0; - print("

Doing : $command"); my $pid=open(CMD,"$command |"); if ($advanced_role) { &Apache::lonhtmlcommon::Update_PrgWin('',$progress_win,$message); @@ -696,7 +719,6 @@ sub busy_wait_command { $SIG{CHLD}='IGNORE'; close(CMD); } - print("

End

"); # Repagninate # What we need to do: @@ -808,7 +830,8 @@ sub repaginate { my $addlines = $max_pages - $pages_in_student[$student_number]; &Apache::lonnet::logthis("student: $pages_in_student[$student_number] add: $addlines"); while($addlines) { - print LATEXOUT '\pagebreak'; + print LATEXOUT '\linebreak \strut \pagebreak'; + $addlines--; }