version 1.138, 2003/06/11 01:22:32
|
version 1.158, 2003/08/01 13:35:20
|
Line 25
|
Line 25
|
# /home/httpd/html/adm/gpl.txt |
# /home/httpd/html/adm/gpl.txt |
# |
# |
# http://www.lon-capa.org/ |
# http://www.lon-capa.org/ |
# |
## Copyright for TtHfunc and TtMfunc by Ian Hutchinson. |
# Copyright for TtHfunc and TtMfunc by Ian Hutchinson. |
|
# TtHfunc and TtMfunc (the "Code") may be compiled and linked into |
# TtHfunc and TtMfunc (the "Code") may be compiled and linked into |
# binary executable programs or libraries distributed by the |
# binary executable programs or libraries distributed by the |
# Michigan State University (the "Licensee"), but any binaries so |
# Michigan State University (the "Licensee"), but any binaries so |
Line 157 sub start_html {
|
Line 156 sub start_html {
|
&Apache::lonxml::fontsettings(); |
&Apache::lonxml::fontsettings(); |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
@Apache::londefdef::table = (); |
@Apache::londefdef::table = (); |
$currentstring .= '\documentclass[letterpaper]{article} |
$currentstring .= '\documentclass[letterpaper]{article}'; |
\newcommand{\keephidden}[1]{} |
if ($ENV{'form.latex_type'}=~'batchmode') {$currentstring .='\batchmode';} |
|
$currentstring .= '\newcommand{\keephidden}[1]{} |
\renewcommand{\deg}{$^{\circ}$} |
\renewcommand{\deg}{$^{\circ}$} |
|
\usepackage{longtable} |
\usepackage{textcomp} |
\usepackage{textcomp} |
\usepackage[dvips]{graphicx} |
\usepackage[dvips]{graphicx} |
\usepackage{epsfig}\usepackage{calc} |
\usepackage{epsfig}\usepackage{calc} |
Line 362 sub start_meta {
|
Line 363 sub start_meta {
|
$name=~s/\s/\_/gs; |
$name=~s/\s/\_/gs; |
$name=~s/\W//gs; |
$name=~s/\W//gs; |
if ($name) { |
if ($name) { |
$currentstring='<'.$name.'>'. |
$currentstring='<'.$name; |
|
my $display=&Apache::lonxml::get_param |
|
('display',$parstack,$safeeval,undef,1); |
|
if ($display) { |
|
$display=~s/\"/\'/g; |
|
$currentstring.=' display="'.$display.'"'; |
|
} |
|
$currentstring.='>'. |
&Apache::lonxml::get_param |
&Apache::lonxml::get_param |
('content',$parstack,$safeeval,undef,1). |
('content',$parstack,$safeeval,undef,1). |
'</'.$name.'>'; |
'</'.$name.'>'; |
} |
} |
|
my $display=&Apache::lonxml::get_param |
|
('display',$parstack,$safeeval,undef,1); |
|
if ($display) { |
|
$display=&HTML::Entities::encode($display); |
|
$currentstring.='<'.$name.'.display>'.$display. |
|
'</'.$name.'.display>'; |
|
} |
} |
} |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
&Apache::lonxml::startredirection(); |
my $content=&Apache::lonxml::get_param('content',$parstack,$safeeval); |
|
my $name=&Apache::lonxml::get_param('name',$parstack,$safeeval); |
|
if ((not defined $content) && (not defined $name)) { |
|
&Apache::lonxml::startredirection(); |
|
} |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 444 sub start_body {
|
Line 463 sub start_body {
|
$currentstring.='<head>'. |
$currentstring.='<head>'. |
&Apache::lonmenu::registerurl(undef,$target).'</head>'; |
&Apache::lonmenu::registerurl(undef,$target).'</head>'; |
} |
} |
|
# Accessibility |
|
if ($ENV{'browser.imagesuppress'} eq 'on') { |
|
delete($token->[2]->{'background'}); |
|
} |
|
if ($ENV{'browser.fontenhance'} eq 'on') { |
|
my $style=''; |
|
foreach my $key (keys(%{$token->[2]})) { |
|
if ($key =~ /^style$/i) { |
|
$style.=$token->[2]->{$key}.';'; |
|
delete($token->[2]->{$key}); |
|
} |
|
} |
|
$token->[2]->{'style'}=$style.'; font-size: x-large;'; |
|
} |
|
if ($ENV{'browser.blackwhite'} eq 'on') { |
|
delete($token->[2]->{'font'}); |
|
delete($token->[2]->{'link'}); |
|
delete($token->[2]->{'alink'}); |
|
delete($token->[2]->{'vlink'}); |
|
delete($token->[2]->{'bgcolor'}); |
|
delete($token->[2]->{'background'}); |
|
} |
|
# Overload loads |
my $onLoad=''; |
my $onLoad=''; |
foreach my $key (keys(%{$token->[2]})) { |
foreach my $key (keys(%{$token->[2]})) { |
if ($key =~ /^onload$/i) { |
if ($key =~ /^onload$/i) { |
Line 501 sub start_center {
|
Line 543 sub start_center {
|
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = '\begin{center}'; |
$currentstring = '\begin{center}'; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring = '\begin{center}'; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 514 sub end_center {
|
Line 554 sub end_center {
|
$currentstring = $token->[2]; |
$currentstring = $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = '\end{center}'; |
$currentstring = '\end{center}'; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring = '\end{center}'; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 528 sub start_b {
|
Line 566 sub start_b {
|
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = '\textbf{'; |
$currentstring = '\textbf{'; |
} elsif ($target eq 'latexsource') { |
|
$currentstring = '\textbf{'; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 541 sub end_b {
|
Line 577 sub end_b {
|
$currentstring = $token->[2]; |
$currentstring = $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = '}'; |
$currentstring = '}'; |
} elsif ($target eq 'latexsource') { |
|
$currentstring = '}'; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 555 sub start_strong {
|
Line 589 sub start_strong {
|
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = '\textbf{'; |
$currentstring = '\textbf{'; |
} elsif ($target eq 'latexsource') { |
|
$currentstring = '\textbf{'; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 569 sub end_strong {
|
Line 601 sub end_strong {
|
$currentstring = $token->[2]; |
$currentstring = $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = '}'; |
$currentstring = '}'; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring = '}'; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 847 sub start_cite {
|
Line 877 sub start_cite {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "\\textit{"; |
$currentstring .= "\\textit{"; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= "\\textit{"; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 860 sub end_cite {
|
Line 888 sub end_cite {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "}"; |
$currentstring .= "}"; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= "}"; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 874 sub start_i {
|
Line 900 sub start_i {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '\textit{'; |
$currentstring .= '\textit{'; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= '\textit{'; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 887 sub end_i {
|
Line 911 sub end_i {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '}'; |
$currentstring .= '}'; |
} elsif ($target eq 'latexsource') { |
|
$currentstring .= '}'; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 901 sub start_address {
|
Line 923 sub start_address {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "\\textit{"; |
$currentstring .= "\\textit{"; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= "\\textit{"; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 914 sub end_address {
|
Line 934 sub end_address {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "}"; |
$currentstring .= "}"; |
} elsif ($target eq 'latexsource') { |
|
$currentstring .= "}"; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 928 sub start_dfn {
|
Line 946 sub start_dfn {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "\\textit{"; |
$currentstring .= "\\textit{"; |
} elsif ($target eq 'latexsource') { |
|
$currentstring .= "\\textit{"; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 941 sub end_dfn {
|
Line 957 sub end_dfn {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "}"; |
$currentstring .= "}"; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= "}"; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 955 sub start_tt {
|
Line 969 sub start_tt {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '\texttt{'; |
$currentstring .= '\texttt{'; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= '\texttt{'; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 968 sub end_tt {
|
Line 980 sub end_tt {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '}'; |
$currentstring .= '}'; |
} elsif ($target eq 'latexsource') { |
|
$currentstring .= '}'; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 982 sub start_kbd {
|
Line 992 sub start_kbd {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "\\texttt"; |
$currentstring .= "\\texttt"; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= "\\texttt{"; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 995 sub end_kbd {
|
Line 1003 sub end_kbd {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "}"; |
$currentstring .= "}"; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= "}"; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1032 sub start_em {
|
Line 1038 sub start_em {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '\emph{'; |
$currentstring .= '\emph{'; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= '\emph{'; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1045 sub end_em {
|
Line 1049 sub end_em {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '}'; |
$currentstring .= '}'; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= '}'; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1059 sub start_q {
|
Line 1061 sub start_q {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "\\emph{"; |
$currentstring .= "\\emph{"; |
} elsif ($target eq 'latexsource') { |
|
$currentstring .= "\\emph{"; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1072 sub end_q {
|
Line 1072 sub end_q {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "}"; |
$currentstring .= "}"; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= "}"; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
#-- <p> tag |
#-- <p> tag |
sub start_p { |
sub start_p { |
my ($target,$token) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '{\par '; |
my $signal=1; |
} elsif ($target eq 'latexsource') { |
foreach my $tag (@$tagstack) {if (lc($tag) eq 'b') {$signal=0;}} |
$currentstring .= '{\par '; |
if ($signal) {$currentstring .= '\par ';} |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1097 sub end_p {
|
Line 1095 sub end_p {
|
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
|
$currentstring .= '}'; |
|
} elsif ($target eq 'latexsource') { |
|
$currentstring .= '}'; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1113 sub start_br {
|
Line 1107 sub start_br {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
if ($$tagstack[-2] ne 'sub' && $$tagstack[-2] ne 'sup') { |
if ($$tagstack[-2] ne 'sub' && $$tagstack[-2] ne 'sup') { |
$currentstring .= '\vskip 0.2 mm'; |
$currentstring .= '\vskip 0.2 mm '; |
} |
} |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= '\\'; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1138 sub start_big {
|
Line 1130 sub start_big {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '{\large '; |
$currentstring .= '{\large '; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= '{\Large '; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1151 sub end_big {
|
Line 1141 sub end_big {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '}'; |
$currentstring .= '}'; |
} elsif ($target eq 'latexsource') { |
|
$currentstring .= '}'; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1165 sub start_small {
|
Line 1153 sub start_small {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '{\footnotesize '; |
$currentstring .= '{\footnotesize '; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= '{\footnotesize '; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1178 sub end_small {
|
Line 1164 sub end_small {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '}'; |
$currentstring .= '}'; |
} elsif ($target eq 'latexsource') { |
|
$currentstring .= '}'; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1219 sub start_font {
|
Line 1203 sub start_font {
|
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
my $face=&Apache::lonxml::get_param('face',$parstack,$safeeval); |
my $face=&Apache::lonxml::get_param('face',$parstack,$safeeval); |
if ($face=~/symbol/i) {$Apache::lonxml::prevent_entity_encode++;} |
if ($face=~/symbol/i) { |
|
$Apache::lonxml::prevent_entity_encode++; |
|
} else { |
|
if (($ENV{'browser.fontenhance'} eq 'on') || |
|
($ENV{'browser.blackwhite'} eq 'on')) { return ''; } |
|
} |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $fontsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval); |
my $fontsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval); |
Line 1351 sub start_hr {
|
Line 1340 sub start_hr {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $LaTeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,0); |
my $LaTeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0); |
if (defined $LaTeXwidth) { |
if (defined $LaTeXwidth) { |
if ($LaTeXwidth=~/^%/) { |
if ($LaTeXwidth=~/^%/) { |
substr($LaTeXwidth,0,1)=''; |
substr($LaTeXwidth,0,1)=''; |
$LaTeXwidth=($LaTeXwidth/100).'\textwidth'; |
$LaTeXwidth=($LaTeXwidth/100).'\textwidth'; |
} |
} |
} else { |
} else { |
$LaTeXwidth ='0.95\textwidth'; |
$LaTeXwidth ='0.9\textwidth'; |
} |
} |
my ($pre,$post); |
my ($pre,$post); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
Line 1369 sub start_hr {
|
Line 1358 sub start_hr {
|
} elsif ($align eq 'right') { |
} elsif ($align eq 'right') { |
$pre=' \hfill \llap{'; $post='}'; |
$pre=' \hfill \llap{'; $post='}'; |
} |
} |
$currentstring .= ' \vskip 0 mm \noindent\makebox[\textwidth]{'.$pre.'\makebox['. |
$currentstring .= ' \vskip 0 mm \noindent\makebox['.$LaTeXwidth.']{'.$pre.'\makebox['. |
$LaTeXwidth.'][b]{\hrulefill}'.$post.'}\vskip 0 mm '; |
$LaTeXwidth.'][b]{\hrulefill}'.$post.'}\vskip 0 mm '; |
} |
} |
return $currentstring; |
return $currentstring; |
Line 1380 sub end_hr {
|
Line 1369 sub end_hr {
|
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} |
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1406 sub end_div {
|
Line 1394 sub end_div {
|
|
|
#-- <a> tag |
#-- <a> tag |
sub start_a { |
sub start_a { |
my ($target,$token) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
|
my $a=&Apache::lonxml::get_param('href',$parstack,$safeeval,undef,1); |
|
$a=~s/([^\\])%/$1\\\%/g; |
|
$currentstring .= '\ref{'.$a.'}'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
sub end_a { |
sub end_a { |
my ($target,$token,$tagstack,$stackref) = @_; |
my ($target,$token,$tagstack,$parstack,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
|
my $tempor_var = $stackref->[$#$stackref]; |
|
if (index($tempor_var,'name') != -1 ) { |
|
$tempor_var =~ s/name=([^,]*),/$1/g; |
|
} elsif (index($tempor_var,'href') != -1 ) { |
|
$tempor_var =~ s/href=([^,]*),/$1/g; |
|
$currentstring .= " \\ref{$tempor_var}"; |
|
} |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
#-- <li> tag |
#-- <li> tag |
sub start_li { |
sub start_li { |
my ($target,$token,$tagstack,$stackref) = @_; |
my ($target,$token,$tagstack,$parstack,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $tempor_var = $stackref->[$#$stackref]; |
my $type=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,1); |
if (index($tempor_var,'circle') != -1 ) { |
if ($type=~/circle/) { |
$currentstring .= " \\item[o] "; |
$currentstring .= ' \item[o] '; |
} elsif (index($tempor_var,'square') != -1 ) { |
} elsif ($type=~/square/) { |
$currentstring .= " \\item[$\Box$] "; |
$currentstring .= ' \item[$\Box$] '; |
} elsif ($tempor_var ne '') { |
} elsif ($type ne '') { |
$_ = $tempor_var; |
$currentstring .= ' \item['.$type.'] '; |
m/my\s*([^=]*)=/; |
|
$currentstring .= " \\item[$1] "; |
|
} else { |
} else { |
$currentstring .= " \\item "; |
$currentstring .= ' \item '; |
} |
} |
} |
} |
return $currentstring; |
return $currentstring; |
Line 1680 sub end_dt {
|
Line 1661 sub end_dt {
|
|
|
#-- <dd> tag |
#-- <dd> tag |
sub start_dd { |
sub start_dd { |
my ($target,$token) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
|
} elsif ($target eq 'tex') { |
|
if ($$tagstack[-2] eq 'dl') { |
|
$currentstring = ' \item [] '; |
|
} elsif ($$tagstack[-2] eq 'dt') { |
|
$currentstring = ']'; |
|
} |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1700 sub end_dd {
|
Line 1687 sub end_dd {
|
#-- <table> tag |
#-- <table> tag |
sub start_table { |
sub start_table { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $textwidth; |
my $textwidth=''; |
if (not defined @Apache::londefdef::table) { |
if (not defined @Apache::londefdef::table) { |
$textwidth=&recalc($ENV{'form.textwidth'}); |
$textwidth=&recalc($ENV{'form.textwidth'}); |
$textwidth=~/(\d+)/; |
$textwidth=~/(\d+\.?\d*)/; |
$textwidth=$1; |
$textwidth=0.95*$1; |
} else { |
} else { |
$textwidth=&Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0); |
$textwidth=&Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0); |
} |
} |
Line 1746 sub start_table {
|
Line 1733 sub start_table {
|
$Apache::londefdef::table[-1]{'vvinc'} = ''; |
$Apache::londefdef::table[-1]{'vvinc'} = ''; |
} |
} |
$Apache::londefdef::table[-1]{'output'} = ' \noindent \begin{tabular} '; |
$Apache::londefdef::table[-1]{'output'} = ' \noindent \begin{tabular} '; |
$currentstring = '\keephidden{NEW TABLE ENTRY '.$textwidth.'}'; |
$currentstring = '\keephidden{NEW TABLE ENTRY}'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1824 sub end_table {
|
Line 1811 sub end_table {
|
} else { |
} else { |
$currentstring .= $Apache::londefdef::table[-1]{'output'}; |
$currentstring .= $Apache::londefdef::table[-1]{'output'}; |
pop @Apache::londefdef::table; |
pop @Apache::londefdef::table; |
|
undef @Apache::londefdef::table; |
} |
} |
} |
} |
return $currentstring; |
return $currentstring; |
Line 1901 sub end_td {
|
Line 1889 sub end_td {
|
$current_length=~/(\d+\.?\d*)/; |
$current_length=~/(\d+\.?\d*)/; |
$Apache::londefdef::table[-1]{'TeXlength'} .= $1.','; |
$Apache::londefdef::table[-1]{'TeXlength'} .= $1.','; |
$Apache::londefdef::table[-1]{'length'} .= '0,'; |
$Apache::londefdef::table[-1]{'length'} .= '0,'; |
} else { |
} else { |
$data=~/^\s*(\S.*)/; |
$data=~s/^\s+(\S.*)/$1/; |
$data=$1; |
$data=~s/(.*\S)\s+$/$1/; |
$data=~/(.*\S)\s*$/; |
|
$data=$1; |
|
my $current_length=2*length($data); |
my $current_length=2*length($data); |
$Apache::londefdef::table[-1]{'length'} .= $current_length.','; |
$Apache::londefdef::table[-1]{'length'} .= $current_length.','; |
$Apache::londefdef::table[-1]{'TeXlength'} .= '0,'; |
$Apache::londefdef::table[-1]{'TeXlength'} .= '0,'; |
} |
} |
} |
} |
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]/; |
$data=~s/\\keephidden\{NEW TABLE ENTRY\}/$Apache::londefdef::table[-1]{'include'}[$in]/; |
} |
} |
@{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= '\parbox{TOBECHANGEDONNUMBER}{'.$data.'} '.$Apache::londefdef::table[-1]{'vinc'}; |
@{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= '\parbox{TOBECHANGEDONNUMBER}{'.$data.'} '.$Apache::londefdef::table[-1]{'vinc'}; |
Line 1985 sub start_img {
|
Line 1971 sub start_img {
|
my $width_param = ''; |
my $width_param = ''; |
my $height_param = ''; |
my $height_param = ''; |
my $scaling = .3; |
my $scaling = .3; |
|
|
if ($target eq 'web') { |
if ($target eq 'web') { |
if ($ENV{'browser.imagesuppress'} ne 'on') { |
if ($ENV{'browser.imagesuppress'} ne 'on') { |
$currentstring = $token->[4]; |
$currentstring.= $token->[4]; |
} else { |
} else { |
my $alttag= &Apache::lonxml::get_param |
my $alttag= &Apache::lonxml::get_param |
('alt',$parstack,$safeeval,undef,1); |
('alt',$parstack,$safeeval,undef,1); |
Line 1996 sub start_img {
|
Line 1981 sub start_img {
|
$alttag=&Apache::lonmeta::alttag |
$alttag=&Apache::lonmeta::alttag |
($Apache::lonxml::pwd[-1],$src); |
($Apache::lonxml::pwd[-1],$src); |
} |
} |
$currentstring='[IMAGE: '.$alttag.']'; |
$currentstring.='[IMAGE: '.$alttag.']'; |
} |
} |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); |
$src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); |
&image_replication($src); |
&image_replication($src); |
|
|
#if original gif/jpg/png file exist do following: |
#if original gif/jpg/png file exist do following: |
if (-e $src) { |
if (-e $src) { |
#defines the default size of image |
#defines the default size of image |
Line 2026 sub start_img {
|
Line 2010 sub start_img {
|
} elsif ($width ne '') { |
} elsif ($width ne '') { |
$width_param = $width*$scaling; |
$width_param = $width*$scaling; |
} |
} |
|
if ($width_param > $ENV{'form.textwidth'}) {$width_param =0.95*$ENV{'form.textwidth'}} |
my $file; |
my $file; |
my $path; |
my $path; |
if ($src =~ m!(.*)/([^/]*)$!) { |
if ($src =~ m!(.*)/([^/]*)$!) { |