texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: Handle floats, caption, shortcaption, and listoff


From: Patrice Dumas
Subject: branch master updated: Handle floats, caption, shortcaption, and listoffloats
Date: Thu, 19 Aug 2021 12:07:56 -0400

This is an automated email from the git hooks/post-receive script.

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new b347f79  Handle floats, caption, shortcaption, and listoffloats
b347f79 is described below

commit b347f798a8c13d04b51cfb9d56c82ce774a47a33
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Thu Aug 19 18:07:19 2021 +0200

    Handle floats, caption, shortcaption, and listoffloats
---
 tp/Texinfo/Convert/LaTeX.pm                        |  251 ++-
 tp/t/latex_tests.t                                 |   48 +
 tp/t/results/latex_tests/float_and_refs.pl         | 2365 ++++++++++++++++++++
 .../res_latex/float_and_refs.tex}                  |   97 +-
 .../no_titlepage_and_setchapternewpage_odd.tex     |    4 +-
 .../no_titlepage_and_setchapternewpage_on.tex      |    4 +-
 .../setchapternewpage_on_odd_titlepage.tex         |    4 +-
 .../res_latex/settitle_and_headings.tex            |    4 +-
 .../three_setchapternewpage_on_odd_off.tex         |    4 +-
 .../res_latex/titlepage_and_headings.tex           |    4 +-
 .../titlepage_and_setchapternewpage_odd.tex        |    4 +-
 .../titlepage_and_setchapternewpage_on.tex         |    4 +-
 .../res_latex/titlepage_classical.tex              |    4 +-
 .../res_latex/titlepage_in_top_node.tex            |    4 +-
 .../res_latex/titlepage_long_title.tex             |    4 +-
 .../res_latex/titlepage_no_author.tex              |    4 +-
 .../res_latex/titlepage_no_title.tex               |    4 +-
 .../titlepage_with_commands_classical.tex          |    4 +-
 .../res_latex/two_setchapternewpage_odd_on.tex     |    4 +-
 .../res_latex/two_setchapternewpage_on_odd.tex     |    4 +-
 .../res_latex/chapter_between_nodes.tex            |    4 +-
 .../lone_Top_node/res_latex/lone_Top_node.tex      |    4 +-
 .../sectioning/loop_nodes/res_latex/loop_nodes.tex |    4 +-
 .../node_sectop_before_chapter_no_node.tex         |    4 +-
 .../res_latex/node_sectop_before_lone_node_Top.tex |    4 +-
 .../res_latex/nodes_before_after_top.tex           |    4 +-
 .../res_latex/nodes_before_top.tex                 |    4 +-
 .../res_latex/section_before_after_top_node.tex    |    4 +-
 .../section_before_after_top_node_last_node.tex    |    4 +-
 .../res_latex/section_chapter_before_top_nodes.tex |    4 +-
 .../res_parser/formatting_latex/formatting.tex     |    4 +-
 31 files changed, 2740 insertions(+), 129 deletions(-)

diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index 4a6cc24..8c2bc63 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -236,6 +236,7 @@ my %LaTeX_no_arg_brace_commands = (
   },
   'math' => {
     # error in math with \TeX \LaTeX, spacing command used not allowed
+    # so use plain text
     'TeX' => 'TeX',
     'LaTeX' => 'LaTeX',
     'bullet' => '\bullet{}',
@@ -268,6 +269,8 @@ my %LaTeX_no_arg_brace_commands = (
   }
 );
 
+# the corresponding LaTeX commands can only appear in text mode
+# so we switch to text mode to output them if in math
 my %LaTeX_text_only_no_arg_brace_commands = (
   'exclamdown' => 'textexclamdown',
   'questiondown' => 'textquestiondown',
@@ -339,7 +342,7 @@ foreach my $accent_command (keys 
%{$LaTeX_accent_commands{'math'}}) {
 }
 
 my %ignored_commands = %ignored_misc_commands;
-foreach my $ignored_brace_commands ('caption', 'shortcaption', 
+foreach my $ignored_brace_commands (
   'sortas') {
   $ignored_commands{$ignored_brace_commands} = 1;
 }
@@ -492,6 +495,9 @@ my %defaults = (
   'documentlanguage'     => undef,
 
   'output_format'        => 'latex',
+
+  # FIXME any idea what could be used?
+  'floats_extension'     => 'tfl',
 );
 
 
@@ -509,15 +515,7 @@ sub converter_initialize($)
 {
   my $self = shift;
 
-  $self->{'style_context'} = [{
-    'context' => ['text'],
-    'math_style' => [],
-    'code' => 0,
-    'dot_not_end_sentence' => 0,
-    'in_quotation' => 0,
-    'type' => 'main'
-  }];
-
+  push_new_context($self, 'main');
   %{$self->{'ignored_types'}} = %ignored_types;
   %{$self->{'ignorable_space_types'}} = %ignorable_space_types;
   %{$self->{'ignored_commands'}} = %ignored_commands;
@@ -578,6 +576,56 @@ my %LaTeX_encoding_names_map = (
   'utf-8' => 'utf8',
 );
 
+sub push_new_context($$)
+{
+  my $self = shift;
+  my $context_name = shift;
+
+  push @{$self->{'style_context'}},
+     {
+       'context' => ['text'],
+       'math_style' => [],
+       'code' => 0,
+       'dot_not_end_sentence' => 0,
+       'in_quotation' => 0,
+       'type' => $context_name
+     };
+}
+
+my %LaTeX_floats = (
+ 'figure' => '\listoffigures',
+ 'table' => '\listoftables',
+);
+
+# associate float normalized types to latex float environment names
+sub _prepare_floats($) {
+  my $self = shift;
+  if ($self->{'floats'}) {
+    foreach my $normalized_float_type (sort(keys(%{$self->{'floats'}}))) {
+      my $latex_variable_float_name = $normalized_float_type;
+      # note that with that transformation, some float types
+      # may be put together
+      $latex_variable_float_name =~ s/[^a-zA-z]//g;
+      if (exists($LaTeX_floats{lc($latex_variable_float_name)})) {
+        $self->{'normalized_float_latex'}->{$normalized_float_type}
+          = lc($latex_variable_float_name);
+      } else {
+        # for floats without type, and to avoid name clashes
+        my $latex_float_name = 'TexinfoFloat'.$latex_variable_float_name;
+        if (exists($self->{'latex_floats'}->{$latex_float_name})) {
+          while (exists($self->{'latex_floats'}->{$latex_float_name})) {
+            $latex_float_name .= 'a';
+          }
+        }
+        $self->{'latex_floats'}->{$latex_float_name}
+          = $normalized_float_type;
+        $self->{'normalized_float_latex'}->{$normalized_float_type}
+          = $latex_float_name;
+      }
+    }
+  }
+}
+
 # ellipsis leaves less spacing after \dots in case it is followed
 # by punctuation. It does not seem to fix the @dots verusus @enddots issue
 # to be loaded after Babel if you are using the French option
@@ -607,6 +655,7 @@ sub _latex_header {
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 ';
@@ -623,8 +672,30 @@ sub _latex_header {
   #  # in texlive-latex-extra in debian
   #  $header .= "\\usepackage{shorttoc}\n";
   #}
+  if ($self->{'floats'}) {
+    foreach my $normalized_float_type 
(sort(keys(%{$self->{'normalized_float_latex'}}))) {
+      my $latex_float_name
+        = $self->{'normalized_float_latex'}->{$normalized_float_type};
+      if (not exists($LaTeX_floats{$latex_float_name})) {
+        my $float_type = '';
+        if ($normalized_float_type ne '') {
+          push_new_context($self, 'float_type '.$normalized_float_type);
+          my $float = $self->{'floats'}->{$normalized_float_type}->[0];
+          my $float_type_contents = $float->{'extra'}->{'type'}->{'content'};
+          my $float_type = _convert($self, {'contents' => 
$float_type_contents});
+          pop @{$self->{'style_context'}};
+        }
+        my $floats_extension = $self->{'floats_extension'};
+        $header .= "% new float for type `$normalized_float_type'\n";
+        $header .= 
"\\newfloat{$latex_float_name}{htb}{$floats_extension}[chapter]
+\\floatname{$latex_float_name}{$float_type}
+";
+      }
+    }
+  }
   $header .= '
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
@@ -809,6 +880,7 @@ sub _prepare_conversion($)
          {'contents' => $settitle_root->{'args'}->[0]->{'contents'}};
     }
   }
+  $self->_prepare_floats();
 }
 
 sub output($$)
@@ -1406,15 +1478,7 @@ sub _convert($$)
       }
       return '';
     } elsif ($command eq 'footnote') {
-      push @{$self->{'style_context'}},
-         {
-           'context' => ['text'],
-           'math_style' => [],
-           'code' => 0,
-           'dot_not_end_sentence' => 0,
-           'in_quotation' => 0,
-           'type' => 'footnote'
-         };
+      push_new_context($self, 'footnote');
       $result .= '\footnote{';
       $result .= $self->_convert($root->{'args'}->[0]); 
       $result .= '}';
@@ -1427,9 +1491,9 @@ sub _convert($$)
     } elsif ($ref_commands{$command}) {
       if (scalar(@{$root->{'args'}})) {
         my @args;
-        for my $a (@{$root->{'args'}}) {
-          if (defined $a->{'contents'} and @{$a->{'contents'}}) {
-            push @args, $a->{'contents'};
+        for my $arg (@{$root->{'args'}}) {
+          if (defined $arg->{'contents'} and @{$arg->{'contents'}}) {
+            push @args, $arg->{'contents'};
           } else {
             push @args, undef;
           }
@@ -1490,8 +1554,7 @@ sub _convert($$)
           }
           # reference to a float with a label
           my $float_type;
-          if (! defined($args[2])
-              and $root->{'extra'}
+          if ($root->{'extra'}
               and $root->{'extra'}->{'label'}
               and $root->{'extra'}->{'label'}->{'cmdname'}
               and $root->{'extra'}->{'label'}->{'cmdname'} eq 'float') {
@@ -1515,7 +1578,7 @@ sub _convert($$)
           my $name;
           if (defined($args[2])) {
             $name = $args[2];
-          } else {
+          } elsif (not defined($float_type)) {
             if (defined($self->get_conf('xrefautomaticsectiontitle'))
                 and $self->get_conf('xrefautomaticsectiontitle') eq 'on'
                 and $section_command) {
@@ -1526,16 +1589,27 @@ sub _convert($$)
           }
           my $node_label = _tree_anchor_label($node_content);
 
-          my $name_text = _convert($self, {'contents' => $name});
+          my $name_text;
+          if (defined($name)) {
+            $name_text = _convert($self, {'contents' => $name});
+          }
 
           # FIXME translation
           if (defined($float_type)) {
             # no page for float reference in Texinfo TeX
-            $result .= $float_type." \\ref{$node_label}";
+            if (defined($name_text)) {
+              $result .= "\\hyperref[$node_label]{$name_text}";
+            } else {
+              if ($float_type ne '') {
+                $result .= 
"\\hyperref[$node_label]{$float_type~\\ref*{$node_label}}";
+              } else {
+                $result .= "\\hyperref[$node_label]{\\ref*{$node_label}}";
+              }
+            }
           } else {
             # FIXME seems like a , should be added last, but only if not
-            # followed by punctualtion which means a painful look ahead
-            # code to do...
+            # followed by punctuation which means a painful look ahead
+            # code to do...  From the Texinfo manual:
             # When processing with TeX, a comma is automatically inserted 
after the page number
             # for cross-references to within the same manual, unless the 
closing brace of the argument
             # is followed by non-whitespace (such as a comma or period).
@@ -1665,6 +1739,40 @@ sub _convert($$)
           $result .= "\$\$\n";
         }
       }
+    } elsif ($command eq 'caption' or $command eq 'shortcaption') {
+      if (not defined($root->{'extra'})
+          or not defined($root->{'extra'}->{'float'})) {
+        return '';
+      }
+      my $float = $root->{'extra'}->{'float'};
+      my $shortcaption;
+      if ($command eq 'shortcaption') {
+        if ($float->{'extra'}->{'caption'}) {
+          # nothing to do, will do @caption
+          return '';
+        } else {
+          # shortcaption used as caption;
+        }
+      } else {
+        if ($float->{'extra'}->{'shortcaption'}) {
+          $shortcaption = $float->{'extra'}->{'shortcaption'};
+        }
+      }
+      push_new_context($self, 'latex_caption');
+      my $caption_text = _convert($self,
+         {'contents' => $root->{'args'}->[0]->{'contents'}});
+      pop @{$self->{'style_context'}};
+      
+      $result .= '\caption';
+
+      if (defined($shortcaption)) {
+        push_new_context($self, 'latex_shortcaption');
+        my $shortcaption_text = _convert($self, 
+                       {'contents' => 
$shortcaption->{'args'}->[0]->{'contents'}});
+        pop @{$self->{'style_context'}};
+        $result .= '['.$shortcaption_text.']';
+      }
+      $result .= "{$caption_text}\n";
     } elsif ($command eq 'titlefont') {
       $result .= _title_font($self, $root);
       return $result;
@@ -1721,14 +1829,13 @@ sub _convert($$)
       }
       if ($block_raw_commands{$command}) {
         push @{$self->{'style_context'}->[-1]->{'context'}}, 'raw';
-      } elsif ($preformatted_commands{$command}
-          or $command eq 'float') {
+      } elsif ($preformatted_commands{$command}) {
         push @{$self->{'style_context'}->[-1]->{'context'}}, $command;
       }
       if ($command eq 'titlepage') {
         # start a group such that the changes are forgotten when closed
         # define glues dimensions that are used in titlepage formatting.
-        # taken from Texinfo TeX.
+        # Taken from Texinfo TeX.
         # FIXME replace \\newskip by \\newlen?
         $result .= "\\begingroup
 \\newskip\\titlepagetopglue \\titlepagetopglue = 1.5in
@@ -1763,12 +1870,18 @@ sub _convert($$)
           }
         }
       } elsif ($command eq 'float') {
-        $result .= "\n";
-        if ($root->{'extra'} and $root->{'extra'}->{'node_content'}) {
-          my $float_label
-            = _tree_anchor_label($root->{'extra'}->{'node_content'});
-          $result .= "\\label{$float_label}%\n";
+        #$result .= "\n";
+        my $normalized_float_type = '';
+        if ($root->{'extra'}->{'type'}) {
+          $normalized_float_type = $root->{'extra'}->{'type'}->{'normalized'};
+        }
+        if (not 
exists($self->{'normalized_float_latex'}->{$normalized_float_type})) {
+          cluck("\@float $normalized_float_type: not found\n");
+          return '';
         }
+        my $latex_float_name = 
$self->{'normalized_float_latex'}->{$normalized_float_type};
+        push_new_context($self, 'float'.$latex_float_name);
+        $result .= "\\begin{$latex_float_name}\n";
       }
     } elsif ($command eq 'node') {
       # add the label only if not associated with a section
@@ -1879,7 +1992,24 @@ sub _convert($$)
       $result = $self->_printindex($root);
       return $result;
     } elsif ($command eq 'listoffloats') {
-      return '';
+      if ($root->{'extra'} and $root->{'extra'}->{'type'}
+          and defined($root->{'extra'}->{'type'}->{'normalized'})
+          and $self->{'floats'}
+          and $self->{'floats'}->{$root->{'extra'}->{'type'}->{'normalized'}}
+          and 
@{$self->{'floats'}->{$root->{'extra'}->{'type'}->{'normalized'}}}) {
+        my $normalized_float_type = $root->{'extra'}->{'type'}->{'normalized'};
+        if (not 
exists($self->{'normalized_float_latex'}->{$normalized_float_type})) {
+          cluck("\@listoffloats $normalized_float_type: not found\n");
+          return '';
+        }
+        my $latex_float_name = 
$self->{'normalized_float_latex'}->{$normalized_float_type};
+        if (exists($LaTeX_floats{$latex_float_name})) {
+          $result .= $LaTeX_floats{$latex_float_name}."\n";
+        } else {
+          $result .= "\\listof{$latex_float_name}{}\n";
+        }
+      }
+      return $result;
     } elsif ($command eq 'page') {
       $result .= _end_title_page($self);
       $result .= "\\newpage{}%\n";
@@ -1918,12 +2048,13 @@ sub _convert($$)
       #$result .= "\\end{flushleft}\n";
       # FIXME In Texinfo TeX the interline space seems more even
       $result .= "{\\raggedright $title_text}\n";
+      # same formatting for the rule as in Texinfo TeX
       $result .= "\\vskip 4pt \\hrule height 4pt width \\hsize \\vskip 4pt\n";
       $self->{'titlepage_formatting'}->{'title'} = 1;
     } elsif ($command eq 'subtitle') {
       my $subtitle_text = _convert($self,
                {'contents' => $root->{'args'}->[0]->{'contents'}});
-      # too much vertical spacing
+      # too much vertical spacing with flushright environment
       #$result .= "\\begin{flushright}\n";
       #$result .= $subtitle_text."\n";
       #$result .= "\\end{flushright}\n";
@@ -2231,23 +2362,25 @@ sub _convert($$)
   # close commands
   if ($command) {
     if ($command eq 'float') {
-      if ($root->{'extra'}
-          and ($root->{'extra'}->{'type'}->{'normalized'} ne '' 
-               or defined($root->{'number'})
-               or $root->{'extra'}->{'caption'} or 
$root->{'extra'}->{'shortcaption'})) {
-        
-        $result .= "\n";
-        my ($caption, $prepended) = Texinfo::Common::float_name_caption($self,
-                                                                        $root);
-        if ($prepended) {
-          my $float_number = $self->_convert($prepended);
-          $result .= $float_number;
-        }
-        if ($caption) {
-          my $tree = $caption->{'args'}->[0];
-          $result .= _convert($self, $tree);
-        }
+      my $normalized_float_type = '';
+      if ($root->{'extra'}->{'type'}) {
+        $normalized_float_type = $root->{'extra'}->{'type'}->{'normalized'};
+      }
+      # this should never happen as we returned at the command
+      # open.  If this happens it means that the tree has been modified...
+      if (not 
exists($self->{'normalized_float_latex'}->{$normalized_float_type})) {
+        confess("\@float $normalized_float_type: not found\n");
       }
+      # do that at the end of the float to be sure that it is after
+      # the caption
+      if ($root->{'extra'} and $root->{'extra'}->{'node_content'}) {
+        my $float_label
+          = _tree_anchor_label($root->{'extra'}->{'node_content'});
+        $result .= "\\label{$float_label}%\n";
+      }
+      my $latex_float_name = 
$self->{'normalized_float_latex'}->{$normalized_float_type};
+      $result .= "\\end{$latex_float_name}\n";
+      pop @{$self->{'style_context'}};
     } elsif ($command eq 'quotation'
                or $command eq 'smallquotation') {
       if ($root->{'extra'} and $root->{'extra'}->{'authors'}) {
@@ -2261,12 +2394,10 @@ sub _convert($$)
     }
  
     # close the contexts and register the cells
-    if ($preformatted_commands{$command}
-        or $command eq 'float') {
+    if ($preformatted_commands{$command}) {
       my $old_context = pop @{$self->{'style_context'}->[-1]->{'context'}};
       die "Not a preformatted context: $old_context"
-        if (!$preformatted_commands{$old_context}
-            and $old_context ne 'float');
+        if (!$preformatted_commands{$old_context});
     } elsif ($block_raw_commands{$command}) {
       my $old_context = pop @{$self->{'style_context'}->[-1]->{'context'}};
       die if ($old_context ne 'raw');
diff --git a/tp/t/latex_tests.t b/tp/t/latex_tests.t
index ee44165..c0485b7 100644
--- a/tp/t/latex_tests.t
+++ b/tp/t/latex_tests.t
@@ -246,6 +246,54 @@ Something about the life.
 
 In chapter
 
+'],
+['float_and_refs',
+'@setfilename float_and_refs.info
+
+@node Top
+@top top
+
+@node chapter
+@chapter chapter
+
+@float , no type
+no type
+@caption{no type float}
+@shortcaption{short no type float}
+@end float
+
+@float Thing, with type
+Something with
+@caption{with type float}
+@shortcaption{short with type float}
+@end float
+
+@float Figure, my figure
+In figure
+@caption{caption for figure}
+@shortcaption{short caption for figure}
+@end float
+
+@chapter refs
+
+@xref{no type}.
+@xref{no type, two}.
+@xref{no type, two, three}.
+@xref{no type, two, three, four}.
+@xref{no type, two, three, four, five}.
+
+@xref{with type}.
+@xref{with type, two}.
+@xref{with type, two, three}.
+@xref{with type, two, three, four}.
+@xref{with type, two, three, four, five}.
+
+@xref{my figure}.
+@xref{my figure, two}.
+@xref{my figure, two, three}.
+@xref{my figure, two, three, four}.
+@xref{my figure, two, three, four, five}.
+
 ']
 );
 
diff --git a/tp/t/results/latex_tests/float_and_refs.pl 
b/tp/t/results/latex_tests/float_and_refs.pl
new file mode 100644
index 0000000..579238f
--- /dev/null
+++ b/tp/t/results/latex_tests/float_and_refs.pl
@@ -0,0 +1,2365 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text);
+
+use utf8;
+
+$result_trees{'float_and_refs'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'float_and_refs.info'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'setfilename',
+          'extra' => {
+            'spaces_before_argument' => ' ',
+            'text_arg' => 'float_and_refs.info'
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 1,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top',
+        'spaces_before_argument' => ' '
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 3,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'top'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 0,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 4,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'chapter'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'chapter'
+          }
+        ],
+        'normalized' => 'chapter',
+        'spaces_before_argument' => ' '
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 6,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'chapter'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'no type'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+',
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'float',
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'no type
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'paragraph'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'no type float'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_context'
+                }
+              ],
+              'cmdname' => 'caption',
+              'contents' => [],
+              'extra' => {
+                'float' => {}
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 11,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'short no type float'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_context'
+                }
+              ],
+              'cmdname' => 'shortcaption',
+              'contents' => [],
+              'extra' => {
+                'float' => {}
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 12,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'float'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command_argument' => 'float',
+                'spaces_before_argument' => ' ',
+                'text_arg' => 'float'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 13,
+                'macro' => ''
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'caption' => {},
+            'end_command' => {},
+            'float_section' => {},
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'no-type',
+            'shortcaption' => {},
+            'spaces_before_argument' => ' ',
+            'type' => {
+              'normalized' => ''
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 9,
+            'macro' => ''
+          },
+          'number' => '1.1',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'Thing'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'with type'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+',
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'float',
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'Something with
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'paragraph'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'with type float'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_context'
+                }
+              ],
+              'cmdname' => 'caption',
+              'contents' => [],
+              'extra' => {
+                'float' => {}
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 17,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'short with type float'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_context'
+                }
+              ],
+              'cmdname' => 'shortcaption',
+              'contents' => [],
+              'extra' => {
+                'float' => {}
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 18,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'float'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command_argument' => 'float',
+                'spaces_before_argument' => ' ',
+                'text_arg' => 'float'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 19,
+                'macro' => ''
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'caption' => {},
+            'end_command' => {},
+            'float_section' => {},
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'with-type',
+            'shortcaption' => {},
+            'spaces_before_argument' => ' ',
+            'type' => {
+              'content' => [
+                {}
+              ],
+              'normalized' => 'Thing'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 15,
+            'macro' => ''
+          },
+          'number' => '1.1',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'Figure'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'my figure'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+',
+                'spaces_before_argument' => ' '
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'float',
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'In figure
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'paragraph'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'caption for figure'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_context'
+                }
+              ],
+              'cmdname' => 'caption',
+              'contents' => [],
+              'extra' => {
+                'float' => {}
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 23,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'short caption for figure'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'paragraph'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_context'
+                }
+              ],
+              'cmdname' => 'shortcaption',
+              'contents' => [],
+              'extra' => {
+                'float' => {}
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 24,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'float'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command_argument' => 'float',
+                'spaces_before_argument' => ' ',
+                'text_arg' => 'float'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 25,
+                'macro' => ''
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'caption' => {},
+            'end_command' => {},
+            'float_section' => {},
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'my-figure',
+            'shortcaption' => {},
+            'spaces_before_argument' => ' ',
+            'type' => {
+              'content' => [
+                {}
+              ],
+              'normalized' => 'Figure'
+            }
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 21,
+            'macro' => ''
+          },
+          'number' => '1.1',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 1,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 7,
+        'macro' => ''
+      },
+      'number' => 1,
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'refs'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'no type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'no-type'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 29,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'no type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'no-type'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 30,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'no type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'three'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'no-type'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 31,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'no type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'three'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'four'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ]
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 32,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'no type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'three'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'four'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'five'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ]
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 33,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'with type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'with-type'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 35,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'with type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'with-type'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 36,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'with type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'three'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'with-type'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 37,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'with type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'three'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'four'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ]
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 38,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'with type'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'three'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'four'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'five'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ]
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 39,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'my figure'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'my-figure'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 41,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'my figure'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'my-figure'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 42,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'my figure'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'three'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'label' => {},
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'my-figure'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 43,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'my figure'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'three'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'four'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ]
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 44,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'my figure'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'two'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'three'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'four'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'five'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_before_argument' => ' '
+                  },
+                  'parent' => {},
+                  'type' => 'brace_command_arg'
+                }
+              ],
+              'cmdname' => 'xref',
+              'contents' => [],
+              'extra' => {
+                'node_argument' => {
+                  'node_content' => [
+                    {}
+                  ]
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 45,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => '.
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 1,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 27,
+        'macro' => ''
+      },
+      'number' => 2,
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'float_and_refs'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[0]{'parent'} = 
$result_trees{'float_and_refs'};
+$result_trees{'float_and_refs'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[1]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[1]{'extra'}{'node_content'}[0] = 
$result_trees{'float_and_refs'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = $result_trees{'float_and_refs'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[1]{'parent'} = 
$result_trees{'float_and_refs'};
+$result_trees{'float_and_refs'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[2]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[2];
+$result_trees{'float_and_refs'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[2];
+$result_trees{'float_and_refs'}{'contents'}[2]{'parent'} = 
$result_trees{'float_and_refs'};
+$result_trees{'float_and_refs'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[3]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[3]{'extra'}{'node_content'}[0] = 
$result_trees{'float_and_refs'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = $result_trees{'float_and_refs'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[3]{'parent'} = 
$result_trees{'float_and_refs'};
+$result_trees{'float_and_refs'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[5]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[5]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'extra'}{'caption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'extra'}{'end_command'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'extra'}{'float_section'}
 = $result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'args'}[1]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'extra'}{'shortcaption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[2]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[4]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[5]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[5]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'extra'}{'caption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'extra'}{'end_command'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'extra'}{'float_section'}
 = $result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'extra'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'args'}[1]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'extra'}{'shortcaption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'extra'}{'type'}{'content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[4]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'args'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[1]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[1]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[4]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[5]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[5]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'extra'}{'caption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'extra'}{'end_command'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'extra'}{'float_section'}
 = $result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'extra'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'args'}[1]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'extra'}{'shortcaption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'extra'}{'type'}{'content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[6]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'parent'} = 
$result_trees{'float_and_refs'};
+$result_trees{'float_and_refs'}{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'args'}[0]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[0]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'extra'}{'label'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'extra'}{'label'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'extra'}{'label'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[5]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[6]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[7]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[4]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[4]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[8]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[9]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[2]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[0]{'extra'}{'label'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[0]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'extra'}{'label'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'extra'}{'label'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[4]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[5]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[6]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[7]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[4]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[4]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[8]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'contents'}[9]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[3]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[4]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[0]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[0]{'extra'}{'label'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[0]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'extra'}{'label'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'extra'}{'label'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[4]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[5]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[6]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[7]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[0]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[1];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[1]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[2];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[2]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[3];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[3]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[4]{'contents'}[0]{'parent'}
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[4];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[4]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'extra'}{'node_argument'}{'node_content'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'args'}[0]{'contents'}[0];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[8]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'contents'}[9]{'parent'}
 = $result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[5]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[6]{'parent'} = 
$result_trees{'float_and_refs'}{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[5]{'parent'} = 
$result_trees{'float_and_refs'};
+
+$result_texis{'float_and_refs'} = '@setfilename float_and_refs.info
+
+@node Top
+@top top
+
+@node chapter
+@chapter chapter
+
+@float , no type
+no type
+@caption{no type float}
+@shortcaption{short no type float}
+@end float
+
+@float Thing, with type
+Something with
+@caption{with type float}
+@shortcaption{short with type float}
+@end float
+
+@float Figure, my figure
+In figure
+@caption{caption for figure}
+@shortcaption{short caption for figure}
+@end float
+
+@chapter refs
+
+@xref{no type}.
+@xref{no type, two}.
+@xref{no type, two, three}.
+@xref{no type, two, three, four}.
+@xref{no type, two, three, four, five}.
+
+@xref{with type}.
+@xref{with type, two}.
+@xref{with type, two, three}.
+@xref{with type, two, three, four}.
+@xref{with type, two, three, four, five}.
+
+@xref{my figure}.
+@xref{my figure, two}.
+@xref{my figure, two, three}.
+@xref{my figure, two, three, four}.
+@xref{my figure, two, three, four, five}.
+
+';
+
+
+$result_texts{'float_and_refs'} = '
+top
+***
+
+1 chapter
+*********
+
+no type
+no type
+
+
+
+Thing, with type
+Something with
+
+
+
+Figure, my figure
+In figure
+
+
+
+2 refs
+******
+
+no type.
+no type.
+no type.
+no type.
+no type.
+
+with type.
+with type.
+with type.
+with type.
+with type.
+
+my figure.
+my figure.
+my figure.
+my figure.
+my figure.
+
+';
+
+$result_sectioning{'float_and_refs'} = {
+  'level' => -1,
+  'section_childs' => [
+    {
+      'cmdname' => 'top',
+      'extra' => {
+        'associated_node' => {
+          'cmdname' => 'node',
+          'extra' => {
+            'normalized' => 'Top',
+            'spaces_before_argument' => ' '
+          }
+        },
+        'spaces_before_argument' => ' '
+      },
+      'level' => 0,
+      'section_childs' => [
+        {
+          'cmdname' => 'chapter',
+          'extra' => {
+            'associated_node' => {
+              'cmdname' => 'node',
+              'extra' => {
+                'normalized' => 'chapter',
+                'spaces_before_argument' => ' '
+              }
+            },
+            'spaces_before_argument' => ' '
+          },
+          'level' => 1,
+          'number' => 1,
+          'section_up' => {},
+          'toplevel_prev' => {},
+          'toplevel_up' => {}
+        },
+        {
+          'cmdname' => 'chapter',
+          'extra' => {
+            'spaces_before_argument' => ' '
+          },
+          'level' => 1,
+          'number' => 2,
+          'section_prev' => {},
+          'section_up' => {},
+          'toplevel_prev' => {},
+          'toplevel_up' => {}
+        }
+      ],
+      'section_up' => {}
+    }
+  ]
+};
+$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_childs'}[0]{'section_up'}
 = $result_sectioning{'float_and_refs'}{'section_childs'}[0];
+$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_childs'}[0]{'toplevel_prev'}
 = $result_sectioning{'float_and_refs'}{'section_childs'}[0];
+$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_childs'}[0]{'toplevel_up'}
 = $result_sectioning{'float_and_refs'}{'section_childs'}[0];
+$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_childs'}[1]{'section_prev'}
 = 
$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_childs'}[0];
+$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_childs'}[1]{'section_up'}
 = $result_sectioning{'float_and_refs'}{'section_childs'}[0];
+$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_childs'}[1]{'toplevel_prev'}
 = 
$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_childs'}[0];
+$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_childs'}[1]{'toplevel_up'}
 = $result_sectioning{'float_and_refs'}{'section_childs'}[0];
+$result_sectioning{'float_and_refs'}{'section_childs'}[0]{'section_up'} = 
$result_sectioning{'float_and_refs'};
+
+$result_nodes{'float_and_refs'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 0
+    },
+    'normalized' => 'Top',
+    'spaces_before_argument' => ' '
+  },
+  'node_next' => {
+    'cmdname' => 'node',
+    'extra' => {
+      'associated_section' => {
+        'cmdname' => 'chapter',
+        'extra' => {
+          'spaces_before_argument' => ' '
+        },
+        'level' => 1,
+        'number' => 1
+      },
+      'normalized' => 'chapter',
+      'spaces_before_argument' => ' '
+    },
+    'node_prev' => {},
+    'node_up' => {}
+  }
+};
+$result_nodes{'float_and_refs'}{'node_next'}{'node_prev'} = 
$result_nodes{'float_and_refs'};
+$result_nodes{'float_and_refs'}{'node_next'}{'node_up'} = 
$result_nodes{'float_and_refs'};
+
+$result_menus{'float_and_refs'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top',
+    'spaces_before_argument' => ' '
+  }
+};
+
+$result_errors{'float_and_refs'} = [];
+
+
+$result_floats{'float_and_refs'} = {
+  '' => [
+    {
+      'cmdname' => 'float',
+      'extra' => {
+        'caption' => {
+          'cmdname' => 'caption',
+          'extra' => {
+            'float' => {}
+          }
+        },
+        'end_command' => {
+          'cmdname' => 'end',
+          'extra' => {
+            'command_argument' => 'float',
+            'spaces_before_argument' => ' ',
+            'text_arg' => 'float'
+          }
+        },
+        'float_section' => {
+          'cmdname' => 'chapter',
+          'extra' => {
+            'spaces_before_argument' => ' '
+          },
+          'level' => 1,
+          'number' => 1
+        },
+        'normalized' => 'no-type',
+        'shortcaption' => {
+          'cmdname' => 'shortcaption',
+          'extra' => {
+            'float' => {}
+          }
+        },
+        'spaces_before_argument' => ' ',
+        'type' => {
+          'normalized' => ''
+        }
+      },
+      'number' => '1.1'
+    }
+  ],
+  'Figure' => [
+    {
+      'cmdname' => 'float',
+      'extra' => {
+        'caption' => {
+          'cmdname' => 'caption',
+          'extra' => {
+            'float' => {}
+          }
+        },
+        'end_command' => {
+          'cmdname' => 'end',
+          'extra' => {
+            'command_argument' => 'float',
+            'spaces_before_argument' => ' ',
+            'text_arg' => 'float'
+          }
+        },
+        'float_section' => {},
+        'normalized' => 'my-figure',
+        'shortcaption' => {
+          'cmdname' => 'shortcaption',
+          'extra' => {
+            'float' => {}
+          }
+        },
+        'spaces_before_argument' => ' ',
+        'type' => {
+          'content' => [
+            {
+              'text' => 'Figure'
+            }
+          ],
+          'normalized' => 'Figure'
+        }
+      },
+      'number' => '1.1'
+    }
+  ],
+  'Thing' => [
+    {
+      'cmdname' => 'float',
+      'extra' => {
+        'caption' => {
+          'cmdname' => 'caption',
+          'extra' => {
+            'float' => {}
+          }
+        },
+        'end_command' => {
+          'cmdname' => 'end',
+          'extra' => {
+            'command_argument' => 'float',
+            'spaces_before_argument' => ' ',
+            'text_arg' => 'float'
+          }
+        },
+        'float_section' => {},
+        'normalized' => 'with-type',
+        'shortcaption' => {
+          'cmdname' => 'shortcaption',
+          'extra' => {
+            'float' => {}
+          }
+        },
+        'spaces_before_argument' => ' ',
+        'type' => {
+          'content' => [
+            {
+              'text' => 'Thing'
+            }
+          ],
+          'normalized' => 'Thing'
+        }
+      },
+      'number' => '1.1'
+    }
+  ]
+};
+$result_floats{'float_and_refs'}{''}[0]{'extra'}{'caption'}{'extra'}{'float'} 
= $result_floats{'float_and_refs'}{''}[0];
+$result_floats{'float_and_refs'}{''}[0]{'extra'}{'shortcaption'}{'extra'}{'float'}
 = $result_floats{'float_and_refs'}{''}[0];
+$result_floats{'float_and_refs'}{'Figure'}[0]{'extra'}{'caption'}{'extra'}{'float'}
 = $result_floats{'float_and_refs'}{'Figure'}[0];
+$result_floats{'float_and_refs'}{'Figure'}[0]{'extra'}{'float_section'} = 
$result_floats{'float_and_refs'}{''}[0]{'extra'}{'float_section'};
+$result_floats{'float_and_refs'}{'Figure'}[0]{'extra'}{'shortcaption'}{'extra'}{'float'}
 = $result_floats{'float_and_refs'}{'Figure'}[0];
+$result_floats{'float_and_refs'}{'Thing'}[0]{'extra'}{'caption'}{'extra'}{'float'}
 = $result_floats{'float_and_refs'}{'Thing'}[0];
+$result_floats{'float_and_refs'}{'Thing'}[0]{'extra'}{'float_section'} = 
$result_floats{'float_and_refs'}{''}[0]{'extra'}{'float_section'};
+$result_floats{'float_and_refs'}{'Thing'}[0]{'extra'}{'shortcaption'}{'extra'}{'float'}
 = $result_floats{'float_and_refs'}{'Thing'}[0];
+
+
+
+$result_converted{'latex'}->{'float_and_refs'} = '
+\\chapter{chapter}
+\\label{anchor:chapter}%
+
+\\begin{TexinfoFloat}
+no type
+\\caption[short no type float]{no type float}
+
+
+\\label{anchor:no-type}%
+\\end{TexinfoFloat}
+
+\\begin{TexinfoFloatThing}
+Something with
+\\caption[short with type float]{with type float}
+
+
+\\label{anchor:with-type}%
+\\end{TexinfoFloatThing}
+
+\\begin{figure}
+In figure
+\\caption[short caption for figure]{caption for figure}
+
+
+\\label{anchor:my-figure}%
+\\end{figure}
+
+\\chapter{refs}
+
+See \\hyperref[anchor:no-type]{\\ref*{anchor:no-type}}.
+See \\hyperref[anchor:no-type]{\\ref*{anchor:no-type}}.
+See \\hyperref[anchor:no-type]{three}.
+See Section ``three\'\' in \\texttt{four}.
+See Section ``three\'\' in \\textit{five}.
+
+See \\hyperref[anchor:with-type]{Thing~\\ref*{anchor:with-type}}.
+See \\hyperref[anchor:with-type]{Thing~\\ref*{anchor:with-type}}.
+See \\hyperref[anchor:with-type]{three}.
+See Section ``three\'\' in \\texttt{four}.
+See Section ``three\'\' in \\textit{five}.
+
+See \\hyperref[anchor:my-figure]{Figure~\\ref*{anchor:my-figure}}.
+See \\hyperref[anchor:my-figure]{Figure~\\ref*{anchor:my-figure}}.
+See \\hyperref[anchor:my-figure]{three}.
+See Section ``three\'\' in \\texttt{four}.
+See Section ``three\'\' in \\textit{five}.
+
+';
+
+1;
diff --git 
a/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
 b/tp/t/results/latex_tests/float_and_refs/res_latex/float_and_refs.tex
similarity index 54%
copy from 
tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
copy to tp/t/results/latex_tests/float_and_refs/res_latex/float_and_refs.tex
index e6d1d81..28be8c2 100644
--- 
a/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
+++ b/tp/t/results/latex_tests/float_and_refs/res_latex/float_and_refs.tex
@@ -9,11 +9,19 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
-
-% redefine the \mainmatter command such that it does not clear the page
+% new float for type `'
+\newfloat{TexinfoFloat}{htb}{tfl}[chapter]
+\floatname{TexinfoFloat}{}
+% new float for type `Thing'
+\newfloat{TexinfoFloatThing}{htb}{tfl}[chapter]
+\floatname{TexinfoFloatThing}{}
+
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
@@ -56,50 +64,55 @@
 \makeatletter
 
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{\GNUTexinfoplaceholder{setchapternewpage
 placeholder}\clearpage}{}{}
 \makeatother
-
-% no headings before titlepage
-\pagestyle{empty}%
+\GNUTexinfosetsingleheader{}%
 
 \begin{document}
 
-\frontmatter
-
-
-\begin{titlepage}
-\begingroup
-\newskip\titlepagetopglue \titlepagetopglue = 1.5in
-\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
-\setlength{\parindent}{0pt}
-% Leave some space at the very top of the page.
-    \vglue\titlepagetopglue
-{\raggedright {\huge \bfseries Some manual \leavevmode{}\\ tested}}
-\vskip 4pt \hrule height 4pt width \hsize \vskip 4pt
-\rightline{Subtitle manual \leavevmode{}\\ tested}
-\rightline{Subtitle 2 manual \leavevmode{}\\ tested}
-\vskip 0pt plus 1filll
-\leftline{\Large \bfseries First \leavevmode{}\\ author}%
-\leftline{\Large \bfseries Second \leavevmode{}\\ author\footnote{Something
-about the address of author.
-
-Something about the life. 
-$$
-\frac{a}{b}
-$$
-}}%
-\vskip4pt \hrule height 2pt width \hsize
-  \vskip\titlepagebottomglue
-\newpage{}%
-\newpage{}%
-\vskip 0pt plus 1filll
-in Copying
-\endgroup
-\end{titlepage}
-\GNUTexinfosetsingleheader{}%
-\mainmatter
-
-\chapter{Chapter}
+\chapter{chapter}
 \label{anchor:chapter}%
 
-In chapter
+\begin{TexinfoFloat}
+no type
+\caption[short no type float]{no type float}
+
+
+\label{anchor:no-type}%
+\end{TexinfoFloat}
+
+\begin{TexinfoFloatThing}
+Something with
+\caption[short with type float]{with type float}
+
+
+\label{anchor:with-type}%
+\end{TexinfoFloatThing}
+
+\begin{figure}
+In figure
+\caption[short caption for figure]{caption for figure}
+
+
+\label{anchor:my-figure}%
+\end{figure}
+
+\chapter{refs}
+
+See \hyperref[anchor:no-type]{\ref*{anchor:no-type}}.
+See \hyperref[anchor:no-type]{\ref*{anchor:no-type}}.
+See \hyperref[anchor:no-type]{three}.
+See Section ``three'' in \texttt{four}.
+See Section ``three'' in \textit{five}.
+
+See \hyperref[anchor:with-type]{Thing~\ref*{anchor:with-type}}.
+See \hyperref[anchor:with-type]{Thing~\ref*{anchor:with-type}}.
+See \hyperref[anchor:with-type]{three}.
+See Section ``three'' in \texttt{four}.
+See Section ``three'' in \textit{five}.
+
+See \hyperref[anchor:my-figure]{Figure~\ref*{anchor:my-figure}}.
+See \hyperref[anchor:my-figure]{Figure~\ref*{anchor:my-figure}}.
+See \hyperref[anchor:my-figure]{three}.
+See Section ``three'' in \texttt{four}.
+See Section ``three'' in \textit{five}.
 
 \end{document}
diff --git 
a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd/res_latex/no_titlepage_and_setchapternewpage_odd.tex
 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd/res_latex/no_titlepage_and_setchapternewpage_odd.tex
index c8fdc5c..2e0565d 100644
--- 
a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd/res_latex/no_titlepage_and_setchapternewpage_odd.tex
+++ 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd/res_latex/no_titlepage_and_setchapternewpage_odd.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on/res_latex/no_titlepage_and_setchapternewpage_on.tex
 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on/res_latex/no_titlepage_and_setchapternewpage_on.tex
index 145ee30..a3ac951 100644
--- 
a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on/res_latex/no_titlepage_and_setchapternewpage_on.tex
+++ 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on/res_latex/no_titlepage_and_setchapternewpage_on.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage/res_latex/setchapternewpage_on_odd_titlepage.tex
 
b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage/res_latex/setchapternewpage_on_odd_titlepage.tex
index 39d6cbe..91dd249 100644
--- 
a/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage/res_latex/setchapternewpage_on_odd_titlepage.tex
+++ 
b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage/res_latex/setchapternewpage_on_odd_titlepage.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/settitle_and_headings/res_latex/settitle_and_headings.tex
 
b/tp/t/results/latex_tests/settitle_and_headings/res_latex/settitle_and_headings.tex
index 374f710..526c72b 100644
--- 
a/tp/t/results/latex_tests/settitle_and_headings/res_latex/settitle_and_headings.tex
+++ 
b/tp/t/results/latex_tests/settitle_and_headings/res_latex/settitle_and_headings.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off/res_latex/three_setchapternewpage_on_odd_off.tex
 
b/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off/res_latex/three_setchapternewpage_on_odd_off.tex
index 2f143dd..984a3fe 100644
--- 
a/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off/res_latex/three_setchapternewpage_on_odd_off.tex
+++ 
b/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off/res_latex/three_setchapternewpage_on_odd_off.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/titlepage_and_headings/res_latex/titlepage_and_headings.tex
 
b/tp/t/results/latex_tests/titlepage_and_headings/res_latex/titlepage_and_headings.tex
index 0dbe909..84e8e1d 100644
--- 
a/tp/t/results/latex_tests/titlepage_and_headings/res_latex/titlepage_and_headings.tex
+++ 
b/tp/t/results/latex_tests/titlepage_and_headings/res_latex/titlepage_and_headings.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd/res_latex/titlepage_and_setchapternewpage_odd.tex
 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd/res_latex/titlepage_and_setchapternewpage_odd.tex
index 9963287..029f9ee 100644
--- 
a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd/res_latex/titlepage_and_setchapternewpage_odd.tex
+++ 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd/res_latex/titlepage_and_setchapternewpage_odd.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on/res_latex/titlepage_and_setchapternewpage_on.tex
 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on/res_latex/titlepage_and_setchapternewpage_on.tex
index 0dbe909..84e8e1d 100644
--- 
a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on/res_latex/titlepage_and_setchapternewpage_on.tex
+++ 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on/res_latex/titlepage_and_setchapternewpage_on.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/titlepage_classical/res_latex/titlepage_classical.tex
 
b/tp/t/results/latex_tests/titlepage_classical/res_latex/titlepage_classical.tex
index 78833f9..345420f 100644
--- 
a/tp/t/results/latex_tests/titlepage_classical/res_latex/titlepage_classical.tex
+++ 
b/tp/t/results/latex_tests/titlepage_classical/res_latex/titlepage_classical.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/titlepage_in_top_node/res_latex/titlepage_in_top_node.tex
 
b/tp/t/results/latex_tests/titlepage_in_top_node/res_latex/titlepage_in_top_node.tex
index 57af954..19b1ae1 100644
--- 
a/tp/t/results/latex_tests/titlepage_in_top_node/res_latex/titlepage_in_top_node.tex
+++ 
b/tp/t/results/latex_tests/titlepage_in_top_node/res_latex/titlepage_in_top_node.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/titlepage_long_title/res_latex/titlepage_long_title.tex
 
b/tp/t/results/latex_tests/titlepage_long_title/res_latex/titlepage_long_title.tex
index 402138c..5905c80 100644
--- 
a/tp/t/results/latex_tests/titlepage_long_title/res_latex/titlepage_long_title.tex
+++ 
b/tp/t/results/latex_tests/titlepage_long_title/res_latex/titlepage_long_title.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/titlepage_no_author/res_latex/titlepage_no_author.tex
 
b/tp/t/results/latex_tests/titlepage_no_author/res_latex/titlepage_no_author.tex
index dd798d4..b57ade4 100644
--- 
a/tp/t/results/latex_tests/titlepage_no_author/res_latex/titlepage_no_author.tex
+++ 
b/tp/t/results/latex_tests/titlepage_no_author/res_latex/titlepage_no_author.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/titlepage_no_title/res_latex/titlepage_no_title.tex 
b/tp/t/results/latex_tests/titlepage_no_title/res_latex/titlepage_no_title.tex
index 855c40b..c7accb6 100644
--- 
a/tp/t/results/latex_tests/titlepage_no_title/res_latex/titlepage_no_title.tex
+++ 
b/tp/t/results/latex_tests/titlepage_no_title/res_latex/titlepage_no_title.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
 
b/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
index e6d1d81..402403a 100644
--- 
a/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
+++ 
b/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/two_setchapternewpage_odd_on/res_latex/two_setchapternewpage_odd_on.tex
 
b/tp/t/results/latex_tests/two_setchapternewpage_odd_on/res_latex/two_setchapternewpage_odd_on.tex
index 69e0ccb..48fde4f 100644
--- 
a/tp/t/results/latex_tests/two_setchapternewpage_odd_on/res_latex/two_setchapternewpage_odd_on.tex
+++ 
b/tp/t/results/latex_tests/two_setchapternewpage_odd_on/res_latex/two_setchapternewpage_odd_on.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/latex_tests/two_setchapternewpage_on_odd/res_latex/two_setchapternewpage_on_odd.tex
 
b/tp/t/results/latex_tests/two_setchapternewpage_on_odd/res_latex/two_setchapternewpage_on_odd.tex
index 1285298..85fa866 100644
--- 
a/tp/t/results/latex_tests/two_setchapternewpage_on_odd/res_latex/two_setchapternewpage_on_odd.tex
+++ 
b/tp/t/results/latex_tests/two_setchapternewpage_on_odd/res_latex/two_setchapternewpage_on_odd.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/sectioning/chapter_between_nodes/res_latex/chapter_between_nodes.tex
 
b/tp/t/results/sectioning/chapter_between_nodes/res_latex/chapter_between_nodes.tex
index e05c16d..43e8a06 100644
--- 
a/tp/t/results/sectioning/chapter_between_nodes/res_latex/chapter_between_nodes.tex
+++ 
b/tp/t/results/sectioning/chapter_between_nodes/res_latex/chapter_between_nodes.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git a/tp/t/results/sectioning/lone_Top_node/res_latex/lone_Top_node.tex 
b/tp/t/results/sectioning/lone_Top_node/res_latex/lone_Top_node.tex
index ae8a267..0ab43c3 100644
--- a/tp/t/results/sectioning/lone_Top_node/res_latex/lone_Top_node.tex
+++ b/tp/t/results/sectioning/lone_Top_node/res_latex/lone_Top_node.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git a/tp/t/results/sectioning/loop_nodes/res_latex/loop_nodes.tex 
b/tp/t/results/sectioning/loop_nodes/res_latex/loop_nodes.tex
index 5dc1ee6..d31ddfe 100644
--- a/tp/t/results/sectioning/loop_nodes/res_latex/loop_nodes.tex
+++ b/tp/t/results/sectioning/loop_nodes/res_latex/loop_nodes.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/sectioning/node_sectop_before_chapter_no_node/res_latex/node_sectop_before_chapter_no_node.tex
 
b/tp/t/results/sectioning/node_sectop_before_chapter_no_node/res_latex/node_sectop_before_chapter_no_node.tex
index 2576e07..4ffe264 100644
--- 
a/tp/t/results/sectioning/node_sectop_before_chapter_no_node/res_latex/node_sectop_before_chapter_no_node.tex
+++ 
b/tp/t/results/sectioning/node_sectop_before_chapter_no_node/res_latex/node_sectop_before_chapter_no_node.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/sectioning/node_sectop_before_lone_node_Top/res_latex/node_sectop_before_lone_node_Top.tex
 
b/tp/t/results/sectioning/node_sectop_before_lone_node_Top/res_latex/node_sectop_before_lone_node_Top.tex
index 37f22e6..a4f377d 100644
--- 
a/tp/t/results/sectioning/node_sectop_before_lone_node_Top/res_latex/node_sectop_before_lone_node_Top.tex
+++ 
b/tp/t/results/sectioning/node_sectop_before_lone_node_Top/res_latex/node_sectop_before_lone_node_Top.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/sectioning/nodes_before_after_top/res_latex/nodes_before_after_top.tex
 
b/tp/t/results/sectioning/nodes_before_after_top/res_latex/nodes_before_after_top.tex
index 3d27df6..a383cbd 100644
--- 
a/tp/t/results/sectioning/nodes_before_after_top/res_latex/nodes_before_after_top.tex
+++ 
b/tp/t/results/sectioning/nodes_before_after_top/res_latex/nodes_before_after_top.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/sectioning/nodes_before_top/res_latex/nodes_before_top.tex 
b/tp/t/results/sectioning/nodes_before_top/res_latex/nodes_before_top.tex
index a1d8570..26989ed 100644
--- a/tp/t/results/sectioning/nodes_before_top/res_latex/nodes_before_top.tex
+++ b/tp/t/results/sectioning/nodes_before_top/res_latex/nodes_before_top.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/sectioning/section_before_after_top_node/res_latex/section_before_after_top_node.tex
 
b/tp/t/results/sectioning/section_before_after_top_node/res_latex/section_before_after_top_node.tex
index b6f7f96..b31858e 100644
--- 
a/tp/t/results/sectioning/section_before_after_top_node/res_latex/section_before_after_top_node.tex
+++ 
b/tp/t/results/sectioning/section_before_after_top_node/res_latex/section_before_after_top_node.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/sectioning/section_before_after_top_node_last_node/res_latex/section_before_after_top_node_last_node.tex
 
b/tp/t/results/sectioning/section_before_after_top_node_last_node/res_latex/section_before_after_top_node_last_node.tex
index 7e9615f..d00e297 100644
--- 
a/tp/t/results/sectioning/section_before_after_top_node_last_node/res_latex/section_before_after_top_node_last_node.tex
+++ 
b/tp/t/results/sectioning/section_before_after_top_node_last_node/res_latex/section_before_after_top_node_last_node.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git 
a/tp/t/results/sectioning/section_chapter_before_top_nodes/res_latex/section_chapter_before_top_nodes.tex
 
b/tp/t/results/sectioning/section_chapter_before_top_nodes/res_latex/section_chapter_before_top_nodes.tex
index 8a356a5..e1d309e 100644
--- 
a/tp/t/results/sectioning/section_chapter_before_top_nodes/res_latex/section_chapter_before_top_nodes.tex
+++ 
b/tp/t/results/sectioning/section_chapter_before_top_nodes/res_latex/section_chapter_before_top_nodes.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother
diff --git a/tp/tests/layout/res_parser/formatting_latex/formatting.tex 
b/tp/tests/layout/res_parser/formatting_latex/formatting.tex
index a82bf7a..5ee967d 100644
--- a/tp/tests/layout/res_parser/formatting_latex/formatting.tex
+++ b/tp/tests/layout/res_parser/formatting_latex/formatting.tex
@@ -9,11 +9,13 @@
 \usepackage{needspace}
 \usepackage{etoolbox}
 \usepackage{fancyhdr}
+\usepackage{float}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
-% redefine the \mainmatter command such that it does not clear the page
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
 \makeatletter
 \renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
 \makeatother



reply via email to

[Prev in Thread] Current Thread [Next in Thread]