version 1.262, 2005/03/15 11:20:49
|
version 1.266, 2005/04/06 06:09:42
|
Line 156 sub start_html {
|
Line 156 sub start_html {
|
if ($target eq 'web' || $target eq 'edit') { |
if ($target eq 'web' || $target eq 'edit') { |
$currentstring = &Apache::lonxml::xmlbegin(); |
$currentstring = &Apache::lonxml::xmlbegin(); |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
@Apache::londefdef::table = (); |
|
$currentstring .= '\documentclass[letterpaper]{article}'; |
$currentstring .= '\documentclass[letterpaper]{article}'; |
if (($ENV{'form.latex_type'}=~'batchmode') || |
if (($ENV{'form.latex_type'}=~'batchmode') || |
(!$ENV{'request.role.adv'})) {$currentstring .='\batchmode';} |
(!$ENV{'request.role.adv'})) {$currentstring .='\batchmode';} |
Line 2498 sub start_img {
|
Line 2497 sub start_img {
|
&Apache::lonxml::debug("LaTeX rendering = $latex_rendering image file: $src"); |
&Apache::lonxml::debug("LaTeX rendering = $latex_rendering image file: $src"); |
|
|
#if original gif/jpg/png file exist do following: |
#if original gif/jpg/png file exist do following: |
|
my $origsrc=$src; |
my ($path,$file) = &get_eps_image($src); |
my ($path,$file) = &get_eps_image($src); |
$src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); |
$src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); |
&Apache::lonxml::debug("path = $path file = $file src = $src"); |
&Apache::lonxml::debug("path = $path file = $file src = $src"); |
if (-e $src) { |
if (-e $src) { |
&Apache::lonxml::debug("$src exists"); |
&Apache::lonxml::debug("$src exists"); |
my ($height_param,$width_param)= |
my ($height_param,$width_param)= |
&image_size($src,0.3,$parstack,$safeeval); |
&image_size($origsrc,0.3,$parstack,$safeeval); |
my $destpath = $path; |
my $destpath = $path; |
$destpath =~ s/ /\_/; # Spaces in path cause LaTex to vomit. |
$destpath =~ s/ /\_/g; # Spaces in path cause LaTex to vomit. |
|
my $destfile = $file; |
|
$destfile =~ s/ /\_/g; |
|
my $size; |
|
if ($width_param) { $size.='width='.$width_param.' mm,'; } |
|
if ($height_param) { $size.='height='.$height_param.' mm]'; } |
|
$size='['.$size; |
|
$size=~s/,$/]/; |
$currentstring .= '\graphicspath{{'.$destpath.'}}' |
$currentstring .= '\graphicspath{{'.$destpath.'}}' |
.'\includegraphics[width='.$width_param.' mm,height='.$height_param.'mm]{'.$file.'} '; |
.'\includegraphics'.$size.'{'.$destfile.'} '; |
|
|
# If there's an alignment specification we need to honor it here. |
# If there's an alignment specification we need to honor it here. |
# For the horizontal alignments, we will also honor the |
# For the horizontal alignments, we will also honor the |
Line 3755 sub image_replication {
|
Line 3762 sub image_replication {
|
$pssrc =~ s/\.(gif|jpg|jpeg|png)$/.ps/i; |
$pssrc =~ s/\.(gif|jpg|jpeg|png)$/.ps/i; |
if (not -e $epssrc && not -e $pssrc) { |
if (not -e $epssrc && not -e $pssrc) { |
my $result=&Apache::lonnet::repcopy($epssrc); |
my $result=&Apache::lonnet::repcopy($epssrc); |
if ($result ne 'OK') { &Apache::lonnet::repcopy($pssrc); } |
if ($result ne 'ok') { &Apache::lonnet::repcopy($pssrc); } |
} |
} |
return ''; |
return ''; |
} |
} |
Line 3794 sub image_size {
|
Line 3801 sub image_size {
|
} else { |
} else { |
$width_param = $TeXwidth; |
$width_param = $TeXwidth; |
} |
} |
$height_param=$TeXwidth/$old_width_param*$height_param; |
if ($TeXheight) { |
|
$height_param = $TeXheight; |
|
} elsif ($old_width_param) { |
|
$height_param=$TeXwidth/$old_width_param*$height_param; |
|
} |
} elsif ($TeXheight) { |
} elsif ($TeXheight) { |
$height_param = $TeXheight; |
$height_param = $TeXheight; |
$width_param = $TeXheight/$height_param*$width_param; |
if ($height_param) { |
|
$width_param = $TeXheight/$height_param*$width_param; |
|
} |
} elsif ($width) { |
} elsif ($width) { |
my $old_width_param=$width_param; |
my $old_width_param=$width_param; |
$width_param = $width*$scaling; |
$width_param = $width*$scaling; |
$height_param=$width_param/$old_width_param*$height_param; |
if ($old_width_param) { |
|
$height_param=$width_param/$old_width_param*$height_param; |
|
} |
} |
} |
if ($width_param > $ENV{'form.textwidth'}) { |
if ($width_param > $ENV{'form.textwidth'}) { |
my $old_width_param=$width_param; |
my $old_width_param=$width_param; |
$width_param =0.95*$ENV{'form.textwidth'}; |
$width_param =0.95*$ENV{'form.textwidth'}; |
$height_param=$width_param/$old_width_param*$height_param; |
if ($old_width_param) { |
|
$height_param=$width_param/$old_width_param*$height_param; |
|
} |
} |
} |
return ($height_param, $width_param); |
return ($height_param, $width_param); |
} |
} |
Line 3832 sub get_eps_image {
|
Line 3849 sub get_eps_image {
|
&Apache::lonxml::debug("Filelocation gives; $src <BR />"); |
&Apache::lonxml::debug("Filelocation gives; $src <BR />"); |
if (! -e $src) { |
if (! -e $src) { |
&Apache::lonxml::debug("$src does not exist"); |
&Apache::lonxml::debug("$src does not exist"); |
if (&Apache::lonnet::repcopy($src) ne 'OK' ) { |
if (&Apache::lonnet::repcopy($src) ne 'ok' ) { |
&Apache::lonxml::debug("Repcopy of $src failed (1)"); |
&Apache::lonxml::debug("Repcopy of $src failed (1)"); |
#if replication failed try to find ps file |
#if replication failed try to find ps file |
$src=~s/\.eps$/\.ps/; |
$src=~s/\.eps$/\.ps/; |
&Apache::lonxml::debug("Now looking for $src"); |
&Apache::lonxml::debug("Now looking for $src"); |
#if no ps file try to replicate it |
#if no ps file try to replicate it |
if (not -e $src && |
if (not -e $src && |
&Apache::lonnet::repcopy($src) ne 'OK') { |
&Apache::lonnet::repcopy($src) ne 'ok') { |
&Apache::lonxml::debug("Failed to find or replicate $src"); |
&Apache::lonxml::debug("Failed to find or replicate $src"); |
|
|
#if replication failed try to produce eps file dynamically |
#if replication failed try to produce eps file dynamically |