* tta/C/main/debug.c: remove print_associate_info_debug and
print_element_debug_details.  Detailed tree element information in
a compact format is available from manipulate_tree.c functions also
used for tests.

* tta/C/main/output_unit.c (print_output_unit)
(print_output_units_details), tta/perl/Texinfo/OutputUnits.pm
(print_output_unit, print_output_units_details): add print_output_unit
based on print_output_units_details.  Add more information to
print_output_unit, the number of contents and the sectioning commands.

* tta/perl/Texinfo/Common.pm, tta/perl/Texinfo/OutputUnits.pm
(debug_print_output_unit): move debug_print_output_unit to
OutputUnits.pm and use print_output_unit to display the output unit.
diff --git a/ChangeLog b/ChangeLog
index 2f44561..5ee17eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
 2026-05-18 Patrice Dumas  <pertusus@free.fr>
 
+	* tta/C/main/debug.c: remove print_associate_info_debug and
+	print_element_debug_details.  Detailed tree element information in
+	a compact format is available from manipulate_tree.c functions also
+	used for tests.
+
+	* tta/C/main/output_unit.c (print_output_unit)
+	(print_output_units_details), tta/perl/Texinfo/OutputUnits.pm
+	(print_output_unit, print_output_units_details): add print_output_unit
+	based on print_output_units_details.  Add more information to
+	print_output_unit, the number of contents and the sectioning commands.
+
+	* tta/perl/Texinfo/Common.pm, tta/perl/Texinfo/OutputUnits.pm
+	(debug_print_output_unit): move debug_print_output_unit to
+	OutputUnits.pm and use print_output_unit to display the output unit.
+
+2026-05-18 Patrice Dumas  <pertusus@free.fr>
+
 	* tta/C/main/tree.c: inline and remove contents_child_by_index.  It
 	has been checked that bound checking in contents_child_by_index was
 	never useful.  Update callers.
diff --git a/tta/C/main/debug.c b/tta/C/main/debug.c
index bea3e78..ba05cf5 100644
--- a/tta/C/main/debug.c
+++ b/tta/C/main/debug.c
@@ -32,6 +32,11 @@
 #include "utils.h"
 #include "debug.h"
 
+/* Detailed information on elements using a compact format also used for
+   tests is available with manipulate_tree.c functions:
+    element_print_details and tree_print_details.
+ */
+
 const char *
 debug_element_command_name (const ELEMENT *e)
 {
@@ -126,152 +131,3 @@
   return text.text;
 }
 
-/* TODO use the functions called by print_element_details */
-char *
-print_associate_info_debug (const ASSOCIATED_INFO *info)
-{
-  TEXT text;
-  size_t i;
-
-  text_init (&text);
-  text_append (&text, "");
-
-  for (i = 0; i < info->info_number; i++)
-    {
-      KEY_PAIR *k = &info->info[i];
-      enum extra_type k_type = associated_info_table[k->key].type;
-
-      text_printf (&text, "  %s|", associated_info_table[k->key].name);
-      switch (k_type)
-        {
-        case extra_none:
-          text_append (&text, "none");
-          break;
-        case extra_integer:
-          text_printf (&text, "integer: %d", k->k.integer);
-          break;
-        case extra_string:
-          text_printf (&text, "string: %s", k->k.string);
-          break;
-        case extra_element:
-        case extra_element_oot:
-          {
-            char *element_str = print_element_debug (k->k.element, 0);
-            const ELEMENT *e;
-            if (k_type == extra_element_oot)
-              {
-                text_append (&text, "oot ");
-                e = k->k.element;
-              }
-            else
-              e = k->k.const_element;
-            text_printf (&text, "element %p: %s", e, element_str);
-            free (element_str);
-            break;
-          }
-        case extra_string_list:
-          {
-            size_t j;
-            const STRING_LIST *l = k->k.strings_list;
-            text_append (&text, "array: ");
-            for (j = 0; j < l->number; j++)
-              {
-                text_printf (&text, "%s|", l->list[j]);
-              }
-            break;
-           }
-        case extra_index_entry:
-           {
-             const INDEX_ENTRY_LOCATION *entry_loc = k->k.index_entry;
-             text_printf (&text, "index_entry: %s, %d",
-                          entry_loc->index_name, entry_loc->number);
-             break;
-           }
-        case extra_contents:
-          {
-            size_t j;
-            const CONST_ELEMENT_LIST *l = k->k.const_list;
-            text_append (&text, "contents: ");
-            for (j = 0; j < l->number; j++)
-              {
-                const ELEMENT *e = l->list[j];
-                char *element_str = print_element_debug (e, 0);
-                text_printf (&text, "%p;%s|", e, element_str);
-                free (element_str);
-              }
-            break;
-          }
-        case extra_directions:
-          {
-            size_t d;
-            const ELEMENT * const *l = k->k.directions;
-            text_append (&text, "directions: ");
-            for (d = 0; d < directions_length; d++)
-              {
-                if (l[d])
-                  {
-                    const char *d_key = direction_names[d];
-                    const ELEMENT *e = l[d];
-                    char *element_str = print_element_debug (e, 0);
-                    text_printf (&text, "%s->%s|", d_key, element_str);
-                    free (element_str);
-                  }
-              }
-            break;
-          }
-        case extra_container:
-          {
-            size_t j;
-            const ELEMENT *f = k->k.element;
-            text_append (&text, "contents: ");
-            for (j = 0; j < f->e.c->contents.number; j++)
-              {
-                const ELEMENT *e = f->e.c->contents.list[j];
-                char *element_str = print_element_debug (e, 0);
-                text_printf (&text, "%p;%s|", e, element_str);
-                free (element_str);
-              }
-            break;
-          }
-        default:
-          text_printf (&text, "UNKNOWN (%d)", k_type);
-          break;
-        }
-      text_append (&text, "\n");
-    }
-
-  return text.text;
-}
-
-char *
-print_element_debug_details (const ELEMENT *e, int print_parent)
-{
-  char *string = print_element_debug (e, print_parent);
-  TEXT text;
-
-  text_init (&text);
-  text_append (&text, string);
-  free (string);
-  text_append_n (&text, "\n", 1);
-
-  if (!(type_data[e->type].flags & TF_text)
-      && e->e.c->extra_info.info_number > 0)
-    {
-      char *associated_info_str;
-      text_append_n (&text, " EXTRA\n", 7);
-      associated_info_str = print_associate_info_debug (&e->e.c->extra_info);
-      text_append (&text, associated_info_str);
-      free (associated_info_str);
-    }
-
-  /* TODO could print extra flags elt_info and string_info arrays,
-     by reusing functions called by print_element_details
-  if (e->e.c->info_info.info_number > 0)
-    {
-      text_append (&text, " INFO\n");
-    }
-   */
-
-  return text.text;
-}
-
diff --git a/tta/C/main/debug.h b/tta/C/main/debug.h
index c00e068..fe65333 100644
--- a/tta/C/main/debug.h
+++ b/tta/C/main/debug.h
@@ -8,7 +8,6 @@
 #include "tree_types.h"
 
 char *print_element_debug (const ELEMENT *e, int print_parent);
-char *print_element_debug_details (const ELEMENT *e, int print_parent);
 const char *debug_element_command_name (const ELEMENT *e);
 char *debug_protect_eol (const char *input_string);
 
diff --git a/tta/C/main/output_unit.c b/tta/C/main/output_unit.c
index 4a16442..b2b96cb 100644
--- a/tta/C/main/output_unit.c
+++ b/tta/C/main/output_unit.c
@@ -1079,6 +1079,115 @@
     }
 }
 
+/* can be called for debugging */
+char *
+print_output_unit (const OUTPUT_UNIT *output_unit, int use_filename)
+{
+  TEXT result;
+
+  text_init (&result);
+
+  text_append (&result, output_unit_type_names[output_unit->unit_type]);
+  if (output_unit->special_unit_variety)
+    text_printf (&result, "-%s", output_unit->special_unit_variety);
+
+  if (output_unit->unit_contents.number > 0)
+    text_printf (&result, "{C%zu}", output_unit->unit_contents.number);
+
+  if (output_unit->unit_type != OU_special_unit
+      && output_unit->uc.unit_command)
+    {
+      char *additional_info = 0;
+      char *root_command_texi
+        = root_command_element_string (output_unit->uc.unit_command);
+
+      /* determine the kind of command by comparing with
+         unit node or unit section.  Also show the texinfo code
+         of the node or section relations not associated to unit_command.
+       */
+      if (output_unit->unit_node)
+        {
+          if (output_unit->unit_node->element
+                 == output_unit->uc.unit_command)
+            {
+              text_append_n (&result, "{N:", 3);
+              if (root_command_texi)
+                text_append (&result, root_command_texi);
+            }
+          else
+            {
+              char *node_texi
+                = root_command_element_string (
+                                output_unit->unit_node->element);
+              if (node_texi)
+                {
+                  xasprintf (&additional_info, "{n:%s}", node_texi);
+                  free (node_texi);
+                }
+              else
+                xasprintf (&additional_info, "{n:}");
+            }
+        }
+
+      if (output_unit->unit_section)
+        {
+          const ELEMENT *section_element = output_unit->unit_section->element;
+          if (section_element == output_unit->uc.unit_command)
+            {
+              text_append_n (&result, "{S:@", 4);
+              text_append (&result, element_command_name (section_element));
+              if (root_command_texi)
+                {
+                  text_append_n (&result, " ", 1);
+                  text_append (&result, root_command_texi);
+                }
+            }
+          else
+            {
+              char *section_texi
+                = root_command_element_string (section_element);
+              if (section_texi)
+                {
+                  xasprintf (&additional_info, "{s:@%s %s}",
+                             element_command_name (section_element),
+                             section_texi);
+                  free (section_texi);
+                }
+              else
+                xasprintf (&additional_info, "{s:}");
+            }
+        }
+      text_append_n (&result, "}", 1);
+      if (additional_info)
+        {
+          text_append (&result, additional_info);
+          free (additional_info);
+        }
+      free (root_command_texi);
+    }
+
+  if (output_unit->unit_filename)
+    {
+      text_append_n (&result, " ", 1);
+      if (use_filename)
+        {
+          char *file_name_and_directory[2];
+          parse_file_path (output_unit->unit_filename,
+                           file_name_and_directory);
+
+          text_append (&result, file_name_and_directory[0]);
+
+          free (file_name_and_directory[0]);
+          free (file_name_and_directory[1]);
+        }
+      else
+        text_append (&result, output_unit->unit_filename);
+    }
+  text_append_n (&result, "\n", 1);
+
+  return result.text;
+}
+
 /* If numbering elements is needed, the caller should have prepared the
    Texinfo tree elements for detailed printing by calling functions
    to number elements.  The argument CURRENT_NR should be the numbering
@@ -1102,97 +1211,10 @@
     {
       size_t j;
       OUTPUT_UNIT *output_unit = output_units->list[i];
+      char *output_unit_str = print_output_unit (output_unit, use_filename);
 
-      text_printf (result, "U%zu %s", output_unit->index,
-                   output_unit_type_names[output_unit->unit_type]);
-      if (output_unit->special_unit_variety)
-        text_printf (result, "-%s", output_unit->special_unit_variety);
-
-      if (output_unit->unit_type != OU_special_unit
-          && output_unit->uc.unit_command)
-        {
-          char *additional_info = 0;
-          char *root_command_texi
-            = root_command_element_string (output_unit->uc.unit_command);
-
-          /* determine the kind of command by comparing with
-             unit node or unit section.  Also show the texinfo code
-             of the node or section relations not associated to unit_command.
-           */
-          if (output_unit->unit_node)
-            {
-              if (output_unit->unit_node->element
-                     == output_unit->uc.unit_command)
-                {
-                  text_append_n (result, "{N:", 3);
-                  if (root_command_texi)
-                    text_append (result, root_command_texi);
-                }
-              else
-                {
-                  char *node_texi
-                    = root_command_element_string (
-                                    output_unit->unit_node->element);
-                  if (node_texi)
-                    {
-                      xasprintf (&additional_info, "{n:%s}", node_texi);
-                      free (node_texi);
-                    }
-                  else
-                    xasprintf (&additional_info, "{n:}");
-                }
-            }
-
-          if (output_unit->unit_section)
-            {
-              if (output_unit->unit_section->element
-                     == output_unit->uc.unit_command)
-                {
-                  text_append_n (result, "{S:", 3);
-                  if (root_command_texi)
-                    text_append (result, root_command_texi);
-                }
-              else
-                {
-                  char *section_texi
-                    = root_command_element_string (
-                                  output_unit->unit_section->element);
-                  if (section_texi)
-                    {
-                      xasprintf (&additional_info, "{s:%s}", section_texi);
-                      free (section_texi);
-                    }
-                  else
-                    xasprintf (&additional_info, "{s:}");
-                }
-            }
-          text_append_n (result, "}", 1);
-          if (additional_info)
-            {
-              text_append (result, additional_info);
-              free (additional_info);
-            }
-          free (root_command_texi);
-        }
-
-      if (output_unit->unit_filename)
-        {
-          text_append_n (result, " ", 1);
-          if (use_filename)
-            {
-              char *file_name_and_directory[2];
-              parse_file_path (output_unit->unit_filename,
-                               file_name_and_directory);
-
-              text_append (result, file_name_and_directory[0]);
-
-              free (file_name_and_directory[0]);
-              free (file_name_and_directory[1]);
-            }
-          else
-            text_append (result, output_unit->unit_filename);
-        }
-      text_append_n (result, "\n", 1);
+      text_printf (result, "U%zu %s", output_unit->index, output_unit_str);
+      free (output_unit_str);
 
       if (output_unit->tree_unit_directions[D_prev]
           || output_unit->tree_unit_directions[D_next])
diff --git a/tta/C/main/output_unit.h b/tta/C/main/output_unit.h
index 41f3fdd..318515b 100644
--- a/tta/C/main/output_unit.h
+++ b/tta/C/main/output_unit.h
@@ -44,6 +44,7 @@
                            enum units_split_type units_split,
                            const char *split_pages_string, int debug);
 
+char *print_output_unit (const OUTPUT_UNIT *output_unit, int use_filename);
 char *print_output_units_tree_details (OUTPUT_UNIT_LIST *output_units,
                                  ELEMENT *tree,
                                  const char *fname_encoding, int use_filename);
diff --git a/tta/perl/Texinfo/Common.pm b/tta/perl/Texinfo/Common.pm
index 4ed9aa8..8d3993b 100644
--- a/tta/perl/Texinfo/Common.pm
+++ b/tta/perl/Texinfo/Common.pm
@@ -2149,6 +2149,7 @@
 );
 
 # informations on a tree element, short version
+# Texinfo::ManipulateTree::element_print_details can be used for details.
 sub debug_print_element($;$) {
   my ($current, $print_parent) = @_;
 
@@ -2189,6 +2190,9 @@
 }
 
 # for debugging
+# Shows Perl references; values are not always in a readable format.
+# Texinfo::ManipulateTree::element_print_details does not show the
+# references, but shows all the information in a readable format.
 sub debug_print_element_details($;$) {
   my ($current, $print_parent) = @_;
 
@@ -2211,54 +2215,6 @@
   return $string;
 }
 
-sub debug_print_output_unit($) {
-  my $current = shift;
-
-  if (!defined($current)) {
-    return "debug_print_output_unit: UNDEF\n";
-  }
-  if (ref($current) ne 'HASH') {
-    return "debug_print_output_unit: $current not a hash\n";
-  }
-  my $type = $current->{'unit_type'};
-  # Should never happen
-  $type = 'UNDEF' if (!defined($type));
-  my $node_unit_cmd = '';
-  if (exists($current->{'unit_node'})) {
-    my $node_element = $current->{'unit_node'}->{'element'};
-    $node_unit_cmd = '{N';
-    if ($node_element eq $current->{'unit_command'}) {
-      $node_unit_cmd .= '*';
-    }
-    $node_unit_cmd .= ':' . debug_print_element($node_element, 0)
-    .Texinfo::Convert::Texinfo::root_heading_command_to_texinfo(
-                                                $node_element).'}';
-  }
-  my $section_unit_cmd = '';
-  if (exists($current->{'unit_section'})) {
-    my $section_element = $current->{'unit_section'}->{'element'};
-    $section_unit_cmd = '{S';
-    if ($section_element eq $current->{'unit_command'}) {
-      $section_unit_cmd .= '*';
-    }
-    $section_unit_cmd .= ':'.debug_print_element($section_element, 0)
-      .Texinfo::Convert::Texinfo::root_heading_command_to_texinfo(
-                                               $section_element).'}';
-  }
-  my $fname = '';
-  if (exists($current->{'unit_filename'})) {
-    $fname = "{F:$current->{'unit_filename'}}";
-  }
-  my $variety = '';
-  if (exists($current->{'special_unit_variety'})) {
-    $variety = "{V:$current->{'special_unit_variety'}}";
-  }
-  my $contents = '';
-  $contents = "{C".scalar(@{$current->{'unit_contents'}}).'}'
-    if (exists($current->{'unit_contents'}));
-  return "{$type}$fname$variety$contents$node_unit_cmd$section_unit_cmd";
-}
-
 # format list for debugging messages
 sub debug_list {
   my $label = shift;
diff --git a/tta/perl/Texinfo/Convert/HTML.pm b/tta/perl/Texinfo/Convert/HTML.pm
index 8f6ac15..d1d5826 100644
--- a/tta/perl/Texinfo/Convert/HTML.pm
+++ b/tta/perl/Texinfo/Convert/HTML.pm
@@ -967,7 +967,7 @@
       }
     }
     if (exists($current->{'associated_unit'})) {
-      #print STDERR "ASSOCIATED_UNIT ".Texinfo::Common::debug_print_output_unit($current->{'associated_unit'})."\n" if ($debug);
+      #print STDERR "ASSOCIATED_UNIT ".Texinfo::OutputUnits::debug_print_output_unit($current->{'associated_unit'})."\n" if ($debug);
       return ($current->{'associated_unit'}, $root_command);
     } elsif (exists($current->{'parent'})) {
       #print STDERR "PARENT ".Texinfo::Common::debug_print_element($current->{'parent'})."\n" if ($debug);
@@ -1110,7 +1110,7 @@
     ######## debug
     if (!exists($target_unit->{'unit_type'})) {
       die "No unit type for element_target $direction $target_unit: "
-       . Texinfo::Common::debug_print_output_unit($target_unit)
+       . Texinfo::OutputUnits::debug_print_output_unit($target_unit)
        . "directions :"
            . Texinfo::OutputUnits::print_output_unit_directions($source_unit);
     }
diff --git a/tta/perl/Texinfo/OutputUnits.pm b/tta/perl/Texinfo/OutputUnits.pm
index 78394c7..99caae3 100644
--- a/tta/perl/Texinfo/OutputUnits.pm
+++ b/tta/perl/Texinfo/OutputUnits.pm
@@ -664,7 +664,7 @@
     # an element was passed in argument instead of an output unit
     return "unit $output_unit without type: ".
        Texinfo::Common::debug_print_element_details($output_unit, 1)
-      .' '.Texinfo::Common::debug_print_output_unit($output_unit);
+      .' '.debug_print_output_unit($output_unit);
   }
 
   my $unit_command = $output_unit->{'unit_command'};
@@ -711,6 +711,84 @@
     = (@relative_directions_order, @file_directions_order,
        map {'FirstInFile'.$_} @relative_directions_order);
 
+sub print_output_unit($;$) {
+  my ($output_unit, $use_filename) = @_;
+
+  my $result = "$output_unit->{'unit_type'}";
+  if (exists($output_unit->{'special_unit_variety'})) {
+    $result .= "-$output_unit->{'special_unit_variety'}";
+  }
+  if (exists($output_unit->{'unit_contents'})) {
+    $result .= '{C'.scalar(@{$output_unit->{'unit_contents'}}).'}';
+  }
+
+  if ($output_unit->{'unit_type'} ne 'special_unit'
+      and exists($output_unit->{'unit_command'})) {
+
+    my $additional_info = '';
+
+    my $node_or_section_indicator = '?';
+
+    my $root_command_texi
+      = Texinfo::ManipulateTree::root_command_element_string(
+                                  $output_unit->{'unit_command'});
+    $root_command_texi = '' if (!defined($root_command_texi));
+
+    # determine the kind of command by comparing with
+    # unit node or unit section.  Also show the texinfo code
+    # of the node or section not associated to unit_command.
+    if (exists($output_unit->{'unit_node'})) {
+      if ($output_unit->{'unit_node'}->{'element'}
+                   eq $output_unit->{'unit_command'}) {
+        $node_or_section_indicator = 'N:';
+      } else {
+        my $node_texi
+          = Texinfo::ManipulateTree::root_command_element_string(
+                                $output_unit->{'unit_node'}->{'element'});
+        $node_texi = '' if (!defined($node_texi));
+        $additional_info .= "{n:$node_texi}";
+      }
+    }
+    if (exists($output_unit->{'unit_section'})) {
+      my $section_element = $output_unit->{'unit_section'}->{'element'};
+      my $cmdname = '@'.$section_element->{'cmdname'};
+      if ($section_element eq $output_unit->{'unit_command'}) {
+        $node_or_section_indicator = 'S:'.$cmdname;
+        if ($root_command_texi ne '') {
+          $node_or_section_indicator .= ' ';
+        }
+      } else {
+        my $section_texi
+          = Texinfo::ManipulateTree::root_command_element_string(
+                                                          $section_element);
+        if (!defined($section_texi)) {
+          $section_texi = '';
+        } else {
+          $section_texi = $cmdname.' '.$section_texi;
+        }
+        $additional_info
+           .= "{s:$section_texi}";
+      }
+    }
+    $result .= "{${node_or_section_indicator}$root_command_texi}";
+    $result .= $additional_info;
+  }
+
+  if (exists($output_unit->{'unit_filename'})) {
+    my $file_name = $output_unit->{'unit_filename'};
+    if ($use_filename) {
+      my ($directories, $suffix);
+       ($file_name, $directories, $suffix) = fileparse($file_name);
+    }
+    $result .= " $file_name";
+  }
+
+  $result .= "\n";
+
+  return $result;
+}
+
+
 sub print_output_units_details($$;$$) {
   my ($output_units, $current_nr, $fname_encoding, $use_filename) = @_;
 
@@ -722,64 +800,8 @@
   }
 
   foreach my $output_unit (@$output_units) {
-    $result .= "U$output_unit->{'_index'} $output_unit->{'unit_type'}";
-    if (exists($output_unit->{'special_unit_variety'})) {
-      $result .= "-$output_unit->{'special_unit_variety'}";
-    }
-
-    if ($output_unit->{'unit_type'} ne 'special_unit'
-        and exists($output_unit->{'unit_command'})) {
-
-      my $additional_info = '';
-
-      my $node_or_section_indicator = '?';
-
-      my $root_command_texi
-        = Texinfo::ManipulateTree::root_command_element_string(
-                                    $output_unit->{'unit_command'});
-      $root_command_texi = '' if (!defined($root_command_texi));
-
-      # determine the kind of command by comparing with
-      # unit node or unit section.  Also show the texinfo code
-      # of the node or section not associated to unit_command.
-      if (exists($output_unit->{'unit_node'})) {
-        if ($output_unit->{'unit_node'}->{'element'}
-                     eq $output_unit->{'unit_command'}) {
-          $node_or_section_indicator = 'N';
-        } else {
-          my $node_texi
-            = Texinfo::ManipulateTree::root_command_element_string(
-                                  $output_unit->{'unit_node'}->{'element'});
-          $node_texi = '' if (!defined($node_texi));
-          $additional_info .= "{n:$node_texi}";
-        }
-      }
-      if (exists($output_unit->{'unit_section'})) {
-        if ($output_unit->{'unit_section'}->{'element'}
-                     eq $output_unit->{'unit_command'}) {
-          $node_or_section_indicator = 'S';
-        } else {
-          my $section_texi
-            = Texinfo::ManipulateTree::root_command_element_string(
-                               $output_unit->{'unit_section'}->{'element'});
-          $section_texi = '' if (!defined($section_texi));
-          $additional_info .= "{s:$section_texi}";
-        }
-      }
-      $result .= "{$node_or_section_indicator:$root_command_texi}";
-      $result .= $additional_info;
-    }
-
-    if (exists($output_unit->{'unit_filename'})) {
-      my $file_name = $output_unit->{'unit_filename'};
-      if ($use_filename) {
-        my ($directories, $suffix);
-         ($file_name, $directories, $suffix) = fileparse($file_name);
-      }
-      $result .= " $file_name";
-    }
-
-    $result .= "\n";
+    $result .= "U$output_unit->{'_index'} ";
+    $result .= print_output_unit($output_unit, $use_filename);
 
     my @ou_directions_text;
     if (exists($output_unit->{'tree_unit_directions'})) {
@@ -838,6 +860,19 @@
   return ($current_nr, $result);
 }
 
+sub debug_print_output_unit($) {
+  my $current = shift;
+
+  if (!defined($current)) {
+    return "debug_print_output_unit: UNDEF\n";
+  }
+  if (ref($current) ne 'HASH') {
+    return "debug_print_output_unit: $current not a hash\n";
+  }
+
+  return print_output_unit($current);
+}
+
 # Used for debugging and in test suite, but not generally useful. Not
 # documented in pod section and not exportable as it should not, in
 # general, be used.
diff --git a/tta/perl/t/results/html_tests/footnotestyle_separate_late.pl b/tta/perl/t/results/html_tests/footnotestyle_separate_late.pl
index 10f6444..ece5969 100644
--- a/tta/perl/t/results/html_tests/footnotestyle_separate_late.pl
+++ b/tta/perl/t/results/html_tests/footnotestyle_separate_late.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'footnotestyle_separate_late'} = 'U0 unit{N:Top}{s:top}
+$result_tree_text{'footnotestyle_separate_late'} = 'U0 unit{C3}{N:Top}{s:@top top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -35,7 +35,7 @@
     {top}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:chap f}{s:1 Chapter f}
+U1 unit{C2}{N:chap f}{s:@chapter 1 Chapter f}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -80,7 +80,7 @@
       {in fchap 1}
    {\\n}
   {empty_line:\\n}
-U2 unit{N:chap s}{s:2 Chapter s}
+U2 unit{C2}{N:chap s}{s:@chapter 2 Chapter s}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/html_tests/index_below.pl b/tta/perl/t/results/html_tests/index_below.pl
index 791269a..45fe8ab 100644
--- a/tta/perl/t/results/html_tests/index_below.pl
+++ b/tta/perl/t/results/html_tests/index_below.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'index_below'} = 'U0 unit{S:top}
+$result_tree_text{'index_below'} = 'U0 unit{C2}{S:@top top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -22,7 +22,7 @@
     {top}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chap}
+U1 unit{C1}{S:@chapter 1 chap}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -41,7 +41,7 @@
     {chap}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:1.1 sec}
+U2 unit{C1}{S:@section 1.1 sec}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/html_tests/redirection_same_labels.pl b/tta/perl/t/results/html_tests/redirection_same_labels.pl
index 5eb178e..e651001 100644
--- a/tta/perl/t/results/html_tests/redirection_same_labels.pl
+++ b/tta/perl/t/results/html_tests/redirection_same_labels.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'redirection_same_labels'} = 'U0 unit{S:the top}{n:Top}
+$result_tree_text{'redirection_same_labels'} = 'U0 unit{C3}{S:@top the top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -86,7 +86,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 umlaut}{n:umlaut}
+U1 unit{C4}{S:@chapter 1 umlaut}{n:umlaut}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -190,7 +190,7 @@
         {i}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:2 circumflex}{n:circumflex}
+U2 unit{C3}{S:@chapter 2 circumflex}{n:circumflex}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/html_tests/simple_only_special_spaces_node_test_split_section.pl b/tta/perl/t/results/html_tests/simple_only_special_spaces_node_test_split_section.pl
index 57c81c5..30acf5c 100644
--- a/tta/perl/t/results/html_tests/simple_only_special_spaces_node_test_split_section.pl
+++ b/tta/perl/t/results/html_tests/simple_only_special_spaces_node_test_split_section.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'simple_only_special_spaces_node_test_split_section'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'simple_only_special_spaces_node_test_split_section'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -35,7 +35,7 @@
     {top}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 EN QUAD| |}{n:  }
+U1 unit{C3}{S:@chapter 1 EN QUAD| |}{n:  }
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -73,7 +73,7 @@
   *arguments_line C1
    *line_arg C1
     {spaces_before_argument: '."\r".'\\n}
-U2 unit{S:2 CARRIAGE RETURN|'."\r".'|}
+U2 unit{C1}{S:@chapter 2 CARRIAGE RETURN|'."\r".'|}
 unit_directions:D[next->[U3]|prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
@@ -95,7 +95,7 @@
     {CARRIAGE RETURN|'."\r".'|}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U3 unit{S:3 THREE-PER-EM SPACE}{n:  }
+U3 unit{C2}{S:@chapter 3 THREE-PER-EM SPACE}{n:  }
 unit_directions:D[prev->[U2]]
 UNIT_DIRECTIONS
 This: [U3]
diff --git a/tta/perl/t/results/html_tests/split_html_text.pl b/tta/perl/t/results/html_tests/split_html_text.pl
index 1c107c8..b2a0a76 100644
--- a/tta/perl/t/results/html_tests/split_html_text.pl
+++ b/tta/perl/t/results/html_tests/split_html_text.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'split_html_text'} = 'U0 unit{N:Top}{s:top}
+$result_tree_text{'split_html_text'} = 'U0 unit{C3}{N:Top}{s:@top top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -36,7 +36,7 @@
   *paragraph C1
    {In top\\n}
   {empty_line:\\n}
-U1 unit{N:chap}{s:1 Chap}
+U1 unit{C2}{N:chap}{s:@chapter 1 Chap}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/html_tests/transliterated_names_conflicts.pl b/tta/perl/t/results/html_tests/transliterated_names_conflicts.pl
index 45bd595..ce8af32 100644
--- a/tta/perl/t/results/html_tests/transliterated_names_conflicts.pl
+++ b/tta/perl/t/results/html_tests/transliterated_names_conflicts.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'transliterated_names_conflicts'} = 'U0 unit{N:Top}{s:Same transliterated names}
+$result_tree_text{'transliterated_names_conflicts'} = 'U0 unit{C3}{N:Top}{s:@top Same transliterated names}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -38,7 +38,7 @@
     {Same transliterated names}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:Prés}{s:1 Prés}
+U1 unit{C2}{N:Prés}{s:@chapter 1 Prés}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -74,7 +74,7 @@
     {Prés}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{N:Other node}{s:2 Other chapter}
+U2 unit{C3}{N:Other node}{s:@chapter 2 Other chapter}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/moresectioning/chapter_sections.pl b/tta/perl/t/results/moresectioning/chapter_sections.pl
index 284343b..bf843a3 100644
--- a/tta/perl/t/results/moresectioning/chapter_sections.pl
+++ b/tta/perl/t/results/moresectioning/chapter_sections.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'chapter_sections'} = 'U0 unit{S:unnumbered}
+$result_tree_text{'chapter_sections'} = 'U0 unit{C2}{S:@unnumbered unnumbered}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -23,7 +23,7 @@
     {unnumbered}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 First chapter}
+U1 unit{C1}{S:@chapter 1 First chapter}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -44,7 +44,7 @@
     {First chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:1.1 second}
+U2 unit{C1}{S:@section 1.1 second}
 unit_directions:D[next->[U3]|prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
@@ -64,7 +64,7 @@
     {second}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U3 unit{S:2 Chapter}
+U3 unit{C1}{S:@chapter 2 Chapter}
 unit_directions:D[next->[U4]|prev->[U2]]
 UNIT_DIRECTIONS
 This: [U3]
@@ -85,7 +85,7 @@
     {Chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U4 unit{S:2.1 Section of chapter}
+U4 unit{C1}{S:@section 2.1 Section of chapter}
 unit_directions:D[next->[U5]|prev->[U3]]
 UNIT_DIRECTIONS
 This: [U4]
@@ -105,7 +105,7 @@
     {Section of chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U5 unit{S:2.1.1 subsection 1}
+U5 unit{C1}{S:@subsection 2.1.1 subsection 1}
 unit_directions:D[next->[U6]|prev->[U4]]
 UNIT_DIRECTIONS
 This: [U5]
@@ -126,7 +126,7 @@
     {subsection 1}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U6 unit{S:2.1.2 subsection 2}
+U6 unit{C1}{S:@subsection 2.1.2 subsection 2}
 unit_directions:D[next->[U7]|prev->[U5]]
 UNIT_DIRECTIONS
 This: [U6]
@@ -147,7 +147,7 @@
     {subsection 2}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U7 unit{S:3 Chapter 2}
+U7 unit{C1}{S:@chapter 3 Chapter 2}
 unit_directions:D[prev->[U6]]
 UNIT_DIRECTIONS
 This: [U7]
diff --git a/tta/perl/t/results/moresectioning/character_and_spaces_in_refs_out.pl b/tta/perl/t/results/moresectioning/character_and_spaces_in_refs_out.pl
index 45984db..af8f5e5 100644
--- a/tta/perl/t/results/moresectioning/character_and_spaces_in_refs_out.pl
+++ b/tta/perl/t/results/moresectioning/character_and_spaces_in_refs_out.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'character_and_spaces_in_refs_out'} = 'U0 unit{N:Top}{s:Test refs}
+$result_tree_text{'character_and_spaces_in_refs_out'} = 'U0 unit{C3}{N:Top}{s:@top Test refs}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -69,7 +69,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:node to avoid DocBook or LaTeX ignored}{s:1 first chapter}
+U1 unit{C2}{N:node to avoid DocBook or LaTeX ignored}{s:@chapter 1 first chapter}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -214,7 +214,7 @@
      {local   node}
    {\\n}
   {empty_line:\\n}
-U2 unit{N:other nodes}{s:2 Chapter with nodes}
+U2 unit{C2}{N:other nodes}{s:@chapter 2 Chapter with nodes}
 unit_directions:D[next->[U3]|prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
@@ -312,7 +312,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U3 unit{N:!_"#$%&\'()*+-.}
+U3 unit{C1}{N:!_"#$%&\'()*+-.}
 unit_directions:D[next->[U4]|prev->[U2]]
 UNIT_DIRECTIONS
 This: [U3]
@@ -353,7 +353,7 @@
     {other nodes}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U4 unit{N:/;<=>?[\\]^_`|~}
+U4 unit{C1}{N:/;<=>?[\\]^_`|~}
 unit_directions:D[next->[U5]|prev->[U3]]
 UNIT_DIRECTIONS
 This: [U4]
@@ -392,7 +392,7 @@
     {other nodes}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U5 unit{N:local   node}
+U5 unit{C2}{N:local   node}
 unit_directions:D[prev->[U4]]
 UNIT_DIRECTIONS
 This: [U5]
diff --git a/tta/perl/t/results/moresectioning/complex.pl b/tta/perl/t/results/moresectioning/complex.pl
index 3da4010..6f98a9d 100644
--- a/tta/perl/t/results/moresectioning/complex.pl
+++ b/tta/perl/t/results/moresectioning/complex.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'complex'} = 'U0 unit{S:}{n:Top}
+$result_tree_text{'complex'} = 'U0 unit{C3}{S:@top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -122,7 +122,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 first node chapter}{n:First node}
+U1 unit{C2}{S:@chapter 1 first node chapter}{n:First node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -218,7 +218,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:unnumbered section}{n:unnumbered}
+U2 unit{C2}{S:@unnumberedsec unnumbered section}{n:unnumbered}
 unit_directions:D[next->[U3]|prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
@@ -308,7 +308,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U3 unit{S:unnumbered subsection}{n:unnumbered sub}
+U3 unit{C2}{S:@unnumberedsubsec unnumbered subsection}{n:unnumbered sub}
 unit_directions:D[next->[U4]|prev->[U2]]
 UNIT_DIRECTIONS
 This: [U3]
@@ -342,7 +342,7 @@
     {unnumbered subsection}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U4 unit{S:numbered subsection}{n:numbered sub}
+U4 unit{C2}{S:@subsection numbered subsection}{n:numbered sub}
 unit_directions:D[next->[U5]|prev->[U3]]
 UNIT_DIRECTIONS
 This: [U4]
@@ -378,7 +378,7 @@
     {numbered subsection}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U5 unit{S:unnumbered subsection2}{n:unnumbered sub2}
+U5 unit{C2}{S:@unnumberedsubsec unnumbered subsection2}{n:unnumbered sub2}
 unit_directions:D[next->[U6]|prev->[U4]]
 UNIT_DIRECTIONS
 This: [U5]
@@ -414,7 +414,7 @@
     {unnumbered subsection2}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U6 unit{S:numbered subsection2}{n:numbered sub2}
+U6 unit{C2}{S:@subsection numbered subsection2}{n:numbered sub2}
 unit_directions:D[next->[U7]|prev->[U5]]
 UNIT_DIRECTIONS
 This: [U6]
@@ -448,7 +448,7 @@
     {numbered subsection2}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U7 unit{S:unnumbered section2}{n:unnumbered2}
+U7 unit{C2}{S:@unnumberedsec unnumbered section2}{n:unnumbered2}
 unit_directions:D[next->[U8]|prev->[U6]]
 UNIT_DIRECTIONS
 This: [U7]
@@ -507,7 +507,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U8 unit{S:numbered subsection3}{n:numbered sub3}
+U8 unit{C2}{S:@subsection numbered subsection3}{n:numbered sub3}
 unit_directions:D[next->[U9]|prev->[U7]]
 UNIT_DIRECTIONS
 This: [U8]
@@ -540,7 +540,7 @@
     {spaces_after_argument:\\n}
   {empty_line:\\n}
   {empty_line:\\n}
-U9 unit{S:1.1 numbered section}{n:numbered}
+U9 unit{C3}{S:@section 1.1 numbered section}{n:numbered}
 unit_directions:D[next->[U10]|prev->[U8]]
 UNIT_DIRECTIONS
 This: [U9]
@@ -595,7 +595,7 @@
   *paragraph C1
    {between node, node without sectioning node\\n}
   {empty_line:\\n}
-U10 unit{S:2 second node chapter}{n:Second node}
+U10 unit{C2}{S:@chapter 2 second node chapter}{n:Second node}
 unit_directions:D[next->[U11]|prev->[U9]]
 UNIT_DIRECTIONS
 This: [U10]
@@ -648,7 +648,7 @@
   *paragraph C1
    {second node chapter text.\\n}
   {empty_line:\\n}
-U11 unit{S:unnumbered chapter}{n:Third node unnumbered}
+U11 unit{C2}{S:@unnumbered unnumbered chapter}{n:Third node unnumbered}
 unit_directions:D[next->[U12]|prev->[U10]]
 UNIT_DIRECTIONS
 This: [U11]
@@ -687,7 +687,7 @@
   *paragraph C1
    {unnumbered chapter text.\\n}
   {empty_line:\\n}
-U12 unit{S:unnumbered continuity}{n:continuity}
+U12 unit{C4}{S:@unnumbered unnumbered continuity}{n:continuity}
 unit_directions:D[prev->[U11]]
 UNIT_DIRECTIONS
 This: [U12]
diff --git a/tta/perl/t/results/moresectioning/complex_split_at_node.pl b/tta/perl/t/results/moresectioning/complex_split_at_node.pl
index 10a5a9b..6a5aea6 100644
--- a/tta/perl/t/results/moresectioning/complex_split_at_node.pl
+++ b/tta/perl/t/results/moresectioning/complex_split_at_node.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'complex_split_at_node'} = 'U0 unit{N:Top}{s:}
+$result_tree_text{'complex_split_at_node'} = 'U0 unit{C3}{N:Top}{s:}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -122,7 +122,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:First node}{s:1 first node chapter}
+U1 unit{C2}{N:First node}{s:@chapter 1 first node chapter}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -218,7 +218,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{N:unnumbered}{s:unnumbered section}
+U2 unit{C2}{N:unnumbered}{s:@unnumberedsec unnumbered section}
 unit_directions:D[next->[U3]|prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
@@ -308,7 +308,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U3 unit{N:unnumbered sub}{s:unnumbered subsection}
+U3 unit{C2}{N:unnumbered sub}{s:@unnumberedsubsec unnumbered subsection}
 unit_directions:D[next->[U4]|prev->[U2]]
 UNIT_DIRECTIONS
 This: [U3]
@@ -342,7 +342,7 @@
     {unnumbered subsection}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U4 unit{N:numbered sub}{s:numbered subsection}
+U4 unit{C2}{N:numbered sub}{s:@subsection numbered subsection}
 unit_directions:D[next->[U5]|prev->[U3]]
 UNIT_DIRECTIONS
 This: [U4]
@@ -378,7 +378,7 @@
     {numbered subsection}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U5 unit{N:unnumbered sub2}{s:unnumbered subsection2}
+U5 unit{C2}{N:unnumbered sub2}{s:@unnumberedsubsec unnumbered subsection2}
 unit_directions:D[next->[U6]|prev->[U4]]
 UNIT_DIRECTIONS
 This: [U5]
@@ -414,7 +414,7 @@
     {unnumbered subsection2}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U6 unit{N:numbered sub2}{s:numbered subsection2}
+U6 unit{C2}{N:numbered sub2}{s:@subsection numbered subsection2}
 unit_directions:D[next->[U7]|prev->[U5]]
 UNIT_DIRECTIONS
 This: [U6]
@@ -448,7 +448,7 @@
     {numbered subsection2}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U7 unit{N:unnumbered2}{s:unnumbered section2}
+U7 unit{C2}{N:unnumbered2}{s:@unnumberedsec unnumbered section2}
 unit_directions:D[next->[U8]|prev->[U6]]
 UNIT_DIRECTIONS
 This: [U7]
@@ -507,7 +507,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U8 unit{N:numbered sub3}{s:numbered subsection3}
+U8 unit{C2}{N:numbered sub3}{s:@subsection numbered subsection3}
 unit_directions:D[next->[U9]|prev->[U7]]
 UNIT_DIRECTIONS
 This: [U8]
@@ -540,7 +540,7 @@
     {spaces_after_argument:\\n}
   {empty_line:\\n}
   {empty_line:\\n}
-U9 unit{N:numbered}{s:1.1 numbered section}
+U9 unit{C2}{N:numbered}{s:@section 1.1 numbered section}
 unit_directions:D[next->[U10]|prev->[U8]]
 UNIT_DIRECTIONS
 This: [U9]
@@ -574,7 +574,7 @@
     {numbered section}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U10 unit{N:between node}
+U10 unit{C1}{N:between node}
 unit_directions:D[next->[U11]|prev->[U9]]
 UNIT_DIRECTIONS
 This: [U10]
@@ -604,7 +604,7 @@
   *paragraph C1
    {between node, node without sectioning node\\n}
   {empty_line:\\n}
-U11 unit{N:Second node}{s:2 second node chapter}
+U11 unit{C2}{N:Second node}{s:@chapter 2 second node chapter}
 unit_directions:D[next->[U12]|prev->[U10]]
 UNIT_DIRECTIONS
 This: [U11]
@@ -657,7 +657,7 @@
   *paragraph C1
    {second node chapter text.\\n}
   {empty_line:\\n}
-U12 unit{N:Third node unnumbered}{s:unnumbered chapter}
+U12 unit{C2}{N:Third node unnumbered}{s:@unnumbered unnumbered chapter}
 unit_directions:D[next->[U13]|prev->[U11]]
 UNIT_DIRECTIONS
 This: [U12]
@@ -696,7 +696,7 @@
   *paragraph C1
    {unnumbered chapter text.\\n}
   {empty_line:\\n}
-U13 unit{N:continuity}{s:unnumbered continuity}
+U13 unit{C2}{N:continuity}{s:@unnumbered unnumbered continuity}
 unit_directions:D[next->[U14]|prev->[U12]]
 UNIT_DIRECTIONS
 This: [U13]
@@ -752,7 +752,7 @@
    {Unumbered and node needed for continuity between automatic \\n}
    {directions and lone node.\\n}
   {empty_line:\\n}
-U14 unit{N:Last node no description}
+U14 unit{C2}{N:Last node no description}
 unit_directions:D[prev->[U13]]
 UNIT_DIRECTIONS
 This: [U14]
diff --git a/tta/perl/t/results/moresectioning/internal_top_node_up.pl b/tta/perl/t/results/moresectioning/internal_top_node_up.pl
index 953978d..11189f3 100644
--- a/tta/perl/t/results/moresectioning/internal_top_node_up.pl
+++ b/tta/perl/t/results/moresectioning/internal_top_node_up.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'internal_top_node_up'} = 'U0 unit{N:Top}{s:internal top node up}
+$result_tree_text{'internal_top_node_up'} = 'U0 unit{C3}{N:Top}{s:@top internal top node up}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -56,7 +56,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:chap}
+U1 unit{C1}{N:chap}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/moresectioning/non_automatic_internal_top_node_up.pl b/tta/perl/t/results/moresectioning/non_automatic_internal_top_node_up.pl
index 6321ad2..be12b8c 100644
--- a/tta/perl/t/results/moresectioning/non_automatic_internal_top_node_up.pl
+++ b/tta/perl/t/results/moresectioning/non_automatic_internal_top_node_up.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'non_automatic_internal_top_node_up'} = 'U0 unit{N:Top}{s:internal top node up}
+$result_tree_text{'non_automatic_internal_top_node_up'} = 'U0 unit{C3}{N:Top}{s:@top internal top node up}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -92,7 +92,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:chap}
+U1 unit{C1}{N:chap}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/moresectioning/non_automatic_top_node_up_and_url.pl b/tta/perl/t/results/moresectioning/non_automatic_top_node_up_and_url.pl
index 8708559..2c7eaf6 100644
--- a/tta/perl/t/results/moresectioning/non_automatic_top_node_up_and_url.pl
+++ b/tta/perl/t/results/moresectioning/non_automatic_top_node_up_and_url.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'non_automatic_top_node_up_and_url'} = 'U0 unit{N:Top}{s:internal top node up}
+$result_tree_text{'non_automatic_top_node_up_and_url'} = 'U0 unit{C3}{N:Top}{s:@top internal top node up}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -92,7 +92,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:chap}
+U1 unit{C1}{N:chap}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/moresectioning/non_automatic_top_node_up_url.pl b/tta/perl/t/results/moresectioning/non_automatic_top_node_up_url.pl
index f5d5e14..f6da890 100644
--- a/tta/perl/t/results/moresectioning/non_automatic_top_node_up_url.pl
+++ b/tta/perl/t/results/moresectioning/non_automatic_top_node_up_url.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'non_automatic_top_node_up_url'} = 'U0 unit{N:Top}{s:internal top node up}
+$result_tree_text{'non_automatic_top_node_up_url'} = 'U0 unit{C3}{N:Top}{s:@top internal top node up}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -78,7 +78,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:chap}
+U1 unit{C1}{N:chap}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/moresectioning/sectioning_part_appendix.pl b/tta/perl/t/results/moresectioning/sectioning_part_appendix.pl
index b0f8d00..d5a971d 100644
--- a/tta/perl/t/results/moresectioning/sectioning_part_appendix.pl
+++ b/tta/perl/t/results/moresectioning/sectioning_part_appendix.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'sectioning_part_appendix'} = 'U0 unit{S:top}
+$result_tree_text{'sectioning_part_appendix'} = 'U0 unit{C2}{S:@top top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -23,7 +23,7 @@
     {top}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}
+U1 unit{C1}{S:@chapter 1 chapter}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -43,7 +43,7 @@
     {chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:1.1 section}
+U2 unit{C1}{S:@section 1.1 section}
 unit_directions:D[next->[U3]|prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
@@ -63,7 +63,7 @@
     {section}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U3 unit{S:1.1.1 subsection}
+U3 unit{C1}{S:@subsection 1.1.1 subsection}
 unit_directions:D[next->[U4]|prev->[U2]]
 UNIT_DIRECTIONS
 This: [U3]
@@ -83,7 +83,7 @@
     {subsection}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U4 unit{S:1.1.1.1 subsubsection}
+U4 unit{C1}{S:@subsubsection 1.1.1.1 subsubsection}
 unit_directions:D[next->[U5]|prev->[U3]]
 UNIT_DIRECTIONS
 This: [U4]
@@ -103,7 +103,7 @@
     {subsubsection}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U5 unit{S:2 chapter in part}
+U5 unit{C2}{S:@chapter 2 chapter in part}
 unit_directions:D[next->[U6]|prev->[U4]]
 UNIT_DIRECTIONS
 This: [U5]
@@ -134,7 +134,7 @@
     {chapter in part}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U6 unit{S:3 second chapter in part}
+U6 unit{C1}{S:@chapter 3 second chapter in part}
 unit_directions:D[next->[U7]|prev->[U5]]
 UNIT_DIRECTIONS
 This: [U6]
@@ -156,7 +156,7 @@
     {second chapter in part}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U7 unit{S:unnumbered}
+U7 unit{C1}{S:@unnumbered unnumbered}
 unit_directions:D[next->[U8]|prev->[U6]]
 UNIT_DIRECTIONS
 This: [U7]
@@ -176,7 +176,7 @@
     {unnumbered}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U8 unit{S:A appendix}
+U8 unit{C1}{S:@appendix A appendix}
 unit_directions:D[next->[U9]|prev->[U7]]
 UNIT_DIRECTIONS
 This: [U8]
@@ -195,7 +195,7 @@
     {appendix}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U9 unit{S:A.1 appendixsec}
+U9 unit{C1}{S:@appendixsec A.1 appendixsec}
 unit_directions:D[prev->[U8]]
 UNIT_DIRECTIONS
 This: [U9]
diff --git a/tta/perl/t/results/moresectioning/sectioning_part_appendix_no_top.pl b/tta/perl/t/results/moresectioning/sectioning_part_appendix_no_top.pl
index dc75135..14c9e85 100644
--- a/tta/perl/t/results/moresectioning/sectioning_part_appendix_no_top.pl
+++ b/tta/perl/t/results/moresectioning/sectioning_part_appendix_no_top.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'sectioning_part_appendix_no_top'} = 'U0 unit{S:1 chapter}
+$result_tree_text{'sectioning_part_appendix_no_top'} = 'U0 unit{C2}{S:@chapter 1 chapter}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -23,7 +23,7 @@
     {chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1.1 section}
+U1 unit{C1}{S:@section 1.1 section}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -43,7 +43,7 @@
     {section}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:1.1.1 subsection}
+U2 unit{C1}{S:@subsection 1.1.1 subsection}
 unit_directions:D[next->[U3]|prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
@@ -63,7 +63,7 @@
     {subsection}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U3 unit{S:1.1.1.1 subsubsection}
+U3 unit{C1}{S:@subsubsection 1.1.1.1 subsubsection}
 unit_directions:D[next->[U4]|prev->[U2]]
 UNIT_DIRECTIONS
 This: [U3]
@@ -83,7 +83,7 @@
     {subsubsection}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U4 unit{S:2 chapter in part}
+U4 unit{C2}{S:@chapter 2 chapter in part}
 unit_directions:D[next->[U5]|prev->[U3]]
 UNIT_DIRECTIONS
 This: [U4]
@@ -114,7 +114,7 @@
     {chapter in part}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U5 unit{S:3 second chapter in part}
+U5 unit{C1}{S:@chapter 3 second chapter in part}
 unit_directions:D[next->[U6]|prev->[U4]]
 UNIT_DIRECTIONS
 This: [U5]
@@ -136,7 +136,7 @@
     {second chapter in part}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U6 unit{S:unnumbered}
+U6 unit{C1}{S:@unnumbered unnumbered}
 unit_directions:D[next->[U7]|prev->[U5]]
 UNIT_DIRECTIONS
 This: [U6]
@@ -156,7 +156,7 @@
     {unnumbered}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U7 unit{S:A appendix}
+U7 unit{C1}{S:@appendix A appendix}
 unit_directions:D[next->[U8]|prev->[U6]]
 UNIT_DIRECTIONS
 This: [U7]
@@ -175,7 +175,7 @@
     {appendix}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U8 unit{S:A.1 appendixsec}
+U8 unit{C1}{S:@appendixsec A.1 appendixsec}
 unit_directions:D[prev->[U7]]
 UNIT_DIRECTIONS
 This: [U8]
diff --git a/tta/perl/t/results/moresectioning/top_chapter_sections.pl b/tta/perl/t/results/moresectioning/top_chapter_sections.pl
index a51a241..6d137d7 100644
--- a/tta/perl/t/results/moresectioning/top_chapter_sections.pl
+++ b/tta/perl/t/results/moresectioning/top_chapter_sections.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'top_chapter_sections'} = 'U0 unit{S:top}
+$result_tree_text{'top_chapter_sections'} = 'U0 unit{C2}{S:@top top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -22,7 +22,7 @@
     {top}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:unnumbered}
+U1 unit{C1}{S:@unnumbered unnumbered}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -42,7 +42,7 @@
     {unnumbered}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:1 First chapter}
+U2 unit{C1}{S:@chapter 1 First chapter}
 unit_directions:D[next->[U3]|prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
@@ -64,7 +64,7 @@
     {First chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U3 unit{S:1.1 second}
+U3 unit{C1}{S:@section 1.1 second}
 unit_directions:D[next->[U4]|prev->[U2]]
 UNIT_DIRECTIONS
 This: [U3]
@@ -84,7 +84,7 @@
     {second}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U4 unit{S:2 Chapter}
+U4 unit{C1}{S:@chapter 2 Chapter}
 unit_directions:D[next->[U5]|prev->[U3]]
 UNIT_DIRECTIONS
 This: [U4]
@@ -106,7 +106,7 @@
     {Chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U5 unit{S:2.1 Section of chapter}
+U5 unit{C1}{S:@section 2.1 Section of chapter}
 unit_directions:D[next->[U6]|prev->[U4]]
 UNIT_DIRECTIONS
 This: [U5]
@@ -126,7 +126,7 @@
     {Section of chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U6 unit{S:2.1.1 subsection 1}
+U6 unit{C1}{S:@subsection 2.1.1 subsection 1}
 unit_directions:D[next->[U7]|prev->[U5]]
 UNIT_DIRECTIONS
 This: [U6]
@@ -147,7 +147,7 @@
     {subsection 1}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U7 unit{S:2.1.2 subsection 2}
+U7 unit{C1}{S:@subsection 2.1.2 subsection 2}
 unit_directions:D[next->[U8]|prev->[U6]]
 UNIT_DIRECTIONS
 This: [U7]
@@ -168,7 +168,7 @@
     {subsection 2}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U8 unit{S:3 Chapter 2}
+U8 unit{C1}{S:@chapter 3 Chapter 2}
 unit_directions:D[prev->[U7]]
 UNIT_DIRECTIONS
 This: [U8]
diff --git a/tta/perl/t/results/moresectioning/top_node_up_url.pl b/tta/perl/t/results/moresectioning/top_node_up_url.pl
index 8e066b3..a876d86 100644
--- a/tta/perl/t/results/moresectioning/top_node_up_url.pl
+++ b/tta/perl/t/results/moresectioning/top_node_up_url.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'top_node_up_url'} = 'U0 unit{N:Top}{s:internal top node up}
+$result_tree_text{'top_node_up_url'} = 'U0 unit{C3}{N:Top}{s:@top internal top node up}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -56,7 +56,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:chap}
+U1 unit{C1}{N:chap}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/chapter_before_and_after_part.pl b/tta/perl/t/results/sectioning/chapter_before_and_after_part.pl
index f7f5228..e662f1a 100644
--- a/tta/perl/t/results/sectioning/chapter_before_and_after_part.pl
+++ b/tta/perl/t/results/sectioning/chapter_before_and_after_part.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'chapter_before_and_after_part'} = 'U0 unit{S:1 chapter}
+$result_tree_text{'chapter_before_and_after_part'} = 'U0 unit{C2}{S:@chapter 1 chapter}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -24,7 +24,7 @@
     {chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:2 chapter 2}
+U1 unit{C2}{S:@chapter 2 chapter 2}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/chapter_before_part.pl b/tta/perl/t/results/sectioning/chapter_before_part.pl
index 4a3ce2f..f496fe7 100644
--- a/tta/perl/t/results/sectioning/chapter_before_part.pl
+++ b/tta/perl/t/results/sectioning/chapter_before_part.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'chapter_before_part'} = 'U0 unit{S:1 chapter}
+$result_tree_text{'chapter_before_part'} = 'U0 unit{C2}{S:@chapter 1 chapter}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -23,7 +23,7 @@
     {chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:part}
+U1 unit{C1}{S:@part part}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/double_part.pl b/tta/perl/t/results/sectioning/double_part.pl
index 77024ad..ecb7834 100644
--- a/tta/perl/t/results/sectioning/double_part.pl
+++ b/tta/perl/t/results/sectioning/double_part.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'double_part'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'double_part'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]|page->[U0]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -59,7 +59,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:part first}
+U1 unit{C1}{S:@part part first}
 unit_directions:D[next->[U2]|prev->[U0]|page->[U1]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -81,7 +81,7 @@
   {empty_line:\\n}
   *paragraph C1
    {Text part first.\\n}
-U2 unit{S:1 chapter after 2 parts}{n:node chapter}
+U2 unit{C3}{S:@chapter 1 chapter after 2 parts}{n:node chapter}
 unit_directions:D[prev->[U1]|page->[U2]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/explicit_node_directions.pl b/tta/perl/t/results/sectioning/explicit_node_directions.pl
index 40503f1..00efc22 100644
--- a/tta/perl/t/results/sectioning/explicit_node_directions.pl
+++ b/tta/perl/t/results/sectioning/explicit_node_directions.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'explicit_node_directions'} = 'U0 unit{N:Top}
+$result_tree_text{'explicit_node_directions'} = 'U0 unit{C2}{N:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -59,7 +59,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:chap node}
+U1 unit{C1}{N:chap node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -100,7 +100,7 @@
   *paragraph C1
    {second node\\n}
   {empty_line:\\n}
-U2 unit{N:third node}
+U2 unit{C1}{N:third node}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/lone_Top_node.pl b/tta/perl/t/results/sectioning/lone_Top_node.pl
index 25fc600..ea84bde 100644
--- a/tta/perl/t/results/sectioning/lone_Top_node.pl
+++ b/tta/perl/t/results/sectioning/lone_Top_node.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'lone_Top_node'} = 'U0 unit{S:1 chap}{n:First}
+$result_tree_text{'lone_Top_node'} = 'U0 unit{C4}{S:@chapter 1 chap}{n:First}
 UNIT_DIRECTIONS
 This: [U0]
 NodePrev: [U0]
diff --git a/tta/perl/t/results/sectioning/node_part_chapter_after_chapter.pl b/tta/perl/t/results/sectioning/node_part_chapter_after_chapter.pl
index 05bcf3c..bb9839e 100644
--- a/tta/perl/t/results/sectioning/node_part_chapter_after_chapter.pl
+++ b/tta/perl/t/results/sectioning/node_part_chapter_after_chapter.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'node_part_chapter_after_chapter'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'node_part_chapter_after_chapter'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -69,7 +69,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter node}{n:chapter node}
+U1 unit{C2}{S:@chapter 1 chapter node}{n:chapter node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -105,7 +105,7 @@
     {chapter node}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:2 chapter with part node}{n:part chapter node}
+U2 unit{C3}{S:@chapter 2 chapter with part node}{n:part chapter node}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/node_part_chapter_after_top.pl b/tta/perl/t/results/sectioning/node_part_chapter_after_top.pl
index 12e51d9..79b9967 100644
--- a/tta/perl/t/results/sectioning/node_part_chapter_after_top.pl
+++ b/tta/perl/t/results/sectioning/node_part_chapter_after_top.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'node_part_chapter_after_top'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'node_part_chapter_after_top'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -58,7 +58,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}{n:chapter node}
+U1 unit{C3}{S:@chapter 1 chapter}{n:chapter node}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/node_up_external_node.pl b/tta/perl/t/results/sectioning/node_up_external_node.pl
index 9124e47..f2e2734 100644
--- a/tta/perl/t/results/sectioning/node_up_external_node.pl
+++ b/tta/perl/t/results/sectioning/node_up_external_node.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'node_up_external_node'} = 'U0 unit{N:Top}
+$result_tree_text{'node_up_external_node'} = 'U0 unit{C2}{N:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -48,7 +48,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:chap first}
+U1 unit{C1}{N:chap first}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl b/tta/perl/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl
index 3d2259a..618de15 100644
--- a/tta/perl/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl
+++ b/tta/perl/t/results/sectioning/nodes_after_top_before_chapter_nodes.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'nodes_after_top_before_chapter_nodes'} = 'U0 unit{N:Top}
+$result_tree_text{'nodes_after_top_before_chapter_nodes'} = 'U0 unit{C2}{N:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -59,7 +59,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:second node}
+U1 unit{C1}{N:second node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -100,7 +100,7 @@
   *paragraph C1
    {second node\\n}
   {empty_line:\\n}
-U2 unit{N:third node}{s:1 chapter}
+U2 unit{C2}{N:third node}{s:@chapter 1 chapter}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/nodes_after_top_before_chapter_sections.pl b/tta/perl/t/results/sectioning/nodes_after_top_before_chapter_sections.pl
index 0811d3c..64ae988 100644
--- a/tta/perl/t/results/sectioning/nodes_after_top_before_chapter_sections.pl
+++ b/tta/perl/t/results/sectioning/nodes_after_top_before_chapter_sections.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'nodes_after_top_before_chapter_sections'} = 'U0 unit{S:1 chapter}{n:third node}
+$result_tree_text{'nodes_after_top_before_chapter_sections'} = 'U0 unit{C5}{S:@chapter 1 chapter}{n:third node}
 UNIT_DIRECTIONS
 This: [U0]
 NodePrev: [U0]
diff --git a/tta/perl/t/results/sectioning/nodes_after_top_before_section_nodes.pl b/tta/perl/t/results/sectioning/nodes_after_top_before_section_nodes.pl
index b344f62..dd0baee 100644
--- a/tta/perl/t/results/sectioning/nodes_after_top_before_section_nodes.pl
+++ b/tta/perl/t/results/sectioning/nodes_after_top_before_section_nodes.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'nodes_after_top_before_section_nodes'} = 'U0 unit{N:Top}
+$result_tree_text{'nodes_after_top_before_section_nodes'} = 'U0 unit{C2}{N:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -59,7 +59,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:chap node}
+U1 unit{C1}{N:chap node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -100,7 +100,7 @@
   *paragraph C1
    {second node\\n}
   {empty_line:\\n}
-U2 unit{N:third node}{s:1 subsection}
+U2 unit{C2}{N:third node}{s:@subsection 1 subsection}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/nodes_after_top_before_section_sections.pl b/tta/perl/t/results/sectioning/nodes_after_top_before_section_sections.pl
index a182df6..6b3a82b 100644
--- a/tta/perl/t/results/sectioning/nodes_after_top_before_section_sections.pl
+++ b/tta/perl/t/results/sectioning/nodes_after_top_before_section_sections.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'nodes_after_top_before_section_sections'} = 'U0 unit{S:1 subsection}{n:third node}
+$result_tree_text{'nodes_after_top_before_section_sections'} = 'U0 unit{C5}{S:@subsection 1 subsection}{n:third node}
 UNIT_DIRECTIONS
 This: [U0]
 NodePrev: [U0]
diff --git a/tta/perl/t/results/sectioning/nodes_no_node_top_explicit_directions.pl b/tta/perl/t/results/sectioning/nodes_no_node_top_explicit_directions.pl
index 7e95af2..76456c4 100644
--- a/tta/perl/t/results/sectioning/nodes_no_node_top_explicit_directions.pl
+++ b/tta/perl/t/results/sectioning/nodes_no_node_top_explicit_directions.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'nodes_no_node_top_explicit_directions'} = 'U0 unit{N:first}
+$result_tree_text{'nodes_no_node_top_explicit_directions'} = 'U0 unit{C2}{N:first}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -57,7 +57,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:second node}
+U1 unit{C1}{N:second node}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/part_before_chapter.pl b/tta/perl/t/results/sectioning/part_before_chapter.pl
index 606e52f..b8f9373 100644
--- a/tta/perl/t/results/sectioning/part_before_chapter.pl
+++ b/tta/perl/t/results/sectioning/part_before_chapter.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_before_chapter'} = 'U0 unit{S:1 chapter}
+$result_tree_text{'part_before_chapter'} = 'U0 unit{C3}{S:@chapter 1 chapter}
 UNIT_DIRECTIONS
 This: [U0]
  *before_node_section C1
diff --git a/tta/perl/t/results/sectioning/part_before_section.pl b/tta/perl/t/results/sectioning/part_before_section.pl
index b1960ef..693af14 100644
--- a/tta/perl/t/results/sectioning/part_before_section.pl
+++ b/tta/perl/t/results/sectioning/part_before_section.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_before_section'} = 'U0 unit{S:1 section}
+$result_tree_text{'part_before_section'} = 'U0 unit{C3}{S:@section 1 section}
 UNIT_DIRECTIONS
 This: [U0]
  *before_node_section
diff --git a/tta/perl/t/results/sectioning/part_before_top.pl b/tta/perl/t/results/sectioning/part_before_top.pl
index cbe8a18..077e2e6d 100644
--- a/tta/perl/t/results/sectioning/part_before_top.pl
+++ b/tta/perl/t/results/sectioning/part_before_top.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_before_top'} = 'U0 unit{S:top}
+$result_tree_text{'part_before_top'} = 'U0 unit{C3}{S:@top top}
 UNIT_DIRECTIONS
 This: [U0]
  *before_node_section C1
diff --git a/tta/perl/t/results/sectioning/part_chapter_after_top.pl b/tta/perl/t/results/sectioning/part_chapter_after_top.pl
index de10785..a60e678 100644
--- a/tta/perl/t/results/sectioning/part_chapter_after_top.pl
+++ b/tta/perl/t/results/sectioning/part_chapter_after_top.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_chapter_after_top'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'part_chapter_after_top'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -58,7 +58,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}{n:chapter}
+U1 unit{C3}{S:@chapter 1 chapter}{n:chapter}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/part_node_after_top.pl b/tta/perl/t/results/sectioning/part_node_after_top.pl
index cb601c2..68bd193 100644
--- a/tta/perl/t/results/sectioning/part_node_after_top.pl
+++ b/tta/perl/t/results/sectioning/part_node_after_top.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_node_after_top'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'part_node_after_top'} = 'U0 unit{C4}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -69,7 +69,7 @@
     {spaces_before_argument: }
     {chap part node after top}
     {spaces_after_argument:\\n}
-U1 unit{S:part}
+U1 unit{C1}{S:@part part}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/part_node_before_top.pl b/tta/perl/t/results/sectioning/part_node_before_top.pl
index 6416380..323aa93 100644
--- a/tta/perl/t/results/sectioning/part_node_before_top.pl
+++ b/tta/perl/t/results/sectioning/part_node_before_top.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_node_before_top'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'part_node_before_top'} = 'U0 unit{C5}{S:@top top}{n:Top}
 UNIT_DIRECTIONS
 This: [U0]
 NodeNext: [U0]
diff --git a/tta/perl/t/results/sectioning/part_node_chapter_after_top.pl b/tta/perl/t/results/sectioning/part_node_chapter_after_top.pl
index a3704bd..b51683c 100644
--- a/tta/perl/t/results/sectioning/part_node_chapter_after_top.pl
+++ b/tta/perl/t/results/sectioning/part_node_chapter_after_top.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_node_chapter_after_top'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'part_node_chapter_after_top'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -69,7 +69,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}{n:chapter}
+U1 unit{C4}{S:@chapter 1 chapter}{n:chapter}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/part_node_chapter_appendix.pl b/tta/perl/t/results/sectioning/part_node_chapter_appendix.pl
index 6af6f00..00825ae 100644
--- a/tta/perl/t/results/sectioning/part_node_chapter_appendix.pl
+++ b/tta/perl/t/results/sectioning/part_node_chapter_appendix.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_node_chapter_appendix'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'part_node_chapter_appendix'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -58,7 +58,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}{n:chapter node}
+U1 unit{C3}{S:@chapter 1 chapter}{n:chapter node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -101,7 +101,7 @@
     {chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:A Appendix}
+U2 unit{C1}{S:@appendix A Appendix}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/part_node_chapter_node_appendix.pl b/tta/perl/t/results/sectioning/part_node_chapter_node_appendix.pl
index 39205b6..949ef17 100644
--- a/tta/perl/t/results/sectioning/part_node_chapter_node_appendix.pl
+++ b/tta/perl/t/results/sectioning/part_node_chapter_node_appendix.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_node_chapter_node_appendix'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'part_node_chapter_node_appendix'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -69,7 +69,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}{n:chapter node}
+U1 unit{C3}{S:@chapter 1 chapter}{n:chapter node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -114,7 +114,7 @@
     {chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:A Appendix}{n:appendix node}
+U2 unit{C2}{S:@appendix A Appendix}{n:appendix node}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/part_node_node_part_appendix.pl b/tta/perl/t/results/sectioning/part_node_node_part_appendix.pl
index 89ddb9c..d6c534b 100644
--- a/tta/perl/t/results/sectioning/part_node_node_part_appendix.pl
+++ b/tta/perl/t/results/sectioning/part_node_node_part_appendix.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_node_node_part_appendix'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'part_node_node_part_appendix'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -69,7 +69,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}{n:chapter node}
+U1 unit{C3}{S:@chapter 1 chapter}{n:chapter node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -114,7 +114,7 @@
     {chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:A Appendix}{n:appendix part}
+U2 unit{C3}{S:@appendix A Appendix}{n:appendix part}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/part_node_part_appendix.pl b/tta/perl/t/results/sectioning/part_node_part_appendix.pl
index 9d58c12..942af3c 100644
--- a/tta/perl/t/results/sectioning/part_node_part_appendix.pl
+++ b/tta/perl/t/results/sectioning/part_node_part_appendix.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_node_part_appendix'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'part_node_part_appendix'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -58,7 +58,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}{n:chapter node}
+U1 unit{C3}{S:@chapter 1 chapter}{n:chapter node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -101,7 +101,7 @@
     {chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:A Appendix}
+U2 unit{C2}{S:@appendix A Appendix}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/part_node_part_node_appendix.pl b/tta/perl/t/results/sectioning/part_node_part_node_appendix.pl
index d6ea508..7f0e55c 100644
--- a/tta/perl/t/results/sectioning/part_node_part_node_appendix.pl
+++ b/tta/perl/t/results/sectioning/part_node_part_node_appendix.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'part_node_part_node_appendix'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'part_node_part_node_appendix'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -69,7 +69,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}{n:chapter node}
+U1 unit{C3}{S:@chapter 1 chapter}{n:chapter node}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -114,7 +114,7 @@
     {chapter}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:A Appendix}{n:appendix node}
+U2 unit{C3}{S:@appendix A Appendix}{n:appendix node}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/top_node_part_top.pl b/tta/perl/t/results/sectioning/top_node_part_top.pl
index 9c891c0..e7630bb 100644
--- a/tta/perl/t/results/sectioning/top_node_part_top.pl
+++ b/tta/perl/t/results/sectioning/top_node_part_top.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'top_node_part_top'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'top_node_part_top'} = 'U0 unit{C4}{S:@top top}{n:Top}
 UNIT_DIRECTIONS
 This: [U0]
  *before_node_section C1
diff --git a/tta/perl/t/results/sectioning/top_part_chapter.pl b/tta/perl/t/results/sectioning/top_part_chapter.pl
index 96594ad..ff38601 100644
--- a/tta/perl/t/results/sectioning/top_part_chapter.pl
+++ b/tta/perl/t/results/sectioning/top_part_chapter.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'top_part_chapter'} = 'U0 unit{S:top}
+$result_tree_text{'top_part_chapter'} = 'U0 unit{C2}{S:@top top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -23,7 +23,7 @@
     {top}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter}
+U1 unit{C2}{S:@chapter 1 chapter}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/top_without_node_nodes.pl b/tta/perl/t/results/sectioning/top_without_node_nodes.pl
index 8633fa7..939cdf6 100644
--- a/tta/perl/t/results/sectioning/top_without_node_nodes.pl
+++ b/tta/perl/t/results/sectioning/top_without_node_nodes.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'top_without_node_nodes'} = 'U0 unit{N:second}{s:1 Chapter}
+$result_tree_text{'top_without_node_nodes'} = 'U0 unit{C4}{N:second}{s:@chapter 1 Chapter}
 UNIT_DIRECTIONS
 This: [U0]
 NodeUp: (dir)
diff --git a/tta/perl/t/results/sectioning/top_without_node_sections.pl b/tta/perl/t/results/sectioning/top_without_node_sections.pl
index 83da648..0121d17 100644
--- a/tta/perl/t/results/sectioning/top_without_node_sections.pl
+++ b/tta/perl/t/results/sectioning/top_without_node_sections.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'top_without_node_sections'} = 'U0 unit{S:top section}
+$result_tree_text{'top_without_node_sections'} = 'U0 unit{C2}{S:@top top section}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -24,7 +24,7 @@
   *paragraph C1
    {Top section\\n}
   {empty_line:\\n}
-U1 unit{S:1 Chapter}{n:second}
+U1 unit{C2}{S:@chapter 1 Chapter}{n:second}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/transliterated_split_equivalent_nodes.pl b/tta/perl/t/results/sectioning/transliterated_split_equivalent_nodes.pl
index 369e7af..fdb3987 100644
--- a/tta/perl/t/results/sectioning/transliterated_split_equivalent_nodes.pl
+++ b/tta/perl/t/results/sectioning/transliterated_split_equivalent_nodes.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'transliterated_split_equivalent_nodes'} = 'U0 unit{N:top}
+$result_tree_text{'transliterated_split_equivalent_nodes'} = 'U0 unit{C2}{N:top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -74,7 +74,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{N:@~a}{s:@~a}
+U1 unit{C2}{N:@~a}{s:@unnumbered @~a}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -109,7 +109,7 @@
       {a}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{N:n}
+U2 unit{C1}{N:n}
 unit_directions:D[next->[U3]|prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
@@ -132,7 +132,7 @@
     {n}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U3 unit{N:@^a}
+U3 unit{C1}{N:@^a}
 unit_directions:D[prev->[U2]]
 UNIT_DIRECTIONS
 This: [U3]
diff --git a/tta/perl/t/results/sectioning/two_nodes_at_the_end.pl b/tta/perl/t/results/sectioning/two_nodes_at_the_end.pl
index 9bcd218..a34cdd6 100644
--- a/tta/perl/t/results/sectioning/two_nodes_at_the_end.pl
+++ b/tta/perl/t/results/sectioning/two_nodes_at_the_end.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'two_nodes_at_the_end'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'two_nodes_at_the_end'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -80,7 +80,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter c1}{n:chapter 1}
+U1 unit{C4}{S:@chapter 1 chapter c1}{n:chapter 1}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/two_nodes_between_chapters.pl b/tta/perl/t/results/sectioning/two_nodes_between_chapters.pl
index 99cfa66..d5da948 100644
--- a/tta/perl/t/results/sectioning/two_nodes_between_chapters.pl
+++ b/tta/perl/t/results/sectioning/two_nodes_between_chapters.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'two_nodes_between_chapters'} = 'U0 unit{S:top}{n:Top}
+$result_tree_text{'two_nodes_between_chapters'} = 'U0 unit{C3}{S:@top top}{n:Top}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -80,7 +80,7 @@
      {menu}
      {spaces_after_argument:\\n}
   {empty_line:\\n}
-U1 unit{S:1 chapter c1}{n:chapter 1}
+U1 unit{C3}{S:@chapter 1 chapter c1}{n:chapter 1}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -145,7 +145,7 @@
     {node between chapters}
     {spaces_after_argument:\\n}
   {empty_line:\\n}
-U2 unit{S:2 chapter c2}{n:chapter 2}
+U2 unit{C2}{S:@chapter 2 chapter c2}{n:chapter 2}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/sectioning/unnumbered_before_node_top_top.pl b/tta/perl/t/results/sectioning/unnumbered_before_node_top_top.pl
index 4db0ab0..c1d3f0a 100644
--- a/tta/perl/t/results/sectioning/unnumbered_before_node_top_top.pl
+++ b/tta/perl/t/results/sectioning/unnumbered_before_node_top_top.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'unnumbered_before_node_top_top'} = 'U0 unit{S:before nodes}
+$result_tree_text{'unnumbered_before_node_top_top'} = 'U0 unit{C2}{S:@unnumbered before nodes}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -26,7 +26,7 @@
   *paragraph C1
    {in unnumbered\\n}
   {empty_line:\\n}
-U1 unit{S:top section}{n:Top}
+U1 unit{C2}{S:@top top section}{n:Top}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/unnumbered_before_top_node.pl b/tta/perl/t/results/sectioning/unnumbered_before_top_node.pl
index 20a2a38..0a7d017 100644
--- a/tta/perl/t/results/sectioning/unnumbered_before_top_node.pl
+++ b/tta/perl/t/results/sectioning/unnumbered_before_top_node.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'unnumbered_before_top_node'} = 'U0 unit{S:before nodes}
+$result_tree_text{'unnumbered_before_top_node'} = 'U0 unit{C3}{S:@unnumbered before nodes}
 UNIT_DIRECTIONS
 This: [U0]
  *before_node_section
diff --git a/tta/perl/t/results/sectioning/unnumbered_top_without_node_nodes.pl b/tta/perl/t/results/sectioning/unnumbered_top_without_node_nodes.pl
index 8b2ae4a..69201be 100644
--- a/tta/perl/t/results/sectioning/unnumbered_top_without_node_nodes.pl
+++ b/tta/perl/t/results/sectioning/unnumbered_top_without_node_nodes.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'unnumbered_top_without_node_nodes'} = 'U0 unit{N:a node}{s:unnumbered}
+$result_tree_text{'unnumbered_top_without_node_nodes'} = 'U0 unit{C4}{N:a node}{s:@unnumbered unnumbered}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -57,7 +57,7 @@
   *paragraph C1
    {Top section\\n}
   {empty_line:\\n}
-U1 unit{N:second}{s:1 Chapter}
+U1 unit{C2}{N:second}{s:@chapter 1 Chapter}
 unit_directions:D[prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
diff --git a/tta/perl/t/results/sectioning/unnumbered_top_without_node_sections.pl b/tta/perl/t/results/sectioning/unnumbered_top_without_node_sections.pl
index 5819804..bd3d44e 100644
--- a/tta/perl/t/results/sectioning/unnumbered_top_without_node_sections.pl
+++ b/tta/perl/t/results/sectioning/unnumbered_top_without_node_sections.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'unnumbered_top_without_node_sections'} = 'U0 unit{S:unnumbered}{n:a node}
+$result_tree_text{'unnumbered_top_without_node_sections'} = 'U0 unit{C3}{S:@unnumbered unnumbered}{n:a node}
 unit_directions:D[next->[U1]]
 UNIT_DIRECTIONS
 This: [U0]
@@ -46,7 +46,7 @@
   *paragraph C1
    {in unnumbered\\n}
   {empty_line:\\n}
-U1 unit{S:top section}
+U1 unit{C1}{S:@top top section}
 unit_directions:D[next->[U2]|prev->[U0]]
 UNIT_DIRECTIONS
 This: [U1]
@@ -68,7 +68,7 @@
   *paragraph C1
    {Top section\\n}
   {empty_line:\\n}
-U2 unit{S:1 Chapter}{n:second}
+U2 unit{C2}{S:@chapter 1 Chapter}{n:second}
 unit_directions:D[prev->[U1]]
 UNIT_DIRECTIONS
 This: [U2]
diff --git a/tta/perl/t/results/xml_tests/top_node_and_bye.pl b/tta/perl/t/results/xml_tests/top_node_and_bye.pl
index 80756a5..bdeccb7 100644
--- a/tta/perl/t/results/xml_tests/top_node_and_bye.pl
+++ b/tta/perl/t/results/xml_tests/top_node_and_bye.pl
@@ -5,7 +5,7 @@
 
 use utf8;
 
-$result_tree_text{'top_node_and_bye'} = 'U0 unit
+$result_tree_text{'top_node_and_bye'} = 'U0 unit{C3}
 UNIT_DIRECTIONS
 This: [U0]
  *before_node_section