version 1.463, 2017/01/27 18:27:05
|
version 1.464, 2017/01/27 19:58:21
|
Line 1305 sub start_p {
|
Line 1305 sub start_p {
|
|
|
$currentstring .= &end_p(); # close off prior para if in progress. |
$currentstring .= &end_p(); # close off prior para if in progress. |
my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); |
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') { |
if ($align eq 'center') { |
$currentstring .='\begin{center}\par '; |
$currentstring .='\begin{center}\par '; |
$closing_string = '\end{center}'; |
$closing_string = '\end{center}'; |
Line 1312 sub start_p {
|
Line 1316 sub start_p {
|
$currentstring = ¢er_correction().$currentstring; |
$currentstring = ¢er_correction().$currentstring; |
} |
} |
} elsif ($align eq 'right') { |
} elsif ($align eq 'right') { |
$currentstring.="\n".'{\flushright '; |
$currentstring.="\n".'\begin{flushright}'; |
# $currentstring.='\makebox['.$env{'form.textwidth'}.']{\hfill\llap{'; |
# $currentstring.='\makebox['.$env{'form.textwidth'}.']{\hfill\llap{'; |
$closing_string= "}\n"; |
$closing_string= '\end{flushright}'."\n"; |
} elsif ($align eq 'left') { |
} elsif ($align eq 'left') { |
$currentstring.= "\n".'{\flushleft '; |
$currentstring.= "\n".'\begin{flushleft}'; |
# $currentstring.='\noindent\makebox['.$env{'form.textwidth'}.']{{'; |
# $currentstring.='\noindent\makebox['.$env{'form.textwidth'}.']{{'; |
$closing_string = "}\n"; |
$closing_string = '\end{flushleft}'."\n"; |
} else { |
} else { |
$currentstring.='\par '; |
$currentstring.='\par '; |
if (&is_inside_of($tagstack, 'table')) { |
if (&is_inside_of($tagstack, 'table')) { |
Line 4053 sub end_spacer {
|
Line 4057 sub end_spacer {
|
return $currentstring; |
return $currentstring; |
} |
} |
|
|
|
my @span_end_stack; # for span tex target |
|
|
#-- <span> tag (end tag required) |
#-- <span> tag (end tag required) |
sub start_span { |
sub start_span { |
my ($target,$token) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web' || $target eq 'webgrade') { |
if ($target eq 'web' || $target eq 'webgrade') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} |
} elsif ($target eq 'tex') { |
|
my $endstring = ''; |
|
my $family = &get_css_property('font-family',$parstack,$safeeval); |
|
if ($family eq 'monospace') { |
|
$currentstring .= '\texttt{'; |
|
$endstring .= '}'; |
|
} |
|
my $weight = &get_css_property('font-weight',$parstack,$safeeval); |
|
if ($weight eq 'bold') { |
|
$currentstring .= '\textbf{'; |
|
$endstring .= '}'; |
|
} |
|
my $style = &get_css_property('font-style',$parstack,$safeeval); |
|
if ($style eq 'italic') { |
|
$currentstring .= '\textit{'; |
|
$endstring .= '}'; |
|
} |
|
push(@span_end_stack, $endstring); |
|
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 4068 sub end_span {
|
Line 4092 sub end_span {
|
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web' || $target eq 'webgrade') { |
if ($target eq 'web' || $target eq 'webgrade') { |
$currentstring = $token->[2]; |
$currentstring = $token->[2]; |
} |
} elsif ($target eq 'tex') { |
|
my $endstring = pop @span_end_stack; |
|
$currentstring .= $endstring; |
|
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
|
Line 4666 sub clean_docs_httpref {
|
Line 4693 sub clean_docs_httpref {
|
return $cleanhref; |
return $cleanhref; |
} |
} |
|
|
|
# This is retrieving a CSS property from the style attribute of the current element. |
|
# It is not checking <style> elements or linked stylesheets yet. |
|
sub get_css_property { |
|
my ($property,$parstack,$safeeval) = @_; |
|
my $style=&Apache::lonxml::get_param('style',$parstack,$safeeval,undef,1); |
|
my @style_components=split(/;/,$style); |
|
foreach my $css_pair (@style_components) { |
|
my ($name, $value) = split(/:/, $css_pair); |
|
$name =~ s/^\s+|\s+$//g; |
|
$value =~ s/^\s+|\s+$//g; |
|
if ($name eq $property) { |
|
return $value; |
|
} |
|
} |
|
return undef; |
|
} |
|
|
=pod |
=pod |
|
|
=head1 NAME |
=head1 NAME |