version 1.127, 2003/04/16 19:20:51
|
version 1.147, 2003/06/30 14:09:03
|
Line 54 use Apache::lonmeta();
|
Line 54 use Apache::lonmeta();
|
|
|
BEGIN { |
BEGIN { |
|
|
&Apache::lonxml::register('Apache::londefdef',('a','abbr','acronym','accessrule','address','allow','applet','area','b','base','basefont','bgo','bgsound','big','blink','blockquote','blankspace','body','br','button','caption','center','cite','code','col','colgroup','dd','del','dfn','dir','div','dl','dt','em','embed','externallink','fieldset','font','form','frame','frameset','h1','h2','h3','h4','h5','h6','head','hr','html','i','iframe','img','input','ins','insert','isindex','kbd','keygen','label','layer','legend','li','link','m','map','marquee','menu','meta','multicol','nobr','noembed','noframes','nolayer','noscript','object','ol','optgroup','option','output','p','param','pre','q','s','samp','select','server','small','spacer','span','strike','strong','sub','sup','table','tbody','td','textarea','tfoot','th','thead','title','tr','tt','tthoption','u','ul','var','wbr')); |
&Apache::lonxml::register('Apache::londefdef',('a','abbr','acronym','accessrule','address','allow','applet','area','b','base','basefont','bgo','bgsound','big','blink','blockquote','blankspace','body','br','button','caption','center','cite','code','col','colgroup','dd','del','dfn','dir','div','dl','dt','em','embed','externallink','fieldset','font','form','frame','frameset','h1','h2','h3','h4','h5','h6','head','hr','html','i','iframe','img','input','ins','insert','isindex','kbd','keygen','label','layer','legend','li','link','m','map','marquee','menu','meta','multicol','nobr','noembed','noframes','nolayer','noscript','object','ol','optgroup','option','output','p','param','pre','q','s','samp','select','server','small','spacer','span','strike','strong','sub','sup','table','tbody','td','textarea','tfoot','th','thead','title','tr','tt','tthoption','u','ul','var','wbr','hideweboutput')); |
|
|
} |
} |
|
|
Line 157 sub start_html {
|
Line 157 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]{} |
#'\batchmode'. |
|
'\newcommand{\keephidden}[1]{} |
\renewcommand{\deg}{$^{\circ}$} |
\renewcommand{\deg}{$^{\circ}$} |
\usepackage{textcomp} |
\usepackage{textcomp} |
\usepackage[dvips]{graphicx} |
\usepackage[dvips]{graphicx} |
Line 354 sub start_meta {
|
Line 355 sub start_meta {
|
} else { |
} else { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} |
} |
} |
} elsif ($target eq 'meta') { |
if ($target eq 'meta') { |
|
unless (&Apache::lonxml::get_param |
unless (&Apache::lonxml::get_param |
('http-equiv',$parstack,$safeeval,undef,1)) { |
('http-equiv',$parstack,$safeeval,undef,1)) { |
my $name=$token->[2]->{'name'}; |
my $name=$token->[2]->{'name'}; |
Line 366 sub start_meta {
|
Line 366 sub start_meta {
|
$currentstring='<'.$name.'>'. |
$currentstring='<'.$name.'>'. |
&Apache::lonxml::get_param |
&Apache::lonxml::get_param |
('content',$parstack,$safeeval,undef,1). |
('content',$parstack,$safeeval,undef,1). |
'</'.$name.'>'; |
'</'.$name.'>'; |
} |
} |
} |
} |
|
} elsif ($target eq 'tex') { |
|
&Apache::lonxml::startredirection(); |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 382 sub end_meta {
|
Line 384 sub end_meta {
|
if ($args ne '') { |
if ($args ne '') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} |
} |
} |
} elsif ($target eq 'tex') { |
|
$currentstring=&Apache::lonxml::endredirection(); |
|
$currentstring=''; |
|
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 497 sub start_center {
|
Line 502 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 510 sub end_center {
|
Line 513 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 524 sub start_b {
|
Line 525 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 537 sub end_b {
|
Line 536 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 551 sub start_strong {
|
Line 548 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 565 sub end_strong {
|
Line 560 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 843 sub start_cite {
|
Line 836 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 856 sub end_cite {
|
Line 847 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 870 sub start_i {
|
Line 859 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 883 sub end_i {
|
Line 870 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 897 sub start_address {
|
Line 882 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 910 sub end_address {
|
Line 893 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 924 sub start_dfn {
|
Line 905 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 937 sub end_dfn {
|
Line 916 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 951 sub start_tt {
|
Line 928 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 964 sub end_tt {
|
Line 939 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 978 sub start_kbd {
|
Line 951 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 991 sub end_kbd {
|
Line 962 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 1028 sub start_em {
|
Line 997 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 1041 sub end_em {
|
Line 1008 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 1055 sub start_q {
|
Line 1020 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 1068 sub end_q {
|
Line 1031 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; |
} |
} |
|
|
Line 1081 sub start_p {
|
Line 1042 sub start_p {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '{\par '; |
$currentstring .= '\par '; |
} elsif ($target eq 'latexsource') { |
} |
$currentstring .= '{\par '; |
|
} |
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 1093 sub end_p {
|
Line 1052 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 1111 sub start_br {
|
Line 1066 sub start_br {
|
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 1133 sub start_big {
|
Line 1086 sub start_big {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$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 1147 sub end_big {
|
Line 1098 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 1161 sub start_small {
|
Line 1110 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 1174 sub end_small {
|
Line 1121 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 1412 sub start_a {
|
Line 1357 sub start_a {
|
} |
} |
|
|
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') { |
} elsif ($target eq 'tex') { |
my $tempor_var = $stackref->[$#$stackref]; |
my $href=&Apache::lonxml::get_param('href',$parstack,$safeeval,undef,1); |
if (index($tempor_var,'name') != -1 ) { |
$currentstring .= '\ref{'.$href.'}'; |
$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 1676 sub end_dt {
|
Line 1614 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 [] '; |
|
} |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1696 sub end_dd {
|
Line 1638 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 ($#Apache::londefdef::table==0) { |
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 1742 sub start_table {
|
Line 1684 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}'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1760 sub end_table {
|
Line 1703 sub end_table {
|
$header_of_table .= $Apache::londefdef::table[-1]{'columns'}[$in].$Apache::londefdef::table[-1]{'vvinc'}; |
$header_of_table .= $Apache::londefdef::table[-1]{'columns'}[$in].$Apache::londefdef::table[-1]{'vvinc'}; |
} |
} |
$header_of_table .= '}'; |
$header_of_table .= '}'; |
|
|
|
|
#define the length of the table cells |
#define the length of the table cells |
#always starts with TeXwidth (if defined everything else is ignored) |
#always starts with TeXwidth (if defined everything else is ignored) |
my @length_row_final = split(/,/,$Apache::londefdef::table[-1]{'TeXlengthrow'}[0]); |
my @length_row_final = split(/,/,$Apache::londefdef::table[-1]{'TeXlengthrow'}[0]); |
Line 1817 sub end_table {
|
Line 1758 sub end_table {
|
if ($#Apache::londefdef::table > 0) { |
if ($#Apache::londefdef::table > 0) { |
my $inmemory = $Apache::londefdef::table[-1]{'output'}; |
my $inmemory = $Apache::londefdef::table[-1]{'output'}; |
pop @Apache::londefdef::table; |
pop @Apache::londefdef::table; |
$Apache::londefdef::table[-1]{'rowdata'}[$Apache::londefdef::table[-1]{'row_number'}] .= $inmemory; ###Need to work with (wrong place to add) |
push @{$Apache::londefdef::table[-1]{'include'}}, $inmemory; |
|
|
} 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 1896 sub end_td {
|
Line 1837 sub end_td {
|
} else { |
} else { |
if ($data=~m/width\s*=\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)/) { |
if ($data=~m/width\s*=\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)/) { |
my $current_length=&recalc($1); |
my $current_length=&recalc($1); |
$current_length=~/(\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 { |
Line 1908 sub end_td {
|
Line 1849 sub end_td {
|
$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,'; |
} |
} |
} |
} |
$data='\parbox{TOBECHANGEDONNUMBER}{'.$data.'} '.$Apache::londefdef::table[-1]{'vinc'}; |
for (my $in=0; $in<=$#{$Apache::londefdef::table[-1]{'include'}};$in++) { |
@{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= $data; |
$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'}; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1929 sub start_th {
|
Line 1872 sub start_th {
|
push @{ $Apache::londefdef::table[-1]{'columns'} }, $what_to_push; |
push @{ $Apache::londefdef::table[-1]{'columns'} }, $what_to_push; |
$Apache::londefdef::table[-1]{'counter_columns'}++; |
$Apache::londefdef::table[-1]{'counter_columns'}++; |
&Apache::lonxml::startredirection(); |
&Apache::lonxml::startredirection(); |
; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
sub end_th { |
sub end_th { |
my ($target,$token) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[2]; |
$currentstring = $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $current_row = $Apache::londefdef::table[-1]{'row_number'}; |
my $current_row = $Apache::londefdef::table[-1]{'row_number'}; |
my $data=&Apache::lonxml::endredirection(); |
my $data=&Apache::lonxml::endredirection(); |
if ($data=~m/width\s*=\s*(\d+\.*\d*\s*(mm|cm))/) { |
my $TeXwidth=&Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0); |
$Apache::londefdef::table[-1]{'length'} .= $1.','; |
if (defined $TeXwidth) { |
|
my $current_length=&recalc($TeXwidth); |
|
$current_length=~/(\d+)/; |
|
$Apache::londefdef::table[-1]{'TeXlength'} .= $1.','; |
|
$Apache::londefdef::table[-1]{'length'} .= '0,'; |
} else { |
} else { |
$Apache::londefdef::table[-1]{'length'} .= '0 mm,'; |
if ($data=~m/width\s*=\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)/) { |
} |
my $current_length=&recalc($1); |
@{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= '\parbox{'.$1.'}{\textbf{'.$data.'}} '.$Apache::londefdef::table[-1]{'vinc'}; |
$current_length=~/(\d+)/; |
|
$Apache::londefdef::table[-1]{'TeXlength'} .= $1.','; |
|
$Apache::londefdef::table[-1]{'length'} .= '0,'; |
|
} else { |
|
$data=~/^\s*(\S.*)/; |
|
$data=$1; |
|
$data=~/(.*\S)\s*$/; |
|
$data=$1; |
|
my $current_length=2*length($data); |
|
$Apache::londefdef::table[-1]{'length'} .= $current_length.','; |
|
$Apache::londefdef::table[-1]{'TeXlength'} .= '0,'; |
|
} |
|
} |
|
for (my $in=0; $in<=$#{$Apache::londefdef::table[-1]{'include'}};$in++) { |
|
$data=~s/\\keephidden\{NEW TABLE ENTRY\}/$Apache::londefdef::table[-1]{'include'}[$in]/; |
|
} |
|
$data='\textbf{'.$data.'}'; |
|
@{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= '\parbox{TOBECHANGEDONNUMBER}{'.$data.'} '.$Apache::londefdef::table[-1]{'vinc'}; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
#-- <img> tag |
#-- <img> tag |
sub start_img { |
sub start_img { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
Line 2175 sub start_allow {
|
Line 2137 sub start_allow {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1); |
my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1); |
$src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); |
$src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$src; |
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= |
|
&Apache::lonnet::clutter($src); |
&image_replication($src); |
&image_replication($src); |
my $result; |
my $result; |
if ($target eq 'edit') { |
if ($target eq 'edit') { |
Line 2205 sub start_frameset {
|
Line 2168 sub start_frameset {
|
$currentstring.='<head>'. |
$currentstring.='<head>'. |
&Apache::lonmenu::registerurl(undef,$target).'</head>'; |
&Apache::lonmenu::registerurl(undef,$target).'</head>'; |
} |
} |
$currentstring .= $token->[4]; |
my $onLoad=''; |
|
foreach my $key (keys(%{$token->[2]})) { |
|
if ($key =~ /^onload$/i) { |
|
$onLoad.=$token->[2]->{$key}.';'; |
|
delete($token->[2]->{$key}); |
|
} |
|
} |
|
$token->[2]->{'onload'}=&Apache::lonmenu::loadevents().';'.$onLoad; |
|
my $onUnload=''; |
|
foreach my $key (keys(%{$token->[2]})) { |
|
if ($key =~ /^onunload$/i) { |
|
$onUnload.=$token->[2]->{$key}.';'; |
|
delete($token->[2]->{$key}); |
|
} |
|
} |
|
$token->[2]->{'onunload'}=&Apache::lonmenu::unloadevents(). |
|
';'.$onUnload; |
|
|
|
$currentstring .= '<'.$token->[1]; |
|
foreach (keys %{$token->[2]}) { |
|
$currentstring.=' '.$_.'="'.$token->[2]->{$_}.'"'; |
|
} |
|
$currentstring.='>'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 2226 sub start_pre {
|
Line 2211 sub start_pre {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $width = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0); |
$currentstring .= '\begin{verbatim}'; |
if (not defined $width) {$width ='\textwidth';} |
|
$currentstring .= '\parbox['.$width.']{\begin{verbatim}'; |
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 2239 sub end_pre {
|
Line 2222 sub end_pre {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= '\end{verbatim}}'; |
$currentstring .= '\end{verbatim}'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 3083 sub end_wbr {
|
Line 3066 sub end_wbr {
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
|
|
|
#-- <hideweboutput> tag |
|
sub start_hideweboutput { |
|
my ($target,$token) = @_; |
|
if ($target eq 'web') { |
|
&Apache::lonxml::startredirection(); |
|
} |
|
return ''; |
|
} |
|
|
|
sub end_hideweboutput { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = &Apache::lonxml::endredirection(); |
|
} |
|
return ''; |
|
} |
|
|
|
|
sub image_replication { |
sub image_replication { |
my $src = shift; |
my $src = shift; |
if (not -e $src) { |
if (not -e $src) { |
Line 3104 sub image_replication {
|
Line 3107 sub image_replication {
|
sub recalc { |
sub recalc { |
my $argument = shift; |
my $argument = shift; |
if (not $argument=~/(mm|cm|in|pc|pt)/) {return $argument.' mm';} |
if (not $argument=~/(mm|cm|in|pc|pt)/) {return $argument.' mm';} |
$argument=~/\s*(\d+)\s*(mm|cm|in|pc|pt)/; |
$argument=~/\s*(\d+\.?\d*)\s*(mm|cm|in|pc|pt)/; |
my $value=$1; |
my $value=$1; |
my $units=$2; |
my $units=$2; |
if ($units eq 'cm') { |
if ($units eq 'cm') { |