version 1.456.2.1, 2016/08/10 00:29:06
|
version 1.456.2.6.2.4, 2024/02/28 18:15:50
|
Line 92 sub start_m {
|
Line 92 sub start_m {
|
my $inside = &Apache::lonxml::get_all_text_unbalanced("/m",$parser); |
my $inside = &Apache::lonxml::get_all_text_unbalanced("/m",$parser); |
if ($target eq 'web' || $target eq 'analyze') { |
if ($target eq 'web' || $target eq 'analyze') { |
&Apache::lonxml::debug("M is starting with:$inside:"); |
&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>')); |
|
} 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); |
my $eval=&Apache::lonxml::get_param('eval',$parstack,$safeeval); |
if ($eval eq 'on') { |
if ($eval eq 'on') { |
$inside=&Apache::run::evaluate($inside,$safeeval,$$parstack[-1]); |
$inside=&Apache::run::evaluate($inside,$safeeval,$$parstack[-1]); |
Line 347 sub start_title {
|
Line 367 sub start_title {
|
$Apache::londefdef::title = |
$Apache::londefdef::title = |
&Apache::lonxml::get_all_text('/title',$parser,$style); |
&Apache::lonxml::get_all_text('/title',$parser,$style); |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '\keephidden{Title of the document: ' |
$currentstring .= '\keephidden{Title of the document: '; |
} |
} |
if ($target eq 'meta') { |
if ($target eq 'meta') { |
$currentstring='<title>'; |
$currentstring='<title>'; |
Line 592 sub start_body {
|
Line 612 sub start_body {
|
if ($env{'request.use_absolute'}) { |
if ($env{'request.use_absolute'}) { |
$args->{'use_absolute'} = $env{'request.use_absolute'}; |
$args->{'use_absolute'} = $env{'request.use_absolute'}; |
} |
} |
|
if ($env{'form.only_body'}) { |
|
$args->{'only_body'} = 1; |
|
} |
} |
} |
$currentstring = |
$currentstring = |
&Apache::loncommon::start_page($Apache::londefdef::title, |
&Apache::loncommon::start_page($Apache::londefdef::title, |
Line 626 sub start_body {
|
Line 649 sub start_body {
|
|
|
sub edit_controls { |
sub edit_controls { |
my ($nochgview) = @_; |
my ($nochgview) = @_; |
my $result .= ' |
my $result = &Apache::lonxml::seteditor_javascript().' |
<form method="post" action=""> |
<form method="post" action=""> |
<div class="LC_edit_problem_header">'; |
<div class="LC_edit_problem_header">'."\n"; |
unless ($nochgview) { |
unless ($nochgview) { |
$result .= ' |
$result .= ' |
<div class="LC_edit_problem_header_row1">'. |
<div class="LC_edit_problem_header_row1">'. |
Line 637 sub edit_controls {
|
Line 660 sub edit_controls {
|
</div>'; |
</div>'; |
} |
} |
$result .= ' |
$result .= ' |
<div><input type="submit" name="editmode" accesskey="e" value="'.&mt('Edit').'" />'; |
<div> |
|
<input type="hidden" name="editmode" value="" /> |
|
<input type="button" name="editordefault" accesskey="e" value="'.&mt('Edit'). |
|
'" onclick="seteditmode(this.form,'."'edit'".');" />'."\n"; |
|
if ($env{'browser.type'} ne 'explorer' || $env{'browser.version'} > 9) { |
|
my $uri = $env{'request.uri'}; |
|
if ($uri =~ /\.(xml|html|htm|xhtml|xhtm)$/) { |
|
my %editors = &Apache::loncommon::permitted_editors(); |
|
if ($editors{'daxe'}) { |
|
my $daxeurl = '/daxepage'.$uri; |
|
$result .= '<input type="button" name="editordaxe" value="'.&mt('Edit with Daxe'). |
|
'" onclick="seteditmode(this.form,'."'daxe'".');" />'."\n"; |
|
} |
|
} |
|
} |
if (($env{'request.course.id'}) && ($env{'form.forceedit'})) { |
if (($env{'request.course.id'}) && ($env{'form.forceedit'})) { |
my $url=&Apache::lonnet::hreflocation('',$env{'request.filename'}); |
my $url=&Apache::lonnet::hreflocation('',$env{'request.filename'}); |
if ($url =~ /\.html?$/i) { |
if ($url =~ /\.html?$/i) { |
Line 812 sub end_h1 {
|
Line 849 sub end_h1 {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $post='\vskip 0 mm '; |
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') { |
if ($align eq 'center') { |
$post='\end{center}'; |
$post='\end{center}'; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
Line 3247 sub end_externallink {
|
Line 3284 sub end_externallink {
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
#-- <blankspace heigth=""> |
#-- <blankspace height=""> |
sub start_blankspace { |
sub start_blankspace { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = &end_p(); # closes off any unclosed <p> |
my $currentstring = &end_p(); # closes off any unclosed <p> |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
my $howmuch = &Apache::lonxml::get_param('heigth',$parstack,$safeeval,undef,1); |
my $howmuch = &Apache::lonxml::get_param('height',$parstack,$safeeval,undef,1); |
$currentstring .= '\vskip '.$howmuch.' '; |
$currentstring .= '\vskip '.$howmuch.' '; |
} |
} |
return $currentstring; |
return $currentstring; |
Line 4258 sub resize_image {
|
Line 4295 sub resize_image {
|
$height_param=$TeXwidth/$old_width_param*$height_param; |
$height_param=$TeXwidth/$old_width_param*$height_param; |
} |
} |
} elsif ($TeXheight) { |
} elsif ($TeXheight) { |
$height_param = $TeXheight; |
|
if ($height_param) { |
if ($height_param) { |
$width_param = $TeXheight/$height_param*$width_param; |
$width_param = $TeXheight/$height_param*$width_param; |
} |
} |
|
$height_param = $TeXheight; |
} elsif ($width) { |
} elsif ($width) { |
my $old_width_param=$width_param; |
my $old_width_param=$width_param; |
$width_param = $width*$scaling; |
$width_param = $width*$scaling; |
Line 4552 sub latex_header {
|
Line 4589 sub latex_header {
|
($mode eq 'batchmode')) {$currentstring .='\batchmode';} |
($mode eq 'batchmode')) {$currentstring .='\batchmode';} |
$currentstring .= '\newcommand{\keephidden}[1]{}'. |
$currentstring .= '\newcommand{\keephidden}[1]{}'. |
'\renewcommand{\deg}{$^{\circ}$}'. |
'\renewcommand{\deg}{$^{\circ}$}'. |
'\usepackage{multirow}'. |
'\usepackage{multirow}'."\n". |
'\usepackage{longtable}'. |
'\usepackage{longtable}'."\n". |
'\usepackage{textcomp}'. |
'\usepackage{textcomp}'."\n". |
'\usepackage{makeidx}'. |
'\usepackage{makeidx}'."\n". |
'\usepackage[dvips]{graphicx}'. |
'\usepackage[dvips]{graphicx}'."\n". |
'\usepackage{wrapfig}'. |
'\usepackage{wrapfig}'."\n". |
'\usepackage{picins}'. |
'\usepackage{picins}'."\n". |
'\usepackage[T1]{fontenc}'."\n". |
'\usepackage[T1]{fontenc}'."\n". |
'\usepackage{lmodern}'."\n". |
'\usepackage{lmodern}'."\n". |
'\usepackage[postscript]{ucs}'."\n". |
'\usepackage[postscript]{ucs}'."\n". |
'\usepackage[utf8x]{inputenc}'."\n". |
'\usepackage[utf8x]{inputenc}'."\n". |
'\usepackage{pifont}' ."\n". |
'\usepackage{pifont}'."\n". |
'\usepackage{latexsym}'."\n". |
'\usepackage{latexsym}'."\n". |
'\usepackage{epsfig}'. |
'\usepackage{epsfig}'."\n". |
"\\usepackage{xtab}\n". |
'\usepackage{xtab}'."\n". |
"\\usepackage{tabularx}\n". |
'\usepackage{tabularx}'."\n". |
"\\usepackage{booktabs}\n". |
'\usepackage{booktabs}'."\n". |
"\\usepackage{array}\n". |
'\usepackage{array}'."\n". |
"\\usepackage{colortbl}\n". |
'\usepackage{colortbl}'."\n". |
"\\usepackage{xcolor}\n". |
'\usepackage{xcolor}'."\n". |
'\usepackage{calc}'. |
'\usepackage{calc}'."\n". |
'\usepackage{amsmath}'. |
'\usepackage{amsmath}'."\n". |
'\usepackage{soul}'. |
'\usepackage{soul}'."\n". |
'\usepackage{amssymb}'. |
'\usepackage{amssymb}'."\n". |
'\usepackage{amsfonts}'. |
'\usepackage{amsfonts}'."\n". |
'\usepackage{amsthm}'. |
'\usepackage{amsthm}'."\n". |
'\usepackage{amscd}' |
'\usepackage{amscd}'."\n". |
.'\usepackage{picins}\usepackage{calc}'."\n". # From lonprintout.pm |
'\usepackage{actuarialangle}'."\n"; |
'\usepackage[T1]{fontenc}'."\n". |
|
'\usepackage{lmodern}'."\n". |
|
'\usepackage[postscript]{ucs}'."\n". |
|
'\usepackage[utf8x]{inputenc}'."\n". |
|
'\usepackage{pifont}' . "\n"; |
|
|
|
if($env{'form.pdfFormFields'} eq 'yes') { |
if($env{'form.pdfFormFields'} eq 'yes') { |
$currentstring .= '\usepackage{hyperref}'. |
$currentstring .= '\usepackage{hyperref}'. |
'\usepackage{eforms}'. |
'\usepackage{eforms}'. |