version 1.285, 2005/08/11 22:04:09
|
version 1.293, 2005/11/08 02:04:23
|
Line 55 BEGIN {
|
Line 55 BEGIN {
|
|
|
} |
} |
|
|
|
|
sub initialize_londefdef { |
sub initialize_londefdef { |
$Apache::londefdef::TD_redirection=0; |
$Apache::londefdef::TD_redirection=0; |
@Apache::londefdef::table = (); |
@Apache::londefdef::table = (); |
Line 109 sub start_m {
|
Line 110 sub start_m {
|
# detect simple math mode entry exits, and convert them |
# detect simple math mode entry exits, and convert them |
# to use \ensuremath |
# to use \ensuremath |
if ($currentstring=~/^\s*\$[^\$].*[^\$]\$\s*$/) { |
if ($currentstring=~/^\s*\$[^\$].*[^\$]\$\s*$/) { |
$currentstring=~s/^\$//; |
$currentstring=~s/^(\s*)\$/$1/; |
$currentstring=~s/\$$//; |
$currentstring=~s/\$(\s*)$/$1/; |
$currentstring='\ensuremath{'.$currentstring.'}'; |
$currentstring='\ensuremath{'.$currentstring.'}'; |
} |
} |
$Apache::lonxml::post_evaluate=0; |
$Apache::lonxml::post_evaluate=0; |
Line 166 sub start_html {
|
Line 167 sub start_html {
|
'\usepackage{textcomp}'. |
'\usepackage{textcomp}'. |
'\usepackage{makeidx}'. |
'\usepackage{makeidx}'. |
'\usepackage[dvips]{graphicx}'. |
'\usepackage[dvips]{graphicx}'. |
|
'\usepackage{wrapfig}'. |
'\usepackage{picins}'. |
'\usepackage{picins}'. |
'\usepackage{epsfig}'. |
'\usepackage{epsfig}'. |
'\usepackage{calc}'. |
'\usepackage{calc}'. |
Line 1205 sub start_br {
|
Line 1207 sub start_br {
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my @tempo=@$tagstack; |
my @tempo=@$tagstack; |
my $signal=0; |
my $signal=0; |
|
# Not going to factor this to is_inside_of since that would require |
|
# multiple stack traversals. |
|
# |
for (my $i=$#tempo;$i>=0;$i--) { |
for (my $i=$#tempo;$i>=0;$i--) { |
if (($tempo[$i] eq 'b') || ($tempo[$i] eq 'strong') || |
if (($tempo[$i] eq 'b') || ($tempo[$i] eq 'strong') || |
($tempo[$i] eq 'ol') || ($tempo[$i] eq 'ul') || |
($tempo[$i] eq 'ol') || ($tempo[$i] eq 'ul') || |
Line 2526 sub start_img {
|
Line 2531 sub start_img {
|
my $inside = &Apache::lonxml::get_all_text("/img",$parser); |
my $inside = &Apache::lonxml::get_all_text("/img",$parser); |
return ''; |
return ''; |
} |
} |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$src; |
&Apache::lonxml::extlink($src); |
my $currentstring = ''; |
my $currentstring = ''; |
my $scaling = .3; |
my $scaling = .3; |
|
|
Line 2559 sub start_img {
|
Line 2564 sub start_img {
|
$safeeval, |
$safeeval, |
undef,1)); |
undef,1)); |
if(!$align) { |
if(!$align) { |
$align = "bottom"; # This is html's default so it's ours too. |
if (&is_inside_of($tagstack, "table")) { |
|
$align = "right"; # Force wraptext use. |
|
} else { |
|
$align = "bottom"; # This is html's default so it's ours too. |
|
} |
} |
} |
# |
# |
&Apache::lonxml::debug("Alignemnt = $align"); |
&Apache::lonxml::debug("Alignemnt = $align"); |
Line 2576 sub start_img {
|
Line 2585 sub start_img {
|
undef,0); |
undef,0); |
&Apache::lonxml::debug("LaTeX rendering = $latex_rendering"); |
&Apache::lonxml::debug("LaTeX rendering = $latex_rendering"); |
if(!$latex_rendering) { |
if(!$latex_rendering) { |
$latex_rendering = "parbox"; |
$latex_rendering = "texwrap"; |
} |
} |
&Apache::lonxml::debug("LaTeX rendering = $latex_rendering image file: $src"); |
&Apache::lonxml::debug("LaTeX rendering = $latex_rendering image file: $src"); |
|
|
Line 2617 sub start_img {
|
Line 2626 sub start_img {
|
} elsif ($align eq "left") { |
} elsif ($align eq "left") { |
if ($latex_rendering eq "parpic") { |
if ($latex_rendering eq "parpic") { |
$currentstring = '\parpic[l]{'.$currentstring.'}'; |
$currentstring = '\parpic[l]{'.$currentstring.'}'; |
} else { # parbox rendering |
} else { # wrapfig render |
$currentstring = "\\strut\\newline\n". |
$currentstring = '\begin{wrapfigure}{l}{'.$width_param.'mm}' |
'\parbox{'.$width_param.'mm}{'.$currentstring.'}'; |
.'\scalebox{1.0}{'.$currentstring.'}\end{wrapfigure}'; |
} |
} |
} elsif ($align eq "right") { |
} elsif ($align eq "right") { |
if ($latex_rendering eq "parpic") { |
if ($latex_rendering eq "parpic") { |
$currentstring = '\parpic[r]{'.$currentstring.'}'; |
$currentstring = '\parpic[r]{'.$currentstring.'}'; |
} else { # parbox rendering. |
} else { # wrapfig rendering |
$currentstring = '\parbox{'.$width_param.'mm}{\begin{flushright}' |
$currentstring = '\begin{wrapfigure}{r}{'.$width_param.'mm}' |
.$currentstring.'\end{flushright}} \newline'."\n"; |
.'\scalebox{1.0}{'.$currentstring.'}\end{wrapfigure}'; |
|
|
} |
} |
} else { # Bottom is also default. |
} else { # Bottom is also default. |
# $currentstring = '\raisebox{'.$height_param.'mm}{'.$currentstring.'}'; |
# $currentstring = '\raisebox{'.$height_param.'mm}{'.$currentstring.'}'; |
Line 2731 sub start_applet {
|
Line 2741 sub start_applet {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
|
|
my $code=&Apache::lonxml::get_param('code',$parstack,$safeeval,undef,1); |
my $code=&Apache::lonxml::get_param('code',$parstack,$safeeval,undef,1); |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$code; |
&Apache::lonxml::extlink($code); |
|
|
my $archive=&Apache::lonxml::get_param('archive',$parstack,$safeeval, |
my $archive=&Apache::lonxml::get_param('archive',$parstack,$safeeval, |
undef,1); |
undef,1); |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$archive; |
&Apache::lonxml::extlink($archive); |
|
|
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
if ($env{'browser.appletsuppress'} ne 'on') { |
if ($env{'browser.appletsuppress'} ne 'on') { |
Line 2782 sub end_applet {
|
Line 2790 sub end_applet {
|
sub start_embed { |
sub start_embed { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $src=&Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1); |
my $src=&Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1); |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$src; |
&Apache::lonxml::extlink($src); |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
if ($env{'browser.embedsuppress'} ne 'on') { |
if ($env{'browser.embedsuppress'} ne 'on') { |
Line 2813 sub end_embed {
|
Line 2821 sub end_embed {
|
#-- <param> tag (end tag forbidden) |
#-- <param> tag (end tag forbidden) |
sub start_param { |
sub start_param { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
if (&Apache::lonxml::get_param |
if (&Apache::lonxml::get_param('name',$parstack, |
('name',$parstack,$safeeval,undef,1)=~/^cabbase$/i) { |
$safeeval,undef,1)=~/^cabbase$/i) { |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= |
my $value=&Apache::lonxml::get_param('value',$parstack, |
&Apache::lonxml::get_param('value',$parstack,$safeeval,undef,1); |
$safeeval,undef,1); |
} |
&Apache::lonxml::extlink($value); |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= |
} |
&Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1); |
|
|
my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1); |
|
&Apache::lonxml::extlink($src); |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
my %toconvert; |
my %toconvert; |
Line 2851 sub end_param {
|
Line 2861 sub end_param {
|
sub start_allow { |
sub start_allow { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1); |
my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1); |
$src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); |
&Apache::lonxml::extlink($src); |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= |
|
&Apache::lonnet::clutter($src); |
|
if ($target eq 'tex') { &image_replication($src); } |
if ($target eq 'tex') { &image_replication($src); } |
my $result; |
my $result; |
if ($target eq 'edit') { |
if ($target eq 'edit') { |
Line 3447 sub end_legend {
|
Line 3456 sub end_legend {
|
|
|
#-- <link> tag (end tag forbidden) |
#-- <link> tag (end tag forbidden) |
sub start_link { |
sub start_link { |
my ($target,$token) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
|
my $href=&Apache::lonxml::get_param('href',$parstack,$safeeval, |
|
undef,1); |
|
&Apache::lonxml::extlink($href); |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} |
} |
return $currentstring; |
return $currentstring; |
Line 4089 sub LATEX_length {
|
Line 4101 sub LATEX_length {
|
} |
} |
|
|
|
|
|
# is_inside_of $tagstack $tag |
|
# This sub returns true if the current state of Xml processing |
|
# is inside of the tag. |
|
# Parameters: |
|
# tagstack - The tagstack from the parser. |
|
# tag - The tag (without the <>'s.). |
|
# Sample usage: |
|
# if (is_inside_of($tagstack "table")) { |
|
# # I'm in a table.... |
|
# } |
|
sub is_inside_of { |
|
my ($tagstack, $tag) = @_; |
|
my @stack = @$tagstack; |
|
for (my $i = ($#stack - 1); $i >= 0; $i--) { |
|
if ($stack[$i] eq $tag) { |
|
return 1; |
|
} |
|
} |
|
return 0; |
|
} |
|
|
|
|
1; |
1; |