version 1.2, 2015/12/15 15:01:01
|
version 1.3, 2015/12/15 15:33:30
|
Line 94 sub post_xml {
|
Line 94 sub post_xml {
|
|
|
fix_attribute_case($root); |
fix_attribute_case($root); |
|
|
my $fix_by_hand = replace_m($root); |
replace_m($root); |
|
|
my @all_block = (@block_elements, @block_html); |
my @all_block = (@block_elements, @block_html); |
add_sty_blocks($file_path, $res_dir, $root, \@all_block); # must come before the subs using @all_block |
add_sty_blocks($file_path, $res_dir, $root, \@all_block); # must come before the subs using @all_block |
Line 142 sub post_xml {
|
Line 142 sub post_xml {
|
|
|
replace_tm_dtm($root); |
replace_tm_dtm($root); |
|
|
if ($fix_by_hand) { |
|
die "The file has been converted but it should be fixed by hand."; |
|
} |
|
return $dom_doc->toString(); # byte string ! |
return $dom_doc->toString(); # byte string ! |
} |
} |
|
|
Line 355 sub fix_attribute_case {
|
Line 352 sub fix_attribute_case {
|
# Replaces m by HTML, tm and/or dtm (which will be replaced by <m> later, but they are useful |
# Replaces m by HTML, tm and/or dtm (which will be replaced by <m> later, but they are useful |
# to know if the element is a block element or not). |
# to know if the element is a block element or not). |
# m might contain non-math LaTeX, while tm and dtm may only contain math. |
# m might contain non-math LaTeX, while tm and dtm may only contain math. |
# Returns 1 if the file should be fixed by hand, 0 otherwise. |
|
sub replace_m { |
sub replace_m { |
my ($root) = @_; |
my ($root) = @_; |
my $doc = $root->ownerDocument; |
my $doc = $root->ownerDocument; |
my $fix_by_hand = 0; |
|
# search for variable declarations |
# search for variable declarations |
my @variables = (); |
my @variables = (); |
my @scripts = $root->getElementsByTagName('script'); |
my @scripts = $root->getElementsByTagName('script'); |
Line 408 sub replace_m {
|
Line 403 sub replace_m {
|
if ($warnings) { |
if ($warnings) { |
print "WARNING: <m> is used in a script, it should be converted by hand\n"; |
print "WARNING: <m> is used in a script, it should be converted by hand\n"; |
} |
} |
$fix_by_hand = 1; |
|
} |
} |
} |
} |
} |
} |
Line 423 sub replace_m {
|
Line 417 sub replace_m {
|
if ($warnings) { |
if ($warnings) { |
print "WARNING: m value is not simple text\n"; |
print "WARNING: m value is not simple text\n"; |
} |
} |
$fix_by_hand = 1; |
|
next; |
next; |
} |
} |
my $text = $m->firstChild->nodeValue; |
my $text = $m->firstChild->nodeValue; |
Line 554 sub replace_m {
|
Line 547 sub replace_m {
|
$m->parentNode->replaceChild($fragment, $m); |
$m->parentNode->replaceChild($fragment, $m); |
|
|
} |
} |
return $fix_by_hand; |
|
} |
} |
|
|
# Returns the HTML equivalent of LaTeX input, using tth |
# Returns the HTML equivalent of LaTeX input, using tth |