--- loncom/xml/londefdef.pm 2003/09/30 19:39:00 1.175
+++ loncom/xml/londefdef.pm 2003/10/14 00:21:12 1.180
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Tags Default Definition Module
#
-# $Id: londefdef.pm,v 1.175 2003/09/30 19:39:00 sakharuk Exp $
+# $Id: londefdef.pm,v 1.180 2003/10/14 00:21:12 albertel Exp $
#
#
# Copyright Michigan State University Board of Trustees
@@ -92,9 +92,15 @@ sub start_m {
$Apache::lontexconvert::errorstring='';
}
#&Apache::lonxml::debug("M is ends with:$currentstring:");
+ $Apache::lonxml::post_evaluate=0;
} elsif ($target eq 'tex') {
$currentstring = &Apache::lonxml::get_all_text_unbalanced("/m",$parser);
+ my $eval=&Apache::lonxml::get_param('eval',$parstack,$safeeval);
+ if ($eval eq 'on') {
+ $currentstring=&Apache::run::evaluate($currentstring,$safeeval,$$parstack[-1]);
+ }
if ($currentstring=~/^(\s*\\\\\s*)*$/) {$currentstring = ' \vskip 0 mm ';}
+ $Apache::lonxml::post_evaluate=0;
} else {
my $inside = &Apache::lonxml::get_all_text_unbalanced("/m",$parser);
}
@@ -195,7 +201,7 @@ sub start_head {
sub end_head {
my ($target,$token) = @_;
my $currentstring = '';
- if ($target eq 'web') {
+ if ($target eq 'web' && $ENV{'request.state'} eq 'published') {
$currentstring = &Apache::lonmenu::registerurl(undef,$target).
$token->[2];
}
@@ -470,7 +476,8 @@ sub start_body {
&Apache::lonxml::warning("
tag found inside of tag this can cause problems.");
return '';
}
- if (!$Apache::lonxml::registered) {
+ if (!$Apache::lonxml::registered &&
+ $ENV{'request.state'} eq 'published') {
$currentstring.=''.
&Apache::lonmenu::registerurl(undef,$target).'';
}
@@ -887,7 +894,7 @@ sub start_cite {
if ($target eq 'web') {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
- $currentstring .= "\\textit{";
+ $currentstring .= '\textit{';
}
return $currentstring;
}
@@ -898,7 +905,7 @@ sub end_cite {
if ($target eq 'web') {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
- $currentstring .= "}";
+ $currentstring .= '}';
}
return $currentstring;
}
@@ -933,7 +940,7 @@ sub start_address {
if ($target eq 'web') {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
- $currentstring .= "\\textit{";
+ $currentstring .= '\textit{';
}
return $currentstring;
}
@@ -944,7 +951,7 @@ sub end_address {
if ($target eq 'web') {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
- $currentstring .= "}";
+ $currentstring .= '}';
}
return $currentstring;
}
@@ -956,7 +963,7 @@ sub start_dfn {
if ($target eq 'web') {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
- $currentstring .= "\\textit{";
+ $currentstring .= '\textit{';
}
return $currentstring;
}
@@ -967,7 +974,7 @@ sub end_dfn {
if ($target eq 'web') {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
- $currentstring .= "}";
+ $currentstring .= '}';
}
return $currentstring;
}
@@ -1002,7 +1009,7 @@ sub start_kbd {
if ($target eq 'web') {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
- $currentstring .= "\\texttt";
+ $currentstring .= '\texttt{';
}
return $currentstring;
}
@@ -1013,7 +1020,7 @@ sub end_kbd {
if ($target eq 'web') {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
- $currentstring .= "}";
+ $currentstring .= '}';
}
return $currentstring;
}
@@ -1071,7 +1078,7 @@ sub start_q {
if ($target eq 'web') {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
- $currentstring .= "\\emph{";
+ $currentstring .= '\emph{';
}
return $currentstring;
}
@@ -1082,7 +1089,7 @@ sub end_q {
if ($target eq 'web') {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
- $currentstring .= "}";
+ $currentstring .= '}';
}
return $currentstring;
}
@@ -2202,11 +2209,16 @@ sub start_applet {
$currentstring='[APPLET: '.$alttag.']';
}
} elsif ($target eq 'tex') {
- my $code=&Apache::lonxml::get_param('code',$parstack,$safeeval,
- undef,1);
- if ($code=~/TrueFalse\.class/) {
- $currentstring.='\begin{center} $\bigcirc$ True \hskip 10 mm $\bigcirc$ False\end{center}';
+ my $alttag= &Apache::lonxml::get_param('alt',$parstack,
+ $safeeval,undef,1);
+ unless ($alttag) {
+ my $code=&Apache::lonxml::get_param('code',$parstack,$safeeval,
+ undef,1);
+ $alttag=&Apache::lonmeta::alttag($Apache::lonxml::pwd[-1],
+ $code);
}
+ $currentstring.='\begin{center} \fbox{Java Applet: '.$alttag.
+ '.}\end{center}';
}
return $currentstring;
}
@@ -2313,7 +2325,8 @@ sub start_frameset {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web') {
- if (!$Apache::lonxml::registered) {
+ if (!$Apache::lonxml::registered &&
+ $ENV{'request.state'} eq 'published') {
$currentstring.=''.
&Apache::lonmenu::registerurl(undef,$target).'';
}
@@ -2915,8 +2928,8 @@ sub end_marquee {
return $currentstring;
}
-#-- tag
-sub start_malticol {
+#-- tag (end tag required)
+sub start_multicol {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web') {
@@ -2925,7 +2938,7 @@ sub start_malticol {
return $currentstring;
}
-sub end_malticol {
+sub end_multicol {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web') {
@@ -2934,13 +2947,15 @@ sub end_malticol {
return $currentstring;
}
-#-- tag
+#-- tag (end tag required)
sub start_nobr {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web') {
$currentstring = $token->[4];
- }
+ } elsif ($target eq 'tex') {
+ $currentstring='\mbox{';
+ }
return $currentstring;
}
@@ -2949,11 +2964,13 @@ sub end_nobr {
my $currentstring = '';
if ($target eq 'web') {
$currentstring = $token->[2];
- }
+ } elsif ($target eq 'tex') {
+ $currentstring='}';
+ }
return $currentstring;
}
-#-- tag
+#-- tag (end tag required)
sub start_noembed {
my ($target,$token) = @_;
my $currentstring = '';
@@ -2972,7 +2989,7 @@ sub end_noembed {
return $currentstring;
}
-#-- tag
+#-- tag (end tag required)
sub start_noframes {
my ($target,$token) = @_;
my $currentstring = '';
@@ -2991,7 +3008,7 @@ sub end_noframes {
return $currentstring;
}
-#-- tag
+#-- tag (end tag required)
sub start_nolayer {
my ($target,$token) = @_;
my $currentstring = '';
@@ -3010,7 +3027,7 @@ sub end_nolayer {
return $currentstring;
}
-#--