[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Texi2html-cvs] texi2html ChangeLog texi2html.init texi2html.pl...
From: |
Patrice Dumas |
Subject: |
[Texi2html-cvs] texi2html ChangeLog texi2html.init texi2html.pl... |
Date: |
Wed, 03 Oct 2007 23:56:52 +0000 |
CVSROOT: /cvsroot/texi2html
Module name: texi2html
Changes by: Patrice Dumas <pertusus> 07/10/03 23:56:52
Modified files:
. : ChangeLog texi2html.init texi2html.pl
Tests : test.sh
Added files:
Tests/formatting: heading.texi
Tests/formatting_res: heading.2 heading.html heading.passfirst
heading.passtexi
Log message:
* texi2html.pl, texi2html.init: handle headings more like normal
@-commands and not like sectionning commands.
* Tests/*: add tests for headings
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texi2html/ChangeLog?cvsroot=texi2html&r1=1.276&r2=1.277
http://cvs.savannah.gnu.org/viewcvs/texi2html/texi2html.init?cvsroot=texi2html&r1=1.125&r2=1.126
http://cvs.savannah.gnu.org/viewcvs/texi2html/texi2html.pl?cvsroot=texi2html&r1=1.190&r2=1.191
http://cvs.savannah.gnu.org/viewcvs/texi2html/Tests/test.sh?cvsroot=texi2html&r1=1.73&r2=1.74
http://cvs.savannah.gnu.org/viewcvs/texi2html/Tests/formatting/heading.texi?cvsroot=texi2html&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texi2html/Tests/formatting_res/heading.2?cvsroot=texi2html&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texi2html/Tests/formatting_res/heading.html?cvsroot=texi2html&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texi2html/Tests/formatting_res/heading.passfirst?cvsroot=texi2html&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texi2html/Tests/formatting_res/heading.passtexi?cvsroot=texi2html&rev=1.1
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/texi2html/texi2html/ChangeLog,v
retrieving revision 1.276
retrieving revision 1.277
diff -u -b -r1.276 -r1.277
--- ChangeLog 3 Oct 2007 09:34:35 -0000 1.276
+++ ChangeLog 3 Oct 2007 23:56:51 -0000 1.277
@@ -1,3 +1,9 @@
+2007-10-04 Patrice Dumas <address@hidden>
+
+ * texi2html.pl, texi2html.init: handle headings more like normal
+ @-commands and not like sectionning commands.
+ * Tests/*: add tests for headings
+
2007-10-03 Patrice Dumas <address@hidden>
* texi2html.pl, texi2html.init: use relative file names for frame
Index: texi2html.init
===================================================================
RCS file: /cvsroot/texi2html/texi2html/texi2html.init,v
retrieving revision 1.125
retrieving revision 1.126
diff -u -b -r1.125 -r1.126
--- texi2html.init 3 Oct 2007 09:34:36 -0000 1.125
+++ texi2html.init 3 Oct 2007 23:56:51 -0000 1.126
@@ -12,7 +12,7 @@
# Afterwards, load the file with command-line
# option -init-file <your_init_file>
#
-# $Id: texi2html.init,v 1.125 2007/10/03 09:34:36 pertusus Exp $
+# $Id: texi2html.init,v 1.126 2007/10/03 23:56:51 pertusus Exp $
######################################################################
# The following variables can also be set by command-line options
@@ -3309,6 +3309,7 @@
$raw = \&t2h_default_raw;
$raw_no_texi = \&t2h_default_raw_no_texi;
$heading = \&t2h_default_heading;
+$heading_no_texi = \&t2h_default_heading_no_texi;
$paragraph = \&t2h_default_paragraph;
$preformatted = \&t2h_default_preformatted;
$foot_line_and_ref = \&t2h_default_foot_line_and_ref;
@@ -4500,6 +4501,7 @@
#
# argument:
# an element. It is a hash reference for a node or a sectionning command.
+# it may be the wrong one in case of headings.
# The interesting keys are:
# 'text': the heading text
# 'text_nonumber': the heading text without section number
@@ -4508,26 +4510,60 @@
# appendix..., 2 for section and so on...
# 'tag_level': the sectionning element name, raisesections and lowersections
# taken into account
-sub t2h_default_heading($)
+sub t2h_default_heading($;$$$$)
{
my $element = shift;
+ my $command = shift;
+ my $texi_line = shift;
+ my $line = shift;
+ my $in_preformatted = shift;
+
+ my $text = $element->{'text'};
my $level = 3;
if (!$element->{'node'})
{
$level = $element->{'level'};
}
- $level = 1 if ($level == 0);
- my $text = $element->{'text'};
- return '' if ($text !~ /\S/);
my $class = $element->{'tag_level'};
$class = 'unnumbered' if ($class eq 'top');
- if (defined($element->{'tocid'}) and $TOC_LINKS)
+ # when it is a heading, the element may be wrong, so the command and the
+ # line are used...
+ if (defined($command) and $command =~ /heading/)
+ {
+ $level = $main::sec2level{$command} if
(defined($main::sec2level{$command}));
+ if (defined($line))
+ {
+ $text = $line;
+ # this isn't done in main program in that case...
+ chomp ($text);
+ $text =~ s/^\s*//;
+ }
+ $class = $command;
+ }
+ elsif (defined($element->{'tocid'}) and $TOC_LINKS)
{
$text = &$anchor ('',
"$Texi2HTML::THISDOC{'toc_file'}#$element->{'tocid'}", $text);
}
+ $level = 1 if ($level == 0);
+ return '' if ($text !~ /\S/);
my $align = '';
$align = ' align="center"' if ($element->{'tag'} eq 'centerchap');
+ if (!$in_preformatted)
+ {
return "<h$level class=\"$class\"$align> $text </h$level>\n";
+ }
+ else
+ {
+ return "<strong>$text</strong>\n";
+ }
+}
+
+sub t2h_default_heading_no_texi($$$)
+{
+ my $element = shift;
+ my $command = shift;
+ my $line = shift;
+ return main::remove_texi($line);
}
# formatting of raw regions
Index: texi2html.pl
===================================================================
RCS file: /cvsroot/texi2html/texi2html/texi2html.pl,v
retrieving revision 1.190
retrieving revision 1.191
diff -u -b -r1.190 -r1.191
--- texi2html.pl 3 Oct 2007 08:44:01 -0000 1.190
+++ texi2html.pl 3 Oct 2007 23:56:51 -0000 1.191
@@ -60,7 +60,7 @@
#--##########################################################################
# CVS version:
-# $Id: texi2html.pl,v 1.190 2007/10/03 08:44:01 pertusus Exp $
+# $Id: texi2html.pl,v 1.191 2007/10/03 23:56:51 pertusus Exp $
# Homepage:
my $T2H_HOMEPAGE = "http://www.nongnu.org/texi2html/";
@@ -383,6 +383,7 @@
$comment
$def_line
$def_line_no_texi
+$heading_no_texi
$raw
$raw_no_texi
$heading
@@ -1132,7 +1133,7 @@
'shortcaption' => 1,
);
-foreach my $key (keys(%Texi2HTML::Config::misc_command))
+foreach my $key (keys(%Texi2HTML::Config::misc_command), keys(%sec2level))
{
$no_line_macros{$key} = 1;
}
@@ -3445,6 +3446,42 @@
'shortcontents' => { 'id' => 'SEC_Overview', 'shortcontents' => 1, 'texi'
=> '_shortcontents' },
);
+# common code for headings and sections
+sub new_section_heading($$$)
+{
+ my $command = shift;
+ my $name = shift;
+ my $state = shift;
+ $name = normalise_space($name);
+ $name = '' if (!defined($name));
+ $state->{'after_element'} = 1;
+ # no increase if in @copying and the like. Also no increase if it is top
+ # since top has number 0.
+ my $docid;
+ my $num;
+
+ if ($state->{'place'} eq $no_element_associated_place)
+ {
+ $docid = "SEC_hidden";
+ $num = "hidden";
+ }
+ else
+ {
+ $sec_num++ if($command ne 'top');
+ $num = $sec_num;
+ $docid = "SEC$sec_num";
+ }
+ my $section_ref = { 'texi' => $name,
+ 'level' => $sec2level{$command},
+ 'tag' => $command,
+ 'sec_num' => $num,
+ 'id' => $docid,
+ };
+ #print STDERR "AAAAAAAA new_section_heading $command $name $num\n";
+ return $section_ref;
+}
+
+
#my $do_contents; # do table of contents if true
#my $do_scontents; # do short table of contents if true
my $novalidate = $Texi2HTML::Config::NOVALIDATE; # @novalidate appeared
@@ -3483,9 +3520,9 @@
#
# analyze the tag
#
- if ($tag and $tag eq 'node' or defined($sec2level{$tag}) or $tag
eq 'printindex')
+ if ($tag and $tag eq 'node' or (defined($sec2level{$tag}) and
($tag !~ /heading/)) or $tag eq 'printindex')
{
- $_ = substitute_texi_line($_);
+ #$_ = substitute_texi_line($_);
if ($tag eq 'node' or defined($sec2level{$tag}))
{# in pass structure node shouldn't appear in formats
close_stack_texi_structure(\$text, address@hidden, $state,
$line_nr);
@@ -3593,44 +3630,27 @@
{ # section or heading
if (/address@hidden(.*)$/)
{
- my $name = normalise_space($1);
- $name = '' if (!defined($name));
- my $level = $sec2level{$tag};
- $state->{'after_element'} = 1;
- my ($docid, $num);
- if($tag ne 'top')
- {
- $sec_num++;
- $num = $sec_num;
- $docid = "SEC$sec_num";
- }
- else
- {
- $num = 0;
- $docid = "SEC_Top";
- }
- if ($tag !~ /heading/)
- {
- my $section_ref = { 'texi' => $name,
- 'level' => $level,
- 'tag' => $tag,
- 'sec_num' => $num,
- 'section' => 1,
- 'id' => $docid,
- 'seen' => 1,
- 'index_names' => [],
- 'current_place' => [],
- 'place' => []
- };
+ my $name = $1;
+ my $section_ref = new_section_heading($tag, $name,
$state);
+ $section_ref->{'seen'} = 1;
+ $section_ref->{'index_names'} = [];
+ $section_ref->{'current_place'} = [];
+ $section_ref->{'place'} = [];
+ $section_ref->{'section'} = 1;
if ($tag eq 'top')
{
$section_ref->{'top'} = 1;
$section_ref->{'number'} = '';
+ $section_ref->{'id'} = "SEC_Top";
+ $section_ref->{'sec_num'} = 0;
$sections{0} = $section_ref;
$section_top = $section_ref;
}
- $sections{$num} = $section_ref;
+ else
+ {
+ $sections{$sec_num} = $section_ref;
+ }
merge_element_before_anything($section_ref);
if ($state->{'node_ref'} and
!exists($state->{'node_ref'}->{'with_section'}))
{
@@ -3640,7 +3660,7 @@
$node_ref->{'with_section'} = $section_ref;
$node_ref->{'top'} = 1 if ($tag eq 'top');
}
- if (! $name and $level)
+ if (! $name and $section_ref->{'level'})
{
echo_warn ("$tag without name", $line_nr);
}
@@ -3655,24 +3675,9 @@
$node_ref = $state->{'node_ref'};
$node_texi = $state->{'node_ref'}->{'texi'};
}
- print STDERR "# pass_structure
node($node_ref)$node_texi, tag address@hidden($level) ref $section_ref, num,id
$num,$docid\n $name\n"
+ print STDERR "# pass_structure
node($node_ref)$node_texi, tag address@hidden($section_ref->{'level'}) ref
$section_ref, num,id $section_ref->{'sec_num'},$section_ref->{'id'}\n $name\n"
if $T2H_DEBUG & $DEBUG_ELEMENTS;
}
- else
- {
- my $section_ref = { 'texi' => $name,
- 'level' => $level,
- 'heading' => 1,
- 'tag' => $tag,
- 'tag_level' => $tag,
- 'sec_num' => $sec_num,
- 'id' => $docid,
- 'number' => '' };
- $state->{'element'} = $section_ref;
- push @{$state->{'place'}}, $section_ref;
- $sections{$sec_num} = $section_ref;
- }
- }
}
elsif (/address@hidden(\w+)/)
{
@@ -6342,7 +6347,9 @@
my $tag = '';
$tag = $1 if (/^\@(\w+)/ and !$index_pages);
- if (($tag eq 'node') or defined($sec2level{$tag}) or $index_pages)
+ $sec_num++ if ($sec2level{$tag} and ($tag ne 'top'));
+
+ if (($tag eq 'node') or (defined($sec2level{$tag}) and ($tag !~
/heading/)) or $index_pages)
{
if (@stack or (defined($text) and $text ne ''))
{# in pass text node and section shouldn't appear in formats
@@ -6352,25 +6359,16 @@
push @section_lines, $text;
$text = '';
}
- $sec_num++ if ($sec2level{$tag});
my $new_element;
my $current_element;
- if ($tag =~ /heading/)
- {# handle headings, they are not in element lists
- $current_element = $sections{$sec_num};
- #print STDERR "HEADING $_";
- if (! $element)
- {
- $new_element = shift @elements_list;
- }
- else
- {
- push (@section_lines,
&$Texi2HTML::Config::anchor($current_element->{'id'}) . "\n");
- push @section_lines,
&$Texi2HTML::Config::heading($current_element);
- next;
- }
- }
- elsif (!$index_pages)
+# if ($tag =~ /heading/)
+# {
+# my $heading_element = $sections{$sec_num};
+# push (@section_lines,
&$Texi2HTML::Config::anchor($heading_element->{'id'}) . "\n");
+# push @section_lines,
&$Texi2HTML::Config::heading($heading_element);
+# }
+# elsif (!$index_pages)
+ if (!$index_pages)
{# handle node and structuring elements
$current_element = shift (@all_elements);
########################## begin debug section
@@ -9577,8 +9575,8 @@
pop @{$state->{'text_macro_stack'}};
if (exists($region_lines{$end_tag}))
{ # end a region_line macro, like documentdescription, copying
- print STDERR "Bug: end_tag $end_tag ne
$state->{'region_lines'}->{'format'}"
- if ( $end_tag ne
$state->{'region_lines'}->{'format'});
+ print STDERR "Bug: end_tag $end_tag ne
$state->{'region_lines'}->{'format'}\n"
+ if ($end_tag ne $state->{'region_lines'}->{'format'});
$state->{'region_lines'}->{'number'}--;
if ($state->{'region_lines'}->{'number'} == 0)
{
@@ -9635,8 +9633,24 @@
add_prev ($text, $stack, "address@hidden".$line);
next;
}
+ if ($sec2level{$macro})
+ {
+ if (/^\s*(.*)$/)
+ {
+ my $name = $1;
+ my $section_ref = new_section_heading($macro, $name,
$state);
+ $section_ref->{'heading'} = 1;
+ $section_ref->{'tag_level'} = $macro;
+ $section_ref->{'number'} = '';
- if ($macro =~ /^(\w+?)index/ and ($1 ne 'print') and ($1 ne
'syncode') and ($1 ne 'syn') and ($1 ne 'def') and ($1 ne 'defcode'))
+ $state->{'element'} = $section_ref;
+ push @{$state->{'place'}}, $section_ref;
+ $sections{$section_ref->{'sec_num'}} = $section_ref;
+ }
+ add_prev ($text, $stack, "address@hidden" . $_);
+ last;
+ }
+ elsif ($macro =~ /^(\w+?)index/ and ($1 ne 'print') and ($1 ne
'syncode') and ($1 ne 'syn') and ($1 ne 'def') and ($1 ne 'defcode'))
{
my $index_prefix = $1;
my $key = $_;
@@ -10407,7 +10421,7 @@
if ($state->{'keep_texi'})
{
# We treat specially formats accepting {} on command line
- if ($macro eq 'multitable' or
defined($Texi2HTML::Config::def_map{$macro}))
+ if ($macro eq 'multitable' or
defined($Texi2HTML::Config::def_map{$macro}) or defined($sec2level{$macro}))
{
add_prev($text, $stack, "address@hidden" . $_);
$_ = '';
@@ -10515,12 +10529,32 @@
add_prev($text, $stack,
&$Texi2HTML::Config::def_line_no_texi($category, $name, $type, $arguments));
return;
}
+ elsif (defined($sec2level{$macro}))
+ {
+ my $num = $sec_num;
+ $num = "hidden" if ($state->{'multiple_pass'});
+ my $heading_element = $sections{$num};
+ add_prev($text, $stack,
&$Texi2HTML::Config::heading_no_texi($heading_element, $macro, $_));
+ return;
+ }
# ignore other macros
next;
}
# handle the other macros, in the context of some normal text
+ if (defined($sec2level{$macro}))
+ {
+ #dump_stack($text, $stack, $state);
+ my $num = $sec_num;
+ $num = "hidden" if ($state->{'multiple_pass'});
+ #print STDERR "AAAAAAAA heading_element $num $macro $_";
+ my $heading_element = $sections{$num};
+ add_prev($text, $stack,
&$Texi2HTML::Config::anchor($heading_element->{'id'}) . "\n");
+ add_prev($text, $stack,
&$Texi2HTML::Config::heading($heading_element, $macro, $_, substitute_line($_),
$state->{'preformatted'}));
+ return;
+ }
+
if (($macro =~ /^(\w+?)index$/) and ($1 ne 'print'))
{
add_prev($text, $stack,
do_index_entry_label($macro,$state,$line_nr));
@@ -11787,7 +11821,13 @@
}
else
{
- dump_stack ($text, $stack, $state) if (!defined($style)); # bug
+ ########################## debug
+ if (!defined($style))
+ {
+ print STDERR "Bug: style not defined, on stack\n";
+ dump_stack ($text, $stack, $state); # bug
+ }
+ ########################## end debug
$string .= '}';
echo_warn ("closing address@hidden $style", $line_nr) if
($style);
}
@@ -12337,6 +12377,7 @@
$Texi2HTML::Config::DOCUMENT_DESCRIPTION .= ' ' . $line;
}
}
+$sec_num = 0;
# do copyright notice inserted in comment at the beginning of the files
if (@{$region_lines{'copying'}})
{
Index: Tests/test.sh
===================================================================
RCS file: /cvsroot/texi2html/texi2html/Tests/test.sh,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- Tests/test.sh 2 Oct 2007 09:17:06 -0000 1.73
+++ Tests/test.sh 3 Oct 2007 23:56:51 -0000 1.74
@@ -285,6 +285,7 @@
test_texi formatting formats_in_menu.texi
test_texi formatting comments.texi
test_texi formatting comments.texi "-init redefine_need.init -prefix
comments_redefined" 0 texi comments_redefined
+test_texi formatting heading.texi
test_texi formatting equivalent_nodes.texi "" 5
test_texi formatting indicateurl_paragraph.texi
test_texi formatting bad_nesting.texi
Index: Tests/formatting/heading.texi
===================================================================
RCS file: Tests/formatting/heading.texi
diff -N Tests/formatting/heading.texi
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Tests/formatting/heading.texi 3 Oct 2007 23:56:51 -0000 1.1
@@ -0,0 +1,44 @@
+\input texinfo @c -*-texinfo-*-
+
address@hidden headings.info
+
address@hidden
+
address@hidden in copying @@ @emph{heading}
address@hidden cindex copying
+
address@hidden second in copying @@ @emph{subheading}
address@hidden copying
+
address@hidden before Top
+
address@hidden Top
address@hidden Test headings
+
address@hidden in top @@ @emph{heading}
+
address@hidden A chapter
+
address@hidden
address@hidden heading in footnote @@ @emph{heading}
address@hidden heading in footnote
address@hidden second heading in footnote @@ @emph{heading}
+}
+
+First insertcopying:
address@hidden
+
+Second insertcopying:
address@hidden
+
address@hidden index
+
address@hidden cp
+
address@hidden
+
address@hidden in quotation @@ @emph{heading}
+
address@hidden quotation
+
address@hidden
Index: Tests/formatting_res/heading.2
===================================================================
RCS file: Tests/formatting_res/heading.2
diff -N Tests/formatting_res/heading.2
Index: Tests/formatting_res/heading.html
===================================================================
RCS file: Tests/formatting_res/heading.html
diff -N Tests/formatting_res/heading.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Tests/formatting_res/heading.html 3 Oct 2007 23:56:51 -0000 1.1
@@ -0,0 +1,283 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html401/loose.dtd">
+<html>
+<!--
+ in copying @ heading
+
+ second in copying @ subheading
+ -->
+<!-- Created on a sunny day by texi2html -->
+<!--
+Written by: Lionel Cons <address@hidden> (original author)
+ Karl Berry <address@hidden>
+ Olaf Bachmann <address@hidden>
+ and many others.
+Maintained by: Many creative people.
+Send bugs and suggestions to <address@hidden>
+
+-->
+<head>
+<title>Untitled Document</title>
+
+<meta name="description" content="Untitled Document">
+<meta name="keywords" content="Untitled Document">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2html">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+pre.display {font-family: serif}
+pre.format {font-family: serif}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: serif; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: serif; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.roman {font-family:serif; font-weight:normal;}
+span.sansserif {font-family:sans-serif; font-weight:normal;}
+ul.toc {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF"
vlink="#800080" alink="#FF0000">
+
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC_Top" title="Cover (top) of
document">Top</a>]</td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[<a href="#SEC6" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ?
</a>]</td>
+</tr></table>
+<h1 class="settitle">Test headings</h1>
+<a name="SEC1"></a>
+<h2 class="heading"> before Top </h2>
+
+<a name="Top"></a>
+<a name="SEC_Top"></a>
+
+<a name="SEC2"></a>
+<h2 class="heading"> in top @ <em>heading</em> </h2>
+
+<hr size="1">
+<a name="SEC3"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC_Top" title="Previous
section in reading order"> < </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC6" title="Next section in
reading order"> > </a>]</td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left">[ << ]</td>
+<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up
</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC6" title="Next chapter">
>> </a>]</td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left">[<a href="#SEC_Top" title="Cover (top) of
document">Top</a>]</td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[<a href="#SEC6" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ?
</a>]</td>
+</tr></table>
+<h1 class="chapter"> 1. A chapter </h1>
+
+<p><a name="DOCF1" href="#FOOT1">(1)</a>
+</p>
+<p>First insertcopying:
+</p>
+<a name="SEC_hidden"></a>
+<h2 class="heading"> in copying @ <em>heading</em> </h2>
+
+<a name="SEC_hidden"></a>
+<h3 class="subheading"> second in copying @ <em>subheading</em> </h3>
+
+<p>Second insertcopying:
+</p>
+<a name="SEC_hidden"></a>
+<h2 class="heading"> in copying @ <em>heading</em> </h2>
+
+<a name="SEC_hidden"></a>
+<h3 class="subheading"> second in copying @ <em>subheading</em> </h3>
+
+<hr size="6">
+<a name="SEC6"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC3" title="Previous section
in reading order"> < </a>]</td>
+<td valign="middle" align="left">[ > ]</td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Beginning of this
chapter or previous chapter"> << </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up
</a>]</td>
+<td valign="middle" align="left">[ >> ]</td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left"> </td>
+<td valign="middle" align="left">[<a href="#SEC_Top" title="Cover (top) of
document">Top</a>]</td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[<a href="#SEC6" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ?
</a>]</td>
+</tr></table>
+<h1 class="chapter"> 2. index </h1>
+
+<table><tr><th valign="top">Jump to: </th><td><a href="#SEC6_0"
class="summary-letter"><b>C</b></a>
+
+<a href="#SEC6_1" class="summary-letter"><b>H</b></a>
+
+</td></tr></table>
+<table border="0" class="index-cp">
+<tr><td></td><th align="left">Index Entry</th><th align="left">
Section</th></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC6_0">C</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#SEC_Top">cindex copying</a></td><td
valign="top"><a href="#SEC_Top">Test headings</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC6_1">H</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#SEC4">heading in footnote</a></td><td
valign="top"><a href="#SEC4">heading in footnote @
<em>heading</em></a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+</table>
+<table><tr><th valign="top">Jump to: </th><td><a href="#SEC6_0"
class="summary-letter"><b>C</b></a>
+
+<a href="#SEC6_1" class="summary-letter"><b>H</b></a>
+
+</td></tr></table>
+
+<blockquote>
+<a name="SEC7"></a>
+<h2 class="heading"> in quotation @ <em>heading</em> </h2>
+
+</blockquote>
+
+<hr size="6">
+<a name="SEC_Foot"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC_Top" title="Cover (top) of
document">Top</a>]</td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[<a href="#SEC6" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ?
</a>]</td>
+</tr></table>
+<h1>Footnotes</h1>
+<h3><a name="FOOT1" href="#DOCF1">(1)</a></h3>
+
+<a name="SEC5"></a>
+<h2 class="heading"> heading in footnote @ <em>heading</em> </h2>
+<a name="SEC5"></a>
+<h2 class="heading"> second heading in footnote @ <em>heading</em> </h2>
+<hr size="1">
+<a name="SEC_About"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC_Top" title="Cover (top) of
document">Top</a>]</td>
+<td valign="middle" align="left">[Contents]</td>
+<td valign="middle" align="left">[<a href="#SEC6" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ?
</a>]</td>
+</tr></table>
+<h1>About This Document</h1>
+<p>
+ This document was generated by <em>a tester</em> on <em>a sunny day</em>
using <a href="http://www.nongnu.org/texi2html/"><em>texi2html</em></a>.
+</p>
+<p>
+ The buttons in the navigation panels have the following meaning:
+</p>
+<table border="1">
+ <tr>
+ <th> Button </th>
+ <th> Name </th>
+ <th> Go to </th>
+ <th> From 1.2.3 go to</th>
+ </tr>
+ <tr>
+ <td align="center"> [ < ] </td>
+ <td align="center">Back</td>
+ <td>Previous section in reading order</td>
+ <td>1.2.2</td>
+ </tr>
+ <tr>
+ <td align="center"> [ > ] </td>
+ <td align="center">Forward</td>
+ <td>Next section in reading order</td>
+ <td>1.2.4</td>
+ </tr>
+ <tr>
+ <td align="center"> [ << ] </td>
+ <td align="center">FastBack</td>
+ <td>Beginning of this chapter or previous chapter</td>
+ <td>1</td>
+ </tr>
+ <tr>
+ <td align="center"> [ Up ] </td>
+ <td align="center">Up</td>
+ <td>Up section</td>
+ <td>1.2</td>
+ </tr>
+ <tr>
+ <td align="center"> [ >> ] </td>
+ <td align="center">FastForward</td>
+ <td>Next chapter</td>
+ <td>2</td>
+ </tr>
+ <tr>
+ <td align="center"> [Top] </td>
+ <td align="center">Top</td>
+ <td>Cover (top) of document</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td align="center"> [Contents] </td>
+ <td align="center">Contents</td>
+ <td>Table of contents</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td align="center"> [Index] </td>
+ <td align="center">Index</td>
+ <td>Index</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td align="center"> [ ? ] </td>
+ <td align="center">About</td>
+ <td>About (help)</td>
+ <td> </td>
+ </tr>
+</table>
+
+<p>
+ where the <strong> Example </strong> assumes that the current position is at
<strong> Subsubsection One-Two-Three </strong> of a document of the following
structure:
+</p>
+
+<ul>
+ <li> 1. Section One
+ <ul>
+ <li>1.1 Subsection One-One
+ <ul>
+ <li>...</li>
+ </ul>
+ </li>
+ <li>1.2 Subsection One-Two
+ <ul>
+ <li>1.2.1 Subsubsection One-Two-One</li>
+ <li>1.2.2 Subsubsection One-Two-Two</li>
+ <li>1.2.3 Subsubsection One-Two-Three
+ <strong><== Current Position </strong></li>
+ <li>1.2.4 Subsubsection One-Two-Four</li>
+ </ul>
+ </li>
+ <li>1.3 Subsection One-Three
+ <ul>
+ <li>...</li>
+ </ul>
+ </li>
+ <li>1.4 Subsection One-Four</li>
+ </ul>
+ </li>
+</ul>
+
+<hr size="1">
+<p>
+ <font size="-1">
+ This document was generated by <em>a tester</em> on <em>a sunny day</em>
using <a href="http://www.nongnu.org/texi2html/"><em>texi2html</em></a>.
+ </font>
+ <br>
+
+</p>
+</body>
+</html>
Index: Tests/formatting_res/heading.passfirst
===================================================================
RCS file: Tests/formatting_res/heading.passfirst
diff -N Tests/formatting_res/heading.passfirst
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Tests/formatting_res/heading.passfirst 3 Oct 2007 23:56:52 -0000
1.1
@@ -0,0 +1,36 @@
+heading.texi(,2)
+heading.texi(,3) @setfilename headings.info
+heading.texi(,4)
+heading.texi(,12)
+heading.texi(,13) @heading before Top
+heading.texi(,14)
+heading.texi(,15) @node Top
+heading.texi(,16) @top Test headings
+heading.texi(,17)
+heading.texi(,18) @heading in top @@ @emph{heading}
+heading.texi(,19)
+heading.texi(,20) @chapter A chapter
+heading.texi(,21)
+heading.texi(,22) @footnote{
+heading.texi(,23) @heading heading in footnote @@ @emph{heading}
+heading.texi(,24) @cindex heading in footnote
+heading.texi(,25) @heading second heading in footnote @@ @emph{heading}
+heading.texi(,26) }
+heading.texi(,27)
+heading.texi(,28) First insertcopying:
+heading.texi(,29) @insertcopying
+heading.texi(,30)
+heading.texi(,31) Second insertcopying:
+heading.texi(,32) @insertcopying
+heading.texi(,33)
+heading.texi(,34) @chapter index
+heading.texi(,35)
+heading.texi(,36) @printindex cp
+heading.texi(,37)
+heading.texi(,38) @quotation
+heading.texi(,39)
+heading.texi(,40) @heading in quotation @@ @emph{heading}
+heading.texi(,41)
+heading.texi(,42) @end quotation
+heading.texi(,43)
+heading.texi(,44) @bye
Index: Tests/formatting_res/heading.passtexi
===================================================================
RCS file: Tests/formatting_res/heading.passtexi
diff -N Tests/formatting_res/heading.passtexi
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Tests/formatting_res/heading.passtexi 3 Oct 2007 23:56:52 -0000
1.1
@@ -0,0 +1,43 @@
+heading.texi(,2)
+heading.texi(,3) @setfilename headings.info
+heading.texi(,4)
+heading.texi(,5) @copying
+heading.texi(,6)
+heading.texi(,7) @heading in copying @@ @emph{heading}
+heading.texi(,8) @cindex cindex copying
+heading.texi(,9)
+heading.texi(,10) @subheading second in copying @@ @emph{subheading}
+heading.texi(,11) @end copying
+heading.texi(,12)
+heading.texi(,13) @heading before Top
+heading.texi(,14)
+heading.texi(,15) @node Top
+heading.texi(,16) @top Test headings
+heading.texi(,17)
+heading.texi(,18) @heading in top @@ @emph{heading}
+heading.texi(,19)
+heading.texi(,20) @chapter A chapter
+heading.texi(,21)
+heading.texi(,22) @footnote{
+heading.texi(,23) @heading heading in footnote @@ @emph{heading}
+heading.texi(,24) @cindex heading in footnote
+heading.texi(,25) @heading second heading in footnote @@ @emph{heading}
+heading.texi(,26) }
+heading.texi(,27)
+heading.texi(,28) First insertcopying:
+heading.texi(,29) @insertcopying
+heading.texi(,30)
+heading.texi(,31) Second insertcopying:
+heading.texi(,32) @insertcopying
+heading.texi(,33)
+heading.texi(,34) @chapter index
+heading.texi(,35)
+heading.texi(,36) @printindex cp
+heading.texi(,37)
+heading.texi(,38) @quotation
+heading.texi(,39)
+heading.texi(,40) @heading in quotation @@ @emph{heading}
+heading.texi(,41)
+heading.texi(,42) @end quotation
+heading.texi(,43)
+heading.texi(,44) @bye
- [Texi2html-cvs] texi2html ChangeLog texi2html.init texi2html.pl...,
Patrice Dumas <=