--- loncom/xml/londefdef.pm 2016/07/01 19:59:25 1.459
+++ loncom/xml/londefdef.pm 2023/03/25 18:38:27 1.470
@@ -1,8 +1,8 @@
# The LearningOnline Network with CAPA
-# Tags Default Definition Module
+# Tags Default Definition Module
+#
+# $Id: londefdef.pm,v 1.470 2023/03/25 18:38:27 raeburn Exp $
#
-# $Id: londefdef.pm,v 1.459 2016/07/01 19:59:25 raeburn Exp $
-#
#
# Copyright Michigan State University Board of Trustees
#
@@ -25,19 +25,19 @@
# /home/httpd/html/adm/gpl.txt
#
# http://www.lon-capa.org/
-## Copyright for TtHfunc and TtMfunc by Ian Hutchinson.
-# TtHfunc and TtMfunc (the "Code") may be compiled and linked into
-# binary executable programs or libraries distributed by the
-# Michigan State University (the "Licensee"), but any binaries so
+## Copyright for TtHfunc and TtMfunc by Ian Hutchinson.
+# TtHfunc and TtMfunc (the "Code") may be compiled and linked into
+# binary executable programs or libraries distributed by the
+# Michigan State University (the "Licensee"), but any binaries so
# distributed are hereby licensed only for use in the context
-# of a program or computational system for which the Licensee is the
-# primary author or distributor, and which performs substantial
+# of a program or computational system for which the Licensee is the
+# primary author or distributor, and which performs substantial
# additional tasks beyond the translation of (La)TeX into HTML.
# The C source of the Code may not be distributed by the Licensee
# to any other parties under any circumstances.
#
-package Apache::londefdef;
+package Apache::londefdef;
use Apache::lonnet;
use strict;
@@ -98,7 +98,19 @@ sub start_m {
# On top of that, MathJax will render math without $, but
# it will fail with tth. This is worth a warning.
# (even though some people might just use latex for printing)
- &Apache::lonxml::warning(&mt("Missing \$ in <m>."));
+ &Apache::lonxml::warning(&mt('Missing $ in [_1].','<m>'));
+ } elsif (($env{'browser.type'} eq 'safari') && ($env{'form.editxmltext'}) &&
+ (($env{'form.problemmode'} eq 'view') || ($env{'form.problemmode'} eq 'discard'))) {
+ my $delimiter;
+ if ($inside =~ /\$$/) {
+ $delimiter = '$';
+ } elsif ($inside =~ /\\([)\]])$/) {
+ $delimiter = $1;
+ }
+ if ($delimiter) {
+ &Apache::lonxml::warning(&mt('Insert a space between [_1] and [_2].',
+ $delimiter,'</m>'));
+ }
}
my $eval=&Apache::lonxml::get_param('eval',$parstack,$safeeval);
if ($eval eq 'on') {
@@ -182,7 +194,7 @@ sub start_html {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'edit' || $target eq 'webgrade' ) {
- # start_body() takes care of emitting the
+ # start_body() takes care of emitting the
} elsif ($target eq 'tex') {
$currentstring .= &latex_header();
@@ -205,7 +217,7 @@ sub start_head {
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
&Apache::lonxml::startredirection();
- }
+ }
return $currentstring;
}
@@ -218,7 +230,7 @@ sub end_head {
if ($Apache::lonxml::redirection) {
$Apache::londefdef::head = &Apache::lonxml::endredirection();
}
- }
+ }
return $currentstring;
}
@@ -227,8 +239,8 @@ sub start_map {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
- }
+ $currentstring = $token->[4];
+ }
return $currentstring;
}
@@ -236,8 +248,8 @@ sub end_map {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
- }
+ $currentstring = $token->[2];
+ }
return $currentstring;
}
@@ -246,7 +258,7 @@ sub start_select {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
$Apache::londefdef::select=0;
}
@@ -257,8 +269,8 @@ sub end_select {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
- }
+ $currentstring = $token->[2];
+ }
return $currentstring;
}
@@ -267,7 +279,7 @@ sub start_option {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
$Apache::londefdef::select++;
if ($Apache::londefdef::select == 1) {
@@ -283,7 +295,7 @@ sub end_option {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
$currentstring='}';
}
@@ -295,8 +307,8 @@ sub start_input {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
- }
+ $currentstring = $token->[4];
+ }
return $currentstring;
}
@@ -304,8 +316,8 @@ sub end_input {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
- }
+ $currentstring = $token->[2];
+ }
return $currentstring;
}
@@ -314,8 +326,8 @@ sub start_textarea {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
- }
+ $currentstring = $token->[4];
+ }
return $currentstring;
}
@@ -323,8 +335,8 @@ sub end_textarea {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
- }
+ $currentstring = $token->[2];
+ }
return $currentstring;
}
@@ -333,8 +345,8 @@ sub start_form {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
- }
+ $currentstring = $token->[4];
+ }
return $currentstring;
}
@@ -342,8 +354,8 @@ sub end_form {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
- }
+ $currentstring = $token->[2];
+ }
return $currentstring;
}
@@ -352,10 +364,10 @@ sub start_title {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $Apache::londefdef::title =
+ $Apache::londefdef::title =
&Apache::lonxml::get_all_text('/title',$parser,$style);
} elsif ($target eq 'tex') {
- $currentstring .= '\keephidden{Title of the document: '
+ $currentstring .= '\keephidden{Title of the document: ';
}
if ($target eq 'meta') {
$currentstring='
tag (end tag required)
@@ -717,12 +729,12 @@ sub start_center {
my ($target,$token,$tagstack) = @_;
my $currentstring = &end_p(); # Close off any prior para.
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring .= $token->[4];
+ $currentstring .= $token->[4];
} elsif ($target eq 'tex') {
if (&is_inside_of($tagstack, "table")) {
$currentstring .= ¢er_correction();
}
- $currentstring .= '\begin{center}';
+ $currentstring .= '\begin{center}';
}
return $currentstring;
}
@@ -731,9 +743,9 @@ sub end_center {
my ($target,$token,$tagstack) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
- $currentstring = '\end{center}';
+ $currentstring = '\end{center}';
if (&is_inside_of($tagstack, "table")) {
$currentstring .= ¢er_end_correction();
}
@@ -747,11 +759,11 @@ sub start_b {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
&disable_para();
- $currentstring .= '\textbf{';
- }
+ $currentstring .= '\textbf{';
+ }
return $currentstring;
}
@@ -759,11 +771,11 @@ sub end_b {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
&enable_para();
$currentstring = '}';
- }
+ }
return $currentstring;
}
@@ -773,11 +785,11 @@ sub start_strong {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
&disable_para();
- $currentstring = '\textbf{';
- }
+ $currentstring = '\textbf{';
+ }
return $currentstring;
}
@@ -785,10 +797,10 @@ sub end_strong {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
&enable_para();
- $currentstring = '}';
+ $currentstring = '}';
}
return $currentstring;
}
@@ -811,7 +823,7 @@ sub start_h1 {
}
my $TeXsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval,undef,0);
if (not defined $TeXsize) {$TeXsize="large";}
- $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
+ $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
} elsif ($target eq 'meta') {
$currentstring.='';
&start_output($target);
@@ -826,7 +838,7 @@ sub end_h1 {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
my $post='\vskip 0 mm ';
- my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
+ my $align=lc(&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1));
if ($align eq 'center') {
$post='\end{center}';
} elsif ($align eq 'left') {
@@ -838,7 +850,7 @@ sub end_h1 {
} elsif ($target eq 'meta') {
&end_output($target);
$currentstring='';
- }
+ }
return $currentstring;
}
@@ -860,8 +872,8 @@ sub start_h2 {
}
my $TeXsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval,undef,0);
if (not defined $TeXsize) {$TeXsize="large";}
- $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
- }
+ $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
+ }
return $currentstring;
}
@@ -881,7 +893,7 @@ sub end_h2 {
$post='}'.'\vskip 0 mm ';
}
$currentstring .= '}}'.$post;
- }
+ }
return $currentstring;
}
@@ -903,8 +915,8 @@ sub start_h3 {
}
my $TeXsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval,undef,0);
if (not defined $TeXsize) {$TeXsize="large";}
- $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
- }
+ $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
+ }
return $currentstring;
}
@@ -924,7 +936,7 @@ sub end_h3 {
$post='}'.'\vskip 0 mm ';
}
$currentstring .= '}}'.$post;
- }
+ }
return $currentstring;
}
@@ -946,8 +958,8 @@ sub start_h4 {
}
my $TeXsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval,undef,0);
if (not defined $TeXsize) {$TeXsize="large";}
- $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
- }
+ $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
+ }
return $currentstring;
}
@@ -967,7 +979,7 @@ sub end_h4 {
$post='}'.'\vskip 0 mm ';
}
$currentstring .= '}}'.$post;
- }
+ }
return $currentstring;
}
@@ -989,8 +1001,8 @@ sub start_h5 {
}
my $TeXsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval,undef,0);
if (not defined $TeXsize) {$TeXsize="large";}
- $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
- }
+ $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
+ }
return $currentstring;
}
@@ -1010,7 +1022,7 @@ sub end_h5 {
$post='}'.'\vskip 0 mm ';
}
$currentstring .= '}}'.$post;
- }
+ }
return $currentstring;
}
@@ -1032,8 +1044,8 @@ sub start_h6 {
}
my $TeXsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval,undef,0);
if (not defined $TeXsize) {$TeXsize="large";}
- $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
- }
+ $currentstring .= '\strut\newline '.$pre.'{\\'.$TeXsize.' \textbf{';
+ }
return $currentstring;
}
@@ -1053,7 +1065,7 @@ sub end_h6 {
$post='}'.'\vskip 0 mm ';
}
$currentstring .= '}}'.$post;
- }
+ }
return $currentstring;
}
@@ -1099,7 +1111,7 @@ sub end_i {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
$currentstring .= '}';
- }
+ }
return $currentstring;
}
@@ -1134,7 +1146,7 @@ sub start_dfn {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
$currentstring .= '\textit{';
- }
+ }
return $currentstring;
}
@@ -1203,7 +1215,7 @@ sub start_code {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
$currentstring .= '\texttt{';
- }
+ }
return $currentstring;
}
@@ -1214,7 +1226,7 @@ sub end_code {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
$currentstring .= '}';
- }
+ }
return $currentstring;
}
@@ -1237,7 +1249,7 @@ sub end_em {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
$currentstring .= '}';
- }
+ }
return $currentstring;
}
@@ -1260,7 +1272,7 @@ sub end_q {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
$currentstring .= '}';
- }
+ }
return $currentstring;
}
@@ -1276,7 +1288,7 @@ sub end_q {
my $closing_string = ''; # String required to close
# Some tags are
fragile meaning that
inside of them
-# does not work within TeX mode. This is managed via the
+# does not work within TeX mode. This is managed via the
# counter below:
#
@@ -1305,6 +1317,10 @@ sub start_p {
$currentstring .= &end_p(); # close off prior para if in progress.
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
+ if (!defined $align) {
+ # check inline CSS
+ $align = &get_css_property('text-align',$parstack,$safeeval);
+ }
if ($align eq 'center') {
$currentstring .='\begin{center}\par ';
$closing_string = '\end{center}';
@@ -1312,13 +1328,13 @@ sub start_p {
$currentstring = ¢er_correction().$currentstring;
}
} elsif ($align eq 'right') {
- $currentstring.="\n".'{\flushright ';
+ $currentstring.="\n".'\begin{flushright}';
# $currentstring.='\makebox['.$env{'form.textwidth'}.']{\hfill\llap{';
- $closing_string= "}\n";
+ $closing_string= '\end{flushright}'."\n";
} elsif ($align eq 'left') {
- $currentstring.= "\n".'{\flushleft ';
+ $currentstring.= "\n".'\begin{flushleft}';
# $currentstring.='\noindent\makebox['.$env{'form.textwidth'}.']{{';
- $closing_string = "}\n";
+ $closing_string = '\end{flushleft}'."\n";
} else {
$currentstring.='\par ';
if (&is_inside_of($tagstack, 'table')) {
@@ -1372,7 +1388,7 @@ sub start_br {
if ($signal != 1) {
$currentstring .= '\strut \\\\ \strut ';
}
-
+
}
return $currentstring;
}
@@ -1394,7 +1410,7 @@ sub start_big {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
$currentstring .= '{\large ';
- }
+ }
return $currentstring;
}
@@ -1437,7 +1453,7 @@ sub start_basefont {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
my $basesize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval);
if (defined $basesize) {
@@ -1451,7 +1467,7 @@ sub end_basefont {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
my $basesize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval);
if (defined $basesize) {
@@ -1467,7 +1483,7 @@ sub start_font {
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
my $face=&Apache::lonxml::get_param('face',$parstack,$safeeval);
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
my $fontsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval);
if (defined $fontsize) {
@@ -1481,7 +1497,7 @@ sub end_font {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
my $fontsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval);
if (defined $fontsize) {
@@ -1490,7 +1506,7 @@ sub end_font {
}
return $currentstring;
}
-
+
#-- tag (end tag required)
sub start_strike {
my ($target,$token) = @_;
@@ -1499,7 +1515,7 @@ sub start_strike {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
&Apache::lonxml::startredirection();
- }
+ }
return $currentstring;
}
@@ -1510,8 +1526,8 @@ sub end_strike {
$currentstring .= $token->[2];
} elsif ($target eq 'tex') {
$currentstring=&Apache::lonxml::endredirection();
- $currentstring=~s/(\S)(\s+)(\S)/$1\}$2\\underline\{$3/g;
- $currentstring=~s/^\s*(\S)/\\underline\{$1/;
+ $currentstring=~s/(\S)(\s+)(\S)/$1\}$2\\underline\{$3/g;
+ $currentstring=~s/^\s*(\S)/\\underline\{$1/;
$currentstring=~s/(\S)\s*$/$1\}/;
}
return $currentstring;
@@ -1525,7 +1541,7 @@ sub start_s {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
&Apache::lonxml::startredirection();
- }
+ }
return $currentstring;
}
@@ -1551,7 +1567,7 @@ sub start_sub {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
$currentstring .= '\raisebox{-\smallskipamount}{\scriptsize{';
- }
+ }
return $currentstring;
}
@@ -1574,7 +1590,7 @@ sub start_sup {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
$currentstring .= '\raisebox{\smallskipamount}{\scriptsize{';
- }
+ }
return $currentstring;
}
@@ -1598,7 +1614,7 @@ sub start_hr {
} elsif ($target eq 'tex') {
#
can't be inside of thank you LaTeX.
- #
+ #
my $restart_sub = 0;
my $restart_sup = 0;
@@ -1608,7 +1624,7 @@ sub start_hr {
if (&is_inside_of($tagstack, "sub")) {
$restart_sub = 1;
- $currentstring .= &end_sub($target, $token, $tagstack,
+ $currentstring .= &end_sub($target, $token, $tagstack,
$parstack, $parser, $safeeval);
}
if (&is_inside_of($tagstack, "sup")) {
@@ -1647,7 +1663,7 @@ sub start_hr {
$currentstring .= &start_sup($target, $token, $tagstack,
$parstack, $parser, $safeeval);
}
- }
+ }
return $currentstring;
}
@@ -1674,12 +1690,12 @@ sub start_div {
my $currentstring = &end_p(); # Close enclosing para.
if ($target eq 'web' || $target eq 'webgrade') {
$currentstring .= $token->[4];
- }
+ }
if ($target eq 'tex') {
# 4 possible alignments: left, right, center, and -missing-.
# If inside a table row, we must let the table logic
# do the alignment, however.
- #
+ #
my $endstring = '';
@@ -1690,7 +1706,7 @@ sub start_div {
$endstring = '\end{center}';
if (&is_inside_of($tagstack, "table")) {
$currentstring = ¢er_correction().$currentstring;
- $endstring .= ¢er_end_correction();
+ $endstring .= ¢er_end_correction();
}
}
elsif ($align eq 'right') {
@@ -1800,11 +1816,11 @@ sub start_li {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
my $type=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,0);
my $value=&Apache::lonxml::get_param('value',$parstack,$safeeval,undef,0);
- #FIXME need to support types i and I
+ #FIXME need to support types i and I
if ($type=~/disc/) {
$currentstring .= ' \item[$\bullet$] ';
} elsif ($type=~/circle/) {
@@ -1821,7 +1837,7 @@ sub start_li {
$currentstring .= ' \item['.$value.'] ';
} else {
$currentstring .= ' \item ';
- }
+ }
$Apache::londefdef::list_index++;
}
return $currentstring;
@@ -1831,8 +1847,8 @@ sub end_li {
my ($target,$token) = @_;
my $currentstring = &end_p(); # In case there's a in the
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring .= $token->[2];
- }
+ $currentstring .= $token->[2];
+ }
return $currentstring;
}
@@ -1844,7 +1860,7 @@ sub start_u {
$currentstring .= $token->[4];
} elsif ($target eq 'tex') {
&Apache::lonxml::startredirection();
- }
+ }
return $currentstring;
}
@@ -1867,28 +1883,28 @@ sub start_ul {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = &end_p(); # Close off enclosing list.
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring .= $token->[4];
+ $currentstring .= $token->[4];
} elsif ($target eq 'tex') {
my $TeXtype=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,0);
$Apache::londefdef::list_index=0;
if ($TeXtype eq 'disc') {
$currentstring .= '\renewcommand{\labelitemi}{$\bullet$}'.
- '\renewcommand{\labelitemii}{$\bullet$}'.
+ '\renewcommand{\labelitemii}{$\bullet$}'.
'\renewcommand{\labelitemiii}{$\bullet$}'.
'\renewcommand{\labelitemiv}{$\bullet$}';
} elsif ($TeXtype eq 'circle') {
$currentstring .= '\renewcommand{\labelitemi}{$\circ$}'.
- '\renewcommand{\labelitemii}{$\circ$}'.
+ '\renewcommand{\labelitemii}{$\circ$}'.
'\renewcommand{\labelitemiii}{$\circ$}'.
'\renewcommand{\labelitemiv}{$\circ$}';
} elsif ($TeXtype eq 'square') {
$currentstring .= '\renewcommand{\labelitemi}{$\diamond$}'.
- '\renewcommand{\labelitemii}{$\diamond$}'.
+ '\renewcommand{\labelitemii}{$\diamond$}'.
'\renewcommand{\labelitemiii}{$\diamond$}'.
'\renewcommand{\labelitemiv}{$\diamond$}';
}
- $currentstring .= '\strut \begin{itemize}';
- }
+ $currentstring .= '\strut \begin{itemize}';
+ }
return $currentstring;
}
@@ -1896,13 +1912,13 @@ sub end_ul {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
$currentstring = '\end{itemize} \renewcommand{\labelitemi}{$\bullet$}'.
- '\renewcommand{\labelitemii}{$\bullet$}'.
+ '\renewcommand{\labelitemii}{$\bullet$}'.
'\renewcommand{\labelitemiii}{$\bullet$}'.
- '\renewcommand{\labelitemiv}{$\bullet$}\strut ';
- }
+ '\renewcommand{\labelitemiv}{$\bullet$}\strut ';
+ }
return $currentstring;
}
@@ -1911,10 +1927,10 @@ sub start_menu {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
- $currentstring = " \\begin{itemize} ";
- }
+ $currentstring = " \\begin{itemize} ";
+ }
return $currentstring;
}
@@ -1922,10 +1938,10 @@ sub end_menu {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
- $currentstring = " \\end{itemize}";
- }
+ $currentstring = " \\end{itemize}";
+ }
return $currentstring;
}
@@ -1934,10 +1950,10 @@ sub start_dir {
my ($target,$token) = @_;
my $currentstring = &end_p(); # In case there's a prior to the list.
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring .= $token->[4];
+ $currentstring .= $token->[4];
} elsif ($target eq 'tex') {
- $currentstring .= " \\begin{itemize} ";
- }
+ $currentstring .= " \\begin{itemize} ";
+ }
return $currentstring;
}
@@ -1945,10 +1961,10 @@ sub end_dir {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
- $currentstring = " \\end{itemize}";
- }
+ $currentstring = " \\end{itemize}";
+ }
return $currentstring;
}
@@ -1957,18 +1973,18 @@ sub start_ol {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = &end_p(); # In case there's a
prior to the list.
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring .= $token->[4];
+ $currentstring .= $token->[4];
} elsif ($target eq 'tex') {
$Apache::londefdef::list_index=0;
my $type=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,0);
if ($type eq '1') {
$currentstring .= '\renewcommand{\labelenumi}{\arabic{enumi}.}'.
- '\renewcommand{\labelenumii}{\arabic{enumii}.}'.
+ '\renewcommand{\labelenumii}{\arabic{enumii}.}'.
'\renewcommand{\labelenumiii}{\arabic{enumiii}.}'.
'\renewcommand{\labelenumiv}{\arabic{enumiv}.}';
} elsif ($type eq 'A') {
$currentstring .= '\renewcommand{\labelenumi}{\Alph{enumi}.}'.
- '\renewcommand{\labelenumii}{\Alph{enumii}.}'.
+ '\renewcommand{\labelenumii}{\Alph{enumii}.}'.
'\renewcommand{\labelenumiii}{\Alph{enumiii}.}'.
'\renewcommand{\labelenumiv}{\Alph{enumiv}.}';
} elsif ($type eq 'a') {
@@ -1987,8 +2003,8 @@ sub start_ol {
'\renewcommand{\labelenumiii}{\Roman{enumiii}.}'.
'\renewcommand{\labelenumiv}{\Roman{enumiv}.}';
}
- $currentstring .= '\strut \begin{enumerate}';
- }
+ $currentstring .= '\strut \begin{enumerate}';
+ }
return $currentstring;
}
@@ -1996,13 +2012,13 @@ sub end_ol {
my ($target,$token) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
$currentstring = '\end{enumerate}\renewcommand{\labelenumi}{\arabic{enumi}.}'.
'\renewcommand{\labelenumii}{\arabic{enumii}.}'.
'\renewcommand{\labelenumiii}{\arabic{enumiii}.}'.
- '\renewcommand{\labelenumiv}{\arabic{enumiv}.}\strut ';
- }
+ '\renewcommand{\labelenumiv}{\arabic{enumiv}.}\strut ';
+ }
return $currentstring;
}
@@ -2011,7 +2027,7 @@ sub start_dl {
my ($target,$token) = @_;
my $currentstring = &end_p(); # In case there's a
unclosed prior to the list.
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring .= $token->[4];
+ $currentstring .= $token->[4];
} elsif ($target eq 'tex') {
$currentstring .= '\begin{description}';
$Apache::londefdef::DL++;
@@ -2019,7 +2035,7 @@ sub start_dl {
$Apache::londefdef::DD[$Apache::londefdef::DL]=0;
$Apache::londefdef::DT[$Apache::londefdef::DL]=0;
$Apache::londefdef::seenDT[$Apache::londefdef::DL]=0;
- }
+ }
return $currentstring;
}
@@ -2027,7 +2043,7 @@ sub end_dl {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
if ($Apache::londefdef::DT[-1]) { &end_dt(@_); }
if ($Apache::londefdef::DD[-1]) { &end_dd(@_); }
@@ -2035,12 +2051,12 @@ sub end_dl {
$currentstring.=' '.$element.' ';
}
pop(@Apache::londefdef::description);
- $currentstring.='\end{description}';
+ $currentstring.='\end{description}';
delete($Apache::londefdef::DD[$Apache::londefdef::DL]);
delete($Apache::londefdef::DT[$Apache::londefdef::DL]);
delete($Apache::londefdef::seenDT[$Apache::londefdef::DL]);
$Apache::londefdef::DL--;
- }
+ }
return $currentstring;
}
@@ -2049,14 +2065,14 @@ sub start_dt {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring='';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
if ($Apache::londefdef::DT[-1]) { &end_dt(@_); }
if ($Apache::londefdef::DD[-1]) { &end_dd(@_); }
&Apache::lonxml::startredirection();
$Apache::londefdef::DT[-1]++;
$Apache::londefdef::seenDT[-1]=1;
- }
+ }
return $currentstring;
}
@@ -2064,21 +2080,21 @@ sub end_dt {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
if ($Apache::londefdef::DT[-1]) {
my $data=&item_cleanup();
push(@{$Apache::londefdef::description[-1]},'\item['.$data.'] \strut \vskip 0mm');
$Apache::londefdef::DT[-1]--;
}
- }
+ }
return $currentstring;
}
sub item_cleanup {
my $item=&Apache::lonxml::endredirection();
- $item=~s/\\begin{center}//g;
- $item=~s/\\end{center}//g;
+ $item=~s/\\begin\{center}//g;
+ $item=~s/\\end\{center}//g;
return $item;
}
@@ -2087,7 +2103,7 @@ sub start_dd {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
if ($Apache::londefdef::DT[-1]) { &end_dt(@_); }
if ($Apache::londefdef::DD[-1]) { &end_dd(@_);}
@@ -2098,7 +2114,7 @@ sub start_dd {
$Apache::londefdef::description[-1]->[-1].=' \strut ';
$Apache::londefdef::DD[-1]++;
&Apache::lonxml::startredirection();
- }
+ }
return $currentstring;
}
@@ -2106,7 +2122,7 @@ sub end_dd {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
$Apache::londefdef::description[-1]->[-1].=
&Apache::lonxml::endredirection().' \vskip 0mm ';
@@ -2118,7 +2134,7 @@ sub end_dd {
#--
tag (end tag required)
# also ends any prior that is not closed.
# but, unless I allow
's to nest, that's the
-# only way I could think of to allow
in
+# only way I could think of to allow
in
#
bodies
#
#list of supported attributes: border,width,TeXwidth,TeXtheme
@@ -2128,7 +2144,7 @@ sub start_table {
my $textwidth = '';
my $currentstring = &end_p();
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring .= $token->[4];
+ $currentstring .= $token->[4];
} elsif ($target eq 'tex') {
&disable_para(); # Can't have paras in a table.
@@ -2196,12 +2212,12 @@ sub start_table {
}
return $currentstring;
}
-
+
sub end_table {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
@@ -2221,7 +2237,7 @@ sub start_tr {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
my $align = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 1);
@@ -2255,21 +2271,21 @@ sub start_tr {
push @ {$Apache::londefdef::table[-1]{'maxlen'}}, [];
push @ {$Apache::londefdef::table[-1]{'content'}}, [];
}
- }
+ }
return $currentstring;
}
-
+
sub end_tr {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = &end_p(); # Close any pending in the row.
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring .= $token->[2];
+ $currentstring .= $token->[2];
} elsif ($target eq 'tex') {
# In case the user is missing a or | tag:
if ($Apache::londefdef::TD_redirection) {
- &end_td_tex($parstack,$parser,$safeeval);
+ &end_td_tex($parstack,$parser,$safeeval);
}
$Apache::londefdef::table[-1]->end_row();
@@ -2279,7 +2295,7 @@ sub end_tr {
if (0) {
if ($Apache::londefdef::TD_redirection) {
- &end_td_tex($parstack,$parser,$safeeval);
+ &end_td_tex($parstack,$parser,$safeeval);
}
# Counter columns must be the maximum number of columns seen
# in the table so far so:
@@ -2298,17 +2314,17 @@ sub start_td {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
$Apache::londefdef::TD_redirection = 1;
&tag_check('tr','td',$tagstack,$parstack,$parser,$safeeval);
- }
+ }
return $currentstring;
-}
-
+}
+
sub tag_check {
my ($good_tag,$bad_tag,$tagstack,$parstack,$parser,$safeeval) = @_;
- my @ar=@$parstack;
+ my @ar=@$parstack;
for (my $i=$#ar-1;$i>=0;$i--) {
if (lc($$tagstack[$i]) eq $good_tag) {
&start_td_tex($parstack,$parser,$safeeval);
@@ -2330,7 +2346,7 @@ sub tag_check {
sub cell_config_hash {
my ($align, $rowspan, $colspan, $width) = @_;
if ($rowspan ne '') {
- $rowspan =~ s/^\s+|\s+$//g;
+ $rowspan =~ s/^\s+|\s+$//g;
}
if ($colspan ne '') {
$colspan =~ s/^\s+|\s+$//g;
@@ -2350,7 +2366,7 @@ sub cell_config_hash {
}
return \%config;
}
-
+
sub start_td_tex {
my ($parstack,$parser,$safeeval) = @_;
@@ -2367,7 +2383,7 @@ sub start_td_tex {
my $table = $Apache::londefdef::table[-1];
$table->add_cell('', $config);
-
+
#------------------------------------------------
# Old table code.
@@ -2405,7 +2421,7 @@ sub end_td_tex {
if (0) {
my ($parstack,$parser,$safeeval) = @_;
my $current_row = $Apache::londefdef::table[-1]{'row_number'};
- my $current_column = $Apache::londefdef::table[-1]{'counter_columns'};
+ my $current_column = $Apache::londefdef::table[-1]{'counter_columns'};
my $data = &Apache::lonxml::endredirection();
# The rowspan array of the table indicates which cells are part of a span.
@@ -2415,14 +2431,14 @@ sub end_td_tex {
# If this and subsequent cells are part of a rowspan, we must
# push along the row until we find one that is not.
- while ((defined $Apache::londefdef::table[-1]{'rowspan'}[$current_row] [$current_column])
+ while ((defined $Apache::londefdef::table[-1]{'rowspan'}[$current_row] [$current_column])
&& ($Apache::londefdef::table[-1]{'rowspan'}[$current_row][$current_column] =~ /[\^\_]/)) {
# Part of a span.
push @ {$Apache::londefdef::table[-1]{'content'}[-1]}, '';
$current_column++;
}
$Apache::londefdef::table[-1]{'counter_columns'} = $current_column;
-
+
# Get the column and row spans.
# Colspan can be done via \multicolumn if I can figure out the data structs.
@@ -2498,9 +2514,9 @@ sub end_td_tex {
push @ {$Apache::londefdef::table[-1]{'minlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0';
push @ {$Apache::londefdef::table[-1]{'maxlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0';
}
- $data=~s/\\\\\s*$//;
- } else {
- $data=~s/^\s+(\S.*)/$1/;
+ $data=~s/\\\\\s*$//;
+ } else {
+ $data=~s/^\s+(\S.*)/$1/;
$data=~s/(.*\S)\s+$/$1/;
$data=~s/(\s)+/$1/;
my ($current_length,$min_length)=(0,0);
@@ -2531,13 +2547,13 @@ sub end_td_tex {
push @ {$Apache::londefdef::table[-1]{'maxlen'}[$Apache::londefdef::table[-1]{'row_number'}] },$current_length;
push @ {$Apache::londefdef::table[-1]{'minlen'}[$Apache::londefdef::table[-1]{'row_number'}] },$min_length;
}
- }
+ }
}
# Substitute all of the tables nested in this cell in their appropriate places.
my $nested_count = $#{$Apache::londefdef::table[-1]{'include'}}; # This one is constant...
- for (my $in=0; $in<=$nested_count; $in++) {
+ for (my $in=0; $in<=$nested_count; $in++) {
my $nested = shift @{$Apache::londefdef::table[-1]{'include'}};
$nested =~ s/\\end\{tabular\}\\strut\\\\/\\end\{tabular\}/;
# $data=~s/\\keephidden\{NEW TABLE ENTRY\}/$Apache::londefdef::table[-1]{'include'}[$in]/;
@@ -2576,7 +2592,7 @@ sub end_td {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[2];
+ $currentstring = $token->[2];
} elsif ($target eq 'tex') {
$Apache::londefdef::TD_redirection =0;
&end_td_tex($parstack,$parser,$safeeval);
@@ -2589,17 +2605,17 @@ sub start_th {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = $token->[4];
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
$Apache::londefdef::TD_redirection = 1;
&tagg_check('tr','th',$tagstack,$parstack,$parser,$safeeval);
- }
+ }
return $currentstring;
-}
-
+}
+
sub tagg_check {
my ($good_tag,$bad_tag,$tagstack,$parstack,$parser,$safeeval) = @_;
- my @ar=@$parstack;
+ my @ar=@$parstack;
for (my $i=$#ar-1;$i>=0;$i--) {
if (lc($$tagstack[$i]) eq $good_tag) {
&start_th_tex($parstack,$parser,$safeeval);
@@ -2613,7 +2629,7 @@ sub tagg_check {
}
return '';
}
-
+
sub start_th_tex {
my ($parstack,$parser,$safeeval) = @_;
@@ -2692,8 +2708,8 @@ sub end_th_tex {
push @ {$Apache::londefdef::table[-1]{'objectlen'}[$Apache::londefdef::table[-1]{'row_number'}] },$fwidth;
push @ {$Apache::londefdef::table[-1]{'minlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0';
push @ {$Apache::londefdef::table[-1]{'maxlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0';
- } else {
- $data=~s/^\s+(\S.*)/$1/;
+ } else {
+ $data=~s/^\s+(\S.*)/$1/;
$data=~s/(.*\S)\s+$/$1/;
$data=~s/(\s)+/$1/;
my ($current_length,$min_length)=(0,0);
@@ -2722,9 +2738,9 @@ sub end_th_tex {
push @ {$Apache::londefdef::table[-1]{'objectlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0';
push @ {$Apache::londefdef::table[-1]{'maxlen'}[$Apache::londefdef::table[-1]{'row_number'}] },$current_length;
push @ {$Apache::londefdef::table[-1]{'minlen'}[$Apache::londefdef::table[-1]{'row_number'}] },$min_length;
- }
+ }
}
- for (my $in=0; $in<=$#{$Apache::londefdef::table[-1]{'include'}};$in++) {
+ for (my $in=0; $in<=$#{$Apache::londefdef::table[-1]{'include'}};$in++) {
$data=~s/\\keephidden\{NEW TABLE ENTRY\}/$Apache::londefdef::table[-1]{'include'}[$in]/;
}
#make data bold
@@ -2738,32 +2754,32 @@ sub end_th {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = &end_p(); # Close any open in the row.
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring .= $token->[2];
+ $currentstring .= $token->[2];
} elsif ($target eq 'tex') {
$Apache::londefdef::TD_redirection =0;
&end_th_tex($parstack,$parser,$safeeval);
}
return $currentstring;
}
-
+
#-- tag (end tag forbidden)
#
# Render the tag.
-# has the following attributes (in addition to the
+# has the following attributes (in addition to the
# standard HTML ones:
# TeXwrap - Governs how the tex target will try to wrap text around
# horizontally aligned images.
# TeXwidth - The width of the image when rendered for print (mm).
# TeXheight - The height of the image when rendered for print (mm)
# (Note there seems to also be support for this as a % of page size)
-#
+#
sub start_img {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,
undef,1);
- if (! $src &&
+ if (! $src &&
($target eq 'web' || $target eq 'webgrade' || $target eq 'tex')
- ) {
+ ) {
my $inside = &Apache::lonxml::get_all_text("/img",$parser,$style);
return '';
}
@@ -2776,7 +2792,7 @@ sub start_img {
# Render unto browsers that which are the browser's...
if ($target eq 'web' || $target eq 'webgrade') {
- my $enc = ('yes' eq
+ my $enc = ('yes' eq
lc(&Apache::lonxml::get_param('encrypturl',$parstack,
$safeeval)));
unless ($src =~ m{^data\:image/gif;base64,}) {
@@ -2792,7 +2808,7 @@ sub start_img {
# simulate the alignments offered by html.
#
#
- my $align = lc(&Apache::lonxml::get_param('align',
+ my $align = lc(&Apache::lonxml::get_param('align',
$parstack,
$safeeval,
undef,1));
@@ -2802,7 +2818,7 @@ sub start_img {
#
&Apache::lonxml::debug("Alignemnt = $align");
# LaTeX's image/text wrapping is really bad since it wants to
- # make figures float.
+ # make figures float.
# The user has the optional parameter (applicable only to l/r
# alignment to use the picins/parpic directive to get wrapped text
# this is also imperfect.. that's why we give them a choice...
@@ -2839,25 +2855,25 @@ sub start_img {
if ($width_param) { $size.='width='.$width_param.' mm,'; }
if ($height_param) { $size.='height='.$height_param.' mm]'; }
# Default size if not able to extract that (e.g. eps image).
-
+
# &Apache::lonnet::logthis("Size = $size");
-
+
$size='['.$size;
- $size=~s/,$/]/;
+ $size=~s/,$/]/;
$currentstring .= '\graphicspath{{'.$path.'}}'
.'\includegraphics'.$size.'{'.$file.'} ';
my $closure;
- ($currentstring, $closure) = &align_latex_image($align,
- $latex_rendering,
- $currentstring,
- $width_param,
+ ($currentstring, $closure) = &align_latex_image($align,
+ $latex_rendering,
+ $currentstring,
+ $width_param,
$height_param);
$currentstring .= $closure;
-
+
} else {
&Apache::lonxml::debug("$src does not exist");
#original image file doesn't exist so check the alt attribute
- my $alt =
+ my $alt =
&Apache::lonxml::get_param('alt',$parstack,$safeeval,undef,1);
unless ($alt) {
$alt=&Apache::lonmeta::alttag($Apache::lonxml::pwd[-1],$src);
@@ -2885,7 +2901,7 @@ sub start_img {
['', 'none','parbox', 'parpic', 'wrapfigure'], $token, 2);
my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval);
my $enc= &Apache::lonxml::get_param('encrypturl',$parstack,$safeeval);
-
+
$currentstring .=&Apache::edit::select_arg('Encrypt URL:','encrypturl',
['no','yes'], $token, 2);
if (($alt=~/\S/) && (lc($enc) eq 'yes')) {
@@ -2895,7 +2911,7 @@ sub start_img {
my $src= &Apache::lonxml::get_param('src',$parstack,$safeeval);
my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval);
my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);
- my $element = &Apache::edit::get_element('src');
+ my $element = &Apache::edit::get_element('src');
my $text;
if ($token->[2]{'src'}=~/\$/) {
$text = &mt('Variable image source');
@@ -2928,7 +2944,7 @@ sub start_img {
}
if ($osrc ne $nsrc || (!$nwidth && !$nheight)) {
# changed image or no size specified,
- # if they didn't explicitly change the
+ # if they didn't explicitly change the
# width or height use the ones from the image
if ($iwidth && $iheight) {
if ($owidth == $nwidth || (!$nwidth && !$nheight)) {
@@ -2967,7 +2983,7 @@ sub end_img {
#--