texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Patrice Dumas
Date: Tue, 24 Dec 2024 09:59:22 -0500 (EST)

branch: master
commit 3971ee637f688cd700f9a3d43866302564d644a9
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Nov 11 22:13:26 2024 +0100

    @float arguments in 'argument' container in contents instead of args
    
    * tp/Texinfo/Common.pm (get_label_element), tp/Texinfo/ParserNonXS.pm
    (_parse_float_type, _end_line_starting_block, _handle_block_command)
    (_handle_comma, _process_remaining_on_line),
    tp/Texinfo/XS/main/floats.c (parse_float_type),
    tp/Texinfo/XS/main/utils.c (get_label_element),
    tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block),
    tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command),
    tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line),
    tp/Texinfo/XS/parsetexi/separator.c (handle_comma): put @float
    line arguments in argument container first in contents, remove float
    args.
    
    * tp/Texinfo/Convert/Converter.pm (format_comment_or_return_end_line)
    (float_type_number, float_name_caption), tp/Texinfo/Convert/DocBook.pm
    (%ignored_types), tp/Texinfo/Convert/HTML.pm
    (%default_types_conversion), tp/Texinfo/Convert/LaTeX.pm
    (%ignored_types, _prepare_floats, _convert),
    tp/Texinfo/Convert/Plaintext.pm (%ignored_types, _convert),
    tp/Texinfo/Convert/Texinfo.pm (_expand_cmd_args_to_texi),
    tp/Texinfo/Convert/TexinfoMarkup.pm (_end_line_spaces)
    (_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/Text.pm
    (%ignored_types, _convert), tp/Texinfo/XS/convert/converter.c
    (float_type_number, float_name_caption),
    tp/Texinfo/XS/convert/html_prepare_converter.c (ignored_types),
    tp/Texinfo/XS/main/convert_to_texinfo.c (expand_cmd_args_to_texi),
    tp/Texinfo/XS/main/convert_to_text.c (convert_to_text_internal): adapt
    conversion to float argument being in in an argument container in
    contents, and prepare more generally for block commands with arguments
    in 'argument' container in contents.
---
 ChangeLog                                          |   34 +
 tp/TODO                                            |   15 +
 tp/Texinfo/Common.pm                               |    6 +-
 tp/Texinfo/Convert/Converter.pm                    |   23 +-
 tp/Texinfo/Convert/DocBook.pm                      |    2 +-
 tp/Texinfo/Convert/HTML.pm                         |    2 +-
 tp/Texinfo/Convert/LaTeX.pm                        |   22 +-
 tp/Texinfo/Convert/Plaintext.pm                    |   19 +-
 tp/Texinfo/Convert/Texinfo.pm                      |   33 +-
 tp/Texinfo/Convert/TexinfoMarkup.pm                |   35 +-
 tp/Texinfo/Convert/Text.pm                         |   14 +-
 tp/Texinfo/ParserNonXS.pm                          |   68 +-
 tp/Texinfo/XS/convert/converter.c                  |    4 +-
 tp/Texinfo/XS/convert/html_prepare_converter.c     |    3 +-
 tp/Texinfo/XS/main/convert_to_texinfo.c            |   32 +
 tp/Texinfo/XS/main/convert_to_text.c               |   47 +-
 tp/Texinfo/XS/main/floats.c                        |   10 +
 tp/Texinfo/XS/main/utils.c                         |    5 +-
 tp/Texinfo/XS/parsetexi/end_line.c                 |   11 +-
 tp/Texinfo/XS/parsetexi/handle_commands.c          |   19 +-
 tp/Texinfo/XS/parsetexi/parser.c                   |    5 +-
 tp/Texinfo/XS/parsetexi/separator.c                |   14 +-
 tp/t/results/converters_tests/form_feeds.pl        |   90 +-
 .../references_to_top_no_top_output.pl             |  106 +-
 .../converters_tests/things_before_setfilename.pl  |   94 +-
 .../things_before_setfilename_no_element.pl        |   94 +-
 tp/t/results/coverage/block_commands.pl            |   53 +-
 .../coverage/punctuation_in_line_commands.pl       |  106 +-
 tp/t/results/coverage_braces/caption_not_closed.pl |   33 +-
 tp/t/results/coverage_braces/test_image.pl         |   50 +-
 tp/t/results/float/anchor_in_caption.pl            |   53 +-
 tp/t/results/float/cindex_in_caption.pl            |   55 +-
 .../results/float/comment_space_comand_in_float.pl |   67 +-
 tp/t/results/float/complex_float.pl                |  134 +--
 tp/t/results/float/empty_caption.pl                |  129 +--
 tp/t/results/float/empty_label_no_space.pl         |   33 +-
 tp/t/results/float/empty_label_no_space_comment.pl |   43 +-
 tp/t/results/float/empty_label_with_space.pl       |   33 +-
 .../float/empty_label_with_space_comment.pl        |   47 +-
 .../float/empty_listoffloats_with_floats.pl        |  136 +--
 tp/t/results/float/float_copying.pl                |   55 +-
 tp/t/results/float/float_in_block_commands.pl      |  159 +--
 tp/t/results/float/float_type_with_tieaccent.pl    |  137 +--
 tp/t/results/float/float_with_at_commands.pl       |  123 +--
 tp/t/results/float/footnote_in_caption.pl          |   53 +-
 .../results/float/footnote_in_caption_and_error.pl |   53 +-
 .../results/float/multiple_spaces_in_float_type.pl |   49 +-
 .../float/numbering_captions_listoffloats.pl       | 1053 +++++++++++---------
 tp/t/results/float/ref_to_float.pl                 |   90 +-
 tp/t/results/float/simple.pl                       |   53 +-
 .../float/special_characters_in_float_type.pl      |  107 +-
 tp/t/results/html_tests/float_copying.pl           |   55 +-
 .../tex_expanded_in_caption_multiple_time.pl       |   53 +-
 .../html_tests/transliterated_names_conflicts.pl   |   49 +-
 tp/t/results/info_tests/empty_caption.pl           |   47 +-
 tp/t/results/info_tests/error_in_footnote.pl       |   53 +-
 tp/t/results/info_tests/float_long_captions.pl     |  106 +-
 tp/t/results/info_tests/float_without_type.pl      |   33 +-
 .../invalid_nestings/float_in_style_command.pl     |   53 +-
 .../invalid_nestings/section_on_float_line.pl      |   43 +-
 tp/t/results/latex_tests/float_and_refs.pl         |  163 +--
 .../menu/commands_in_nodedescriptionblock.pl       |   53 +-
 .../misc_commands/comment_space_command_on_line.pl |   49 +-
 .../equivalent_nodes_defined_linked.pl             |   59 +-
 tp/t/results/moresectioning/no_element.pl          |   41 +-
 .../moresectioning/placed_things_before_element.pl |   41 +-
 .../placed_things_before_element_no_use_node.pl    |   41 +-
 .../moresectioning/placed_things_before_node.pl    |   41 +-
 tp/t/results/paragraph/commands_in_flushright.pl   |   53 +-
 tp/t/results/preformatted/caption_in_example.pl    |   33 +-
 .../results/sectioning/double_node_anchor_float.pl |  147 +--
 tp/t/results/sectioning/equivalent_labels.pl       |   49 +-
 tp/t/results/xml_tests/commands_and_spaces.pl      |   67 +-
 tp/t/results/xml_tests/comments_end_lines.pl       |   43 +-
 .../xml_tests/comments_on_block_command_lines.pl   |   57 +-
 tp/t/results/xml_tests/image_inline_or_not.pl      |   47 +-
 76 files changed, 2874 insertions(+), 2313 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 25b2f9c543..6f0e4915d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,40 @@
        * tp/Texinfo/Convert/LaTeX.pm (convert_math_to_images): use contents
        instead of args for @math.
 
+2024-11-11  Patrice Dumas  <pertusus@free.fr>
+
+       @float arguments in 'argument' container in contents instead of args
+
+       * tp/Texinfo/Common.pm (get_label_element), tp/Texinfo/ParserNonXS.pm
+       (_parse_float_type, _end_line_starting_block, _handle_block_command)
+       (_handle_comma, _process_remaining_on_line),
+       tp/Texinfo/XS/main/floats.c (parse_float_type),
+       tp/Texinfo/XS/main/utils.c (get_label_element),
+       tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block),
+       tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command),
+       tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line),
+       tp/Texinfo/XS/parsetexi/separator.c (handle_comma): put @float
+       line arguments in argument container first in contents, remove float
+       args.
+
+       * tp/Texinfo/Convert/Converter.pm (format_comment_or_return_end_line)
+       (float_type_number, float_name_caption), tp/Texinfo/Convert/DocBook.pm
+       (%ignored_types), tp/Texinfo/Convert/HTML.pm
+       (%default_types_conversion), tp/Texinfo/Convert/LaTeX.pm
+       (%ignored_types, _prepare_floats, _convert),
+       tp/Texinfo/Convert/Plaintext.pm (%ignored_types, _convert),
+       tp/Texinfo/Convert/Texinfo.pm (_expand_cmd_args_to_texi),
+       tp/Texinfo/Convert/TexinfoMarkup.pm (_end_line_spaces)
+       (_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/Text.pm
+       (%ignored_types, _convert), tp/Texinfo/XS/convert/converter.c
+       (float_type_number, float_name_caption),
+       tp/Texinfo/XS/convert/html_prepare_converter.c (ignored_types),
+       tp/Texinfo/XS/main/convert_to_texinfo.c (expand_cmd_args_to_texi),
+       tp/Texinfo/XS/main/convert_to_text.c (convert_to_text_internal): adapt
+       conversion to float argument being in in an argument container in
+       contents, and prepare more generally for block commands with arguments
+       in 'argument' container in contents.
+
 2024-11-11  Patrice Dumas  <pertusus@free.fr>
 
        @*macro arguments in 'argument' container in contents instead of args
diff --git a/tp/TODO b/tp/TODO
index 5c5489e675..4097eb166c 100644
--- a/tp/TODO
+++ b/tp/TODO
@@ -936,6 +936,21 @@ Decomposition of the time used for the Texinfo manual with 
full XS
 SUM: 98
 
 
+find Texinfo  -type f -regex '\.pm' -list
+find Texinfo  -type f -name '*.pm' -execdir perl -wpli -e 's/^#no 
autovivification qw\(fetch delete exists store strict\);/no autovivification 
qw\(fetch delete exists store strict\);/' '{}' ';'
+find Texinfo  -type f -name '*.pm' -execdir perl -wpli -e 's/^no 
autovivification qw\(fetch delete exists store strict\);/#no autovivification 
qw\(fetch delete exists store strict\);/' '{}' ';'
+
+
+patch -p1 < build_perl_info_fix_typo.diff
+patch -p1 < avoid_deprecated_dirs_autovivification.diff
+patch -p1 < test_sort_init_config_customization.diff
+
+patch -R -p1 < build_perl_info_fix_typo.diff
+patch -R -p1 < avoid_deprecated_dirs_autovivification.diff
+patch -R -p1 < test_sort_init_config_customization.diff
+
+
+
 Setting flags
 # some features are only enabled at -O2, but sometime -O0 is better
 # for debugging with valgrind
diff --git a/tp/Texinfo/Common.pm b/tp/Texinfo/Common.pm
index 51f42ea791..b3b42fc03a 100644
--- a/tp/Texinfo/Common.pm
+++ b/tp/Texinfo/Common.pm
@@ -1733,8 +1733,10 @@ sub get_label_element($)
            and $current->{'contents'} and scalar(@{$current->{'contents'}})) {
     return $current->{'contents'}->[0];
   } elsif ($current->{'cmdname'} eq 'float'
-      and $current->{'args'} and scalar(@{$current->{'args'}}) >= 2) {
-    return $current->{'args'}->[1];
+      and $current->{'contents'} and scalar(@{$current->{'contents'}})
+      and $current->{'contents'}->[0]->{'contents'}
+      and scalar(@{$current->{'contents'}->[0]->{'contents'}}) >= 2) {
+    return $current->{'contents'}->[0]->{'contents'}->[1];
   }
   return undef;
 }
diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm
index 840366b91d..5113e06a76 100644
--- a/tp/Texinfo/Convert/Converter.pm
+++ b/tp/Texinfo/Convert/Converter.pm
@@ -1334,14 +1334,22 @@ sub format_comment_or_return_end_line($$)
 
   my $end_line;
 
-  my $comment = $element->{'args'}->[-1]->{'info'}->{'comment_at_end'}
-    if $element->{'args'} and $element->{'args'}->[-1]->{'info'};
+  my $arguments_list;
+  if ($element->{'args'}) {
+    $arguments_list = $element->{'args'};
+  } elsif ($element->{'contents'} and scalar(@{$element->{'contents'}})
+           and $element->{'contents'}->[0]->{'contents'}) {
+    $arguments_list = $element->{'contents'}->[0]->{'contents'};
+  }
+
+  my $comment = $arguments_list->[-1]->{'info'}->{'comment_at_end'}
+    if $arguments_list and $arguments_list->[-1]->{'info'};
 
   if ($comment) {
     $end_line = $self->convert_tree($comment);
-  } elsif ($element->{'args'} and $element->{'args'}->[-1]->{'info'}
-      and $element->{'args'}->[-1]->{'info'}->{'spaces_after_argument'}) {
-    my $text = $element->{'args'}->[-1]
+  } elsif ($arguments_list and $arguments_list->[-1]->{'info'}
+      and $arguments_list->[-1]->{'info'}->{'spaces_after_argument'}) {
+    my $text = $arguments_list->[-1]
                    ->{'info'}->{'spaces_after_argument'}->{'text'};
     if (chomp($text)) {
       $end_line = "\n";
@@ -1414,7 +1422,7 @@ sub float_type_number($$)
 
   my $type_element;
   if ($float->{'extra'}->{'float_type'} ne '') {
-    $type_element = $float->{'args'}->[0];
+    $type_element = $float->{'contents'}->[0]->{'contents'}->[0];
   }
   my $float_number = $float->{'extra'}->{'float_number'};
 
@@ -1465,7 +1473,8 @@ sub float_name_caption($$)
   my $prepended;
   if ($element->{'extra'} and defined($element->{'extra'}->{'float_type'})
       and $element->{'extra'}->{'float_type'} ne '') {
-    $substrings->{'float_type'} = $element->{'args'}->[0];
+    $substrings->{'float_type'}
+       = $element->{'contents'}->[0]->{'contents'}->[0];
     if ($caption_element) {
       if ($float_number_element) {
         # TRANSLATORS: added before caption
diff --git a/tp/Texinfo/Convert/DocBook.pm b/tp/Texinfo/Convert/DocBook.pm
index b4ca450317..9dfd9cb1e9 100644
--- a/tp/Texinfo/Convert/DocBook.pm
+++ b/tp/Texinfo/Convert/DocBook.pm
@@ -232,7 +232,7 @@ foreach my $type (
             'postamble_after_end',
             'preamble_before_beginning',
             'preamble_before_setfilename',
-            'spaces_at_end',
+            'spaces_at_end', 'argument',
   ) {
   $ignored_types{$type} = 1;
 }
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index c125e47f9c..d42aac098a 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -6860,7 +6860,7 @@ foreach my $type ('ignorable_spaces_after_command', 
'postamble_after_end',
             'preamble_before_setfilename',
             'spaces_at_end',
             'spaces_before_paragraph',
-            'spaces_after_close_brace') {
+            'spaces_after_close_brace', 'argument') {
   $default_types_conversion{$type} = undef;
 }
 
diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index 12574a862e..43d858868d 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -568,7 +568,7 @@ foreach my $type ('ignorable_spaces_after_command',
 
 my %ignored_types;
 foreach my $type ('postamble_after_end', 'preamble_before_beginning',
-            'preamble_before_setfilename') {
+            'preamble_before_setfilename', 'argument') {
   $ignored_types{$type} = 1;
 }
 
@@ -912,7 +912,8 @@ sub _prepare_floats($)
         my $float = $floats->{$normalized_float_type}->[0];
         $latex_variable_float_name
           = Texinfo::Convert::NodeNameNormalization::transliterate_texinfo(
-           {'contents' => $float->{'args'}->[0]->{'contents'}});
+           {'contents' => $float->{'contents'}->[0]
+                                     ->{'contents'}->[0]->{'contents'}});
       } else {
         $latex_variable_float_name = $normalized_float_type;
       }
@@ -1386,7 +1387,9 @@ sub _latex_header() {
         if ($normalized_float_type ne '') {
           _push_new_context($self, 'float_type '.$normalized_float_type);
           my $float = $floats->{$normalized_float_type}->[0];
-          my $float_type = _convert($self, $float->{'args'}->[0]);
+          my $float_type
+            = _convert($self,
+                       $float->{'contents'}->[0]->{'contents'}->[0]);
           _pop_context($self);
         }
         $header_code .= "% new float for type `$normalized_float_type'\n";
@@ -3486,7 +3489,9 @@ sub _convert($$)
           if (exists($reference->{'cmdname'})
               and $reference->{'cmdname'} eq 'float') {
             if ($reference->{'extra'}->{'float_type'} ne '') {
-              $float_type = _convert($self, $reference->{'args'}->[0]);
+              $float_type
+                = _convert($self,
+                           $reference->{'contents'}->[0]->{'contents'}->[0]);
             } else {
               $float_type = '';
             }
@@ -4439,10 +4444,13 @@ sub _convert($$)
     if ($cmdname eq 'float') {
       # do that at the end of the float to be sure that it is after
       # the caption
-      if ($element->{'args'} and scalar(@{$element->{'args'}}) >= 2
-          and $element->{'args'}->[1]->{'contents'}) {
+      if ($element->{'contents'} and scalar(@{$element->{'contents'}})
+          and $element->{'contents'}->[0]->{'contents'}
+          and scalar(@{$element->{'contents'}->[0]->{'contents'}}) >= 2
+          and $element->{'contents'}->[0]->{'contents'}->[1]->{'contents'}) {
         my $float_label
-          = _tree_anchor_label($element->{'args'}->[1]->{'contents'});
+          = _tree_anchor_label(
+               $element->{'contents'}->[0]->{'contents'}->[1]->{'contents'});
         $result .= "\\label{$float_label}%\n";
       }
       if (not $self->{'formatting_context'}->[-1]->{'in_skipped_node_top'}) {
diff --git a/tp/Texinfo/Convert/Plaintext.pm b/tp/Texinfo/Convert/Plaintext.pm
index 653bd3b191..d90321e8c4 100644
--- a/tp/Texinfo/Convert/Plaintext.pm
+++ b/tp/Texinfo/Convert/Plaintext.pm
@@ -293,7 +293,7 @@ foreach my $type ('ignorable_spaces_after_command',
 my %ignored_types;
 foreach my $type ('postamble_after_end',
             'preamble_before_beginning',
-            'preamble_before_setfilename') {
+            'preamble_before_setfilename', 'argument') {
   $ignored_types{$type} = 1;
 }
 
@@ -3494,8 +3494,11 @@ sub _convert($$)
         $self->{'document_context'}->[-1]->{'in_multitable'}++;
       } elsif ($cmdname eq 'float') {
         _add_newline_if_needed($self);
-        if ($element->{'args'} and scalar(@{$element->{'args'}}) >= 2
-            and $element->{'args'}->[1]->{'contents'}) {
+        if ($element->{'contents'}
+            and scalar(@{$element->{'contents'}})
+            and $element->{'contents'}->[0]->{'contents'}
+            and scalar(@{$element->{'contents'}->[0]->{'contents'}}) >= 2
+            and $element->{'contents'}->[0]->{'contents'}->[1]->{'contents'}) {
           _anchor($self, $element);
         }
       } elsif ($cmdname eq 'cartouche') {
@@ -3700,8 +3703,11 @@ sub _convert($$)
         _stream_output($self, "* Menu:\n\n");
         $lines_count += 2;
         foreach my $float (@{$floats->{$float_type}}) {
-          next if (!$float->{'args'} or scalar(@{$float->{'args'}}) < 2
-                   or !$float->{'args'}->[1]->{'contents'});
+          next if (!$float->{'contents'}
+                   or !scalar(@{$float->{'contents'}})
+                   or !$float->{'contents'}->[0]->{'contents'}
+                   or scalar(@{$float->{'contents'}->[0]->{'contents'}}) < 2
+               or !$float->{'contents'}->[0]->{'contents'}->[1]->{'contents'});
 
           my $float_entry = $self->float_type_number($float);
           next if !defined($float_entry);
@@ -3725,7 +3731,8 @@ sub _convert($$)
           _stream_output($self, add_next($container, ': '), $container);
 
           _convert($self, {'type' => '_code',
-                          'contents' => [$float->{'args'}->[1]]});
+                          'contents' =>
+                      [$float->{'contents'}->[0]->{'contents'}->[1]]});
           _stream_output($self, add_next($container, '.'), $container);
           _stream_output($self,
                    Texinfo::Convert::Paragraph::add_pending_word($container),
diff --git a/tp/Texinfo/Convert/Texinfo.pm b/tp/Texinfo/Convert/Texinfo.pm
index 9a3e788c05..352dea05c4 100644
--- a/tp/Texinfo/Convert/Texinfo.pm
+++ b/tp/Texinfo/Convert/Texinfo.pm
@@ -293,15 +293,15 @@ sub _expand_cmd_args_to_texi($) {
     my $braces;
     $braces = 1 if (scalar(@{$cmd->{'contents'}})
                     and ($cmd->{'contents'}->[0]->{'type'}
-                          and ($cmd->{'contents'}->[0]->{'type'} eq 
'brace_container'
-                               or $cmd->{'contents'}->[0]->{'type'} eq 
'brace_arg'
-                               or $cmd->{'contents'}->[0]->{'type'} eq 
'brace_command_context')));
+                        and ($cmd->{'contents'}->[0]->{'type'} eq 
'brace_container'
+                             or $cmd->{'contents'}->[0]->{'type'} eq 
'brace_arg'
+                             or $cmd->{'contents'}->[0]->{'type'} eq 
'brace_command_context')));
     $result .= '{' if ($braces);
     if ($cmdname eq 'verb') {
       $result .= $cmd->{'info'}->{'delimiter'};
     }
     $result .= $cmd->{'info'}->{'spaces_before_argument'}->{'text'}
-       if ($cmd->{'info'} and $cmd->{'info'}->{'spaces_before_argument'});
+      if ($cmd->{'info'} and $cmd->{'info'}->{'spaces_before_argument'});
     my $arg_nr = 0;
     foreach my $arg (@{$cmd->{'contents'}}) {
       next if ($arg->{'info'} and $arg->{'info'}->{'inserted'});
@@ -313,6 +313,31 @@ sub _expand_cmd_args_to_texi($) {
       $result .= $cmd->{'info'}->{'delimiter'};
     }
     $result .= '}' if ($braces);
+  } elsif ($cmd->{'contents'}
+           and $cmd->{'contents'}->[0]->{'type'}
+           and $cmd->{'contents'}->[0]->{'type'} eq 'argument') {
+    $result .= $cmd->{'info'}->{'spaces_before_argument'}->{'text'}
+      if $cmd->{'info'} and $cmd->{'info'}->{'spaces_before_argument'};
+    my $with_commas = 0;
+    if (($block_commands{$cmdname}
+         # block line commands with arguments not separated by commas
+         and not ($def_commands{$cmdname}
+                  or $block_commands{$cmdname} eq 'multitable'))
+        or $cmdname eq 'node') {
+      $with_commas = 1;
+    }
+    my $arg_nr = 0;
+    my $argument = $cmd->{'contents'}->[0];
+    if ($argument->{'contents'}) {
+      foreach my $arg (@{$argument->{'contents'}}) {
+        next if ($arg->{'info'} and $arg->{'info'}->{'inserted'});
+        if ($with_commas) {
+          $result .= ',' if ($arg_nr);
+          $arg_nr++;
+        }
+        $result .= _convert_to_texinfo($arg);
+      }
+    }
   } else {
     $result .= $cmd->{'info'}->{'spaces_before_argument'}->{'text'}
       if $cmd->{'info'} and $cmd->{'info'}->{'spaces_before_argument'};
diff --git a/tp/Texinfo/Convert/TexinfoMarkup.pm 
b/tp/Texinfo/Convert/TexinfoMarkup.pm
index 2de1d0d2ac..bf4d0cee5b 100644
--- a/tp/Texinfo/Convert/TexinfoMarkup.pm
+++ b/tp/Texinfo/Convert/TexinfoMarkup.pm
@@ -464,12 +464,19 @@ sub _end_line_spaces
   my $element = shift;
 
   my $end_spaces = '';
-  if ($element->{'args'}->[-1]
-      and $element->{'args'}->[-1]->{'info'}
-      and $element->{'args'}->[-1]->{'info'}->{'spaces_after_argument'}) {
+  my $arguments_list;
+  if ($element->{'args'}) {
+    $arguments_list = $element->{'args'};
+  } elsif ($element->{'contents'} and scalar(@{$element->{'contents'}})
+           and $element->{'contents'}->[0]->{'contents'}) {
+    $arguments_list = $element->{'contents'}->[0]->{'contents'};
+  }
+  if ($arguments_list->[-1]
+      and $arguments_list->[-1]->{'info'}
+      and $arguments_list->[-1]->{'info'}->{'spaces_after_argument'}) {
     # spaces and form feeds only, protection is needed for form feeds
     my $spaces
-      = 
$element->{'args'}->[-1]->{'info'}->{'spaces_after_argument'}->{'text'};
+      = $arguments_list->[-1]->{'info'}->{'spaces_after_argument'}->{'text'};
     chomp $spaces;
     $end_spaces = $self->txi_markup_protect_text($spaces);
   }
@@ -561,7 +568,14 @@ sub _convert_argument_and_end_line($$)
   my $self = shift;
   my $element = shift;
 
-  my $converted = $self->convert_tree($element->{'args'}->[-1]);
+  my $arguments_list;
+  if ($element->{'args'}) {
+    $arguments_list = $element->{'args'};
+  } elsif ($element->{'contents'} and scalar(@{$element->{'contents'}})
+           and $element->{'contents'}->[0]->{'contents'}) {
+    $arguments_list = $element->{'contents'}->[0]->{'contents'};
+  }
+  my $converted = $self->convert_tree($arguments_list->[-1]);
   my $end_space = _end_line_spaces($self, $element);
   my $end_line = $self->format_comment_or_return_end_line($element);
   return ($converted, $end_space, $end_line);
@@ -1416,13 +1430,20 @@ sub _convert($$;$)
                                    [@$attribute, _leading_spaces_arg($element),
                                     @end_command_spaces])
                    .${prepended_elements};
+        my $arguments_list;
         if ($element->{'args'}) {
+          $arguments_list = $element->{'args'};
+        } elsif ($element->{'contents'} and scalar(@{$element->{'contents'}})
+                 and $element->{'contents'}->[0]->{'contents'}) {
+          $arguments_list = $element->{'contents'}->[0]->{'contents'};
+        }
+        if ($arguments_list) {
           my $variadic_element = undef;
           my $last_empty_element;
           my $end_line = '';
           if ($commands_args_elements{$element->{'cmdname'}}) {
             my $arg_index = 0;
-            foreach my $arg_element (@{$element->{'args'}}) {
+            foreach my $arg_element (@{$arguments_list}) {
               my $format_element;
               if (defined($variadic_element)) {
                 $format_element = $variadic_element;
@@ -1460,7 +1481,7 @@ sub _convert($$;$)
                 if ($arg_index != 0) {
                   push @$spaces, _leading_spaces_arg($arg_element);
                 }
-                if ($arg_index+1 eq scalar(@{$element->{'args'}})) {
+                if ($arg_index+1 eq scalar(@{$arguments_list})) {
                   # last argument
                   ($arg, $end_space, $end_line)
                     = $self->_convert_argument_and_end_line($element);
diff --git a/tp/Texinfo/Convert/Text.pm b/tp/Texinfo/Convert/Text.pm
index 063354c934..ad37e80ac9 100644
--- a/tp/Texinfo/Convert/Text.pm
+++ b/tp/Texinfo/Convert/Text.pm
@@ -130,7 +130,7 @@ foreach my $command (keys(%def_commands)) {
 
 my %ignored_types;
 foreach my $type ('postamble_after_end',
-            'preamble_before_beginning') {
+            'preamble_before_beginning', 'argument') {
   $ignored_types{$type} = 1;
 }
 
@@ -697,6 +697,18 @@ sub _convert($$)
         $result =~ s/, $//;
         chomp ($result);
         $result .= "\n" if ($result =~ /\S/);
+      } elsif ($element->{'contents'} and scalar(@{$element->{'contents'}})
+               and $element->{'contents'}->[0]->{'contents'}) {
+        my $argument = $element->{'contents'}->[0];
+        foreach my $arg (@{$argument->{'contents'}}) {
+          my $converted_arg = _convert($options, $arg);
+          if ($converted_arg =~ /\S/) {
+            $result .= $converted_arg.", ";
+          }
+        }
+        $result =~ s/, $//;
+        chomp ($result);
+        $result .= "\n" if ($result =~ /\S/);
       }
     } elsif ($formatted_line_commands{$data_cmdname}
              and $element->{'args'}) {
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 05db7c2bde..bf89d0fe2f 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -3590,11 +3590,21 @@ sub _parse_float_type($)
 {
   my $current = shift;
 
+  my $arguments_list;
+  if ($current->{'args'}) {
+    # listoffloats
+    $arguments_list = $current->{'args'};
+  } elsif ($current->{'contents'} and scalar(@{$current->{'contents'}})
+           and $current->{'contents'}->[0]->{'contents'}) {
+    # float
+    $arguments_list = $current->{'contents'}->[0]->{'contents'};
+  }
+
   my $normalized = '';
-  if ($current->{'args'} and scalar(@{$current->{'args'}})) {
+  if ($arguments_list and scalar(@{$arguments_list})) {
     $normalized
        = Texinfo::Convert::NodeNameNormalization::convert_to_normalized(
-                                                  $current->{'args'}->[0]);
+                                                       $arguments_list->[0]);
   }
   $current->{'extra'} = {} if (!$current->{'extra'});
   $current->{'extra'}->{'float_type'} = $normalized;
@@ -4171,7 +4181,12 @@ sub _end_line_starting_block($$$)
         and $current->{'parent'}->{'extra'}->{'def_command'}) {
     $command = $current->{'parent'}->{'parent'}->{'cmdname'}
   } else {
-    $command = $current->{'parent'}->{'cmdname'};
+    if ($current->{'parent'}->{'cmdname'}) {
+      $command = $current->{'parent'}->{'cmdname'};
+    } elsif ($current->{'parent'}->{'parent'}
+             and $current->{'parent'}->{'parent'}->{'cmdname'}) {
+      $command = $current->{'parent'}->{'parent'}->{'cmdname'};
+    }
   }
   $command = '' if !defined($command);
 
@@ -4242,13 +4257,16 @@ sub _end_line_starting_block($$$)
     }
   }
   $current = $current->{'parent'};
+  if ($current->{'type'} and $current->{'type'} eq 'argument') {
+    $current = $current->{'parent'};
+  }
   delete $current->{'remaining_args'};
 
   # @float args
   if ($command eq 'float') {
     my $float_label_element;
-    $float_label_element = $current->{'args'}->[1]
-      if ($current->{'args'} and scalar(@{$current->{'args'}}) >= 2);
+    $float_label_element = $current->{'contents'}->[0]->{'contents'}->[1]
+      if (scalar(@{$current->{'contents'}->[0]->{'contents'}} >= 2));
     _check_register_target_element_label($self, $float_label_element,
                                          $current, $source_info);
 
@@ -6168,11 +6186,22 @@ sub _handle_block_command($$$$$)
   push @{$current->{'contents'}}, $block;
 
   # bla = block line argument
-  my $bla_element = {
+  my $bla_element;
+
+  if ($command eq 'float') {
+    my $argument = {'type' => 'argument', 'parent' => $block_line_e};
+    $block_line_e->{'contents'} = [$argument];
+    $bla_element = {
+                 'type' => 'block_line_arg',
+                 'parent' => $argument};
+    $argument->{'contents'} = [$bla_element];
+  } else {
+    $bla_element = {
                  'type' => 'block_line_arg',
                  'parent' => $block_line_e};
 
-  $block_line_e->{'args'} = [$bla_element];
+    $block_line_e->{'args'} = [$bla_element];
+  }
 
   if ($self->{'basic_inline_commands'}->{$command}) {
     push @{$self->{'nesting_context'}->{'basic_inline_stack_block'}},
@@ -6676,7 +6705,13 @@ sub _handle_comma($$$$)
   #                          and $type ne 'brace_arg'
   #                          and $type ne 'block_line_arg'
   #                          and $type ne 'line_arg');
-  my $command_element = $current->{'parent'};
+  my $command_element;
+  my $argument = $current->{'parent'};
+  if ($argument->{'type'} and $argument->{'type'} eq 'argument') {
+    $command_element = $argument->{'parent'};
+  } else {
+    $command_element = $current->{'parent'};
+  }
 
   $command_element->{'remaining_args'}--;
 
@@ -6822,12 +6857,13 @@ sub _handle_comma($$$$)
       # goto funexit;  # used in XS code
     }
   }
-  my $new_arg = {'type' => $type, 'parent' => $command_element,
+  my $new_arg = {'type' => $type, 'parent' => $argument,
                  'contents' => []};
-  if ($brace_commands{$command_element->{'cmdname'}}) {
-    push @{$command_element->{'contents'}}, $new_arg;
+  if ($brace_commands{$command_element->{'cmdname'}}
+      or $argument ne $command_element) {
+    push @{$argument->{'contents'}}, $new_arg;
   } else {
-    push @{$command_element->{'args'}}, $new_arg;
+    push @{$argument->{'args'}}, $new_arg;
   }
   # internal_spaces_before_argument is a transient internal type,
   # which should end up in info spaces_before_argument.
@@ -7575,9 +7611,11 @@ sub _process_remaining_on_line($$$$)
     $current = _handle_close_brace($self, $current, $source_info);
 
   } elsif ($comma) {
-    substr($line, 0, 1) = '';
-    if ($current->{'parent'}
-        and $current->{'parent'}->{'remaining_args'}) {
+    substr ($line, 0, 1) = '';
+    if (($current->{'parent'}
+         and $current->{'parent'}->{'remaining_args'})
+        or ($current->{'parent'} and $current->{'parent'}->{'parent'}
+            and $current->{'parent'}->{'parent'}->{'remaining_args'})) {
       ($current, $line, $source_info)
          = _handle_comma($self, $current, $line, $source_info);
     } elsif ($current->{'type'}
diff --git a/tp/Texinfo/XS/convert/converter.c 
b/tp/Texinfo/XS/convert/converter.c
index 3613755303..03fb642cac 100644
--- a/tp/Texinfo/XS/convert/converter.c
+++ b/tp/Texinfo/XS/convert/converter.c
@@ -1124,7 +1124,7 @@ float_type_number (CONVERTER *self, const ELEMENT 
*float_e)
   char *float_number = lookup_extra_string (float_e, AI_key_float_number);
 
   if (float_type && strlen (float_type))
-    type_element = float_e->e.c->args.list[0];
+    type_element = float_e->e.c->contents.list[0]->e.c->contents.list[0];
 
   if (float_number)
     {
@@ -1172,7 +1172,7 @@ float_name_caption (CONVERTER *self, const ELEMENT 
*float_e)
     caption_element = lookup_extra_element (float_e, AI_key_shortcaption);
 
   if (float_type && strlen (float_type))
-    type_element = float_e->e.c->args.list[0];
+    type_element = float_e->e.c->contents.list[0]->e.c->contents.list[0];
 
   if (float_number)
     {
diff --git a/tp/Texinfo/XS/convert/html_prepare_converter.c 
b/tp/Texinfo/XS/convert/html_prepare_converter.c
index cef4a077c2..978776b7c8 100644
--- a/tp/Texinfo/XS/convert/html_prepare_converter.c
+++ b/tp/Texinfo/XS/convert/html_prepare_converter.c
@@ -187,7 +187,8 @@ static enum element_type ignored_types[] = {
     ET_preamble_before_setfilename,
     ET_spaces_at_end,
     ET_spaces_before_paragraph,
-    ET_spaces_after_close_brace, 0
+    ET_spaces_after_close_brace,
+    ET_argument, 0
 };
 
 HTML_COMMAND_STRUCT html_commands_data[BUILTIN_CMD_NUMBER];
diff --git a/tp/Texinfo/XS/main/convert_to_texinfo.c 
b/tp/Texinfo/XS/main/convert_to_texinfo.c
index 5cba28cedd..176071b757 100644
--- a/tp/Texinfo/XS/main/convert_to_texinfo.c
+++ b/tp/Texinfo/XS/main/convert_to_texinfo.c
@@ -154,6 +154,38 @@ expand_cmd_args_to_texi (const ELEMENT *e, TEXT *result)
       if (braces)
         ADD("}");
     }
+  else if (e->e.c->contents.number > 0
+           && e->e.c->contents.list[0]->type == ET_argument)
+    {
+      size_t i, arg_nr;
+      int with_commas = 0;
+      ELEMENT *argument = e->e.c->contents.list[0];
+
+      if (spc_before_arg)
+        ADD((char *)spc_before_arg->e.text->text);
+
+      if ((builtin_command_data[cmd].flags & CF_block
+           && ! (builtin_command_data[cmd].flags & CF_def
+                 || cmd == CM_multitable))
+          || cmd == CM_node)
+        with_commas = 1;
+
+      arg_nr = 0;
+      for (i = 0; i < argument->e.c->contents.number; i++)
+        {
+          ELEMENT *arg = argument->e.c->contents.list[i];
+          if (arg->flags & EF_inserted)
+            continue;
+
+          if (with_commas)
+            {
+              if (arg_nr)
+                ADD(",");
+              arg_nr++;
+            }
+          convert_to_texinfo_internal (arg, result);
+        }
+    }
   else
     {
       if (spc_before_arg)
diff --git a/tp/Texinfo/XS/main/convert_to_text.c 
b/tp/Texinfo/XS/main/convert_to_text.c
index 214daba296..d78912f0b9 100644
--- a/tp/Texinfo/XS/main/convert_to_text.c
+++ b/tp/Texinfo/XS/main/convert_to_text.c
@@ -624,7 +624,8 @@ convert_to_text_internal (const ELEMENT *element, 
TEXT_OPTIONS *text_options,
       || data_cmd == CM_seeentry
       || data_cmd == CM_seealso
       || element->type == ET_postamble_after_end
-      || element->type == ET_preamble_before_beginning)
+      || element->type == ET_preamble_before_beginning
+      || element->type == ET_argument)
     return;
 
   if (data_cmd
@@ -897,6 +898,50 @@ convert_to_text_internal (const ELEMENT *element, 
TEXT_OPTIONS *text_options,
                       && args_line.text[args_line.end - 1] == '\n')
                   args_line.text[--args_line.end] = '\0';
 
+                  spaces_nr = strspn (args_line.text, whitespace_chars);
+                  if (args_line.text[spaces_nr] != '\0')
+                    text_append (&args_line, "\n");
+                  ADD(args_line.text);
+                  free (args_line.text);
+                }
+            }
+          else if (element->e.c->contents.number > 0
+                   /* FIXME useful? */
+                   && element->e.c->contents.list[0]->type == ET_argument
+                   && element->e.c->contents.list[0]->e.c->contents.number > 0)
+            {
+              size_t i;
+              TEXT args_line;
+              ELEMENT *argument = element->e.c->contents.list[0];
+
+              text_init (&args_line);
+              for (i = 0; i < argument->e.c->contents.number; i++)
+                {
+                  const ELEMENT *arg = argument->e.c->contents.list[i];
+                  TEXT converted_arg;
+                  text_init (&converted_arg);
+                  convert_to_text_internal (arg, text_options, &converted_arg);
+                  if (converted_arg.end > 0)
+                    {
+                      int spaces_nr
+                        = strspn (converted_arg.text, whitespace_chars);
+                      if (converted_arg.text[spaces_nr])
+                        {
+                          if (args_line.end > 0 && i > 0)
+                            text_append (&args_line, ", ");
+                          text_append (&args_line, converted_arg.text);
+                        }
+                      free (converted_arg.text);
+                    }
+                }
+              /* remain 0, args_line.space 0 if all args are empty */
+              if (args_line.text)
+                {
+                  size_t spaces_nr;
+                  if (args_line.end > 0
+                      && args_line.text[args_line.end - 1] == '\n')
+                  args_line.text[--args_line.end] = '\0';
+
                   spaces_nr = strspn (args_line.text, whitespace_chars);
                   if (args_line.text[spaces_nr] != '\0')
                     text_append (&args_line, "\n");
diff --git a/tp/Texinfo/XS/main/floats.c b/tp/Texinfo/XS/main/floats.c
index ad74677cb5..dd1fd3d6d5 100644
--- a/tp/Texinfo/XS/main/floats.c
+++ b/tp/Texinfo/XS/main/floats.c
@@ -27,7 +27,17 @@ parse_float_type (ELEMENT *current)
 {
   char *normalized;
   if (current->e.c->args.number > 0)
+    /* listoffloats */
     normalized = convert_to_normalized (current->e.c->args.list[0]);
+  else if (current->e.c->contents.number > 0
+           /* FIXME useful? */
+           && current->e.c->contents.list[0]->type == ET_argument
+           && current->e.c->contents.list[0]->e.c->contents.number > 0)
+    {
+      /* float */
+      normalized = convert_to_normalized (
+        current->e.c->contents.list[0]->e.c->contents.list[0]);
+    }
   else
     normalized = strdup ("");
   add_extra_string (current, AI_key_float_type, normalized);
diff --git a/tp/Texinfo/XS/main/utils.c b/tp/Texinfo/XS/main/utils.c
index b226f44c5f..e37ef7e587 100644
--- a/tp/Texinfo/XS/main/utils.c
+++ b/tp/Texinfo/XS/main/utils.c
@@ -658,8 +658,9 @@ get_label_element (const ELEMENT *e)
     return e->e.c->args.list[0];
   else if (e->e.c->cmd == CM_anchor && e->e.c->contents.number > 0)
     return e->e.c->contents.list[0];
-  else if (e->e.c->cmd == CM_float && e->e.c->args.number >= 2)
-    return e->e.c->args.list[1];
+  else if (e->e.c->cmd == CM_float && e->e.c->contents.number
+           && e->e.c->contents.list[0]->e.c->contents.number >= 2 )
+    return e->e.c->contents.list[0]->e.c->contents.list[1];
   return 0;
 }
 
diff --git a/tp/Texinfo/XS/parsetexi/end_line.c 
b/tp/Texinfo/XS/parsetexi/end_line.c
index f649d28c15..66d4c707fa 100644
--- a/tp/Texinfo/XS/parsetexi/end_line.c
+++ b/tp/Texinfo/XS/parsetexi/end_line.c
@@ -792,8 +792,10 @@ end_line_starting_block (ELEMENT *current)
 
   if (current->parent->flags & EF_def_line)
     command = current->parent->parent->e.c->cmd;
-  else
+  else if (current->parent->e.c->cmd)
     command = current->parent->e.c->cmd;
+  else if (current->parent->parent && current->parent->parent->e.c->cmd)
+    command = current->parent->parent->e.c->cmd;
 
   if (command_data(command).flags & CF_contain_basic_inline)
       (void) pop_command (&nesting_context.basic_inline_stack_block);
@@ -876,6 +878,8 @@ end_line_starting_block (ELEMENT *current)
     }
 
   current = current->parent;
+  if (current->type == ET_argument)
+    current = current->parent;
   if (counter_value (&count_remaining_args, current) != -1)
     counter_pop (&count_remaining_args);
 
@@ -884,9 +888,10 @@ end_line_starting_block (ELEMENT *current)
       char *float_type;
       ELEMENT *float_label_element = 0;
       current->e.c->source_info = current_source_info;
-      if (current->e.c->args.number >= 2)
+      if (current->e.c->contents.list[0]->e.c->contents.number >= 2)
         {
-          float_label_element = args_child_by_index (current, 1);
+          float_label_element
+            = contents_child_by_index (current->e.c->contents.list[0], 1);
         }
       check_register_target_element_label (float_label_element, current);
       float_type = parse_float_type (current);
diff --git a/tp/Texinfo/XS/parsetexi/handle_commands.c 
b/tp/Texinfo/XS/parsetexi/handle_commands.c
index 2eb4938f8c..954607a6b6 100644
--- a/tp/Texinfo/XS/parsetexi/handle_commands.c
+++ b/tp/Texinfo/XS/parsetexi/handle_commands.c
@@ -1010,7 +1010,7 @@ handle_block_command (ELEMENT *current, const char 
**line_inout,
   const char *line = *line_inout;
   unsigned long flags = command_data(cmd).flags;
   ELEMENT *block = 0;
-  ELEMENT *bla;   /* block line arg element */
+  ELEMENT *bla_element;   /* block line arg element */
   ELEMENT *block_line_e;
 
   if (command_data(cmd).data == BLOCK_menu
@@ -1151,19 +1151,28 @@ handle_block_command (ELEMENT *current, const char 
**line_inout,
   block->e.c->source_info = current_source_info;
   add_to_element_contents (current, block);
 
-  bla = new_element (ET_block_line_arg);
-  add_to_element_args (block_line_e, bla);
+  bla_element = new_element (ET_block_line_arg);
+  if (cmd == CM_float)
+    {
+      ELEMENT *argument = new_element (ET_argument);
+      add_to_element_contents (block_line_e, argument);
+      add_to_element_contents (argument, bla_element);
+    }
+  else
+    {
+      add_to_element_args (block_line_e, bla_element);
+    }
 
 
   if (command_data(cmd).flags & CF_contain_basic_inline)
     push_command (&nesting_context.basic_inline_stack_block, cmd);
 
   register_global_command (block);
-  start_empty_line_after_command (bla, &line, block);
+  start_empty_line_after_command (bla_element, &line, block);
 
   *line_inout = line;
   *command_element = block;
-  return bla;
+  return bla_element;
 }
 
 /* in that case command_element always point to the returned current
diff --git a/tp/Texinfo/XS/parsetexi/parser.c b/tp/Texinfo/XS/parsetexi/parser.c
index acd22ba4bb..52dad7666e 100644
--- a/tp/Texinfo/XS/parsetexi/parser.c
+++ b/tp/Texinfo/XS/parsetexi/parser.c
@@ -2515,7 +2515,10 @@ process_remaining_on_line (ELEMENT **current_inout, 
const char **line_inout)
     {
       line++;
       /* comma as a command argument separator */
-      if (counter_value (&count_remaining_args, current->parent) > 0)
+      if (counter_value (&count_remaining_args, current->parent) > 0
+          || (current->parent && current->parent->parent
+              && counter_value (
+                      &count_remaining_args, current->parent->parent) > 0))
         current = handle_comma (current, &line);
       else if (current->type == ET_line_arg
                && current->parent->e.c->cmd == CM_node)
diff --git a/tp/Texinfo/XS/parsetexi/separator.c 
b/tp/Texinfo/XS/parsetexi/separator.c
index 17a47a39de..c434f714c5 100644
--- a/tp/Texinfo/XS/parsetexi/separator.c
+++ b/tp/Texinfo/XS/parsetexi/separator.c
@@ -617,7 +617,7 @@ handle_comma (ELEMENT *current, const char **line_inout)
 {
   const char *line = *line_inout;
   enum element_type type;
-  ELEMENT *command_element;
+  ELEMENT *command_element, *argument;
   ELEMENT *new_arg, *spaces_before_e;
   ELEMENT *new_current;
 
@@ -626,6 +626,11 @@ handle_comma (ELEMENT *current, const char **line_inout)
 
   type = current->type;
   command_element = current->parent;
+  argument = current->parent;
+  if (argument->type == ET_argument)
+    command_element = argument->parent;
+  else
+    command_element = argument;
 
   if (counter_value (&count_remaining_args, command_element) != 
COUNTER_VARIADIC)
     counter_dec (&count_remaining_args);
@@ -817,10 +822,11 @@ handle_comma (ELEMENT *current, const char **line_inout)
     }
 
   new_arg = new_element (type);
-  if (command_flags(command_element) & CF_brace)
-    add_to_element_contents (command_element, new_arg);
+  if (command_flags(command_element) & CF_brace
+      || command_element != argument)
+    add_to_element_contents (argument, new_arg);
   else
-    add_to_element_args (command_element, new_arg);
+    add_to_element_args (argument, new_arg);
   spaces_before_e = new_text_element (ET_internal_spaces_before_argument);
   add_to_element_contents (new_arg, spaces_before_e);
   internal_space_holder = new_arg;
diff --git a/tp/t/results/converters_tests/form_feeds.pl 
b/tp/t/results/converters_tests/form_feeds.pl
index 0ae2f648bb..49551bf59c 100644
--- a/tp/t/results/converters_tests/form_feeds.pl
+++ b/tp/t/results/converters_tests/form_feeds.pl
@@ -1009,19 +1009,22 @@ $result_trees{'form_feeds'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+              'contents' => [
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -1201,40 +1204,43 @@ $result_trees{'form_feeds'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'type'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => ' '
-                }
-              },
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'type'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'fl'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => ' 
+                  'contents' => [
+                    {
+                      'text' => 'fl'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => ' 
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -1349,10 +1355,10 @@ $result_trees{'form_feeds'} = {
 
$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[22]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[22]{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[31]{'contents'}[0]{'extra'}{'element_node'}
 = $result_trees{'form_feeds'}{'contents'}[2];
 
$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[31]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'form_feeds'}{'contents'}[2];
-$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33];
-$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'contents'}[4]{'extra'}{'float'}
 = $result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33];
-$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'extra'}{'caption'} 
= $result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'contents'}[1];
-$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'extra'}{'shortcaption'}
 = $result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'contents'}[4];
+$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33];
+$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'contents'}[5]{'extra'}{'float'}
 = $result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33];
+$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'extra'}{'caption'} 
= $result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'contents'}[2];
+$result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'extra'}{'shortcaption'}
 = $result_trees{'form_feeds'}{'contents'}[2]{'contents'}[33]{'contents'}[5];
 
 $result_texis{'form_feeds'} = '@node Top
 
diff --git a/tp/t/results/converters_tests/references_to_top_no_top_output.pl 
b/tp/t/results/converters_tests/references_to_top_no_top_output.pl
index ef87402031..57c99353bc 100644
--- a/tp/t/results/converters_tests/references_to_top_no_top_output.pl
+++ b/tp/t/results/converters_tests/references_to_top_no_top_output.pl
@@ -370,35 +370,38 @@ $result_trees{'references_to_top_no_top_output'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'list'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'list'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'My Flist'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'My Flist'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -912,35 +915,38 @@ $result_trees{'references_to_top_no_top_output'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'list'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'list'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'Main Flist'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'Main Flist'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -1077,8 +1083,8 @@ $result_trees{'references_to_top_no_top_output'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[12]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[12];
-$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[12]{'extra'}{'caption'}
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[12]{'contents'}[1];
+$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[12]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[12];
+$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[12]{'extra'}{'caption'}
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[12]{'contents'}[2];
 
$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[12]{'extra'}{'float_section'}
 = $result_trees{'references_to_top_no_top_output'}{'contents'}[2];
 
$result_trees{'references_to_top_no_top_output'}{'contents'}[2]{'contents'}[14]{'extra'}{'element_node'}
 = $result_trees{'references_to_top_no_top_output'}{'contents'}[1];
 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'contents'}[0];
@@ -1088,8 +1094,8 @@ 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[1]{'
 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[1]{'contents'}[8]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[1]{'contents'}[8]{'contents'}[0]{'contents'}[0];
 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[1]{'contents'}[10]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[1]{'contents'}[10]{'contents'}[0]{'contents'}[0];
 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[3]{'extra'}{'element_node'}
 = $result_trees{'references_to_top_no_top_output'}{'contents'}[3];
-$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[7]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[7];
-$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[7]{'extra'}{'caption'}
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[7]{'contents'}[1];
+$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[7]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[7];
+$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[7]{'extra'}{'caption'}
 = 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[7]{'contents'}[2];
 
$result_trees{'references_to_top_no_top_output'}{'contents'}[4]{'contents'}[7]{'extra'}{'float_section'}
 = $result_trees{'references_to_top_no_top_output'}{'contents'}[4];
 
 $result_texis{'references_to_top_no_top_output'} = '
diff --git a/tp/t/results/converters_tests/things_before_setfilename.pl 
b/tp/t/results/converters_tests/things_before_setfilename.pl
index a40d13b5ac..204815ecaa 100644
--- a/tp/t/results/converters_tests/things_before_setfilename.pl
+++ b/tp/t/results/converters_tests/things_before_setfilename.pl
@@ -256,30 +256,33 @@ $result_trees{'things_before_setfilename'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
-                {
-                  'type' => 'block_line_arg'
-                },
+              'cmdname' => 'float',
+              'contents' => [
                 {
                   'contents' => [
                     {
-                      'text' => 'float anchor'
-                    }
-                  ],
-                  'info' => {
-                    'spaces_after_argument' => {
-                      'text' => '
-'
+                      'type' => 'block_line_arg'
                     },
-                    'spaces_before_argument' => {
-                      'text' => ' '
+                    {
+                      'contents' => [
+                        {
+                          'text' => 'float anchor'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
+'
+                        },
+                        'spaces_before_argument' => {
+                          'text' => ' '
+                        }
+                      },
+                      'type' => 'block_line_arg'
                     }
-                  },
-                  'type' => 'block_line_arg'
-                }
-              ],
-              'cmdname' => 'float',
-              'contents' => [
+                  ],
+                  'type' => 'argument'
+                },
                 {
                   'contents' => [
                     {
@@ -385,35 +388,38 @@ $result_trees{'things_before_setfilename'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'float',
+              'contents' => [
                 {
                   'contents' => [
                     {
-                      'text' => 'Text'
-                    }
-                  ],
-                  'type' => 'block_line_arg'
-                },
-                {
-                  'contents' => [
+                      'contents' => [
+                        {
+                          'text' => 'Text'
+                        }
+                      ],
+                      'type' => 'block_line_arg'
+                    },
                     {
-                      'text' => 'ta'
-                    }
-                  ],
-                  'info' => {
-                    'spaces_after_argument' => {
-                      'text' => '
+                      'contents' => [
+                        {
+                          'text' => 'ta'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
 '
-                    },
-                    'spaces_before_argument' => {
-                      'text' => ' '
+                        },
+                        'spaces_before_argument' => {
+                          'text' => ' '
+                        }
+                      },
+                      'type' => 'block_line_arg'
                     }
-                  },
-                  'type' => 'block_line_arg'
-                }
-              ],
-              'cmdname' => 'float',
-              'contents' => [
+                  ],
+                  'type' => 'argument'
+                },
                 {
                   'contents' => [
                     {
@@ -1027,8 +1033,8 @@ 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'conten
 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[0]{'contents'}[0];
 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[8]{'contents'}[0]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[8]{'contents'}[0]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0];
 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[12]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[12]{'contents'}[1]{'contents'}[0]{'contents'}[0];
-$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[14];
-$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'extra'}{'caption'}
 = 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'contents'}[2];
+$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[14];
+$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'extra'}{'caption'}
 = 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'contents'}[3];
 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[18]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename'}{'contents'}[0]{'contents'}[0]{'contents'}[18]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'things_before_setfilename'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'contents'}[0];
 
$result_trees{'things_before_setfilename'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[0];
diff --git 
a/tp/t/results/converters_tests/things_before_setfilename_no_element.pl 
b/tp/t/results/converters_tests/things_before_setfilename_no_element.pl
index 0aef3f6b90..b736074950 100644
--- a/tp/t/results/converters_tests/things_before_setfilename_no_element.pl
+++ b/tp/t/results/converters_tests/things_before_setfilename_no_element.pl
@@ -256,30 +256,33 @@ $result_trees{'things_before_setfilename_no_element'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
-                {
-                  'type' => 'block_line_arg'
-                },
+              'cmdname' => 'float',
+              'contents' => [
                 {
                   'contents' => [
                     {
-                      'text' => 'float anchor'
-                    }
-                  ],
-                  'info' => {
-                    'spaces_after_argument' => {
-                      'text' => '
-'
+                      'type' => 'block_line_arg'
                     },
-                    'spaces_before_argument' => {
-                      'text' => ' '
+                    {
+                      'contents' => [
+                        {
+                          'text' => 'float anchor'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
+'
+                        },
+                        'spaces_before_argument' => {
+                          'text' => ' '
+                        }
+                      },
+                      'type' => 'block_line_arg'
                     }
-                  },
-                  'type' => 'block_line_arg'
-                }
-              ],
-              'cmdname' => 'float',
-              'contents' => [
+                  ],
+                  'type' => 'argument'
+                },
                 {
                   'contents' => [
                     {
@@ -385,35 +388,38 @@ $result_trees{'things_before_setfilename_no_element'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'float',
+              'contents' => [
                 {
                   'contents' => [
                     {
-                      'text' => 'Text'
-                    }
-                  ],
-                  'type' => 'block_line_arg'
-                },
-                {
-                  'contents' => [
+                      'contents' => [
+                        {
+                          'text' => 'Text'
+                        }
+                      ],
+                      'type' => 'block_line_arg'
+                    },
                     {
-                      'text' => 'ta'
-                    }
-                  ],
-                  'info' => {
-                    'spaces_after_argument' => {
-                      'text' => '
+                      'contents' => [
+                        {
+                          'text' => 'ta'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
 '
-                    },
-                    'spaces_before_argument' => {
-                      'text' => ' '
+                        },
+                        'spaces_before_argument' => {
+                          'text' => ' '
+                        }
+                      },
+                      'type' => 'block_line_arg'
                     }
-                  },
-                  'type' => 'block_line_arg'
-                }
-              ],
-              'cmdname' => 'float',
-              'contents' => [
+                  ],
+                  'type' => 'argument'
+                },
                 {
                   'contents' => [
                     {
@@ -889,8 +895,8 @@ 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}
 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[6]{'contents'}[1]{'contents'}[0]{'contents'}[0];
 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[8]{'contents'}[0]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[8]{'contents'}[0]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0];
 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[12]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[12]{'contents'}[1]{'contents'}[0]{'contents'}[0];
-$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[14];
-$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'extra'}{'caption'}
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'contents'}[2];
+$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[14];
+$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'extra'}{'caption'}
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[14]{'contents'}[3];
 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[18]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[0]{'contents'}[18]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0];
 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'things_before_setfilename_no_element'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'contents'}[0]{'contents'}[0];
diff --git a/tp/t/results/coverage/block_commands.pl 
b/tp/t/results/coverage/block_commands.pl
index 72bbbdaebc..6711c5f39d 100644
--- a/tp/t/results/coverage/block_commands.pl
+++ b/tp/t/results/coverage/block_commands.pl
@@ -151,35 +151,38 @@ $result_trees{'block_commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'a float'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'a float'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'b float'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'b float'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -294,8 +297,8 @@ $result_trees{'block_commands'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'block_commands'}{'contents'}[0]{'contents'}[5];
-$result_trees{'block_commands'}{'contents'}[0]{'contents'}[5]{'extra'}{'caption'}
 = $result_trees{'block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[3];
+$result_trees{'block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[4]{'extra'}{'float'}
 = $result_trees{'block_commands'}{'contents'}[0]{'contents'}[5];
+$result_trees{'block_commands'}{'contents'}[0]{'contents'}[5]{'extra'}{'caption'}
 = $result_trees{'block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[4];
 
 $result_texis{'block_commands'} = '
 @group
diff --git a/tp/t/results/coverage/punctuation_in_line_commands.pl 
b/tp/t/results/coverage/punctuation_in_line_commands.pl
index ffce2ee6e3..0a0f2ffcfe 100644
--- a/tp/t/results/coverage/punctuation_in_line_commands.pl
+++ b/tp/t/results/coverage/punctuation_in_line_commands.pl
@@ -281,35 +281,38 @@ $result_trees{'punctuation_in_line_commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'float type! After punc'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'float type! After punc'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'float label! After punc'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'float label! After punc'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -401,35 +404,38 @@ $result_trees{'punctuation_in_line_commands'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'float type! After punc'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'float type! After punc'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'label with caption'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'label with caption'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -758,11 +764,11 @@ $result_trees{'punctuation_in_line_commands'} = {
   'type' => 'document_root'
 };
 
$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[1]{'extra'}{'command_as_argument'}
 = 
$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0];
-$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[5]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[5];
+$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[5]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[5];
 
$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[5]{'extra'}{'float_section'}
 = $result_trees{'punctuation_in_line_commands'}{'contents'}[2];
-$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[5]{'extra'}{'shortcaption'}
 = 
$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[5]{'contents'}[1];
-$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[7]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[7];
-$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[7]{'extra'}{'caption'}
 = 
$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[7]{'contents'}[1];
+$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[5]{'extra'}{'shortcaption'}
 = 
$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[5]{'contents'}[2];
+$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[7]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[7];
+$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[7]{'extra'}{'caption'}
 = 
$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[7]{'contents'}[2];
 
$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[7]{'extra'}{'float_section'}
 = $result_trees{'punctuation_in_line_commands'}{'contents'}[2];
 
$result_trees{'punctuation_in_line_commands'}{'contents'}[2]{'contents'}[11]{'extra'}{'element_node'}
 = $result_trees{'punctuation_in_line_commands'}{'contents'}[1];
 
diff --git a/tp/t/results/coverage_braces/caption_not_closed.pl 
b/tp/t/results/coverage_braces/caption_not_closed.pl
index a9a184476c..495f8ded13 100644
--- a/tp/t/results/coverage_braces/caption_not_closed.pl
+++ b/tp/t/results/coverage_braces/caption_not_closed.pl
@@ -10,24 +10,27 @@ $result_trees{'caption_not_closed'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -158,8 +161,8 @@ $result_trees{'caption_not_closed'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[0];
-$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
+$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[0];
+$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'caption_not_closed'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
 
 $result_texis{'caption_not_closed'} = '@float Text
 
diff --git a/tp/t/results/coverage_braces/test_image.pl 
b/tp/t/results/coverage_braces/test_image.pl
index 3a456b0a0c..a7804516a9 100644
--- a/tp/t/results/coverage_braces/test_image.pl
+++ b/tp/t/results/coverage_braces/test_image.pl
@@ -1617,36 +1617,36 @@ $result_trees{'test_image'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Image'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Image'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'Image with commands'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'Image with commands'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
-            {
+              ],
               'source_marks' => [
                 {
                   'counter' => 4,
@@ -1665,7 +1665,7 @@ $result_trees{'test_image'} = {
                   'status' => 'start'
                 }
               ],
-              'text' => ''
+              'type' => 'argument'
             },
             {
               'cmdname' => 'image',
diff --git a/tp/t/results/float/anchor_in_caption.pl 
b/tp/t/results/float/anchor_in_caption.pl
index 2ec595f068..48acd114d6 100644
--- a/tp/t/results/float/anchor_in_caption.pl
+++ b/tp/t/results/float/anchor_in_caption.pl
@@ -106,35 +106,38 @@ $result_trees{'anchor_in_caption'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'fl'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'fl'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'label'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'label'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -256,8 +259,8 @@ $result_trees{'anchor_in_caption'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'anchor_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'anchor_in_caption'}{'contents'}[2]{'contents'}[3];
-$result_trees{'anchor_in_caption'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'anchor_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'anchor_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'anchor_in_caption'}{'contents'}[2]{'contents'}[3];
+$result_trees{'anchor_in_caption'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'anchor_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
 
 $result_texis{'anchor_in_caption'} = '@node Top
 @node chap
diff --git a/tp/t/results/float/cindex_in_caption.pl 
b/tp/t/results/float/cindex_in_caption.pl
index fef4fcaf5a..1f6c6e9658 100644
--- a/tp/t/results/float/cindex_in_caption.pl
+++ b/tp/t/results/float/cindex_in_caption.pl
@@ -106,35 +106,38 @@ $result_trees{'cindex_in_caption'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'fl'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'fl'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'label'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'label'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -316,9 +319,9 @@ $result_trees{'cindex_in_caption'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'cindex_in_caption'}{'contents'}[2];
-$result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3];
-$result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'cindex_in_caption'}{'contents'}[2];
+$result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3];
+$result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'cindex_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
 
 $result_texis{'cindex_in_caption'} = '@node Top
 @node chap
diff --git a/tp/t/results/float/comment_space_comand_in_float.pl 
b/tp/t/results/float/comment_space_comand_in_float.pl
index 146b958bdb..914f7ca8b2 100644
--- a/tp/t/results/float/comment_space_comand_in_float.pl
+++ b/tp/t/results/float/comment_space_comand_in_float.pl
@@ -71,47 +71,50 @@ $result_trees{'comment_space_comand_in_float'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'text' => 'Text '
-                },
-                {
-                  'cmdname' => ' '
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'label '
+                  'contents' => [
+                    {
+                      'text' => 'Text '
+                    },
+                    {
+                      'cmdname' => ' '
+                    }
+                  ],
+                  'type' => 'block_line_arg'
                 },
                 {
-                  'cmdname' => ' '
-                }
-              ],
-              'info' => {
-                'comment_at_end' => {
-                  'args' => [
+                  'contents' => [
                     {
-                      'text' => ' float
-',
-                      'type' => 'rawline_arg'
+                      'text' => 'label '
+                    },
+                    {
+                      'cmdname' => ' '
                     }
                   ],
-                  'cmdname' => 'c'
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                  'info' => {
+                    'comment_at_end' => {
+                      'args' => [
+                        {
+                          'text' => ' float
+',
+                          'type' => 'rawline_arg'
+                        }
+                      ],
+                      'cmdname' => 'c'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/float/complex_float.pl 
b/tp/t/results/float/complex_float.pl
index 37d088a617..df44b0fb75 100644
--- a/tp/t/results/float/complex_float.pl
+++ b/tp/t/results/float/complex_float.pl
@@ -224,35 +224,38 @@ $result_trees{'complex_float'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'text with a lot of features'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'text with a lot of features'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -2224,35 +2227,38 @@ $result_trees{'complex_float'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'float with a lot of features and no shortcaption'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'float with a lot of features and no 
shortcaption'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -3295,25 +3301,25 @@ $result_trees{'complex_float'} = {
   'type' => 'document_root'
 };
 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[5]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[5]{'contents'}[0]{'contents'}[1]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[4]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'complex_float'}{'contents'}[1];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[7]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[7]{'args'}[0]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[10]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[10]{'args'}[0]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[12]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[12]{'contents'}[1]{'contents'}[0]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[16]{'contents'}[0]{'contents'}[7]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[16]{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[16]{'contents'}[0]{'contents'}[11]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'complex_float'}{'contents'}[1];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[16]{'contents'}[0]{'contents'}[14]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[16]{'contents'}[0]{'contents'}[14]{'args'}[0]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[16]{'contents'}[0]{'contents'}[16]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[16]{'contents'}[0]{'contents'}[16]{'contents'}[1]{'contents'}[0]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[16]{'extra'}{'float'}
 = $result_trees{'complex_float'}{'contents'}[2]{'contents'}[7];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[19]{'extra'}{'float'}
 = $result_trees{'complex_float'}{'contents'}[2]{'contents'}[7];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'extra'}{'caption'}
 = $result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[16];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[5]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'complex_float'}{'contents'}[1];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[8]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[8]{'args'}[0]{'contents'}[0];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[11]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[11]{'args'}[0]{'contents'}[0];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[13]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[13]{'contents'}[1]{'contents'}[0]{'contents'}[0];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[17]{'contents'}[0]{'contents'}[7]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[17]{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[17]{'contents'}[0]{'contents'}[11]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'complex_float'}{'contents'}[1];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[17]{'contents'}[0]{'contents'}[14]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[17]{'contents'}[0]{'contents'}[14]{'args'}[0]{'contents'}[0];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[17]{'contents'}[0]{'contents'}[16]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[17]{'contents'}[0]{'contents'}[16]{'contents'}[1]{'contents'}[0]{'contents'}[0];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[17]{'extra'}{'float'}
 = $result_trees{'complex_float'}{'contents'}[2]{'contents'}[7];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[20]{'extra'}{'float'}
 = $result_trees{'complex_float'}{'contents'}[2]{'contents'}[7];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'extra'}{'caption'}
 = $result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[17];
 
$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'extra'}{'float_section'}
 = $result_trees{'complex_float'}{'contents'}[2];
-$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'extra'}{'shortcaption'}
 = $result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[19];
-$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[4]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[8]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'complex_float'}{'contents'}[3];
-$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[11]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[11]{'args'}[0]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[16]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[16]{'contents'}[1]{'contents'}[0]{'contents'}[0];
-$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'complex_float'}{'contents'}[4]{'contents'}[1];
-$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'extra'}{'caption'}
 = $result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[3];
+$result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'extra'}{'shortcaption'}
 = $result_trees{'complex_float'}{'contents'}[2]{'contents'}[7]{'contents'}[20];
+$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[4]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[8]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'complex_float'}{'contents'}[3];
+$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[11]{'extra'}{'command_as_argument'}
 = 
$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[11]{'args'}[0]{'contents'}[0];
+$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[16]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[16]{'contents'}[1]{'contents'}[0]{'contents'}[0];
+$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'extra'}{'float'}
 = $result_trees{'complex_float'}{'contents'}[4]{'contents'}[1];
+$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'extra'}{'caption'}
 = $result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'contents'}[4];
 
$result_trees{'complex_float'}{'contents'}[4]{'contents'}[1]{'extra'}{'float_section'}
 = $result_trees{'complex_float'}{'contents'}[4];
 
$result_trees{'complex_float'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'complex_float'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
diff --git a/tp/t/results/float/empty_caption.pl 
b/tp/t/results/float/empty_caption.pl
index 1f35c949d3..578d734d4d 100644
--- a/tp/t/results/float/empty_caption.pl
+++ b/tp/t/results/float/empty_caption.pl
@@ -13,35 +13,38 @@ $result_trees{'empty_caption'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'a'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'a'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'b'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'b'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -122,30 +125,33 @@ $result_trees{'empty_caption'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'c'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'c'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -226,19 +232,22 @@ $result_trees{'empty_caption'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+              'contents' => [
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -332,14 +341,14 @@ $result_trees{'empty_caption'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[1];
-$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[1]{'extra'}{'caption'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[1]{'contents'}[1];
-$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[3]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[3];
-$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[3]{'extra'}{'shortcaption'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[3]{'contents'}[1];
-$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5];
-$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5];
-$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'extra'}{'caption'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'contents'}[3];
-$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'extra'}{'shortcaption'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'contents'}[1];
+$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[1];
+$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[1]{'extra'}{'caption'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[3]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[3];
+$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[3]{'extra'}{'shortcaption'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[3]{'contents'}[2];
+$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5];
+$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'contents'}[4]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5];
+$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'extra'}{'caption'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'contents'}[4];
+$result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'extra'}{'shortcaption'}
 = $result_trees{'empty_caption'}{'contents'}[0]{'contents'}[5]{'contents'}[2];
 
 $result_texis{'empty_caption'} = '@float a, b
 In float A, B
diff --git a/tp/t/results/float/empty_label_no_space.pl 
b/tp/t/results/float/empty_label_no_space.pl
index 9cbb6d1077..54d0ca6b5d 100644
--- a/tp/t/results/float/empty_label_no_space.pl
+++ b/tp/t/results/float/empty_label_no_space.pl
@@ -13,27 +13,30 @@ $result_trees{'empty_label_no_space'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Type'
+                  'contents' => [
+                    {
+                      'text' => 'Type'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
               ],
-              'type' => 'block_line_arg'
+              'type' => 'argument'
             },
-            {
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
-                }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
             {
               'args' => [
                 {
diff --git a/tp/t/results/float/empty_label_no_space_comment.pl 
b/tp/t/results/float/empty_label_no_space_comment.pl
index f4349a15ee..3efc80f311 100644
--- a/tp/t/results/float/empty_label_no_space_comment.pl
+++ b/tp/t/results/float/empty_label_no_space_comment.pl
@@ -13,33 +13,36 @@ $result_trees{'empty_label_no_space_comment'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Type'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'info' => {
-                'comment_at_end' => {
-                  'args' => [
+                  'contents' => [
                     {
-                      'text' => ' comment
-',
-                      'type' => 'rawline_arg'
+                      'text' => 'Type'
                     }
                   ],
-                  'cmdname' => 'c'
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'info' => {
+                    'comment_at_end' => {
+                      'args' => [
+                        {
+                          'text' => ' comment
+',
+                          'type' => 'rawline_arg'
+                        }
+                      ],
+                      'cmdname' => 'c'
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'args' => [
                 {
diff --git a/tp/t/results/float/empty_label_with_space.pl 
b/tp/t/results/float/empty_label_with_space.pl
index c53e75e719..e737e21151 100644
--- a/tp/t/results/float/empty_label_with_space.pl
+++ b/tp/t/results/float/empty_label_with_space.pl
@@ -13,27 +13,30 @@ $result_trees{'empty_label_with_space'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Type'
+                  'contents' => [
+                    {
+                      'text' => 'Type'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => ' 
+'
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
               ],
-              'type' => 'block_line_arg'
+              'type' => 'argument'
             },
-            {
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => ' 
-'
-                }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
             {
               'args' => [
                 {
diff --git a/tp/t/results/float/empty_label_with_space_comment.pl 
b/tp/t/results/float/empty_label_with_space_comment.pl
index a059883936..62927732a4 100644
--- a/tp/t/results/float/empty_label_with_space_comment.pl
+++ b/tp/t/results/float/empty_label_with_space_comment.pl
@@ -13,36 +13,39 @@ $result_trees{'empty_label_with_space_comment'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Type'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'info' => {
-                'comment_at_end' => {
-                  'args' => [
+                  'contents' => [
                     {
-                      'text' => ' comment
-',
-                      'type' => 'rawline_arg'
+                      'text' => 'Type'
                     }
                   ],
-                  'cmdname' => 'c'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'info' => {
+                    'comment_at_end' => {
+                      'args' => [
+                        {
+                          'text' => ' comment
+',
+                          'type' => 'rawline_arg'
+                        }
+                      ],
+                      'cmdname' => 'c'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'args' => [
                 {
diff --git a/tp/t/results/float/empty_listoffloats_with_floats.pl 
b/tp/t/results/float/empty_listoffloats_with_floats.pl
index 475fc8d03f..717166b063 100644
--- a/tp/t/results/float/empty_listoffloats_with_floats.pl
+++ b/tp/t/results/float/empty_listoffloats_with_floats.pl
@@ -23,30 +23,33 @@ $result_trees{'empty_listoffloats_with_floats'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'label1'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'label1'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -107,30 +110,33 @@ $result_trees{'empty_listoffloats_with_floats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'label2'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'label2'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -221,19 +227,22 @@ $result_trees{'empty_listoffloats_with_floats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+              'contents' => [
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -287,19 +296,22 @@ $result_trees{'empty_listoffloats_with_floats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+              'contents' => [
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -408,10 +420,10 @@ $result_trees{'empty_listoffloats_with_floats'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[4];
-$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[4]{'extra'}{'caption'}
 = 
$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[4]{'contents'}[1];
-$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[8]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[8];
-$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[8]{'extra'}{'caption'}
 = 
$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[8]{'contents'}[1];
+$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[4]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[4];
+$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[4]{'extra'}{'caption'}
 = 
$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[4]{'contents'}[2];
+$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[8]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[8];
+$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[8]{'extra'}{'caption'}
 = 
$result_trees{'empty_listoffloats_with_floats'}{'contents'}[0]{'contents'}[8]{'contents'}[2];
 
 $result_texis{'empty_listoffloats_with_floats'} = '
 @float , label1
diff --git a/tp/t/results/float/float_copying.pl 
b/tp/t/results/float/float_copying.pl
index d7617f2743..1a0bf81737 100644
--- a/tp/t/results/float/float_copying.pl
+++ b/tp/t/results/float/float_copying.pl
@@ -31,35 +31,38 @@ $result_trees{'float_copying'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'float',
+                  'contents' => [
                     {
                       'contents' => [
                         {
-                          'text' => 'Copyright notice'
-                        }
-                      ],
-                      'type' => 'block_line_arg'
-                    },
-                    {
-                      'contents' => [
+                          'contents' => [
+                            {
+                              'text' => 'Copyright notice'
+                            }
+                          ],
+                          'type' => 'block_line_arg'
+                        },
                         {
-                          'text' => 'public domain'
-                        }
-                      ],
-                      'info' => {
-                        'spaces_after_argument' => {
-                          'text' => '
+                          'contents' => [
+                            {
+                              'text' => 'public domain'
+                            }
+                          ],
+                          'info' => {
+                            'spaces_after_argument' => {
+                              'text' => '
 '
-                        },
-                        'spaces_before_argument' => {
-                          'text' => ' '
+                            },
+                            'spaces_before_argument' => {
+                              'text' => ' '
+                            }
+                          },
+                          'type' => 'block_line_arg'
                         }
-                      },
-                      'type' => 'block_line_arg'
-                    }
-                  ],
-                  'cmdname' => 'float',
-                  'contents' => [
+                      ],
+                      'type' => 'argument'
+                    },
                     {
                       'text' => '
 ',
@@ -882,9 +885,9 @@ $result_trees{'float_copying'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0];
-$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1];
-$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[3];
+$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0];
+$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1];
+$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[4];
 
$result_trees{'float_copying'}{'contents'}[2]{'contents'}[3]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_copying'}{'contents'}[2]{'contents'}[3]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
 $result_texis{'float_copying'} = '@copying
diff --git a/tp/t/results/float/float_in_block_commands.pl 
b/tp/t/results/float/float_in_block_commands.pl
index 45be06670e..07d011d750 100644
--- a/tp/t/results/float/float_in_block_commands.pl
+++ b/tp/t/results/float/float_in_block_commands.pl
@@ -27,35 +27,38 @@ $result_trees{'float_in_block_commands'} = {
           'cmdname' => 'example',
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'float',
+              'contents' => [
                 {
                   'contents' => [
                     {
-                      'text' => 'Text'
-                    }
-                  ],
-                  'type' => 'block_line_arg'
-                },
-                {
-                  'contents' => [
+                      'contents' => [
+                        {
+                          'text' => 'Text'
+                        }
+                      ],
+                      'type' => 'block_line_arg'
+                    },
                     {
-                      'text' => 'in example'
-                    }
-                  ],
-                  'info' => {
-                    'spaces_after_argument' => {
-                      'text' => '
+                      'contents' => [
+                        {
+                          'text' => 'in example'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
 '
-                    },
-                    'spaces_before_argument' => {
-                      'text' => ' '
+                        },
+                        'spaces_before_argument' => {
+                          'text' => ' '
+                        }
+                      },
+                      'type' => 'block_line_arg'
                     }
-                  },
-                  'type' => 'block_line_arg'
-                }
-              ],
-              'cmdname' => 'float',
-              'contents' => [
+                  ],
+                  'type' => 'argument'
+                },
                 {
                   'cmdname' => 'caption',
                   'contents' => [
@@ -194,35 +197,38 @@ $result_trees{'float_in_block_commands'} = {
           'cmdname' => 'quotation',
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'float',
+              'contents' => [
                 {
                   'contents' => [
                     {
-                      'text' => 'Text'
-                    }
-                  ],
-                  'type' => 'block_line_arg'
-                },
-                {
-                  'contents' => [
+                      'contents' => [
+                        {
+                          'text' => 'Text'
+                        }
+                      ],
+                      'type' => 'block_line_arg'
+                    },
                     {
-                      'text' => 'in quotation'
-                    }
-                  ],
-                  'info' => {
-                    'spaces_after_argument' => {
-                      'text' => '
+                      'contents' => [
+                        {
+                          'text' => 'in quotation'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
 '
-                    },
-                    'spaces_before_argument' => {
-                      'text' => ' '
+                        },
+                        'spaces_before_argument' => {
+                          'text' => ' '
+                        }
+                      },
+                      'type' => 'block_line_arg'
                     }
-                  },
-                  'type' => 'block_line_arg'
-                }
-              ],
-              'cmdname' => 'float',
-              'contents' => [
+                  ],
+                  'type' => 'argument'
+                },
                 {
                   'cmdname' => 'caption',
                   'contents' => [
@@ -353,35 +359,38 @@ $result_trees{'float_in_block_commands'} = {
           'cmdname' => 'cartouche',
           'contents' => [
             {
-              'args' => [
+              'cmdname' => 'float',
+              'contents' => [
                 {
                   'contents' => [
                     {
-                      'text' => 'Text'
-                    }
-                  ],
-                  'type' => 'block_line_arg'
-                },
-                {
-                  'contents' => [
+                      'contents' => [
+                        {
+                          'text' => 'Text'
+                        }
+                      ],
+                      'type' => 'block_line_arg'
+                    },
                     {
-                      'text' => 'in cartouche'
-                    }
-                  ],
-                  'info' => {
-                    'spaces_after_argument' => {
-                      'text' => '
+                      'contents' => [
+                        {
+                          'text' => 'in cartouche'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
 '
-                    },
-                    'spaces_before_argument' => {
-                      'text' => ' '
+                        },
+                        'spaces_before_argument' => {
+                          'text' => ' '
+                        }
+                      },
+                      'type' => 'block_line_arg'
                     }
-                  },
-                  'type' => 'block_line_arg'
-                }
-              ],
-              'cmdname' => 'float',
-              'contents' => [
+                  ],
+                  'type' => 'argument'
+                },
                 {
                   'cmdname' => 'caption',
                   'contents' => [
@@ -503,12 +512,12 @@ $result_trees{'float_in_block_commands'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'extra'}{'float'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
-$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[0];
-$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'extra'}{'float'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[0];
-$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'contents'}[0];
-$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'contents'}[0]{'extra'}{'float'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[0];
-$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'contents'}[0];
+$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1];
+$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[0];
+$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[3]{'contents'}[0]{'contents'}[1];
+$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[0];
+$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'float_in_block_commands'}{'contents'}[0]{'contents'}[5]{'contents'}[0]{'contents'}[1];
 
 $result_texis{'float_in_block_commands'} = '@example
 @float Text, in example
diff --git a/tp/t/results/float/float_type_with_tieaccent.pl 
b/tp/t/results/float/float_type_with_tieaccent.pl
index a58cb70834..1a4575b79c 100644
--- a/tp/t/results/float/float_type_with_tieaccent.pl
+++ b/tp/t/results/float/float_type_with_tieaccent.pl
@@ -13,105 +13,108 @@ $result_trees{'float_type_with_tieaccent'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'A '
-                },
-                {
-                  'cmdname' => 'tieaccent',
                   'contents' => [
                     {
+                      'text' => 'A '
+                    },
+                    {
+                      'cmdname' => 'tieaccent',
                       'contents' => [
                         {
-                          'text' => '1a'
+                          'contents' => [
+                            {
+                              'text' => '1a'
+                            }
+                          ],
+                          'type' => 'brace_container'
                         }
                       ],
-                      'type' => 'brace_container'
-                    }
-                  ],
-                  'source_info' => {
-                    'line_nr' => 1
-                  }
-                },
-                {
-                  'text' => ' '
-                },
-                {
-                  'cmdname' => 'tieaccent',
-                  'contents' => [
+                      'source_info' => {
+                        'line_nr' => 1
+                      }
+                    },
                     {
+                      'text' => ' '
+                    },
+                    {
+                      'cmdname' => 'tieaccent',
                       'contents' => [
                         {
-                          'text' => "\x{7b2c}H"
+                          'contents' => [
+                            {
+                              'text' => "\x{7b2c}H"
+                            }
+                          ],
+                          'type' => 'brace_container'
                         }
                       ],
-                      'type' => 'brace_container'
-                    }
-                  ],
-                  'source_info' => {
-                    'line_nr' => 1
-                  }
-                },
-                {
-                  'text' => ' '
-                },
-                {
-                  'cmdname' => 'tieaccent',
-                  'contents' => [
+                      'source_info' => {
+                        'line_nr' => 1
+                      }
+                    },
                     {
+                      'text' => ' '
+                    },
+                    {
+                      'cmdname' => 'tieaccent',
                       'contents' => [
                         {
-                          'cmdname' => '^',
                           'contents' => [
                             {
+                              'cmdname' => '^',
                               'contents' => [
                                 {
-                                  'text' => 'e'
+                                  'contents' => [
+                                    {
+                                      'text' => 'e'
+                                    }
+                                  ],
+                                  'type' => 'following_arg'
                                 }
                               ],
-                              'type' => 'following_arg'
+                              'source_info' => {
+                                'line_nr' => 1
+                              }
+                            },
+                            {
+                              'text' => "\x{4e00} and text"
                             }
                           ],
-                          'source_info' => {
-                            'line_nr' => 1
-                          }
-                        },
-                        {
-                          'text' => "\x{4e00} and text"
+                          'type' => 'brace_container'
                         }
                       ],
-                      'type' => 'brace_container'
+                      'source_info' => {
+                        'line_nr' => 1
+                      }
                     }
                   ],
-                  'source_info' => {
-                    'line_nr' => 1
-                  }
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'label'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'label'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/float/float_with_at_commands.pl 
b/tp/t/results/float/float_with_at_commands.pl
index 477d5573bf..0af93199c8 100644
--- a/tp/t/results/float/float_with_at_commands.pl
+++ b/tp/t/results/float/float_with_at_commands.pl
@@ -13,92 +13,95 @@ $result_trees{'float_with_at_commands'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'entr'
-                },
-                {
-                  'cmdname' => '\'',
                   'contents' => [
                     {
+                      'text' => 'entr'
+                    },
+                    {
+                      'cmdname' => '\'',
                       'contents' => [
                         {
-                          'text' => 'e'
+                          'contents' => [
+                            {
+                              'text' => 'e'
+                            }
+                          ],
+                          'type' => 'following_arg'
                         }
                       ],
-                      'type' => 'following_arg'
+                      'source_info' => {
+                        'line_nr' => 1
+                      }
+                    },
+                    {
+                      'text' => 'e'
                     }
                   ],
-                  'source_info' => {
-                    'line_nr' => 1
-                  }
+                  'type' => 'block_line_arg'
                 },
                 {
-                  'text' => 'e'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
-                {
-                  'text' => 'premi'
-                },
-                {
-                  'cmdname' => '`',
                   'contents' => [
                     {
+                      'text' => 'premi'
+                    },
+                    {
+                      'cmdname' => '`',
                       'contents' => [
                         {
-                          'text' => 'e'
+                          'contents' => [
+                            {
+                              'text' => 'e'
+                            }
+                          ],
+                          'type' => 'following_arg'
                         }
                       ],
-                      'type' => 'following_arg'
-                    }
-                  ],
-                  'source_info' => {
-                    'line_nr' => 1
-                  }
-                },
-                {
-                  'text' => 're entr'
-                },
-                {
-                  'cmdname' => '\'',
-                  'contents' => [
+                      'source_info' => {
+                        'line_nr' => 1
+                      }
+                    },
+                    {
+                      'text' => 're entr'
+                    },
                     {
+                      'cmdname' => '\'',
                       'contents' => [
                         {
-                          'text' => 'e'
+                          'contents' => [
+                            {
+                              'text' => 'e'
+                            }
+                          ],
+                          'type' => 'following_arg'
                         }
                       ],
-                      'type' => 'following_arg'
+                      'source_info' => {
+                        'line_nr' => 1
+                      }
+                    },
+                    {
+                      'text' => 'e'
                     }
                   ],
-                  'source_info' => {
-                    'line_nr' => 1
-                  }
-                },
-                {
-                  'text' => 'e'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -334,8 +337,8 @@ $result_trees{'float_with_at_commands'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'float_with_at_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'float_with_at_commands'}{'contents'}[0]{'contents'}[1];
-$result_trees{'float_with_at_commands'}{'contents'}[0]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_with_at_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'float_with_at_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'float_with_at_commands'}{'contents'}[0]{'contents'}[1];
+$result_trees{'float_with_at_commands'}{'contents'}[0]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_with_at_commands'}{'contents'}[0]{'contents'}[1]{'contents'}[3];
 
 $result_texis{'float_with_at_commands'} = '@float entr@\'ee, premi@`ere 
entr@\'ee
 
diff --git a/tp/t/results/float/footnote_in_caption.pl 
b/tp/t/results/float/footnote_in_caption.pl
index e95ef4f498..190fc6db7e 100644
--- a/tp/t/results/float/footnote_in_caption.pl
+++ b/tp/t/results/float/footnote_in_caption.pl
@@ -106,35 +106,38 @@ $result_trees{'footnote_in_caption'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'fl'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'fl'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'label'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'label'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -258,8 +261,8 @@ $result_trees{'footnote_in_caption'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'footnote_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'footnote_in_caption'}{'contents'}[2]{'contents'}[3];
-$result_trees{'footnote_in_caption'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'footnote_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'footnote_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'footnote_in_caption'}{'contents'}[2]{'contents'}[3];
+$result_trees{'footnote_in_caption'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'footnote_in_caption'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
 
 $result_texis{'footnote_in_caption'} = '@node Top
 @node chap
diff --git a/tp/t/results/float/footnote_in_caption_and_error.pl 
b/tp/t/results/float/footnote_in_caption_and_error.pl
index f37f5fa0bf..7747fdb78f 100644
--- a/tp/t/results/float/footnote_in_caption_and_error.pl
+++ b/tp/t/results/float/footnote_in_caption_and_error.pl
@@ -106,35 +106,38 @@ $result_trees{'footnote_in_caption_and_error'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'fl'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'fl'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'label'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'label'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -264,8 +267,8 @@ $result_trees{'footnote_in_caption_and_error'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'footnote_in_caption_and_error'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'footnote_in_caption_and_error'}{'contents'}[2]{'contents'}[3];
-$result_trees{'footnote_in_caption_and_error'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'footnote_in_caption_and_error'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'footnote_in_caption_and_error'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'footnote_in_caption_and_error'}{'contents'}[2]{'contents'}[3];
+$result_trees{'footnote_in_caption_and_error'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'footnote_in_caption_and_error'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
 
 $result_texis{'footnote_in_caption_and_error'} = '@node Top
 @node chap
diff --git a/tp/t/results/float/multiple_spaces_in_float_type.pl 
b/tp/t/results/float/multiple_spaces_in_float_type.pl
index 0b0e122fce..cbe33b6356 100644
--- a/tp/t/results/float/multiple_spaces_in_float_type.pl
+++ b/tp/t/results/float/multiple_spaces_in_float_type.pl
@@ -13,35 +13,38 @@ $result_trees{'multiple_spaces_in_float_type'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Type  of    Float'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Type  of    Float'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'myfloat'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'myfloat'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/float/numbering_captions_listoffloats.pl 
b/tp/t/results/float/numbering_captions_listoffloats.pl
index fd300012bf..77c7eb0b6e 100644
--- a/tp/t/results/float/numbering_captions_listoffloats.pl
+++ b/tp/t/results/float/numbering_captions_listoffloats.pl
@@ -71,35 +71,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'text with a lot of features'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'text with a lot of features'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -244,24 +247,27 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -386,27 +392,30 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'label but no type'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => 'label but no type'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -538,27 +547,30 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'label but no type and no caption'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => 'label but no type and no caption'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -630,19 +642,22 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+              'contents' => [
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -702,19 +717,22 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+              'contents' => [
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -829,27 +847,30 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'label but no type 2'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => 'label but no type 2'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -976,35 +997,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Warning'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Warning'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'warning in top'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'warning in top'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -1481,35 +1505,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'text in chapter'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'text in chapter'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -1606,35 +1633,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'float with a lot of features and no shortcaption'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'float with a lot of features and no 
shortcaption'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'cmdname' => 'caption',
               'contents' => [
@@ -1733,73 +1763,76 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'th'
-                },
-                {
-                  'cmdname' => '\'',
                   'contents' => [
                     {
+                      'text' => 'th'
+                    },
+                    {
+                      'cmdname' => '\'',
                       'contents' => [
                         {
-                          'text' => 'e'
+                          'contents' => [
+                            {
+                              'text' => 'e'
+                            }
+                          ],
+                          'type' => 'following_arg'
                         }
                       ],
-                      'type' => 'following_arg'
-                    }
-                  ],
-                  'source_info' => {
-                    'line_nr' => 77
-                  }
-                },
-                {
-                  'text' => 'or'
-                },
-                {
-                  'cmdname' => '`',
-                  'contents' => [
+                      'source_info' => {
+                        'line_nr' => 77
+                      }
+                    },
+                    {
+                      'text' => 'or'
+                    },
                     {
+                      'cmdname' => '`',
                       'contents' => [
                         {
-                          'text' => 'e'
+                          'contents' => [
+                            {
+                              'text' => 'e'
+                            }
+                          ],
+                          'type' => 'following_arg'
                         }
                       ],
-                      'type' => 'following_arg'
+                      'source_info' => {
+                        'line_nr' => 77
+                      }
+                    },
+                    {
+                      'text' => 'me'
                     }
                   ],
-                  'source_info' => {
-                    'line_nr' => 77
-                  }
+                  'type' => 'block_line_arg'
                 },
                 {
-                  'text' => 'me'
+                  'contents' => [
+                    {
+                      'text' => 'theoreme'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
               ],
-              'type' => 'block_line_arg'
+              'type' => 'argument'
             },
-            {
-              'contents' => [
-                {
-                  'text' => 'theoreme'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
-                }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
             {
               'contents' => [
                 {
@@ -1972,27 +2005,30 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'label but no type in chapter'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => 'label but no type in chapter'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -2119,35 +2155,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Warning'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Warning'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'warning in chapter'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'warning in chapter'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -2442,35 +2481,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'text in section'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'text in section'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -2705,35 +2747,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => 'unnumbered float'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
               ],
-              'type' => 'block_line_arg'
+              'type' => 'argument'
             },
-            {
-              'contents' => [
-                {
-                  'text' => 'unnumbered float'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
-                }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
             {
               'contents' => [
                 {
@@ -2850,27 +2895,30 @@ $result_trees{'numbering_captions_listoffloats'} = {
           }
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'label but no type in unnumbered'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => 'label but no type in unnumbered'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -3073,35 +3121,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'Section within unnumbered float'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'Section within unnumbered float'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -3384,35 +3435,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           }
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'Chapter with subsec float'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'Chapter with subsec float'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -3602,35 +3656,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'unnumbered sec float'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'unnumbered sec float'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -3752,27 +3809,30 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'label but no type in unnumbered subsec in chapter'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'contents' => [
+                    {
+                      'text' => 'label but no type in unnumbered subsec in 
chapter'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -3965,35 +4025,38 @@ $result_trees{'numbering_captions_listoffloats'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'appendix sec float'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'appendix sec float'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -4701,101 +4764,101 @@ $result_trees{'numbering_captions_listoffloats'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'contents'}[2];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'contents'}[3];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[1]{'contents'}[4];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'contents'}[5]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[3]{'contents'}[5];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'contents'}[5]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'contents'}[4];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[5]{'contents'}[5];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[8]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[2];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[11]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'contents'}[2];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'contents'}[3];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[13]{'contents'}[4];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'contents'}[5]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[15]{'contents'}[5];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'contents'}[5]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'contents'}[4];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[17]{'contents'}[5];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[1]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[1]{'contents'}[1]{'contents'}[0];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[2]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[2]{'contents'}[1]{'contents'}[0];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[3]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[3]{'contents'}[1]{'contents'}[0];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[4]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[2]{'contents'}[19]{'contents'}[4]{'contents'}[1]{'contents'}[0];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[1]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[1]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[1]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[3];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[3]{'contents'}[0];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[3]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[3]{'contents'}[1];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[3]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[5]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[5];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[5]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[5]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[5]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[5];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[5]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[5]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[5]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'contents'}[5]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[7]{'contents'}[5];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'contents'}[5]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'contents'}[4];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[9]{'contents'}[5];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[11]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[4]{'contents'}[11]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[6]{'contents'}[1]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[6];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'contents'}[4];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[8];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[2]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'contents'}[5]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[8];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[8]{'contents'}[3]{'contents'}[5];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'contents'}[4];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[10];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[10]{'contents'}[2]{'contents'}[2];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'contents'}[4];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[12];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[12]{'contents'}[2]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'contents'}[4];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[14];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[1]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'contents'}[5]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[14];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'contents'}[4];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'contents'}[4];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[14]{'contents'}[3]{'contents'}[5];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'contents'}[5]{'extra'}{'float'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'contents'}[5];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'extra'}{'float_section'}
 = $result_trees{'numbering_captions_listoffloats'}{'contents'}[16];
-$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'contents'}[2];
+$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'extra'}{'shortcaption'}
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[16]{'contents'}[1]{'contents'}[3];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[18]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[18]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'contents'}[0];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[18]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[18]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0];
 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[18]{'contents'}[1]{'contents'}[6]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'numbering_captions_listoffloats'}{'contents'}[18]{'contents'}[1]{'contents'}[6]{'contents'}[0]{'contents'}[0];
diff --git a/tp/t/results/float/ref_to_float.pl 
b/tp/t/results/float/ref_to_float.pl
index 98ccc494c9..cb69cfdb76 100644
--- a/tp/t/results/float/ref_to_float.pl
+++ b/tp/t/results/float/ref_to_float.pl
@@ -13,35 +13,38 @@ $result_trees{'ref_to_float'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'Label1'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'Label1'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -102,30 +105,33 @@ $result_trees{'ref_to_float'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Label2'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'Label2'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/float/simple.pl b/tp/t/results/float/simple.pl
index 9a0b5bd7fe..7dbbdeaffc 100644
--- a/tp/t/results/float/simple.pl
+++ b/tp/t/results/float/simple.pl
@@ -13,35 +13,38 @@ $result_trees{'simple'} = {
           'type' => 'preamble_before_content'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Type'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Type'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'Label'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'Label'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -131,8 +134,8 @@ $result_trees{'simple'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'simple'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'simple'}{'contents'}[0]{'contents'}[1];
-$result_trees{'simple'}{'contents'}[0]{'contents'}[1]{'extra'}{'caption'} = 
$result_trees{'simple'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
+$result_trees{'simple'}{'contents'}[0]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'simple'}{'contents'}[0]{'contents'}[1];
+$result_trees{'simple'}{'contents'}[0]{'contents'}[1]{'extra'}{'caption'} = 
$result_trees{'simple'}{'contents'}[0]{'contents'}[1]{'contents'}[3];
 
 $result_texis{'simple'} = '@float Type, Label
 
diff --git a/tp/t/results/float/special_characters_in_float_type.pl 
b/tp/t/results/float/special_characters_in_float_type.pl
index 69c3fdc19d..4db0715fe9 100644
--- a/tp/t/results/float/special_characters_in_float_type.pl
+++ b/tp/t/results/float/special_characters_in_float_type.pl
@@ -137,79 +137,82 @@ $result_trees{'special_characters_in_float_type'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'A < " `` ` \' \' \\aaa '
-                },
-                {
-                  'cmdname' => '.'
-                },
-                {
-                  'text' => ' --- '
-                },
-                {
-                  'cmdname' => 'var',
                   'contents' => [
                     {
+                      'text' => 'A < " `` ` \' \' \\aaa '
+                    },
+                    {
+                      'cmdname' => '.'
+                    },
+                    {
+                      'text' => ' --- '
+                    },
+                    {
+                      'cmdname' => 'var',
                       'contents' => [
                         {
-                          'text' => 'in var'
+                          'contents' => [
+                            {
+                              'text' => 'in var'
+                            }
+                          ],
+                          'type' => 'brace_container'
                         }
                       ],
-                      'type' => 'brace_container'
+                      'source_info' => {
+                        'line_nr' => 7
+                      }
                     }
                   ],
-                  'source_info' => {
-                    'line_nr' => 7
-                  }
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
-                {
-                  'text' => 'L < " `` ` \' \' \\aaa '
-                },
-                {
-                  'cmdname' => '.'
-                },
-                {
-                  'text' => ' --- '
+                  'type' => 'block_line_arg'
                 },
                 {
-                  'cmdname' => 'var',
                   'contents' => [
                     {
+                      'text' => 'L < " `` ` \' \' \\aaa '
+                    },
+                    {
+                      'cmdname' => '.'
+                    },
+                    {
+                      'text' => ' --- '
+                    },
+                    {
+                      'cmdname' => 'var',
                       'contents' => [
                         {
-                          'text' => 'in var'
+                          'contents' => [
+                            {
+                              'text' => 'in var'
+                            }
+                          ],
+                          'type' => 'brace_container'
                         }
                       ],
-                      'type' => 'brace_container'
+                      'source_info' => {
+                        'line_nr' => 7
+                      }
                     }
                   ],
-                  'source_info' => {
-                    'line_nr' => 7
-                  }
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -390,8 +393,8 @@ $result_trees{'special_characters_in_float_type'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'special_characters_in_float_type'}{'contents'}[4]{'contents'}[1]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'special_characters_in_float_type'}{'contents'}[4]{'contents'}[1];
-$result_trees{'special_characters_in_float_type'}{'contents'}[4]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'special_characters_in_float_type'}{'contents'}[4]{'contents'}[1]{'contents'}[1];
+$result_trees{'special_characters_in_float_type'}{'contents'}[4]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'special_characters_in_float_type'}{'contents'}[4]{'contents'}[1];
+$result_trees{'special_characters_in_float_type'}{'contents'}[4]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'special_characters_in_float_type'}{'contents'}[4]{'contents'}[1]{'contents'}[2];
 
$result_trees{'special_characters_in_float_type'}{'contents'}[4]{'contents'}[1]{'extra'}{'float_section'}
 = $result_trees{'special_characters_in_float_type'}{'contents'}[4];
 
 $result_texis{'special_characters_in_float_type'} = '@node Top
diff --git a/tp/t/results/html_tests/float_copying.pl 
b/tp/t/results/html_tests/float_copying.pl
index 144384f1a2..420fa58a4d 100644
--- a/tp/t/results/html_tests/float_copying.pl
+++ b/tp/t/results/html_tests/float_copying.pl
@@ -87,35 +87,38 @@ $result_trees{'float_copying'} = {
                   'type' => 'empty_line'
                 },
                 {
-                  'args' => [
+                  'cmdname' => 'float',
+                  'contents' => [
                     {
                       'contents' => [
                         {
-                          'text' => 'Copyright notice'
-                        }
-                      ],
-                      'type' => 'block_line_arg'
-                    },
-                    {
-                      'contents' => [
+                          'contents' => [
+                            {
+                              'text' => 'Copyright notice'
+                            }
+                          ],
+                          'type' => 'block_line_arg'
+                        },
                         {
-                          'text' => 'public domain'
-                        }
-                      ],
-                      'info' => {
-                        'spaces_after_argument' => {
-                          'text' => '
+                          'contents' => [
+                            {
+                              'text' => 'public domain'
+                            }
+                          ],
+                          'info' => {
+                            'spaces_after_argument' => {
+                              'text' => '
 '
-                        },
-                        'spaces_before_argument' => {
-                          'text' => ' '
+                            },
+                            'spaces_before_argument' => {
+                              'text' => ' '
+                            }
+                          },
+                          'type' => 'block_line_arg'
                         }
-                      },
-                      'type' => 'block_line_arg'
-                    }
-                  ],
-                  'cmdname' => 'float',
-                  'contents' => [
+                      ],
+                      'type' => 'argument'
+                    },
                     {
                       'text' => '
 ',
@@ -1307,9 +1310,9 @@ $result_trees{'float_copying'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[3]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0];
-$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1];
-$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[3];
+$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0];
+$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1];
+$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_copying'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'contents'}[1]{'contents'}[4];
 
$result_trees{'float_copying'}{'contents'}[2]{'contents'}[1]{'extra'}{'element_node'}
 = $result_trees{'float_copying'}{'contents'}[1];
 
$result_trees{'float_copying'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_copying'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'contents'}[0]{'contents'}[0];
 
$result_trees{'float_copying'}{'contents'}[2]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_copying'}{'contents'}[2]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0];
diff --git a/tp/t/results/html_tests/tex_expanded_in_caption_multiple_time.pl 
b/tp/t/results/html_tests/tex_expanded_in_caption_multiple_time.pl
index 948f154980..08117bb3b1 100644
--- a/tp/t/results/html_tests/tex_expanded_in_caption_multiple_time.pl
+++ b/tp/t/results/html_tests/tex_expanded_in_caption_multiple_time.pl
@@ -10,35 +10,38 @@ $result_trees{'tex_expanded_in_caption_multiple_time'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'A'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'A'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'B'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'B'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -220,8 +223,8 @@ $result_trees{'tex_expanded_in_caption_multiple_time'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'tex_expanded_in_caption_multiple_time'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'extra'}{'float'}
 = 
$result_trees{'tex_expanded_in_caption_multiple_time'}{'contents'}[0]{'contents'}[0];
-$result_trees{'tex_expanded_in_caption_multiple_time'}{'contents'}[0]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'tex_expanded_in_caption_multiple_time'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
+$result_trees{'tex_expanded_in_caption_multiple_time'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'tex_expanded_in_caption_multiple_time'}{'contents'}[0]{'contents'}[0];
+$result_trees{'tex_expanded_in_caption_multiple_time'}{'contents'}[0]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'tex_expanded_in_caption_multiple_time'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
 
 $result_texis{'tex_expanded_in_caption_multiple_time'} = '@float A, B
 My float.
diff --git a/tp/t/results/html_tests/transliterated_names_conflicts.pl 
b/tp/t/results/html_tests/transliterated_names_conflicts.pl
index 3c60ee34a5..b1e123e9aa 100644
--- a/tp/t/results/html_tests/transliterated_names_conflicts.pl
+++ b/tp/t/results/html_tests/transliterated_names_conflicts.pl
@@ -270,35 +270,38 @@ $result_trees{'transliterated_names_conflicts'} = [
             'type' => 'empty_line'
           },
           {
-            'args' => [
+            'cmdname' => 'float',
+            'contents' => [
               {
                 'contents' => [
                   {
-                    'text' => 'Figure'
-                  }
-                ],
-                'type' => 'block_line_arg'
-              },
-              {
-                'contents' => [
+                    'contents' => [
+                      {
+                        'text' => 'Figure'
+                      }
+                    ],
+                    'type' => 'block_line_arg'
+                  },
                   {
-                    'text' => "Pr\x{e8}s"
-                  }
-                ],
-                'info' => {
-                  'spaces_after_argument' => {
-                    'text' => '
+                    'contents' => [
+                      {
+                        'text' => "Pr\x{e8}s"
+                      }
+                    ],
+                    'info' => {
+                      'spaces_after_argument' => {
+                        'text' => '
 '
-                  },
-                  'spaces_before_argument' => {
-                    'text' => ' '
+                      },
+                      'spaces_before_argument' => {
+                        'text' => ' '
+                      }
+                    },
+                    'type' => 'block_line_arg'
                   }
-                },
-                'type' => 'block_line_arg'
-              }
-            ],
-            'cmdname' => 'float',
-            'contents' => [
+                ],
+                'type' => 'argument'
+              },
               {
                 'contents' => [
                   {
diff --git a/tp/t/results/info_tests/empty_caption.pl 
b/tp/t/results/info_tests/empty_caption.pl
index 6c916e1021..101c7592f9 100644
--- a/tp/t/results/info_tests/empty_caption.pl
+++ b/tp/t/results/info_tests/empty_caption.pl
@@ -42,32 +42,35 @@ $result_trees{'empty_caption'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'a'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'a'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'b'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'b'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -194,8 +197,8 @@ $result_trees{'empty_caption'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'empty_caption'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[1]{'contents'}[1];
-$result_trees{'empty_caption'}{'contents'}[1]{'contents'}[1]{'extra'}{'caption'}
 = $result_trees{'empty_caption'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'empty_caption'}{'contents'}[1]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'empty_caption'}{'contents'}[1]{'contents'}[1];
+$result_trees{'empty_caption'}{'contents'}[1]{'contents'}[1]{'extra'}{'caption'}
 = $result_trees{'empty_caption'}{'contents'}[1]{'contents'}[1]{'contents'}[2];
 
 $result_texis{'empty_caption'} = '
 @node Top
diff --git a/tp/t/results/info_tests/error_in_footnote.pl 
b/tp/t/results/info_tests/error_in_footnote.pl
index d8b03277f8..190bd21d63 100644
--- a/tp/t/results/info_tests/error_in_footnote.pl
+++ b/tp/t/results/info_tests/error_in_footnote.pl
@@ -42,35 +42,38 @@ $result_trees{'error_in_footnote'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'label'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'label'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -339,8 +342,8 @@ $result_trees{'error_in_footnote'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'error_in_footnote'}{'contents'}[1]{'contents'}[1]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'error_in_footnote'}{'contents'}[1]{'contents'}[1];
-$result_trees{'error_in_footnote'}{'contents'}[1]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'error_in_footnote'}{'contents'}[1]{'contents'}[1]{'contents'}[3];
+$result_trees{'error_in_footnote'}{'contents'}[1]{'contents'}[1]{'contents'}[4]{'extra'}{'float'}
 = $result_trees{'error_in_footnote'}{'contents'}[1]{'contents'}[1];
+$result_trees{'error_in_footnote'}{'contents'}[1]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'error_in_footnote'}{'contents'}[1]{'contents'}[1]{'contents'}[4];
 
 $result_texis{'error_in_footnote'} = '
 @node Top
diff --git a/tp/t/results/info_tests/float_long_captions.pl 
b/tp/t/results/info_tests/float_long_captions.pl
index 420fc7eed7..8c3d7f14ce 100644
--- a/tp/t/results/info_tests/float_long_captions.pl
+++ b/tp/t/results/info_tests/float_long_captions.pl
@@ -35,35 +35,38 @@ $result_trees{'float_long_captions'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'text1'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'text1'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'cmdname' => 'caption',
               'contents' => [
@@ -145,35 +148,38 @@ $result_trees{'float_long_captions'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'text2'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'text2'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'cmdname' => 'caption',
               'contents' => [
@@ -301,10 +307,10 @@ $result_trees{'float_long_captions'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[1]{'contents'}[0]{'extra'}{'float'}
 = $result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[1];
-$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[1]{'contents'}[0];
-$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'extra'}{'float'}
 = $result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[3];
-$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[3]{'contents'}[0];
+$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[1]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[1];
+$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[3]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[3];
+$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[3]{'extra'}{'caption'}
 = 
$result_trees{'float_long_captions'}{'contents'}[1]{'contents'}[3]{'contents'}[1];
 
 $result_texis{'float_long_captions'} = '@node Top
 
diff --git a/tp/t/results/info_tests/float_without_type.pl 
b/tp/t/results/info_tests/float_without_type.pl
index 257f850914..86e6d4d373 100644
--- a/tp/t/results/info_tests/float_without_type.pl
+++ b/tp/t/results/info_tests/float_without_type.pl
@@ -42,27 +42,30 @@ $result_trees{'float_without_type'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'a'
+                  'contents' => [
+                    {
+                      'text' => 'a'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
+                {
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
               ],
-              'type' => 'block_line_arg'
+              'type' => 'argument'
             },
-            {
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
-                }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
             {
               'contents' => [
                 {
diff --git a/tp/t/results/invalid_nestings/float_in_style_command.pl 
b/tp/t/results/invalid_nestings/float_in_style_command.pl
index c424219818..3f1c5c1ca1 100644
--- a/tp/t/results/invalid_nestings/float_in_style_command.pl
+++ b/tp/t/results/invalid_nestings/float_in_style_command.pl
@@ -32,35 +32,38 @@ $result_trees{'float_in_style_command'} = {
           'type' => 'paragraph'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'A'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'A'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'B'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'B'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -151,8 +154,8 @@ $result_trees{'float_in_style_command'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'float_in_style_command'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'float_in_style_command'}{'contents'}[0]{'contents'}[1];
-$result_trees{'float_in_style_command'}{'contents'}[0]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_in_style_command'}{'contents'}[0]{'contents'}[1]{'contents'}[1];
+$result_trees{'float_in_style_command'}{'contents'}[0]{'contents'}[1]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'float_in_style_command'}{'contents'}[0]{'contents'}[1];
+$result_trees{'float_in_style_command'}{'contents'}[0]{'contents'}[1]{'extra'}{'caption'}
 = 
$result_trees{'float_in_style_command'}{'contents'}[0]{'contents'}[1]{'contents'}[2];
 
 $result_texis{'float_in_style_command'} = '@code{
 }@float A, B
diff --git a/tp/t/results/invalid_nestings/section_on_float_line.pl 
b/tp/t/results/invalid_nestings/section_on_float_line.pl
index 2614c25ff4..09488a8b5c 100644
--- a/tp/t/results/invalid_nestings/section_on_float_line.pl
+++ b/tp/t/results/invalid_nestings/section_on_float_line.pl
@@ -10,33 +10,38 @@ $result_trees{'section_on_float_line'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 't'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 't'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'l'
+                  'contents' => [
+                    {
+                      'text' => 'l'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
               ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => ' '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
-                }
-              },
-              'type' => 'block_line_arg'
+              'type' => 'argument'
             }
           ],
-          'cmdname' => 'float',
           'extra' => {
             'float_type' => 't',
             'is_target' => 1,
diff --git a/tp/t/results/latex_tests/float_and_refs.pl 
b/tp/t/results/latex_tests/float_and_refs.pl
index c3fd03b0a9..3235995ff9 100644
--- a/tp/t/results/latex_tests/float_and_refs.pl
+++ b/tp/t/results/latex_tests/float_and_refs.pl
@@ -137,30 +137,33 @@ $result_trees{'float_and_refs'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'no type'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'no type'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -282,35 +285,38 @@ $result_trees{'float_and_refs'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Thing'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Thing'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'with type'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'with type'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -432,35 +438,38 @@ $result_trees{'float_and_refs'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Figure'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Figure'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'my figure'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'my figure'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -1590,21 +1599,21 @@ $result_trees{'float_and_refs'} = {
   ],
   'type' => 'document_root'
 };
-$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'}[3]{'extra'}{'float'}
 = $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]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[4]{'extra'}{'float'}
 = $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'}[2];
 
$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'}{'shortcaption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[3];
-$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'}[3]{'extra'}{'float'}
 = $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'}[1]{'extra'}{'shortcaption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[1]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[4]{'extra'}{'float'}
 = $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'}[2];
 
$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'}{'shortcaption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[3];
-$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'}[3]{'extra'}{'float'}
 = $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'}[3]{'extra'}{'shortcaption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[3]{'contents'}[4];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[4]{'extra'}{'float'}
 = $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'}[2];
 
$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'}{'shortcaption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[3];
+$result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'extra'}{'shortcaption'}
 = $result_trees{'float_and_refs'}{'contents'}[4]{'contents'}[5]{'contents'}[4];
 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[2]{'contents'}[0]{'contents'}[0];
 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'float_and_refs'}{'contents'}[5]{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0];
diff --git a/tp/t/results/menu/commands_in_nodedescriptionblock.pl 
b/tp/t/results/menu/commands_in_nodedescriptionblock.pl
index de6d679373..bbc8b11d1a 100644
--- a/tp/t/results/menu/commands_in_nodedescriptionblock.pl
+++ b/tp/t/results/menu/commands_in_nodedescriptionblock.pl
@@ -474,35 +474,38 @@ $result_trees{'commands_in_nodedescriptionblock'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'float',
+              'contents' => [
                 {
                   'contents' => [
                     {
-                      'text' => 'tfloat'
-                    }
-                  ],
-                  'type' => 'block_line_arg'
-                },
-                {
-                  'contents' => [
+                      'contents' => [
+                        {
+                          'text' => 'tfloat'
+                        }
+                      ],
+                      'type' => 'block_line_arg'
+                    },
                     {
-                      'text' => 'f1'
-                    }
-                  ],
-                  'info' => {
-                    'spaces_after_argument' => {
-                      'text' => '
+                      'contents' => [
+                        {
+                          'text' => 'f1'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
 '
-                    },
-                    'spaces_before_argument' => {
-                      'text' => ' '
+                        },
+                        'spaces_before_argument' => {
+                          'text' => ' '
+                        }
+                      },
+                      'type' => 'block_line_arg'
                     }
-                  },
-                  'type' => 'block_line_arg'
-                }
-              ],
-              'cmdname' => 'float',
-              'contents' => [
+                  ],
+                  'type' => 'argument'
+                },
                 {
                   'cmdname' => 'image',
                   'contents' => [
@@ -1030,8 +1033,8 @@ 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[2]{'contents'}[3]{
 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'contents'}[0]{'contents'}[0];
 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[3]{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[3]{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[3]{'contents'}[7]{'extra'}{'element_node'}
 = $result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3];
-$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5]{'contents'}[2]{'extra'}{'float'}
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5];
-$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5]{'extra'}{'caption'}
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5]{'contents'}[2];
+$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5];
+$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5]{'extra'}{'caption'}
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5]{'contents'}[3];
 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'contents'}[5]{'extra'}{'float_section'}{'contents'}[1]
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'};
 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'}{'extra'}{'element_node'}
 = $result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3];
 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_long_description'}
 = 
$result_trees{'commands_in_nodedescriptionblock'}{'contents'}[3]{'extra'}{'node_description'};
diff --git a/tp/t/results/misc_commands/comment_space_command_on_line.pl 
b/tp/t/results/misc_commands/comment_space_command_on_line.pl
index b22c686fb8..c08be80354 100644
--- a/tp/t/results/misc_commands/comment_space_command_on_line.pl
+++ b/tp/t/results/misc_commands/comment_space_command_on_line.pl
@@ -451,35 +451,38 @@ $result_trees{'comment_space_command_on_line'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'label'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'label'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/moresectioning/equivalent_nodes_defined_linked.pl 
b/tp/t/results/moresectioning/equivalent_nodes_defined_linked.pl
index f523a2325b..6bd6482ed1 100644
--- a/tp/t/results/moresectioning/equivalent_nodes_defined_linked.pl
+++ b/tp/t/results/moresectioning/equivalent_nodes_defined_linked.pl
@@ -218,48 +218,51 @@ $result_trees{'equivalent_nodes_defined_linked'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Figure'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Figure'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'cmdname' => 'samp',
                   'contents' => [
                     {
+                      'cmdname' => 'samp',
                       'contents' => [
                         {
-                          'text' => 'chap'
+                          'contents' => [
+                            {
+                              'text' => 'chap'
+                            }
+                          ],
+                          'type' => 'brace_container'
                         }
                       ],
-                      'type' => 'brace_container'
+                      'source_info' => {
+                        'line_nr' => 9
+                      }
                     }
                   ],
-                  'source_info' => {
-                    'line_nr' => 9
-                  }
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/moresectioning/no_element.pl 
b/tp/t/results/moresectioning/no_element.pl
index e0a5884db2..1c716f1a48 100644
--- a/tp/t/results/moresectioning/no_element.pl
+++ b/tp/t/results/moresectioning/no_element.pl
@@ -301,30 +301,33 @@ $result_trees{'no_element'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'float anchor'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'float anchor'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/moresectioning/placed_things_before_element.pl 
b/tp/t/results/moresectioning/placed_things_before_element.pl
index fa4cff8664..051a7ddce8 100644
--- a/tp/t/results/moresectioning/placed_things_before_element.pl
+++ b/tp/t/results/moresectioning/placed_things_before_element.pl
@@ -233,30 +233,33 @@ $result_trees{'placed_things_before_element'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'float anchor'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'float anchor'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git 
a/tp/t/results/moresectioning/placed_things_before_element_no_use_node.pl 
b/tp/t/results/moresectioning/placed_things_before_element_no_use_node.pl
index 985a74b855..7dec01cdde 100644
--- a/tp/t/results/moresectioning/placed_things_before_element_no_use_node.pl
+++ b/tp/t/results/moresectioning/placed_things_before_element_no_use_node.pl
@@ -233,30 +233,33 @@ $result_trees{'placed_things_before_element_no_use_node'} 
= {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'float anchor'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'float anchor'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/moresectioning/placed_things_before_node.pl 
b/tp/t/results/moresectioning/placed_things_before_node.pl
index 9f0ed8e523..375b58cb6a 100644
--- a/tp/t/results/moresectioning/placed_things_before_node.pl
+++ b/tp/t/results/moresectioning/placed_things_before_node.pl
@@ -236,30 +236,33 @@ $result_trees{'placed_things_before_node'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'float anchor'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
-'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'float anchor'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
+'
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/paragraph/commands_in_flushright.pl 
b/tp/t/results/paragraph/commands_in_flushright.pl
index 30ca4db5b4..a625427550 100644
--- a/tp/t/results/paragraph/commands_in_flushright.pl
+++ b/tp/t/results/paragraph/commands_in_flushright.pl
@@ -665,35 +665,38 @@ $result_trees{'commands_in_flushright'} = {
               'type' => 'empty_line'
             },
             {
-              'args' => [
+              'cmdname' => 'float',
+              'contents' => [
                 {
                   'contents' => [
                     {
-                      'text' => 'label'
-                    }
-                  ],
-                  'type' => 'block_line_arg'
-                },
-                {
-                  'contents' => [
+                      'contents' => [
+                        {
+                          'text' => 'label'
+                        }
+                      ],
+                      'type' => 'block_line_arg'
+                    },
                     {
-                      'text' => 'type'
-                    }
-                  ],
-                  'info' => {
-                    'spaces_after_argument' => {
-                      'text' => '
+                      'contents' => [
+                        {
+                          'text' => 'type'
+                        }
+                      ],
+                      'info' => {
+                        'spaces_after_argument' => {
+                          'text' => '
 '
-                    },
-                    'spaces_before_argument' => {
-                      'text' => ' '
+                        },
+                        'spaces_before_argument' => {
+                          'text' => ' '
+                        }
+                      },
+                      'type' => 'block_line_arg'
                     }
-                  },
-                  'type' => 'block_line_arg'
-                }
-              ],
-              'cmdname' => 'float',
-              'contents' => [
+                  ],
+                  'type' => 'argument'
+                },
                 {
                   'text' => '
 ',
@@ -1103,8 +1106,8 @@ $result_trees{'commands_in_flushright'} = {
 };
 
$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[7]{'extra'}{'command_as_argument'}
 = 
$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0];
 
$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[9]{'extra'}{'columnfractions'}
 = 
$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[9]{'args'}[0]{'contents'}[0];
-$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[11]{'contents'}[3]{'extra'}{'float'}
 = 
$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[11];
-$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[11]{'extra'}{'caption'}
 = 
$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[11]{'contents'}[3];
+$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[11]{'contents'}[4]{'extra'}{'float'}
 = 
$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[11];
+$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[11]{'extra'}{'caption'}
 = 
$result_trees{'commands_in_flushright'}{'contents'}[0]{'contents'}[0]{'contents'}[11]{'contents'}[4];
 
 $result_texis{'commands_in_flushright'} = '@flushright
 
diff --git a/tp/t/results/preformatted/caption_in_example.pl 
b/tp/t/results/preformatted/caption_in_example.pl
index b1b42974c3..aa95a8c62c 100644
--- a/tp/t/results/preformatted/caption_in_example.pl
+++ b/tp/t/results/preformatted/caption_in_example.pl
@@ -10,24 +10,27 @@ $result_trees{'caption_in_example'} = {
     {
       'contents' => [
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'float'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'float'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -192,8 +195,8 @@ $result_trees{'caption_in_example'} = {
   ],
   'type' => 'document_root'
 };
-$result_trees{'caption_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'caption_in_example'}{'contents'}[0]{'contents'}[0];
-$result_trees{'caption_in_example'}{'contents'}[0]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'caption_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'contents'}[1];
+$result_trees{'caption_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'caption_in_example'}{'contents'}[0]{'contents'}[0];
+$result_trees{'caption_in_example'}{'contents'}[0]{'contents'}[0]{'extra'}{'caption'}
 = 
$result_trees{'caption_in_example'}{'contents'}[0]{'contents'}[0]{'contents'}[2]{'contents'}[1];
 
 $result_texis{'caption_in_example'} = '@float float
 
diff --git a/tp/t/results/sectioning/double_node_anchor_float.pl 
b/tp/t/results/sectioning/double_node_anchor_float.pl
index 0519008298..443d31117a 100644
--- a/tp/t/results/sectioning/double_node_anchor_float.pl
+++ b/tp/t/results/sectioning/double_node_anchor_float.pl
@@ -169,35 +169,38 @@ $result_trees{'double_node_anchor_float'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'node1'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'node1'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'args' => [
                 {
@@ -248,35 +251,38 @@ $result_trees{'double_node_anchor_float'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'anchor1'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'anchor1'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'args' => [
                 {
@@ -327,35 +333,38 @@ $result_trees{'double_node_anchor_float'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'Text'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'Text'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'float1'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'float1'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'args' => [
                 {
diff --git a/tp/t/results/sectioning/equivalent_labels.pl 
b/tp/t/results/sectioning/equivalent_labels.pl
index a97b87cb8f..f96148c7bf 100644
--- a/tp/t/results/sectioning/equivalent_labels.pl
+++ b/tp/t/results/sectioning/equivalent_labels.pl
@@ -82,35 +82,38 @@ $result_trees{'equivalent_labels'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'truc'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'truc'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'floa'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'floa'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/xml_tests/commands_and_spaces.pl 
b/tp/t/results/xml_tests/commands_and_spaces.pl
index 8d2b2a84fe..ebe7dd7b4a 100644
--- a/tp/t/results/xml_tests/commands_and_spaces.pl
+++ b/tp/t/results/xml_tests/commands_and_spaces.pl
@@ -570,40 +570,43 @@ $result_trees{'commands_and_spaces'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'ff'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => ' '
-                }
-              },
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'ff'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'b'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '   
+                  'contents' => [
+                    {
+                      'text' => 'b'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '   
 '
-                },
-                'spaces_before_argument' => {
-                  'text' => ' '
+                    },
+                    'spaces_before_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
@@ -1633,10 +1636,10 @@ $result_trees{'commands_and_spaces'} = {
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'args'}[1]{'extra'}{'manual_content'}{'contents'}[0]
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'args'}[1]{'contents'}[1];
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'args'}[2]{'extra'}{'manual_content'}{'contents'}[0]
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'args'}[2]{'contents'}[1];
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'args'}[3]{'extra'}{'manual_content'}{'contents'}[0]
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'args'}[3]{'contents'}[1];
-$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'contents'}[1]{'extra'}{'float'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23];
-$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'contents'}[3]{'extra'}{'float'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23];
-$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'extra'}{'caption'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'contents'}[1];
-$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'extra'}{'shortcaption'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'contents'}[3];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'contents'}[2]{'extra'}{'float'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'contents'}[4]{'extra'}{'float'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'extra'}{'caption'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'contents'}[2];
+$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'extra'}{'shortcaption'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[23]{'contents'}[4];
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[25]{'extra'}{'columnfractions'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[25]{'args'}[0]{'contents'}[0];
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[35]{'extra'}{'command_as_argument'}
 = 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[35]{'args'}[0]{'contents'}[0];
 
$result_trees{'commands_and_spaces'}{'contents'}[1]{'contents'}[43]{'contents'}[0]{'extra'}{'element_node'}
 = $result_trees{'commands_and_spaces'}{'contents'}[1];
diff --git a/tp/t/results/xml_tests/comments_end_lines.pl 
b/tp/t/results/xml_tests/comments_end_lines.pl
index b071bf2083..18c635d6bd 100644
--- a/tp/t/results/xml_tests/comments_end_lines.pl
+++ b/tp/t/results/xml_tests/comments_end_lines.pl
@@ -667,32 +667,35 @@ $result_trees{'comments_end_lines'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'f'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'f'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'g'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'g'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/xml_tests/comments_on_block_command_lines.pl 
b/tp/t/results/xml_tests/comments_on_block_command_lines.pl
index 014c951ac5..ce16db5ce9 100644
--- a/tp/t/results/xml_tests/comments_on_block_command_lines.pl
+++ b/tp/t/results/xml_tests/comments_on_block_command_lines.pl
@@ -1755,41 +1755,44 @@ $result_trees{'comments_on_block_command_lines'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
-            {
-              'contents' => [
-                {
-                  'text' => 'f'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'g'
-                }
-              ],
-              'info' => {
-                'comment_at_end' => {
-                  'args' => [
+                  'contents' => [
                     {
-                      'text' => ' comm
-',
-                      'type' => 'rawline_arg'
+                      'text' => 'f'
                     }
                   ],
-                  'cmdname' => 'c'
+                  'type' => 'block_line_arg'
                 },
-                'spaces_after_argument' => {
-                  'text' => ' '
+                {
+                  'contents' => [
+                    {
+                      'text' => 'g'
+                    }
+                  ],
+                  'info' => {
+                    'comment_at_end' => {
+                      'args' => [
+                        {
+                          'text' => ' comm
+',
+                          'type' => 'rawline_arg'
+                        }
+                      ],
+                      'cmdname' => 'c'
+                    },
+                    'spaces_after_argument' => {
+                      'text' => ' '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'contents' => [
                 {
diff --git a/tp/t/results/xml_tests/image_inline_or_not.pl 
b/tp/t/results/xml_tests/image_inline_or_not.pl
index 2ff80e5b20..43b20cb2a8 100644
--- a/tp/t/results/xml_tests/image_inline_or_not.pl
+++ b/tp/t/results/xml_tests/image_inline_or_not.pl
@@ -1152,32 +1152,35 @@ $result_trees{'image_inline_or_not'} = {
           'type' => 'empty_line'
         },
         {
-          'args' => [
+          'cmdname' => 'float',
+          'contents' => [
             {
               'contents' => [
                 {
-                  'text' => 'F'
-                }
-              ],
-              'type' => 'block_line_arg'
-            },
-            {
-              'contents' => [
+                  'contents' => [
+                    {
+                      'text' => 'F'
+                    }
+                  ],
+                  'type' => 'block_line_arg'
+                },
                 {
-                  'text' => 'g'
-                }
-              ],
-              'info' => {
-                'spaces_after_argument' => {
-                  'text' => '
+                  'contents' => [
+                    {
+                      'text' => 'g'
+                    }
+                  ],
+                  'info' => {
+                    'spaces_after_argument' => {
+                      'text' => '
 '
+                    }
+                  },
+                  'type' => 'block_line_arg'
                 }
-              },
-              'type' => 'block_line_arg'
-            }
-          ],
-          'cmdname' => 'float',
-          'contents' => [
+              ],
+              'type' => 'argument'
+            },
             {
               'text' => '
 ',
@@ -1345,8 +1348,8 @@ 
$result_trees{'image_inline_or_not'}{'contents'}[2]{'contents'}[10]{'extra'}{'co
 
$result_trees{'image_inline_or_not'}{'contents'}[2]{'contents'}[12]{'contents'}[0]{'contents'}[1]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'image_inline_or_not'}{'contents'}[2]{'contents'}[12]{'contents'}[0]{'contents'}[1]{'contents'}[0];
 
$result_trees{'image_inline_or_not'}{'contents'}[2]{'contents'}[12]{'contents'}[1]{'contents'}[3]{'extra'}{'manual_content'}{'contents'}[0]
 = 
$result_trees{'image_inline_or_not'}{'contents'}[2]{'contents'}[12]{'contents'}[1]{'contents'}[3]{'contents'}[1];
 
$result_trees{'image_inline_or_not'}{'contents'}[2]{'contents'}[12]{'contents'}[1]{'contents'}[3]{'extra'}{'node_content'}{'contents'}[0]
 = 
$result_trees{'image_inline_or_not'}{'contents'}[2]{'contents'}[12]{'contents'}[1]{'contents'}[3]{'contents'}[3];
-$result_trees{'image_inline_or_not'}{'contents'}[4]{'contents'}[6]{'contents'}[4]{'extra'}{'float'}
 = $result_trees{'image_inline_or_not'}{'contents'}[4]{'contents'}[6];
-$result_trees{'image_inline_or_not'}{'contents'}[4]{'contents'}[6]{'extra'}{'caption'}
 = 
$result_trees{'image_inline_or_not'}{'contents'}[4]{'contents'}[6]{'contents'}[4];
+$result_trees{'image_inline_or_not'}{'contents'}[4]{'contents'}[6]{'contents'}[5]{'extra'}{'float'}
 = $result_trees{'image_inline_or_not'}{'contents'}[4]{'contents'}[6];
+$result_trees{'image_inline_or_not'}{'contents'}[4]{'contents'}[6]{'extra'}{'caption'}
 = 
$result_trees{'image_inline_or_not'}{'contents'}[4]{'contents'}[6]{'contents'}[5];
 
$result_trees{'image_inline_or_not'}{'contents'}[4]{'contents'}[6]{'extra'}{'float_section'}
 = $result_trees{'image_inline_or_not'}{'contents'}[4];
 
 $result_texis{'image_inline_or_not'} = '@image{A}



reply via email to

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