--- loncom/xml/londefdef.pm 2016/08/13 20:01:52 1.456.2.2 +++ loncom/xml/londefdef.pm 2020/09/10 00:33:39 1.456.2.5 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.456.2.2 2016/08/13 20:01:52 raeburn Exp $ +# $Id: londefdef.pm,v 1.456.2.5 2020/09/10 00:33:39 raeburn Exp $ # # # Copyright Michigan State University Board of Trustees @@ -92,6 +92,14 @@ sub start_m { my $inside = &Apache::lonxml::get_all_text_unbalanced("/m",$parser); if ($target eq 'web' || $target eq 'analyze') { &Apache::lonxml::debug("M is starting with:$inside:"); + if (!($inside =~ /^\s*\$.*\$\s*$/ || $inside =~ /^\s*\\[([].*\\[)\]]\s*$/)) { + # Non-math LaTeX will not be rendered correctly with MathJax + # and it should be avoided anyway. + # 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 [_1].','<m>')); + } my $eval=&Apache::lonxml::get_param('eval',$parstack,$safeeval); if ($eval eq 'on') { $inside=&Apache::run::evaluate($inside,$safeeval,$$parstack[-1]); @@ -812,7 +820,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') {