--- loncom/interface/printout.pl 2014/02/06 21:28:09 1.157 +++ loncom/interface/printout.pl 2017/01/29 23:53:55 1.164 @@ -1,7 +1,7 @@ #!/usr/bin/perl # CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc. # -# $Id: printout.pl,v 1.157 2014/02/06 21:28:09 raeburn Exp $ +# $Id: printout.pl,v 1.164 2017/01/29 23:53:55 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -40,6 +40,7 @@ use Apache::lonlocal; use Apache::lonmsg(); use LONCAPA::Enrollment; use LONCAPA::Configuration; +use LONCAPA; use strict; @@ -201,7 +202,7 @@ my $tableofindex = $env{'cgi.'.$identifi my $advanced_role = $env{'cgi.'.$identifier.'.role'}; my $number_of_files = $env{'cgi.'.$identifier.'.numberoffiles'}+1; my $student_names = $env{'cgi.'.$identifier.'.studentnames'}; -my $backref = &Apache::lonnet::unescape($env{'cgi.'.$identifier.'.backref'}); +my $backref = &unescape($env{'cgi.'.$identifier.'.backref'}); my @names_pack=(); @@ -209,8 +210,10 @@ if ($student_names=~/_END_/) { @names_pack=split(/_ENDPERSON_/,$student_names); } if ($backref) { - print('

'.&mt("[_1]Return[_2] to editing resource.", + print('

'.&mt("[_1]Return[_2] to resource.", "","").'

'); + print('

'. + &mt("Change Printing Options").'

'."\n"); } my $figfile = $texfile; $figfile =~ s/^(.*_printout)_\d+_\d+_\d+\.tex/$1\.dat/; @@ -309,7 +312,7 @@ foreach $texfile (@texfile) { my $name_range=''; # $name -> Either user's full name or username:domain - # $name_range -> Either user's last name or usrname. + # $name_range -> Either user's last name or username. if ($tempo_array[3]) { $name=$tempo_array[3]; @@ -438,8 +441,13 @@ foreach $texfile (@texfile) { $name_file =~ s/\.tex/\.dvi/; my $new_name_file = $name_file; $new_name_file =~ s/\.dvi/\.ps/; +# Explicitly include a switch for papertype, otherwise dvips will default +# to whatever is listed first in config.ps (which in most cases is a4). +# Historically (since 2004) LON-CAPA printing expected to use the default, +# i.e., a papertype of a4, when the user selected letter [8 1/2 x 11 in] +# in the Layout options, so I follow that convention if $papera is letter. my $papera=$paper; - if ($papera eq 'letter') {$papera='';} + if ($papera eq 'letter') {$papera='a4';} if ($papera ne '') {$papera='-t'.$papera;} my $extra_ps_header = $perlvar{'lonLib'} .'/includepsheader.ps'; my $comma = "dvips $papera -h $extra_ps_header -Ppdf -G0 -o $new_name_file"; @@ -933,7 +941,7 @@ sub convert_figure { # Spaces are problematic for system commands and LaTeX, replace with _ - $eps_f =~ s/ /\_/g; + $eps_f =~ s/ /\_/g; # # If the file is already an .eps or .ps file (eps_f still has the original @@ -1160,7 +1168,7 @@ sub analyze_logfile { my $whereitends = index $body_log_file,'STAMPOFPASSEDRESOURCEEND',$whereitbegins; print "
" .&mt('It has found an error in [_1][_2]and corrected it.',substr($body_log_file,$whereitbegins+26,$whereitends-$whereitbegins-26),"
")."\n"; - print &mt('Usually this correction is valid but you probably need to check the indicated resource one more time and implement neccessary corrections by yourself.')."\n"; + print &mt('Usually this correction is valid but you probably need to check the indicated resource one more time and implement necessary corrections by yourself.')."\n"; $whereitbegins = index $body_log_file,'',$tempobegin+10; }