--- loncom/interface/lonprintout.pm 2004/08/19 20:03:47 1.316.2.1 +++ loncom/interface/lonprintout.pm 2004/07/28 19:07:16 1.318 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.316.2.1 2004/08/19 20:03:47 albertel Exp $ +# $Id: lonprintout.pm,v 1.318 2004/07/28 19:07:16 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -629,21 +629,24 @@ sub print_latex_header { } sub path_to_problem { - my ($urlp,$colwidth)=@_; + my ($urlp,$LaTeXwidth)=@_; my $newurlp = ''; - $colwidth=~s/\s*mm\s*$//; -#characters average about 2 mm in width - if (length($urlp)*2 > $LaTeXwidth) { - my @elements = split '/',$urlp; - my $curlength=0; - foreach my $element (@elements) { - if ($curlength+(length($element)*2) > $colwidth) { - $newurlp .= '|\vskip -1 mm \noindent \verb|'; - $curlength=0; - } else { - $curlength+=length($element)*2; + $LaTeXwidth=~s/\s*mm\s*$//; + my $HowMany = length($urlp)*2; + if ($HowMany > $LaTeXwidth) { + my @temporrary = split '/',$urlp; + my $HowManyNew = 0; + for (my $ii=0;$ii<=$#temporrary;$ii++) { + if ($temporrary[$ii] ne '') { + $HowManyNew += length($temporrary[$ii])*2; + if ($HowManyNew < $LaTeXwidth ) { + $newurlp .= '/'.$temporrary[$ii]; + } else { + $HowManyNew = 0; + $newurlp .= '|\vskip -1 mm \noindent \verb|'; + $ii--; + } } - $newurlp.='/'.$element; } } else { $newurlp=$urlp; @@ -1034,7 +1037,7 @@ ENDPART $moreenv{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $moreenv{'print_discussions'}=$helper->{'VARS'}->{'PRINT_DISCUSSIONS'}; if ($helper->{'VARS'}->{'PRINT_DISCUSSIONS'} eq 'yes') {$moreenv{'problem_split'}='yes';} - my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,'Print Status','Class Print Status',$#students+1); + my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,'Print Status','Class Print Status',$#students+1,'inline','75'); my $student_counter=-1; foreach my $person (@students) { my $duefile="/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.due"; @@ -1260,7 +1263,9 @@ ENDPART 'cgi.'.$identifier.'backref' => $URLback,); $r->print(< +Continue FINALEND