texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Patrice Dumas
Date: Sun, 18 May 2025 11:13:24 -0400 (EDT)

branch: master
commit 85d7a82bccfb43083506b20df40f6b8d4ee8b78d
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun May 18 17:12:38 2025 +0200

    section_directions and toplevel_directions in structure info not tree
    
    * tta/C/main/structure_list.c (free_node_structure_list): avoid
    useless if.
    
    * tta/C/main/structure_list.c (print_nodes_directions): rename
    print_directions as print_nodes_directions.
    
    * tta/C/main/build_perl_info.c (build_section_structure_list),
    tta/C/main/structure_list.c (free_section_structure_list)
    (print_sections_directions, print_sections_list),
    tta/C/main/tree_types.h (AI_KEYS_LIST, SECTION_STRUCTURE),
    tta/C/structuring_transfo/structuring.c (sectioning_structure),
    tta/perl/Texinfo/Structuring.pm (sectioning_structure)
    (print_sections_list): move section_directions and toplevel_directions
    information to section structure information out of extra information
    in tree.
    
    * tta/C/convert/format_html.c (html_default_format_contents),
    tta/C/convert/html_prepare_converter.c
    (html_prepare_output_units_global_targets), tta/C/main/output_unit.c
    (units_directions), tta/C/structuring_transfo/structuring.c
    (get_node_node_childs_from_sectioning)
    (section_direction_associated_node, number_floats),
    tta/perl/Texinfo/Convert/DocBook.pm (_convert),
    tta/perl/Texinfo/Convert/HTML.pm
    (_prepare_output_units_global_targets, _default_format_contents),
    tta/perl/Texinfo/Convert/IXIN.pm,
    tta/perl/Texinfo/Convert/Plaintext.pm (format_contents),
    tta/perl/Texinfo/Convert/TexinfoMarkup.pm (_convert),
    tta/perl/Texinfo/OutputUnits.pm (units_directions),
    tta/perl/Texinfo/Structuring.pm (get_node_node_childs_from_sectioning)
    (_section_direction_associated_node, complete_node_tree_with_menus)
    (construct_nodes_tree, number_floats), tta/perl/init/book.pm
    (book_print_up_toc, book_print_sub_toc): update for change in sections
    directions information location.
---
 ChangeLog                                          |  39 +++
 tta/C/convert/format_html.c                        |  33 ++-
 tta/C/convert/html_prepare_converter.c             |  14 +-
 tta/C/main/build_perl_info.c                       |  12 +
 tta/C/main/output_unit.c                           |  44 ++--
 tta/C/main/structure_list.c                        |  52 +++-
 tta/C/main/tree_types.h                            |   5 +-
 tta/C/structuring_transfo/structuring.c            | 152 +++++++-----
 tta/perl/Texinfo/Convert/DocBook.pm                |  20 +-
 tta/perl/Texinfo/Convert/HTML.pm                   |  36 ++-
 tta/perl/Texinfo/Convert/IXIN.pm                   |  23 +-
 tta/perl/Texinfo/Convert/Plaintext.pm              |  26 +-
 tta/perl/Texinfo/Convert/TexinfoMarkup.pm          |  18 +-
 tta/perl/Texinfo/OutputUnits.pm                    |  37 +--
 tta/perl/Texinfo/Structuring.pm                    | 146 +++++++----
 tta/perl/init/book.pm                              |  31 ++-
 tta/perl/t/results/alias/alias_of_added_index.pl   |  10 +-
 .../alias_of_added_index_before_added_index.pl     |  10 +-
 .../results/converters_tests/at_commands_in_raw.pl |  10 +-
 .../t/results/converters_tests/combined_fonts.pl   |  10 +-
 .../t/results/converters_tests/commands_in_sc.pl   |  10 +-
 .../commands_in_settitle_with_title.pl             |  10 +-
 .../t/results/converters_tests/commands_in_var.pl  |  10 +-
 .../t/results/converters_tests/complex_nestings.pl |  10 +-
 .../converters_tests/contents_at_document_begin.pl |  10 +-
 .../contents_at_document_begin_inline.pl           |  10 +-
 .../contents_at_document_begin_separate_element.pl |  10 +-
 .../conversion_with_undef_customization.pl         |  13 +-
 .../converters_tests/definition_commands.pl        |  10 +-
 .../t/results/converters_tests/empty_xrefname.pl   |  20 +-
 .../t/results/converters_tests/extension_undef.pl  |  10 +-
 .../results/converters_tests/footnote_no_number.pl |  10 +-
 .../footnote_no_number_separate.pl                 |  10 +-
 .../converters_tests/frenchspacing_and_code.pl     |  20 +-
 .../t/results/converters_tests/image_formatting.pl |  10 +-
 .../index_entry_in_preformatted.pl                 |  10 +-
 .../indices_in_begin_tables_lists.pl               |  20 +-
 ...ces_in_begin_tables_lists_entries_after_item.pl |  20 +-
 tta/perl/t/results/converters_tests/namedanchor.pl |  26 +-
 .../t/results/converters_tests/non_empty_part.pl   |  64 +++--
 .../non_empty_part_no_top_node_output.pl           |  64 +++--
 .../printindex_merged_indices_code_style.pl        |  10 +-
 .../results/converters_tests/ref_in_sectioning.pl  |  83 +++++--
 .../reference_for_formatting_customizations.pl     |  10 +-
 .../references_to_top_no_top_output.pl             |  10 +-
 .../converters_tests/sections_and_printindex.pl    |  23 +-
 .../some_at_commands_in_ref_nodes.pl               |  10 +-
 .../converters_tests/test_deftypefnnewline.pl      |  10 +-
 .../test_formatting_customizations.pl              |  10 +-
 .../converters_tests/things_before_setfilename.pl  |  10 +-
 .../various_itemize_command_as_argument.pl         |  10 +-
 .../various_vtable_command_as_argument.pl          |  20 +-
 tta/perl/t/results/converters_tests/xrefname.pl    |  20 +-
 .../coverage_braces/contain_plain_text_nestings.pl |  10 +-
 .../results/coverage_braces/seeentry_no_braces.pl  |  10 +-
 .../coverage_braces/two_footnotes_in_nodes.pl      |  10 +-
 .../two_footnotes_in_nodes_separate.pl             |  10 +-
 .../two_footnotes_in_nodes_separate_no_header.pl   |  10 +-
 .../t/results/def/text_block_before_defline.pl     |  10 +-
 .../docbook_tests/between_node_and_section.pl      |   8 +-
 .../docbook_tests/multiple_documentlanguage.pl     |  28 ++-
 .../docbook_tests/special_docbook_unnumbered.pl    |  40 ++-
 .../results/epub_tests/chapter_before_top_epub.pl  |  12 +-
 tta/perl/t/results/float/complex_float.pl          |  10 +-
 tta/perl/t/results/float/float_copying.pl          |  10 +-
 tta/perl/t/results/float/multiple_captions.pl      |  10 +-
 .../float/numbering_captions_listoffloats.pl       |  59 +++--
 .../float/special_characters_in_float_type.pl      |  10 +-
 .../formats_encodings/accent_argument_non_ascii.pl |  10 +-
 .../formats_encodings/at_commands_in_refs.pl       | 270 ++++++++++++++++-----
 .../at_commands_in_refs_latin1.pl                  | 270 ++++++++++++++++-----
 .../formats_encodings/at_commands_in_refs_utf8.pl  | 270 ++++++++++++++++-----
 .../char_latin1_latin1_in_refs.pl                  |  50 +++-
 .../char_latin2_latin2_in_refs.pl                  |  10 +-
 .../char_us_ascii_latin1_in_refs.pl                |  50 +++-
 ...ar_us_ascii_latin1_in_refs_no_translit_files.pl |  50 +++-
 .../formats_encodings/char_utf8_latin1_in_refs.pl  |  50 +++-
 .../dotless_argument_non_ascii.pl                  |  10 +-
 .../formats_encodings/japanese_shift_jis.pl        |  20 +-
 .../manual_simple_latin1_with_error.pl             |  10 +-
 .../manual_simple_utf8_with_error.pl               |  10 +-
 .../multiple_include_encodings.pl                  |  63 +++--
 .../t/results/formats_encodings/sample_utf8.pl     |  30 ++-
 .../formats_encodings/verb_delimiter_not_ascii.pl  |  10 +-
 .../t/results/formats_encodings/weird_accents.pl   |  10 +-
 .../weird_accents_disable_encoding.pl              |  10 +-
 tta/perl/t/results/html_tests/U_in_index.pl        |  10 +-
 .../html_tests/acronym_in_node_and_section.pl      |  18 +-
 .../t/results/html_tests/anchor_on_vtable_item.pl  |  20 +-
 tta/perl/t/results/html_tests/automatic_menus.pl   |  18 +-
 .../automatic_menus_format_menu_no_detailmenu.pl   |  18 +-
 .../character_number_leading_toc_stoc.pl           |  23 +-
 tta/perl/t/results/html_tests/check_htmlxref.pl    |  10 +-
 .../html_tests/check_htmlxref_ignore_ref_top_up.pl |  10 +-
 .../t/results/html_tests/check_htmlxref_menu.pl    |  10 +-
 .../html_tests/check_htmlxref_no_use_nodes.pl      |  10 +-
 tta/perl/t/results/html_tests/contents_at_end.pl   |  10 +-
 .../t/results/html_tests/contents_at_end_inline.pl |  10 +-
 .../html_tests/contents_at_end_separate_element.pl |  10 +-
 .../html_tests/contents_in_middle_chapter.pl       |  13 +-
 .../contents_in_middle_chapter_inline.pl           |  13 +-
 .../contents_in_middle_chapter_separate_element.pl |  13 +-
 .../html_tests/contents_in_middle_section.pl       |  18 +-
 .../contents_in_middle_section_inline.pl           |  18 +-
 .../contents_in_middle_section_separate_element.pl |  18 +-
 .../deftypefnnewline_for_copying_after.pl          |  10 +-
 .../deftypefnnewline_for_copying_before.pl         |  10 +-
 tta/perl/t/results/html_tests/double_contents.pl   |  13 +-
 .../html_tests/double_contents_after_title.pl      |  13 +-
 .../double_contents_after_title_show_title.pl      |  13 +-
 ...double_contents_after_title_show_title_nodes.pl |  13 +-
 .../t/results/html_tests/double_contents_book.pl   |  13 +-
 .../results/html_tests/double_contents_chapter.pl  |  13 +-
 .../t/results/html_tests/double_contents_inline.pl |  13 +-
 .../html_tests/double_contents_inline_chapter.pl   |  13 +-
 .../html_tests/double_contents_inline_nodes.pl     |  13 +-
 .../html_tests/double_contents_inline_section.pl   |  13 +-
 .../t/results/html_tests/double_contents_nodes.pl  |  13 +-
 .../results/html_tests/double_contents_section.pl  |  13 +-
 .../html_tests/double_contents_separate_element.pl |  13 +-
 .../double_contents_separate_element_chapter.pl    |  13 +-
 .../double_contents_separate_element_nodes.pl      |  13 +-
 .../double_contents_separate_element_section.pl    |  13 +-
 ...sive_self_section_reference_node_no_use_node.pl |  12 +-
 .../html_tests/empty_chapter_in_html_title.pl      |  10 +-
 ...y_chapter_in_html_title_no_node_no_use_nodes.pl |  10 +-
 .../empty_node_in_html_title_no_sec_name.pl        |  10 +-
 .../file_name_case_insensitive_conflict_node.pl    |  23 +-
 ...se_insensitive_conflict_node_no_redirections.pl |  23 +-
 ..._name_case_insensitive_conflict_redirections.pl |  10 +-
 .../html_tests/file_name_conflict_with_Top.pl      |  10 +-
 .../html_tests/file_name_conflict_with_section.pl  |  10 +-
 .../file_name_conflict_with_user_defined.pl        |  20 +-
 .../filenameconflictwithspecialelement.pl          |  10 +-
 tta/perl/t/results/html_tests/float_copying.pl     |  10 +-
 ...otnotestyle_separate_html_text_no_monolithic.pl |  10 +-
 .../html_tests/footnotestyle_separate_late.pl      |  20 +-
 tta/perl/t/results/html_tests/heading_between.pl   |   3 +-
 .../results/html_tests/heading_node_after_chap.pl  |  12 +-
 .../html_tests/headings_after_lone_nodes.pl        |  10 +-
 .../html_tests/headings_nodes_before_chapter.pl    |  12 +-
 tta/perl/t/results/html_tests/index_below.pl       |  13 +-
 tta/perl/t/results/html_tests/info_js_dir_html.pl  |  10 +-
 .../t/results/html_tests/info_js_dir_html_file.pl  |  10 +-
 ...nfo_js_dir_html_file_js_weblabels_file_undef.pl |  10 +-
 .../t/results/html_tests/info_js_dir_html_text.pl  |  10 +-
 tta/perl/t/results/html_tests/inline_in_node.pl    |  10 +-
 .../results/html_tests/letter_command_in_index.pl  |  10 +-
 tta/perl/t/results/html_tests/no_content.pl        |  10 +-
 .../t/results/html_tests/no_content_do_contents.pl |  10 +-
 .../html_tests/no_content_do_contents_inline.pl    |  10 +-
 .../no_content_do_contents_separate_element.pl     |  10 +-
 tta/perl/t/results/html_tests/no_content_inline.pl |  10 +-
 .../html_tests/no_content_separate_element.pl      |  10 +-
 .../t/results/html_tests/node_heading_between.pl   |   3 +-
 .../html_tests/nodedescription_description.pl      |  30 ++-
 .../nodedescription_description_no_use_nodes.pl    |  30 ++-
 .../results/html_tests/redirection_same_labels.pl  |  20 +-
 .../html_tests/sectioning_check_menu_structure.pl  |  64 +++--
 .../set_add_transliterated_redirection_files.pl    |  13 +-
 .../html_tests/set_unit_file_name_filepath.pl      |  10 +-
 .../t/results/html_tests/shortcontents_no_top.pl   |  15 +-
 .../html_tests/simple_only_special_spaces_node.pl  |  30 ++-
 ...e_only_special_spaces_node_no_translit_files.pl |  30 ++-
 tta/perl/t/results/html_tests/split_html_text.pl   |  10 +-
 .../results/html_tests/test_accents_sc_default.pl  |  10 +-
 .../html_tests/test_accents_sc_default_latin1.pl   |  10 +-
 .../html_tests/test_accents_sc_default_usascii.pl  |  10 +-
 .../html_tests/test_accents_sc_enable_encoding.pl  |  10 +-
 .../test_accents_sc_enable_encoding_latin1.pl      |  10 +-
 ...st_accents_sc_enable_encoding_to_utf8_latin1.pl |  10 +-
 ...t_accents_sc_enable_encoding_to_utf8_usascii.pl |  10 +-
 .../test_accents_sc_enable_encoding_usascii.pl     |  10 +-
 .../html_tests/test_accents_sc_to_utf8_latin1.pl   |  10 +-
 .../test_accents_sc_use_numeric_entity.pl          |  10 +-
 .../test_separated_contents_shortcontents.pl       |  20 +-
 .../html_tests/test_xrefautomaticsectiontitle.pl   |  10 +-
 .../test_xrefautomaticsectiontitle_off_first.pl    |  10 +-
 .../text_before_top_and_contents_after_title.pl    |  10 +-
 ...t_before_top_and_summarycontents_after_title.pl |  10 +-
 .../top_file_name_and_node_name_collision.pl       |  20 +-
 .../t/results/html_tests/top_node_up_explicit.pl   |  10 +-
 .../html_tests/top_node_up_explicit_no_nodes.pl    |  10 +-
 .../t/results/html_tests/top_node_up_implicit.pl   |  10 +-
 .../html_tests/top_node_up_implicit_no_nodes.pl    |  10 +-
 .../html_tests/transliterated_names_conflicts.pl   |  20 +-
 .../results/html_tests/undef_split_and_big_rule.pl |  13 +-
 .../xhtml_rule_element_already_closed.pl           |  10 +-
 tta/perl/t/results/htmlxref/htmlxref.pl            |  10 +-
 .../htmlxref/htmlxref_no_urlprefix_first.pl        |  10 +-
 tta/perl/t/results/htmlxref/htmlxref_nodes.pl      |  10 +-
 tta/perl/t/results/htmlxref/htmlxref_only_mono.pl  |  10 +-
 .../t/results/htmlxref/htmlxref_only_mono_nodes.pl |  10 +-
 tta/perl/t/results/htmlxref/htmlxref_only_split.pl |  10 +-
 .../results/htmlxref/htmlxref_only_split_nodes.pl  |  10 +-
 tta/perl/t/results/indices/def_syn_indices.pl      |  10 +-
 .../t/results/indices/double_seeentry_seealso.pl   | Bin 12015 -> 12028 bytes
 .../t/results/indices/index_and_node_same_name.pl  | Bin 6390 -> 6502 bytes
 .../indices/index_entry_in_footnote_sections.pl    | Bin 6725 -> 6790 bytes
 .../index_entry_in_footnote_sections_separate.pl   | Bin 7053 -> 7118 bytes
 tta/perl/t/results/indices/index_no_node.pl        |  33 ++-
 tta/perl/t/results/indices/index_no_node_no_top.pl |  31 ++-
 .../indices/index_no_node_no_top_no_node.pl        |  31 ++-
 tta/perl/t/results/indices/index_special_region.pl |  20 +-
 .../index_special_region_no_insertcopying.pl       |  20 +-
 ...egion_no_insertcopying_no_titlepage_no_nodes.pl |  20 +-
 ...l_region_no_insertcopying_titlepage_no_nodes.pl |  20 +-
 ...copying_titlepage_no_nodes_footnotes_default.pl |  20 +-
 .../index_special_region_no_titlepage_no_nodes.pl  |  20 +-
 .../index_special_region_titlepage_no_nodes.pl     |  20 +-
 ..._region_titlepage_no_nodes_footnotes_default.pl |  20 +-
 tta/perl/t/results/indices/index_split.pl          |  41 +++-
 .../indices/index_split_split_chapter_no_nodes.pl  |  41 +++-
 tta/perl/t/results/indices/index_table.pl          |  33 ++-
 .../results/indices/index_table_chapter_no_node.pl |  33 ++-
 .../multiple_index_text_sortas_seeentry_seealso.pl | Bin 10943 -> 10939 bytes
 .../nodes_before_top_and_sections_chapter.pl       |  10 +-
 ...odes_before_top_and_sections_chapter_no_node.pl |  10 +-
 ...des_before_top_and_sections_unsplit_no_nodes.pl |  10 +-
 .../indices/printindex_between_node_section.pl     | Bin 11382 -> 11397 bytes
 .../indices/printindex_between_part_chapter.pl     | Bin 12394 -> 12448 bytes
 .../indices/printindex_index_entry_in_copying.pl   | Bin 21495 -> 21502 bytes
 ...rintindex_index_entry_in_copying_in_footnote.pl | Bin 9040 -> 9047 bytes
 ...ndex_index_entry_in_copying_no_insertcopying.pl |  10 +-
 .../indices/same_index_entry_merged_indices.pl     | Bin 8980 -> 8978 bytes
 .../results/indices/same_only_seealso_seeentry.pl  | Bin 11476 -> 11480 bytes
 .../t/results/indices/same_seealso_seeentry.pl     | Bin 12436 -> 12440 bytes
 tta/perl/t/results/indices/seeentry.pl             | Bin 10929 -> 10925 bytes
 tta/perl/t/results/indices/sorted_subentries.pl    |  20 +-
 tta/perl/t/results/indices/split_chapter_index.pl  |  16 +-
 tta/perl/t/results/indices/subentries.pl           |  10 +-
 .../t/results/indices/subentries_and_comments.pl   | Bin 6388 -> 6382 bytes
 tta/perl/t/results/indices/subentry_and_sortas.pl  | Bin 9881 -> 9877 bytes
 .../results/indices/subentry_and_sortas_spaces.pl  | Bin 11656 -> 11652 bytes
 .../t/results/indices/syncode_index_print_both.pl  | Bin 10063 -> 10068 bytes
 .../results/info_tests/before_node_and_section.pl  | Bin 6885 -> 6940 bytes
 .../info_tests/chinese_mixed_with_en_EUC_CN.pl     |  10 +-
 .../t/results/info_tests/direntry_dircategory.pl   |  10 +-
 .../end_of_line_command_in_node_lines.pl           |  20 +-
 .../results/info_tests/index_entry_at_end_node.pl  | Bin 5369 -> 5424 bytes
 .../t/results/info_tests/quote_node_names_info.pl  |  40 ++-
 .../t/results/info_tests/recursive_down_menu.pl    |  10 +-
 tta/perl/t/results/info_tests/space_in_menu.pl     |  10 +-
 tta/perl/t/results/info_tests/split_no_copying.pl  |  10 +-
 tta/perl/t/results/info_tests/split_nocopying.pl   |  10 +-
 .../t/results/info_tests/split_nocopying_split.pl  |  10 +-
 .../info_tests/split_test_before_first_node.pl     |  10 +-
 .../split_test_before_first_node_no_empty_line.pl  |  10 +-
 tta/perl/t/results/info_tests/test_index.pl        |  49 +++-
 tta/perl/t/results/info_tests/text_before_node.pl  |  10 +-
 .../access_document_name_in_handler.pl             |  10 +-
 .../access_global_direction_unit_in_handler.pl     |  10 +-
 .../access_output_unit_in_handler.pl               |  10 +-
 .../access_tree_output_unit_in_handler.pl          |  10 +-
 ...tton_replacement_and_direction_customization.pl |  10 +-
 ..._replacement_direction_strings_customization.pl |  10 +-
 ...utton_replacement_for_special_unit_direction.pl |  10 +-
 .../init_files_tests/customize_special_element.pl  |  20 +-
 .../init_files_tests/customize_translations.pl     |  43 +++-
 .../results/init_files_tests/directions_buttons.pl |  20 +-
 .../init_files_tests/directions_buttons_buttons.pl |  20 +-
 .../init_files_tests/directions_string_base.pl     |  33 ++-
 .../init_files_tests/directions_string_undef.pl    |  33 ++-
 .../directions_string_undef_texi2html.pl           |  33 ++-
 .../init_files_tests/documentation_examples.pl     |  40 ++-
 .../documentation_examples_texi2html.pl            |  40 ++-
 .../init_files_tests/printindex_set_direction.pl   |  40 ++-
 .../redefined_buttons_functions.pl                 |  33 ++-
 .../ref_for_special_unit_direction.pl              |  10 +-
 .../special_unit_direction_customization.pl        |  10 +-
 ...est_format_single_footnote_in_inline_content.pl |  10 +-
 .../translation_in_parser_in_translation.pl        |  10 +-
 .../init_files_tests/unknown_custom_variable.pl    |  10 +-
 .../t/results/invalid_nestings/section_in_math.pl  |  12 +-
 .../invalid_nestings/section_on_cartouche_line.pl  |  12 +-
 .../invalid_nestings/section_on_enumerate_line.pl  |  12 +-
 .../invalid_nestings/section_on_itemize_line.pl    |  28 ++-
 .../invalid_nestings/section_on_multitable_line.pl |  20 +-
 .../invalid_nestings/section_on_xtable_line.pl     |  28 ++-
 .../style_not_closed_no_newline_root_commands.pl   |  10 +-
 .../style_not_closed_root_commands.pl              |  10 +-
 .../itemize/inter_item_commands_in_enumerate.pl    |  10 +-
 .../itemize/inter_item_commands_in_itemize.pl      |  10 +-
 .../t/results/languages/appendix_translated.pl     |  10 +-
 tta/perl/t/results/languages/command_translated.pl |  10 +-
 tta/perl/t/results/languages/documentlanguage.pl   |  10 +-
 .../documentlanguage_generated_master_menu.pl      |  37 ++-
 .../t/results/languages/documentlanguage_option.pl |  10 +-
 .../results/languages/documentlanguage_unknown.pl  |  10 +-
 .../results/languages/multiple_documentlanguage.pl |  10 +-
 .../t/results/languages/multiple_in_preamble.pl    |  10 +-
 .../languages/multiple_in_preamble_before_node.pl  |  10 +-
 .../t/results/languages/multiple_lang_chapters.pl  |  50 +++-
 .../languages/multiple_lang_chapters_latex.pl      |  50 +++-
 .../languages/multiple_lang_chapters_texi2html.pl  |  50 +++-
 tta/perl/t/results/languages/unknown_language.pl   |  10 +-
 .../t/results/latex_tests/anchor_before_top.pl     |  10 +-
 .../t/results/latex_tests/anchor_in_copying.pl     |  10 +-
 .../anchor_in_copying_insertcopying_chap.pl        |  10 +-
 .../anchor_in_copying_insertcopying_titlepage.pl   |  10 +-
 ...chor_in_copying_insertcopying_titlepage_chap.pl |  10 +-
 .../anchor_links_xref_xrefautomaticsectiontitle.pl |  10 +-
 .../latex_tests/custom_heading_with_include.pl     | 100 ++++++--
 .../custom_heading_with_include_in_command.pl      | 100 ++++++--
 tta/perl/t/results/latex_tests/custom_headings.pl  |  33 ++-
 .../latex_tests/custom_headings_and_comments.pl    |  23 +-
 .../latex_tests/error_in_sectioning_command.pl     |  10 +-
 tta/perl/t/results/latex_tests/float_and_refs.pl   |  30 ++-
 tta/perl/t/results/latex_tests/fonttextsize.pl     |  31 ++-
 tta/perl/t/results/latex_tests/indices.pl          |  10 +-
 .../latex_tests/indices_disable_encoding.pl        |  10 +-
 .../informative_commands_in_top_node.pl            |  10 +-
 tta/perl/t/results/latex_tests/node_before_top.pl  |  10 +-
 tta/perl/t/results/latex_tests/pagesizes.pl        |  20 +-
 tta/perl/t/results/latex_tests/pagetype.pl         |  20 +-
 tta/perl/t/results/latex_tests/shorttitlepage.pl   |  10 +-
 .../t/results/latex_tests/titlepage_classical.pl   |  10 +-
 .../t/results/latex_tests/titlepage_in_top_node.pl |  10 +-
 .../t/results/latex_tests/titlepage_long_title.pl  |  10 +-
 .../t/results/latex_tests/titlepage_no_author.pl   |  10 +-
 .../t/results/latex_tests/titlepage_no_title.pl    |  10 +-
 .../titlepage_with_commands_classical.pl           |  10 +-
 tta/perl/t/results/layout/navigation.pl            |  16 +-
 tta/perl/t/results/layout/navigation_chapter.pl    |  16 +-
 .../results/layout/navigation_chapter_no_header.pl |  16 +-
 .../navigation_chapter_no_header_vertical.pl       |  16 +-
 .../results/layout/navigation_chapter_vertical.pl  |  16 +-
 tta/perl/t/results/layout/navigation_no_header.pl  |  16 +-
 .../layout/navigation_no_header_vertical.pl        |  16 +-
 tta/perl/t/results/layout/navigation_node.pl       |  16 +-
 .../t/results/layout/navigation_node_no_header.pl  |  16 +-
 .../layout/navigation_node_no_header_vertical.pl   |  16 +-
 .../t/results/layout/navigation_node_vertical.pl   |  16 +-
 tta/perl/t/results/layout/navigation_section.pl    |  16 +-
 .../results/layout/navigation_section_no_header.pl |  16 +-
 .../navigation_section_no_header_vertical.pl       |  16 +-
 .../results/layout/navigation_section_vertical.pl  |  16 +-
 .../layout/navigation_test_misc_file_collision.pl  |  16 +-
 .../layout/navigation_test_undef_top_buttons.pl    |  16 +-
 .../layout/navigation_test_zero_top_buttons.pl     |  16 +-
 tta/perl/t/results/layout/navigation_vertical.pl   |  16 +-
 tta/perl/t/results/layout/no_monolithic.pl         |  10 +-
 .../t/results/layout/no_monolithic_only_toc_out.pl |  10 +-
 tta/perl/t/results/macro/bib_example.pl            |  20 +-
 tta/perl/t/results/macro/glossary.pl               |  10 +-
 .../macro/macro_alias_definfoenclose_defindex.pl   |  10 +-
 tta/perl/t/results/macro/macro_in_misc_commands.pl |  10 +-
 ...pendix_and_associated_part_in_generated_menu.pl |  39 ++-
 .../menu/commands_in_nodedescriptionblock.pl       |  20 +-
 tta/perl/t/results/menu/detailmenu_on_subnodes.pl  |  31 ++-
 tta/perl/t/results/menu/format_menu_undef.pl       |  10 +-
 .../results/menu/missing_detailmenu_on_subnodes.pl |  31 ++-
 .../t/results/menu/nodedescription_descriptions.pl |  70 ++++--
 .../menu/nodedescriptionblock_descriptions.pl      |  50 +++-
 .../menu/part_appendix_in_generated_menu.pl        |  36 ++-
 .../menu/space_and_commands_in_menu_node.pl        |  10 +-
 .../codequoteundirected_codequotebacktick.pl       |  10 +-
 .../misc_commands/comment_space_command_on_line.pl |  10 +-
 .../no_empty_line_between_headings.pl              |  13 +-
 .../t/results/misc_commands/nodedescription.pl     |  10 +-
 tta/perl/t/results/misc_commands/ref_in_center.pl  |  10 +-
 .../t/results/moresectioning/anchor_in_footnote.pl |  10 +-
 .../moresectioning/anchor_in_footnote_separate.pl  |  10 +-
 .../anchor_in_footnote_separate_split_node.pl      |  10 +-
 .../anchor_in_footnote_split_node.pl               |  10 +-
 .../t/results/moresectioning/chapter_sections.pl   |  42 +++-
 .../moresectioning/character_and_spaces_in_refs.pl |  20 +-
 .../character_and_spaces_in_refs_out.pl            |  20 +-
 tta/perl/t/results/moresectioning/complex.pl       |  74 ++++--
 .../moresectioning/complex_split_at_node.pl        |  74 ++++--
 tta/perl/t/results/moresectioning/contents.pl      |  65 +++--
 .../moresectioning/contents_and_shortcontents.pl   |  65 +++--
 .../contents_at_begin_chapter_without_node.pl      |  10 +-
 .../moresectioning/contents_at_end_document.pl     |  10 +-
 .../contents_at_end_document_after_node.pl         |  10 +-
 .../results/moresectioning/contents_in_document.pl |  10 +-
 .../moresectioning/lowered_subsubsection.pl        |  29 ++-
 .../moresectioning/more_sections_than_nodes.pl     |  77 ++++--
 .../more_sections_than_nodes_texi2html.pl          |  77 ++++--
 .../moresectioning/nodes_before_after_top_xref.pl  |  10 +-
 .../moresectioning/only_special_spaces_node.pl     |  60 ++++-
 .../moresectioning/placed_things_before_node.pl    |  10 +-
 .../t/results/moresectioning/raiselowersections.pl |  29 ++-
 .../moresectioning/section_in_unnumbered_info.pl   | 156 +++++++++---
 .../section_in_unnumbered_plaintext.pl             | 156 +++++++++---
 .../moresectioning/sectioning_part_appendix.pl     |  65 +++--
 .../sectioning_part_appendix_no_top.pl             |  49 ++--
 .../sectioning_part_appendix_texi2html_chapter.pl  |  65 +++--
 tta/perl/t/results/moresectioning/sections_test.pl |  65 +++--
 .../moresectioning/sections_test_no_use_nodes.pl   |  65 +++--
 ...ctions_test_no_use_nodes_use_node_directions.pl |  65 +++--
 tta/perl/t/results/moresectioning/shortcontents.pl |  65 +++--
 .../moresectioning/special_spaces_in_nodes.pl      |  10 +-
 .../results/moresectioning/top_chapter_sections.pl |  54 ++++-
 tta/perl/t/results/moresectioning/topic_guide.pl   |  20 +-
 .../cartouche_and_paragraph_indentation.pl         |  20 +-
 .../plaintext_tests/chinese_mixed_with_en.pl       |  10 +-
 .../t/results/plaintext_tests/japanese_utf8.pl     |  20 +-
 .../plaintext_tests/no_empty_line_after_section.pl |  18 +-
 .../punctuation_sc_accents_ascii_glyph.pl          |  10 +-
 .../punctuation_sc_accents_ascii_glyph_latin1.pl   |  10 +-
 .../punctuation_sc_accents_ascii_glyph_usascii.pl  |  10 +-
 .../punctuation_sc_accents_default.pl              |  10 +-
 .../punctuation_sc_accents_default_latin1.pl       |  10 +-
 .../punctuation_sc_accents_default_usascii.pl      |  10 +-
 .../punctuation_sc_accents_disable_encoding.pl     |  10 +-
 ...nctuation_sc_accents_disable_encoding_latin1.pl |  10 +-
 ...ctuation_sc_accents_disable_encoding_usascii.pl |  10 +-
 ...uation_sc_accents_to_utf8_ascii_glyph_latin1.pl |  10 +-
 ...ation_sc_accents_to_utf8_ascii_glyph_usascii.pl |  10 +-
 .../punctuation_sc_accents_to_utf8_latin1.pl       |  10 +-
 .../punctuation_sc_accents_to_utf8_usascii.pl      |  10 +-
 .../t/results/plaintext_tests/quote_node_names.pl  |  40 ++-
 tta/perl/t/results/regions/anchor_in_titlepage.pl  |  10 +-
 .../regions/anchor_in_titlepage_titlepage.pl       |  10 +-
 tta/perl/t/results/regions/ref_in_copying.pl       |  10 +-
 .../regions/ref_in_copying_insert_in_chapter.pl    |  13 +-
 .../sectioning/automatic_menu_referencing_node.pl  |  13 +-
 .../sectioning/automatic_menu_with_heading.pl      |  10 +-
 .../sectioning/chapter_before_and_after_part.pl    |   9 +-
 .../t/results/sectioning/chapter_between_nodes.pl  |  13 +-
 .../sectioning/chapter_between_nodes_texi2html.pl  |  13 +-
 .../chapter_between_nodes_with_appendix.pl         |  20 +-
 .../chapter_between_nodes_with_appendix_nomenu.pl  |  20 +-
 .../chapter_node_before_and_after_part.pl          |   9 +-
 .../t/results/sectioning/contents_and_parts.pl     |  38 ++-
 .../t/results/sectioning/contents_in_html_text.pl  |  23 +-
 tta/perl/t/results/sectioning/double_part.pl       |  20 +-
 ...double_recursive_self_section_node_reference.pl |  10 +-
 ...sive_self_section_node_reference_no_use_node.pl |  10 +-
 .../double_recursive_self_section_reference.pl     |  12 +-
 .../t/results/sectioning/double_top_section.pl     |  13 +-
 .../results/sectioning/empty_section_in_chapter.pl |   3 +-
 .../t/results/sectioning/external_node_in_menu.pl  |  20 +-
 .../t/results/sectioning/hole_in_sectioning.pl     |  21 +-
 .../in_menu_only_special_ascii_spaces_node.pl      |  20 +-
 .../in_menu_only_special_ascii_spaces_node_menu.pl |  20 +-
 .../sectioning/in_menu_only_special_spaces_node.pl |  60 ++++-
 .../in_menu_only_special_spaces_node_menu.pl       |  60 ++++-
 tta/perl/t/results/sectioning/menutextorder.pl     |  33 ++-
 .../t/results/sectioning/next_in_menu_is_below.pl  |  16 +-
 .../results/sectioning/no_argument_and_contents.pl |  10 +-
 tta/perl/t/results/sectioning/no_menu.pl           |  30 ++-
 .../sectioning/node_part_chapter_after_chapter.pl  |  24 +-
 .../sectioning/node_part_chapter_after_top.pl      |  16 +-
 .../node_sectop_before_chapter_no_node.pl          |  10 +-
 .../sectioning/node_sectop_before_lone_node_Top.pl |  10 +-
 .../t/results/sectioning/nodename_parentheses.pl   |  30 ++-
 .../t/results/sectioning/nodes_before_after_top.pl |  10 +-
 tta/perl/t/results/sectioning/nodes_before_top.pl  |  10 +-
 .../t/results/sectioning/part_before_chapter.pl    |   3 +-
 .../t/results/sectioning/part_before_section.pl    |   3 +-
 tta/perl/t/results/sectioning/part_before_top.pl   |   6 +-
 .../t/results/sectioning/part_chapter_after_top.pl |  16 +-
 .../t/results/sectioning/part_chapter_appendix.pl  |  15 +-
 .../t/results/sectioning/part_node_after_top.pl    |   6 +-
 .../t/results/sectioning/part_node_before_top.pl   |   6 +-
 .../sectioning/part_node_chapter_after_top.pl      |  16 +-
 .../sectioning/part_node_chapter_appendix.pl       |  25 +-
 .../sectioning/part_node_chapter_node_appendix.pl  |  25 +-
 .../sectioning/part_node_node_part_appendix.pl     |  28 ++-
 .../results/sectioning/part_node_part_appendix.pl  |  28 ++-
 .../sectioning/part_node_part_node_appendix.pl     |  28 ++-
 tta/perl/t/results/sectioning/part_section_part.pl |   9 +-
 .../reference_to_only_special_spaces_node.pl       |  20 +-
 .../sectioning/section_before_after_top_node.pl    |  21 +-
 .../section_before_after_top_node_last_node.pl     |  21 +-
 .../t/results/sectioning/section_before_chapter.pl |  12 +-
 .../t/results/sectioning/section_before_top.pl     |  12 +-
 .../sectioning/section_before_top_no_node.pl       |  12 +-
 .../results/sectioning/section_below_unnumbered.pl |  13 +-
 .../sectioning/section_below_unnumbered_no_top.pl  |   3 +-
 .../sectioning/section_chapter_before_top.pl       |  20 +-
 .../sectioning/section_chapter_before_top_nodes.pl |  20 +-
 tta/perl/t/results/sectioning/semi_auto.pl         |  18 +-
 tta/perl/t/results/sectioning/top_node_part_top.pl |   6 +-
 tta/perl/t/results/sectioning/top_part_chapter.pl  |  16 +-
 .../t/results/sectioning/top_without_node_nodes.pl |  10 +-
 .../sectioning/top_without_node_sections.pl        |  10 +-
 .../top_without_node_texi2html_no_use_nodes.pl     |  10 +-
 .../t/results/sectioning/two_nodes_at_the_end.pl   |  10 +-
 .../sectioning/two_nodes_at_the_end_nodes.pl       |  10 +-
 .../sectioning/two_nodes_at_the_end_texi2html.pl   |  10 +-
 .../sectioning/two_nodes_between_chapters.pl       |  20 +-
 .../sectioning/two_nodes_between_chapters_nodes.pl |  20 +-
 .../two_nodes_between_chapters_texi2html.pl        |  20 +-
 .../sectioning/two_unnumbered_no_argument.pl       |  12 +-
 .../sectioning/unnumbered_before_node_top_top.pl   |  12 +-
 .../t/results/sectioning/unnumbered_before_top.pl  |  12 +-
 .../unnumbered_top_without_node_nodes.pl           |  21 +-
 .../unnumbered_top_without_node_sections.pl        |  21 +-
 ...dex_entries_relate_to_item_no_transformation.pl | Bin 6390 -> 6397 bytes
 .../index_entries_relate_to_item_transformation.pl | Bin 6412 -> 6419 bytes
 .../insert_nodes_for_sectioning_commands.pl        |  55 +++--
 .../t/results/transformations/master_menu_fr.pl    |  13 +-
 ...generate_master_menu_no_need_for_master_menu.pl |  10 +-
 .../regenerate_master_menu_with_menu_comment.pl    |  13 +-
 .../test_fill_gaps_in_sectioning.pl                |  19 +-
 .../test_fill_gaps_in_sectioning_insert_nodes.pl   |  19 +-
 .../test_insert_nodes_nodedescription.pl           |  16 +-
 ...nsert_nodes_reallocated_nodedescriptionblock.pl |  16 +-
 .../test_insert_nodes_with_empty_headings.pl       |  23 +-
 tta/perl/t/results/value/value_in_node.pl          |  10 +-
 tta/perl/t/results/value/value_node_directions.pl  |  20 +-
 .../t/results/xml_tests/image_inline_or_not.pl     |  10 +-
 .../xml_tests/sectioning_test_no_use_nodes.pl      |  23 +-
 .../t/results/xml_tests/sectioning_test_ref.pl     |  23 +-
 .../t/results/xtable/block_commands_in_table.pl    |  10 +-
 .../results/xtable/inter_item_commands_in_table.pl |  10 +-
 509 files changed, 7660 insertions(+), 2818 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f442780457..6af1e10137 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,42 @@
+2025-05-18  Patrice Dumas  <pertusus@free.fr>
+
+       section_directions and toplevel_directions in structure info not tree
+
+       * tta/C/main/structure_list.c (free_node_structure_list): avoid
+       useless if.
+
+       * tta/C/main/structure_list.c (print_nodes_directions): rename
+       print_directions as print_nodes_directions.
+
+       * tta/C/main/build_perl_info.c (build_section_structure_list),
+       tta/C/main/structure_list.c (free_section_structure_list)
+       (print_sections_directions, print_sections_list),
+       tta/C/main/tree_types.h (AI_KEYS_LIST, SECTION_STRUCTURE),
+       tta/C/structuring_transfo/structuring.c (sectioning_structure),
+       tta/perl/Texinfo/Structuring.pm (sectioning_structure)
+       (print_sections_list): move section_directions and toplevel_directions
+       information to section structure information out of extra information
+       in tree.
+
+       * tta/C/convert/format_html.c (html_default_format_contents),
+       tta/C/convert/html_prepare_converter.c
+       (html_prepare_output_units_global_targets), tta/C/main/output_unit.c
+       (units_directions), tta/C/structuring_transfo/structuring.c
+       (get_node_node_childs_from_sectioning)
+       (section_direction_associated_node, number_floats),
+       tta/perl/Texinfo/Convert/DocBook.pm (_convert),
+       tta/perl/Texinfo/Convert/HTML.pm
+       (_prepare_output_units_global_targets, _default_format_contents),
+       tta/perl/Texinfo/Convert/IXIN.pm,
+       tta/perl/Texinfo/Convert/Plaintext.pm (format_contents),
+       tta/perl/Texinfo/Convert/TexinfoMarkup.pm (_convert),
+       tta/perl/Texinfo/OutputUnits.pm (units_directions),
+       tta/perl/Texinfo/Structuring.pm (get_node_node_childs_from_sectioning)
+       (_section_direction_associated_node, complete_node_tree_with_menus)
+       (construct_nodes_tree, number_floats), tta/perl/init/book.pm
+       (book_print_up_toc, book_print_sub_toc): update for change in sections
+       directions information location.
+
 2025-05-17  Patrice Dumas  <pertusus@free.fr>
 
        node_directions in node structure information instead of tree
diff --git a/tta/C/convert/format_html.c b/tta/C/convert/format_html.c
index 0856228df2..39b4274749 100644
--- a/tta/C/convert/format_html.c
+++ b/tta/C/convert/format_html.c
@@ -3290,16 +3290,14 @@ html_default_format_contents (CONVERTER *self, const 
enum command_id cmd,
             }
           else
             {
-              const ELEMENT * const *section_directions
-               = lookup_extra_directions (section, AI_key_section_directions);
-              if (section_directions
-                  && section_directions[D_next]
+              if (section_structure->section_directions
+                  && section_structure->section_directions[D_next]
                   && section->e.c->cmd != CM_top)
                 {
                   text_append_n (&result, "</li>\n", 6);
                   if (section == top_section)
                     break;
-                  section = section_directions[D_next];
+                  section = section_structure->section_directions[D_next];
                 }
               else
                 {
@@ -3315,14 +3313,11 @@ html_default_format_contents (CONVERTER *self, const 
enum command_id cmd,
                       int section_level;
                       int i;
 
-                      const ELEMENT * const *section_directions
-                        = lookup_extra_directions (section,
-                                               AI_key_section_directions);
-                      if (!section_directions
-                          || !section_directions[D_up])
+                      if (!section_structure->section_directions
+                          || !section_structure->section_directions[D_up])
                         break;
 
-                      section = section_directions[D_up];
+                      section = section_structure->section_directions[D_up];
 
                       section_level = lookup_extra_integer (section,
                                                 AI_key_section_level, &status);
@@ -3338,14 +3333,18 @@ html_default_format_contents (CONVERTER *self, const 
enum command_id cmd,
                           is_top_section = 1;
                           break;
                         }
-                      section_directions
-                        = lookup_extra_directions (section,
-                                               AI_key_section_directions);
-                      if (section_directions
-                          && section_directions[D_next])
+
+                      section_number
+                        = lookup_extra_integer (section,
+                                         AI_key_section_number, &status);
+                      section_structure
+                        = self->document->sections_list.list[section_number 
-1];
+                      if (section_structure->section_directions
+                          && section_structure->section_directions[D_next])
                         {
                           text_append_n (&result, "</li>\n", 6);
-                          section = section_directions[D_next];
+                          section
+                            = section_structure->section_directions[D_next];
                           break;
                         }
                     }
diff --git a/tta/C/convert/html_prepare_converter.c 
b/tta/C/convert/html_prepare_converter.c
index 4a4c1f3985..965ab9fbc0 100644
--- a/tta/C/convert/html_prepare_converter.c
+++ b/tta/C/convert/html_prepare_converter.c
@@ -43,6 +43,7 @@
 /* option_force_conf option_set_conf */
 #include "customization_options.h"
 #include "extra.h"
+#include "debug.h"
 #include "targets.h"
 /* unicode_character_brace_no_arg_commands */
 #include "unicode.h"
@@ -5014,6 +5015,7 @@ html_prepare_output_units_global_targets (CONVERTER *self)
   int i;
   int all_special_units_nr = 0;
   int s;
+  const SECTION_STRUCTURE_LIST *sections_list = &self->document->sections_list;
 
   const OUTPUT_UNIT_LIST *output_units = retrieve_output_units
    (self->document, self->output_units_descriptors[OUDT_units]);
@@ -5064,7 +5066,8 @@ html_prepare_output_units_global_targets (CONVERTER *self)
             }
        /* find the first level 1 sectioning element to associate the printindex
            with */
-          if (root_command && root_command->e.c->cmd != CM_node)
+          if (root_command && root_command->e.c->cmd != CM_NONE
+              && root_command->e.c->cmd != CM_node)
             {
               while (1)
                 {
@@ -5075,9 +5078,14 @@ html_prepare_output_units_global_targets (CONVERTER 
*self)
                   if (!status && section_level <= 1)
                     break;
 
+                  size_t section_number
+                        = lookup_extra_integer (root_command,
+                                         AI_key_section_number, &status);
+                  const SECTION_STRUCTURE *section_structure
+                    = sections_list->list[section_number -1];
+
                   const ELEMENT * const *up_section_directions
-                    = lookup_extra_directions (root_command,
-                                         AI_key_section_directions);
+                    = section_structure->section_directions;
                   if (up_section_directions
                       && up_section_directions[D_up]
                       && up_section_directions[D_up]
diff --git a/tta/C/main/build_perl_info.c b/tta/C/main/build_perl_info.c
index cc0ccafe6d..74e85e09a9 100644
--- a/tta/C/main/build_perl_info.c
+++ b/tta/C/main/build_perl_info.c
@@ -1060,6 +1060,18 @@ build_section_structure_list (const 
SECTION_STRUCTURE_LIST *list)
       STORE_STRUCT_INFO(associated_part)
       STORE_STRUCT_INFO(part_associated_section)
       STORE_STRUCT_INFO(part_following_node)
+      if (structure->section_directions)
+        {
+          sv = build_perl_directions (structure->section_directions, 0);
+          hv_store (structure_hv, "section_directions",
+                    strlen ("section_directions"), sv, 0);
+        }
+      if (structure->toplevel_directions)
+        {
+          sv = build_perl_directions (structure->toplevel_directions, 0);
+          hv_store (structure_hv, "toplevel_directions",
+                    strlen ("toplevel_directions"), sv, 0);
+        }
       av_store (list_av, i, newRV_noinc ((SV *) structure_hv));
     }
 
diff --git a/tta/C/main/output_unit.c b/tta/C/main/output_unit.c
index 7d3cfcb56b..e8fa209584 100644
--- a/tta/C/main/output_unit.c
+++ b/tta/C/main/output_unit.c
@@ -814,17 +814,23 @@ units_directions (const C_HASHMAP *identifiers_target,
         {
           const ELEMENT *up = section;
           const CONST_ELEMENT_LIST *up_section_childs;
+          size_t up_section_number;
           int up_section_level;
           int status;
+          size_t section_number
+                      = lookup_extra_integer (section,
+                                       AI_key_section_number, &status);
+          const SECTION_STRUCTURE *section_structure
+                      = sections_list->list[section_number -1];
           enum directions d;
           const ELEMENT * const *section_directions
-                        = lookup_extra_directions (section,
-                                               AI_key_section_directions);
+                        = section_structure->section_directions;
+          const SECTION_STRUCTURE *up_structure = section_structure;
           if (section_directions)
             {
               for (d = 0; d < directions_length; d++)
                 {
-            /* in most cases $section->{'extra'}->{'section_directions'}
+            /* in most cases $section_directions
                        ->{$direction->[1]}
                               ->{'associated_unit'} is defined
               but it may not be the case for the up of @top.
@@ -849,13 +855,15 @@ units_directions (const C_HASHMAP *identifiers_target,
               up_section_level
                 = lookup_extra_integer (up, AI_key_section_level, &status);
 
-              const ELEMENT * const *up_section_directions
-                        = lookup_extra_directions (up,
-                                                   AI_key_section_directions);
               if (status >= 0 && up_section_level > 1
-                  && up_section_directions
-                  && up_section_directions[D_up])
-                up = up_section_directions[D_up];
+                  && up_structure->section_directions
+                  && up_structure->section_directions[D_up])
+                {
+                  up = up_structure->section_directions[D_up];
+                  up_section_number = lookup_extra_integer (up,
+                                     AI_key_section_number, &status);
+                  up_structure = sections_list->list[up_section_number -1];
+                }
               else
                 break;
             }
@@ -870,21 +878,17 @@ units_directions (const C_HASHMAP *identifiers_target,
             }
           else
             {
-              const ELEMENT * const *toplevel_directions
-               = lookup_extra_directions (up, AI_key_toplevel_directions);
-              if (toplevel_directions
-                  && toplevel_directions[D_next])
+              if (up_structure->toplevel_directions
+                  && up_structure->toplevel_directions[D_next])
                 directions[RUD_type_FastForward]
-                  = toplevel_directions[D_next]->e.c->associated_unit;
+                  = up_structure->toplevel_directions[D_next]
+                                             ->e.c->associated_unit;
               else
                 {
-                  const ELEMENT * const *up_section_directions
-                        = lookup_extra_directions (up,
-                                                   AI_key_section_directions);
-                  if (up_section_directions
-                      && up_section_directions[D_next])
+                  if (up_structure->section_directions
+                      && up_structure->section_directions[D_next])
                     directions[RUD_type_FastForward]
-                      = up_section_directions[D_next]
+                      = up_structure->section_directions[D_next]
                                                      ->e.c->associated_unit;
                 }
             }
diff --git a/tta/C/main/structure_list.c b/tta/C/main/structure_list.c
index 3a4f964955..d67fa9cef5 100644
--- a/tta/C/main/structure_list.c
+++ b/tta/C/main/structure_list.c
@@ -195,10 +195,8 @@ free_node_structure_list (NODE_STRUCTURE_LIST *list)
       NODE_STRUCTURE *node_structure = list->list[i];
       if (node_structure->menus)
         destroy_const_element_list (node_structure->menus);
-      if (node_structure->menu_directions)
-        free (node_structure->menu_directions);
-      if (node_structure->node_directions)
-        free (node_structure->node_directions);
+      free (node_structure->menu_directions);
+      free (node_structure->node_directions);
       free (node_structure);
     }
   free (list->list);
@@ -216,7 +214,12 @@ free_section_structure_list (SECTION_STRUCTURE_LIST *list)
 {
   size_t i;
   for (i = 0; i < list->number; i++)
-    free (list->list[i]);
+    {
+      SECTION_STRUCTURE *section_structure = list->list[i];
+      free (section_structure->section_directions);
+      free (section_structure->toplevel_directions);
+      free (section_structure);
+    }
   free (list->list);
 }
 
@@ -273,6 +276,29 @@ print_root_command (const ELEMENT *element)
           text_append_n (&result, "\n", 1); \
         }
 
+static void
+print_sections_directions (TEXT *result, const ELEMENT * const *directions)
+{
+  size_t d;
+  for (d = 0; d < directions_length; d++)
+    {
+      if (directions[d])
+        {
+          const char *d_key = direction_names[d];
+          const ELEMENT *e = directions[d];
+          char *element_str = print_root_command (e);
+          if (!element_str)
+            /* not sure that it may happen */
+            text_printf (result, "  %s->\n", d_key);
+          else
+            {
+              text_printf (result, "  %s->%s\n", d_key, element_str);
+              free (element_str);
+            }
+        }
+    }
+}
+
 char *
 print_sections_list (const DOCUMENT *document)
 {
@@ -303,6 +329,16 @@ print_sections_list (const DOCUMENT *document)
       SECTION_STRUCT_PRINT_KEY(associated_part)
       SECTION_STRUCT_PRINT_KEY(part_associated_section)
       SECTION_STRUCT_PRINT_KEY(part_following_node)
+      if (structure->section_directions)
+        {
+          text_append_n (&result, " section_directions:\n", 21);
+          print_sections_directions (&result, structure->section_directions);
+        }
+      if (structure->toplevel_directions)
+        {
+          text_append_n (&result, " toplevel_directions:\n", 22);
+          print_sections_directions (&result, structure->toplevel_directions);
+        }
     }
 
   return result.text;
@@ -386,7 +422,7 @@ print_menu_node (const ELEMENT *element)
 }
 
 static void
-print_directions (TEXT *result, const ELEMENT * const *directions)
+print_nodes_directions (TEXT *result, const ELEMENT * const *directions)
 {
   size_t d;
   for (d = 0; d < directions_length; d++)
@@ -494,12 +530,12 @@ print_nodes_list (const DOCUMENT *document)
       if (structure->menu_directions)
         {
           text_append_n (&result, " menu_directions:\n", 18);
-          print_directions (&result, structure->menu_directions);
+          print_nodes_directions (&result, structure->menu_directions);
         }
       if (structure->node_directions)
         {
           text_append_n (&result, " node_directions:\n", 18);
-          print_directions (&result, structure->node_directions);
+          print_nodes_directions (&result, structure->node_directions);
         }
     }
 
diff --git a/tta/C/main/tree_types.h b/tta/C/main/tree_types.h
index f3af1b5560..b4da18d0d8 100644
--- a/tta/C/main/tree_types.h
+++ b/tta/C/main/tree_types.h
@@ -117,9 +117,6 @@ enum directions {
   \
   ai_key(section_childs, contents) \
   \
-  ai_key(section_directions, directions) \
-  ai_key(toplevel_directions, directions) \
-  \
   ai_key(misc_args, misc_args) \
   \
   ai_key(index_entry, index_entry) \
@@ -300,6 +297,8 @@ typedef struct SECTION_STRUCTURE {
     ELEMENT *associated_part;
     ELEMENT *part_associated_section;
     ELEMENT *part_following_node;
+    const struct ELEMENT **section_directions;
+    const struct ELEMENT **toplevel_directions;
 } SECTION_STRUCTURE;
 
 typedef struct SECTION_STRUCTURE_LIST {
diff --git a/tta/C/structuring_transfo/structuring.c 
b/tta/C/structuring_transfo/structuring.c
index 62a0b25d70..e6a0d6c026 100644
--- a/tta/C/structuring_transfo/structuring.c
+++ b/tta/C/structuring_transfo/structuring.c
@@ -89,8 +89,8 @@ sectioning_structure (DOCUMENT *document)
   OPTIONS *options = document->options;
 
   ELEMENT *sec_root = 0;
-  ELEMENT *previous_section = 0;
-  ELEMENT *previous_toplevel = 0;
+  SECTION_STRUCTURE *previous_section_structure = 0;
+  SECTION_STRUCTURE *previous_toplevel_structure = 0;
   int in_appendix = 0;
   /* lowest level with a number.  This is the lowest level above 0. */
   int number_top_level = 0;
@@ -126,19 +126,20 @@ sectioning_structure (DOCUMENT *document)
           level = 0;
         }
 
-      if (previous_section)
+      if (previous_section_structure)
         {
           int status;
+          const ELEMENT *previous_section = 
previous_section_structure->element;
           int prev_section_level
              = lookup_extra_integer (previous_section, AI_key_section_level,
                                      &status);
           if (prev_section_level < level)
           /* new command is below */
             {
-              const ELEMENT **section_directions
-                  = add_extra_directions (content, AI_key_section_directions);
+              if (!section_structure->section_directions)
+                section_structure->section_directions = new_directions ();
               CONST_ELEMENT_LIST *section_childs
-                = add_extra_contents (previous_section,
+                = add_extra_contents ((ELEMENT *)previous_section,
                                       AI_key_section_childs, 1);
               if (level - prev_section_level > 1)
                 {
@@ -149,7 +150,7 @@ sectioning_structure (DOCUMENT *document)
                   level = prev_section_level + 1;
                 }
               add_to_const_element_list (section_childs, content);
-              section_directions[D_up] = previous_section;
+              section_structure->section_directions[D_up] = previous_section;
                /*
                 if the up is unnumbered, the number information has to be kept,
                 to avoid reusing an already used number.
@@ -169,20 +170,31 @@ sectioning_structure (DOCUMENT *document)
             }
           else
             {
+              int status;
+              size_t up_section_number;
               int new_upper_part_element = 0;
               /* try to find the up in the sectioning hierarchy */
               const ELEMENT *up = previous_section;
+              const SECTION_STRUCTURE *up_structure
+                = previous_section_structure;
+              const struct ELEMENT * const *up_section_directions
+                = previous_section_structure->section_directions;
+
               int up_level;
               while (1)
                 {
-                  const ELEMENT * const *up_section_directions
-                    = lookup_extra_directions (up, AI_key_section_directions);
                   up_level = lookup_extra_integer (up, AI_key_section_level,
                                                    &status);
                   if (up_section_directions
                       && up_section_directions[D_up]
                       && up_level >= level)
-                    up = up_section_directions[D_up];
+                    {
+                      up = up_section_directions[D_up];
+                      up_section_number = lookup_extra_integer (up,
+                                       AI_key_section_number, &status);
+                      up_structure = sections_list->list[up_section_number -1];
+                      up_section_directions = up_structure->section_directions;
+                    }
                   else
                     break;
                 }
@@ -251,15 +263,22 @@ sectioning_structure (DOCUMENT *document)
                   /* cast to remove const to be able to set directions */
                   ELEMENT *prev = (ELEMENT *)
                     up_section_childs->list[up_section_childs->number -1];
-                  const ELEMENT **prev_section_directions
-                    = add_extra_directions (prev, AI_key_section_directions);
-                  const ELEMENT **section_directions
-                    = add_extra_directions (content, 
AI_key_section_directions);
+                  int status;
+                  size_t prev_number
+                    =  lookup_extra_integer (prev,
+                                       AI_key_section_number, &status);
+                  SECTION_STRUCTURE *prev_structure
+                    = sections_list->list[prev_number -1];
+                  if (!prev_structure->section_directions)
+                    prev_structure->section_directions = new_directions ();
+                  if (!section_structure->section_directions)
+                    section_structure->section_directions = new_directions ();
+
               /* do not set sec_root as up, but always put in section_childs */
                   if (up != sec_root)
-                    section_directions[D_up] = up;
-                  section_directions[D_prev] = prev;
-                  prev_section_directions[D_next] = content;
+                    section_structure->section_directions[D_up] = up;
+                  section_structure->section_directions[D_prev] = prev;
+                  prev_structure->section_directions[D_next] = content;
                   add_to_const_element_list (up_section_childs, content);
                 }
               if (!(command_other_flags (content) & CF_unnumbered))
@@ -352,29 +371,30 @@ sectioning_structure (DOCUMENT *document)
                                       section_number.text);
             }
         }
-      previous_section = content;
+      previous_section_structure = section_structure;
       if (content->e.c->cmd != CM_part && level <= number_top_level)
         {
-          if (previous_toplevel || (section_top && section_top != content))
+          if (previous_toplevel_structure
+               || (section_top && section_top != content))
             {
-              const ELEMENT **toplevel_directions
-                = add_extra_directions (content, AI_key_toplevel_directions);
+              if (!section_structure->toplevel_directions)
+                section_structure->toplevel_directions = new_directions ();
 
-              if (previous_toplevel)
+              if (previous_toplevel_structure)
                 {
-                  const ELEMENT **prev_toplvl_directions
-                   = add_extra_directions (previous_toplevel,
-                                           AI_key_toplevel_directions);
-
-                  prev_toplvl_directions[D_next] = content;
-                  toplevel_directions[D_prev] = previous_toplevel;
+                  if (!previous_toplevel_structure->toplevel_directions)
+                    previous_toplevel_structure->toplevel_directions
+                      = new_directions ();
+
+                  previous_toplevel_structure->toplevel_directions[D_next]
+                    = content;
+                  section_structure->toplevel_directions[D_prev]
+                    = previous_toplevel_structure->element;
                 }
               if (section_top && content != section_top)
-                {
-                  toplevel_directions[D_up] = section_top;
-                }
+                section_structure->toplevel_directions[D_up] = section_top;
             }
-          previous_toplevel = content;
+          previous_toplevel_structure = section_structure;
         }
       else if (content->e.c->cmd == CM_part
                && !section_structure->part_associated_section)
@@ -493,15 +513,23 @@ get_node_node_childs_from_sectioning (const 
NODE_STRUCTURE *node_structure,
       if (associated_section->e.c->cmd == CM_top)
         {
           const ELEMENT *current = associated_section;
+          int status;
+          size_t current_section_number
+            = lookup_extra_integer (current,
+                                    AI_key_section_number, &status);
+          const SECTION_STRUCTURE *current_structure
+            = sections_list->list[current_section_number -1];
           while (1)
             {
-              const ELEMENT * const *section_directions
-                             = lookup_extra_directions (current,
-                                                 AI_key_section_directions);
-              if (section_directions
-                  && section_directions[D_next])
+              if (current_structure->section_directions
+                  && current_structure->section_directions[D_next])
                 {
-                  current = section_directions[D_next];
+                  current = current_structure->section_directions[D_next];
+                  current_section_number
+                    = lookup_extra_integer (current,
+                                    AI_key_section_number, &status);
+                  current_structure
+                    = sections_list->list[current_section_number -1];
                   if (current->e.c->cmd == CM_part)
                     {
                       const CONST_ELEMENT_LIST *section_childs
@@ -526,12 +554,6 @@ get_node_node_childs_from_sectioning (const NODE_STRUCTURE 
*node_structure,
                     }
                   else
                     {
-                      int status;
-                      size_t section_number
-                        = lookup_extra_integer (current,
-                                                AI_key_section_number, 
&status);
-                      const SECTION_STRUCTURE *current_structure
-                        = sections_list->list[section_number -1];
                       /*
                     for @appendix, and what follows, as it stops a @part, but 
is
                     not below @top
@@ -1051,24 +1073,24 @@ set_menus_node_directions (DOCUMENT *document)
     }
 }
 
-static enum ai_key_name direction_bases[] = {AI_key_section_directions,
-                                             AI_key_toplevel_directions};
-
 static const ELEMENT *
 section_direction_associated_node (const SECTION_STRUCTURE_LIST *sections_list,
-                                   const ELEMENT *section,
+                                   const SECTION_STRUCTURE *section_structure,
                                    enum directions direction)
 {
   size_t i;
+  static const ELEMENT * const *direction_bases[2];
+  direction_bases[0] = section_structure->section_directions;
+  direction_bases[1] = section_structure->toplevel_directions;
   for (i = 0; i < sizeof (direction_bases) / sizeof (direction_bases[0]);
        i++)
     {
       const ELEMENT * const *directions
-        = lookup_extra_directions (section, direction_bases[i]);
+        = direction_bases[i];
       if (directions && directions[direction])
         {
           const ELEMENT *section_to = directions[direction];
-          if (direction_bases[i] != AI_key_toplevel_directions
+          if (direction_bases[i] != section_structure->toplevel_directions
               || direction == D_up
               || section_to->e.c->cmd != CM_top)
             {
@@ -1145,7 +1167,6 @@ complete_node_tree_with_menus (DOCUMENT *document)
                       && ((!options)
                           || options->CHECK_NORMAL_MENU_STRUCTURE.o.integer > 
0))
                     {
-                      const ELEMENT *node_direction_section = section;
                       const ELEMENT *direction_associated_node;
                       int status;
                       size_t section_number
@@ -1153,19 +1174,27 @@ complete_node_tree_with_menus (DOCUMENT *document)
                                          AI_key_section_number, &status);
                       const SECTION_STRUCTURE *section_structure
                         = sections_list->list[section_number -1];
+                      const SECTION_STRUCTURE *direction_structure
+                        = section_structure;
           /* Prefer the section associated with a @part for node directions. */
                       if (section_structure->part_associated_section)
-                        node_direction_section
-                          = section_structure->part_associated_section;
+                        {
+                          const ELEMENT *node_direction_section
+                            = section_structure->part_associated_section;
+                          size_t direction_number
+                            = lookup_extra_integer (node_direction_section,
+                                             AI_key_section_number, &status);
+                          direction_structure
+                            = sections_list->list[direction_number -1];
+                        }
                       direction_associated_node
                         = section_direction_associated_node (sections_list,
-                                                  node_direction_section, d);
+                                                       direction_structure, d);
                       if (direction_associated_node)
                         {
                           const CONST_ELEMENT_LIST *menus = 0;
                           const ELEMENT * const *section_directions
-                            = lookup_extra_directions (node_direction_section,
-                                                   AI_key_section_directions);
+                            = direction_structure->section_directions;
                           if (section_directions
                               && section_directions[D_up])
                             {
@@ -1489,7 +1518,7 @@ construct_nodes_tree (DOCUMENT *document)
 
                     direction_associated_node
                       = section_direction_associated_node (sections_list,
-                                                           section, d);
+                                                        section_structure, d);
                     if (direction_associated_node)
                       {
                         if (!node_structure->node_directions)
@@ -1722,6 +1751,7 @@ number_floats (DOCUMENT *document)
 {
   const LISTOFFLOATS_TYPE_LIST *listoffloats_list = &document->listoffloats;
   size_t i;
+  const SECTION_STRUCTURE_LIST *sections_list = &document->sections_list;
 
   if (!listoffloats_list)
     return;
@@ -1756,10 +1786,16 @@ number_floats (DOCUMENT *document)
           up = float_info->float_section;
           if (up)
             {
+              int status;
+              size_t up_section_number;
+              const SECTION_STRUCTURE *up_structure;
               while (1)
                 {
+                  up_section_number = lookup_extra_integer (up,
+                                       AI_key_section_number, &status);
+                  up_structure = sections_list->list[up_section_number -1];
                   const ELEMENT * const *section_directions
-                    = lookup_extra_directions (up, AI_key_section_directions);
+                    = up_structure->section_directions;
                   if (section_directions
                       && section_directions[D_up])
                     {
diff --git a/tta/perl/Texinfo/Convert/DocBook.pm 
b/tta/perl/Texinfo/Convert/DocBook.pm
index 867f0ad3f5..484663cc7a 100644
--- a/tta/perl/Texinfo/Convert/DocBook.pm
+++ b/tta/perl/Texinfo/Convert/DocBook.pm
@@ -1922,8 +1922,9 @@ sub _convert($$;$)
   } elsif ($cmdname and $cmdname ne 'node'
            and $Texinfo::Commands::root_commands{$cmdname}) {
     my $section_structure;
+    my $sections_list;
     if ($self->{'document'}) {
-      my $sections_list = $self->{'document'}->sections_list();
+      $sections_list = $self->{'document'}->sections_list();
       $section_structure
         = $sections_list->[$element->{'extra'}->{'section_number'} -1];
     }
@@ -1943,18 +1944,21 @@ sub _convert($$;$)
       $result .= "</$docbook_sectioning_element>\n";
       pop @{$self->{'lang_stack'}};
       my $current = $element;
-      while ($current->{'extra'}
-             and $current->{'extra'}->{'section_directions'}
-             and $current->{'extra'}->{'section_directions'}->{'up'}
+      my $current_structure
+        = $sections_list->[$current->{'extra'}->{'section_number'} -1];
+      while ($current_structure->{'section_directions'}
+             and $current_structure->{'section_directions'}->{'up'}
              # the most up element is a virtual sectioning root element, this
              # condition avoids getting into it
-             and 
$current->{'extra'}->{'section_directions'}->{'up'}->{'cmdname'}
-             and !$current->{'extra'}->{'section_directions'}->{'next'}
+             and 
$current_structure->{'section_directions'}->{'up'}->{'cmdname'}
+             and !$current_structure->{'section_directions'}->{'next'}
              and Texinfo::Structuring::section_level_adjusted_command_name(
-               $current->{'extra'}->{'section_directions'}->{'up'}) ne 'top') {
-        $current = $current->{'extra'}->{'section_directions'}->{'up'};
+               $current_structure->{'section_directions'}->{'up'}) ne 'top') {
+        $current = $current_structure->{'section_directions'}->{'up'};
         $result .= '</'._docbook_section_element($self, $current) .">\n";
         pop @{$self->{'lang_stack'}};
+        $current_structure
+          = $sections_list->[$current->{'extra'}->{'section_number'} -1];
       }
     }
   } elsif ($e_type and $e_type eq 'before_node_section'
diff --git a/tta/perl/Texinfo/Convert/HTML.pm b/tta/perl/Texinfo/Convert/HTML.pm
index 91f2879869..4b04f8c0df 100644
--- a/tta/perl/Texinfo/Convert/HTML.pm
+++ b/tta/perl/Texinfo/Convert/HTML.pm
@@ -11007,9 +11007,11 @@ sub _prepare_output_units_global_targets($$$$)
 
   my $global_commands;
   my $nodes_list;
+  my $sections_list;
   if ($self->{'document'}) {
     $global_commands = $self->{'document'}->global_commands_information();
     $nodes_list = $self->{'document'}->nodes_list();
+    $sections_list = $self->{'document'}->sections_list();
   }
 
   # Associate Index with the last @printindex.  According to Werner Lemberg,
@@ -11036,14 +11038,19 @@ sub _prepare_output_units_global_targets($$$$)
       # find the first level 1 sectioning element to associate the printindex
       # with.  May not work correctly if structuring was not done
       if ($root_command and $root_command->{'cmdname'} ne 'node') {
+        my $section_structure
+          = $sections_list->[$root_command->{'extra'}->{'section_number'} -1];
         while ($root_command->{'extra'}
                and defined($root_command->{'extra'}->{'section_level'})
                and $root_command->{'extra'}->{'section_level'} > 1
-               and $root_command->{'extra'}->{'section_directions'}
-               and $root_command->{'extra'}->{'section_directions'}->{'up'}
-               and $root_command->{'extra'}->{'section_directions'}->{'up'}
+               and $section_structure->{'section_directions'}
+               and $section_structure->{'section_directions'}->{'up'}
+               and $section_structure->{'section_directions'}->{'up'}
                                         ->{'associated_unit'}) {
-          $root_command = 
$root_command->{'extra'}->{'section_directions'}->{'up'};
+          $root_command = $section_structure->{'section_directions'}->{'up'};
+          $section_structure
+            = $sections_list->[$root_command->{'extra'}->{'section_number'} 
-1];
+
           $document_unit = $root_command->{'associated_unit'};
         }
       }
@@ -11655,21 +11662,24 @@ sub _default_format_contents($$;$$)
             if ($is_contents);
         $result .= $self->html_attribute_class('ul', \@toc_ul_classes) .">\n";
         $section = $section->{'extra'}->{'section_childs'}->[0];
-      } elsif ($section->{'extra'}->{'section_directions'}
-               and $section->{'extra'}->{'section_directions'}->{'next'}
+      } elsif ($section_structure->{'section_directions'}
+               and $section_structure->{'section_directions'}->{'next'}
                and $section->{'cmdname'} ne 'top') {
         $result .= "</li>\n";
         last if ($section eq $top_section);
-        $section = $section->{'extra'}->{'section_directions'}->{'next'};
+        $section = $section_structure->{'section_directions'}->{'next'};
       } else {
         #last if ($section eq $top_section);
         if ($section eq $top_section) {
           $result .= "</li>\n" unless ($section->{'cmdname'} eq 'top');
           last;
         }
-        while ($section->{'extra'}->{'section_directions'}
-               and $section->{'extra'}->{'section_directions'}->{'up'}) {
-          $section = $section->{'extra'}->{'section_directions'}->{'up'};
+        while ($section_structure->{'section_directions'}
+               and $section_structure->{'section_directions'}->{'up'}) {
+          $section = $section_structure->{'section_directions'}->{'up'};
+          $section_structure
+            = $sections_list->[$section->{'extra'}->{'section_number'} -1];
+
           $result .= "</li>\n"
            . ' ' x (2*($section->{'extra'}->{'section_level'} - 
$min_root_level))
             . "</ul>";
@@ -11677,10 +11687,10 @@ sub _default_format_contents($$;$$)
             $result .= "</li>\n" if ($has_toplevel_contents);
             last SECTION;
           }
-          if ($section->{'extra'}->{'section_directions'}
-              and $section->{'extra'}->{'section_directions'}->{'next'}) {
+          if ($section_structure->{'section_directions'}
+              and $section_structure->{'section_directions'}->{'next'}) {
             $result .= "</li>\n";
-            $section = $section->{'extra'}->{'section_directions'}->{'next'};
+            $section = $section_structure->{'section_directions'}->{'next'};
             last;
           }
         }
diff --git a/tta/perl/Texinfo/Convert/IXIN.pm b/tta/perl/Texinfo/Convert/IXIN.pm
index 1e6db8a33a..8bf24a4fe5 100644
--- a/tta/perl/Texinfo/Convert/IXIN.pm
+++ b/tta/perl/Texinfo/Convert/IXIN.pm
@@ -616,6 +616,9 @@ sub output_ixin($$)
       my $section = $top_section;
  SECTION:
       while ($section) {
+        my $section_structure
+          = $sections_list->[$section->{'extra'}->{'section_number'} -1];
+
         my $associated_node_id = $self->_associated_node_id($section,
                                                      \%node_label_number);
         my @attributes = (['nodeid', $associated_node_id], ['type',
@@ -636,30 +639,32 @@ sub output_ixin($$)
         }
         if ($section->{'extra'}->{'section_childs'}) {
           $section = $section->{'extra'}->{'section_childs'}->[0];
-        } elsif ($section->{'extra'}->{'section_directions'}
-                 and $section->{'extra'}->{'section_directions'}->{'next'}) {
+        } elsif ($section_structure->{'section_directions'}
+                 and $section_structure->{'section_directions'}->{'next'}) {
           $sectioning_tree .= $self->ixin_close_element('sectionentry');
           last if ($section eq $top_section);
-          $section = $section->{'extra'}->{'section_directions'}->{'next'};
+          $section = $section_structure->{'section_directions'}->{'next'};
         } else {
           if ($section eq $top_section) {
             $sectioning_tree .= $self->ixin_close_element('sectionentry')
               unless ($section->{'cmdname'} eq 'top');
             last;
           }
-          while ($section->{'extra'}->{'section_directions'}
-                 and $section->{'extra'}->{'section_directions'}->{'up'}) {
-            $section = $section->{'extra'}->{'section_directions'}->{'up'};
+          while ($section_structure->{'section_directions'}
+                 and $section_structure->{'section_directions'}->{'up'}) {
+            $section = $section_structure->{'section_directions'}->{'up'};
+            $section_structure
+              = $sections_list->[$section->{'extra'}->{'section_number'} -1];
             $sectioning_tree .= $self->ixin_close_element('sectionentry');
             if ($section eq $top_section) {
               $sectioning_tree .= $self->ixin_close_element('sectionentry')
                  unless ($section->{'cmdname'} eq 'top');
               last SECTION;
             }
-            if ($section->{'extra'}->{'section_directions'}
-                and $section->{'extra'}->{'section_directions'}->{'next'}) {
+            if ($section_structure->{'section_directions'}
+                and $section_structure->{'section_directions'}->{'next'}) {
               $sectioning_tree .= $self->ixin_close_element('sectionentry');
-              $section = $section->{'extra'}->{'section_directions'}->{'next'};
+              $section = $section_structure->{'section_directions'}->{'next'};
               last;
             }
           }
diff --git a/tta/perl/Texinfo/Convert/Plaintext.pm 
b/tta/perl/Texinfo/Convert/Plaintext.pm
index a6bfec9ae7..2705f4d186 100644
--- a/tta/perl/Texinfo/Convert/Plaintext.pm
+++ b/tta/perl/Texinfo/Convert/Plaintext.pm
@@ -1625,6 +1625,9 @@ sub format_contents($$$)
   # no sections
   return ('', 0) if (!$section_root
                      or !$section_root->{'extra'}->{'section_childs'});
+
+  my $sections_list = $self->{'document'}->sections_list();
+
   my $root_level = $section_root->{'extra'}->{'section_childs'}->[0]
                                           ->{'extra'}->{'section_level'};
   foreach my $top_section (@{$section_root->{'extra'}->{'section_childs'}}) {
@@ -1642,6 +1645,9 @@ sub format_contents($$$)
       # arguments_line type element
       my $arguments_line = $section->{'contents'}->[0];
       my $line_arg = $arguments_line->{'contents'}->[0];
+      my $section_structure
+        = $sections_list->[$section->{'extra'}->{'section_number'} -1];
+
       my $section_title_tree;
       if (defined($section->{'extra'}->{'section_heading_number'})
           and ($self->get_conf('NUMBER_SECTIONS')
@@ -1677,19 +1683,21 @@ sub format_contents($$$)
           and ($contents
                or $section->{'extra'}->{'section_level'} < $root_level+1)) {
         $section = $section->{'extra'}->{'section_childs'}->[0];
-      } elsif ($section->{'extra'}->{'section_directions'}
-               and $section->{'extra'}->{'section_directions'}->{'next'}) {
+      } elsif ($section_structure->{'section_directions'}
+               and $section_structure->{'section_directions'}->{'next'}) {
         last if ($section eq $top_section);
-        $section = $section->{'extra'}->{'section_directions'}->{'next'};
+        $section = $section_structure->{'section_directions'}->{'next'};
       } else {
         last if ($section eq $top_section);
-        while ($section->{'extra'}->{'section_directions'}
-               and $section->{'extra'}->{'section_directions'}->{'up'}) {
-          $section = $section->{'extra'}->{'section_directions'}->{'up'};
+        while ($section_structure->{'section_directions'}
+               and $section_structure->{'section_directions'}->{'up'}) {
+          $section = $section_structure->{'section_directions'}->{'up'};
           last SECTION if ($section eq $top_section);
-          if ($section->{'extra'}->{'section_directions'}
-              and $section->{'extra'}->{'section_directions'}->{'next'}) {
-            $section = $section->{'extra'}->{'section_directions'}->{'next'};
+          $section_structure
+            = $sections_list->[$section->{'extra'}->{'section_number'} -1];
+          if ($section_structure->{'section_directions'}
+              and $section_structure->{'section_directions'}->{'next'}) {
+            $section = $section_structure->{'section_directions'}->{'next'};
             last;
           }
         }
diff --git a/tta/perl/Texinfo/Convert/TexinfoMarkup.pm 
b/tta/perl/Texinfo/Convert/TexinfoMarkup.pm
index 7e64f7247a..7124496dbc 100644
--- a/tta/perl/Texinfo/Convert/TexinfoMarkup.pm
+++ b/tta/perl/Texinfo/Convert/TexinfoMarkup.pm
@@ -1714,18 +1714,22 @@ sub _convert($$;$)
           and $element->{'extra'}->{'section_childs'}
           and scalar(@{$element->{'extra'}->{'section_childs'}}))
         or $level_adjusted_cmdname eq 'top') {
+      my $sections_list = $self->{'document'}->sections_list();
       $result .= $self->txi_markup_close_element($level_adjusted_cmdname)."\n";
       my $current = $element;
-      while ($current->{'extra'}
-             and $current->{'extra'}->{'section_directions'}
-             and $current->{'extra'}->{'section_directions'}->{'up'}
+      my $current_structure
+          = $sections_list->[$current->{'extra'}->{'section_number'} -1];
+      while ($current_structure->{'section_directions'}
+             and $current_structure->{'section_directions'}->{'up'}
              # the most up element is a virtual sectioning root element, this
              # condition avoids getting into it
-             and 
$current->{'extra'}->{'section_directions'}->{'up'}->{'cmdname'}
-             and !$current->{'extra'}->{'section_directions'}->{'next'}
+             and 
$current_structure->{'section_directions'}->{'up'}->{'cmdname'}
+             and !$current_structure->{'section_directions'}->{'next'}
              and Texinfo::Structuring::section_level_adjusted_command_name(
-               $current->{'extra'}->{'section_directions'}->{'up'}) ne 'top') {
-        $current = $current->{'extra'}->{'section_directions'}->{'up'};
+               $current_structure->{'section_directions'}->{'up'}) ne 'top') {
+        $current = $current_structure->{'section_directions'}->{'up'};
+        $current_structure
+          = $sections_list->[$current->{'extra'}->{'section_number'} -1];
         my $level_adjusted_current_cmdname
           = 
Texinfo::Structuring::section_level_adjusted_command_name($current);
         $result
diff --git a/tta/perl/Texinfo/OutputUnits.pm b/tta/perl/Texinfo/OutputUnits.pm
index ff90d80431..6cc716a6b9 100644
--- a/tta/perl/Texinfo/OutputUnits.pm
+++ b/tta/perl/Texinfo/OutputUnits.pm
@@ -499,9 +499,12 @@ sub units_directions($$$$;$)
         }
       }
     } else {
+      my $section_structure
+        = $sections_list->[$section->{'extra'}->{'section_number'} -1];
+      my $section_directions = $section_structure->{'section_directions'};
       foreach my $direction(['Up', 'up'], ['Next', 'next'],
                             ['Prev', 'prev']) {
-        # in most cases $section->{'extra'}->{'section_directions'}
+        # in most cases $section_directions
         #          ->{$direction->[1]}
         #                 ->{'associated_unit'} is defined
         # but it may not be the case for the up of @top.
@@ -510,14 +513,13 @@ sub units_directions($$$$;$)
         #  @chapter chapter
         # in that cas the direction is not set up
         $directions->{$direction->[0]}
-         = $section->{'extra'}->{'section_directions'}->{$direction->[1]}
-             ->{'associated_unit'}
-          if ($section->{'extra'}->{'section_directions'}
-           and $section->{'extra'}->{'section_directions'}->{$direction->[1]}
-           and $section->{'extra'}->{'section_directions'}->{$direction->[1]}
+         = $section_directions->{$direction->[1]}->{'associated_unit'}
+          if ($section_directions
+           and $section_directions->{$direction->[1]}
+           and $section_directions->{$direction->[1]}
                                            ->{'associated_unit'}
            and (!$section->{'associated_unit'}
-                or 
$section->{'extra'}->{'section_directions'}->{$direction->[1]}
+                or $section_directions->{$direction->[1]}
                     ->{'associated_unit'}
                        ne $section->{'associated_unit'}));
       }
@@ -525,12 +527,15 @@ sub units_directions($$$$;$)
       # fastforward is the next element on same level than the upper parent
       # element.
       my $up = $section;
+      my $up_structure = $section_structure;
       while ($up->{'extra'}
              and defined($up->{'extra'}->{'section_level'})
              and $up->{'extra'}->{'section_level'} > 1
-             and $up->{'extra'}->{'section_directions'}
-             and $up->{'extra'}->{'section_directions'}->{'up'}) {
-        $up = $up->{'extra'}->{'section_directions'}->{'up'};
+             and $up_structure->{'section_directions'}
+             and $up_structure->{'section_directions'}->{'up'}) {
+        $up = $up_structure->{'section_directions'}->{'up'};
+        $up_structure
+          = $sections_list->[$up->{'extra'}->{'section_number'} -1];
       }
 
       if ($up->{'extra'}
@@ -541,15 +546,15 @@ sub units_directions($$$$;$)
           and @{$up->{'extra'}->{'section_childs'}}) {
         $directions->{'FastForward'}
            = $up->{'extra'}->{'section_childs'}->[0]->{'associated_unit'};
-      } elsif ($up->{'extra'}->{'toplevel_directions'}
-               and $up->{'extra'}->{'toplevel_directions'}->{'next'}) {
+      } elsif ($up_structure->{'toplevel_directions'}
+               and $up_structure->{'toplevel_directions'}->{'next'}) {
         $directions->{'FastForward'}
-          = $up->{'extra'}->{'toplevel_directions'}->{'next'}
+          = $up_structure->{'toplevel_directions'}->{'next'}
                                  ->{'associated_unit'};
-      } elsif ($up->{'extra'}->{'section_directions'}
-               and $up->{'extra'}->{'section_directions'}->{'next'}) {
+      } elsif ($up_structure->{'section_directions'}
+               and $up_structure->{'section_directions'}->{'next'}) {
         $directions->{'FastForward'}
-          = $up->{'extra'}->{'section_directions'}->{'next'}
+          = $up_structure->{'section_directions'}->{'next'}
                               ->{'associated_unit'};
       }
       # if the element isn't at the highest level, fastback is the
diff --git a/tta/perl/Texinfo/Structuring.pm b/tta/perl/Texinfo/Structuring.pm
index 50a57c105c..6ad26a35fc 100644
--- a/tta/perl/Texinfo/Structuring.pm
+++ b/tta/perl/Texinfo/Structuring.pm
@@ -133,8 +133,8 @@ sub sectioning_structure($)
   my $registrar = $document->registrar();
 
   my $sec_root;
-  my $previous_section;
-  my $previous_toplevel;
+  my $previous_section_structure;
+  my $previous_toplevel_structure;
 
   my $in_appendix = 0;
   # lowest level with a number.  This is the lowest level above 0.
@@ -162,7 +162,8 @@ sub sectioning_structure($)
       $level = 0;
     }
 
-    if ($previous_section) {
+    if ($previous_section_structure) {
+      my $previous_section = $previous_section_structure->{'element'};
       my $prev_section_level = $previous_section->{'extra'}->{'section_level'};
       if ($prev_section_level < $level) {
         # new command is below
@@ -175,8 +176,8 @@ sub sectioning_structure($)
         }
         $previous_section->{'extra'}->{'section_childs'} = [$content];
 
-        $content->{'extra'}->{'section_directions'} = {};
-        $content->{'extra'}->{'section_directions'}->{'up'} = 
$previous_section;
+        $section_structure->{'section_directions'} = {};
+        $section_structure->{'section_directions'}->{'up'} = $previous_section;
 
         # if the up is unnumbered, the number information has to be kept,
         # to avoid reusing an already used number.
@@ -194,10 +195,16 @@ sub sectioning_structure($)
         my $new_upper_part_element;
         # try to find the up in the sectioning hierarchy
         my $up = $previous_section;
-        while ($up->{'extra'}->{'section_directions'}
-               and $up->{'extra'}->{'section_directions'}->{'up'}
+        my $up_structure = $previous_section_structure;
+        my $up_section_directions = $up_structure->{'section_directions'};
+
+        while ($up_section_directions
+               and $up_section_directions->{'up'}
                and $up->{'extra'}->{'section_level'} >= $level) {
-          $up = $up->{'extra'}->{'section_directions'}->{'up'};
+          $up = $up_section_directions->{'up'};
+          $up_structure
+          = $sections_list->[$up->{'extra'}->{'section_number'} -1];
+          $up_section_directions = $up_structure->{'section_directions'};
         }
         # no up found.  The element is below the sectioning root
         if ($level <= $up->{'extra'}->{'section_level'}) {
@@ -240,15 +247,17 @@ sub sectioning_structure($)
           $number_top_level = $level;
           $number_top_level = 1 if (!$number_top_level);
         } else {
-          $content->{'extra'}->{'section_directions'} = {};
+          $section_structure->{'section_directions'} = {};
           # do not set sec_root as up, but always put in section_childs.
-          $content->{'extra'}->{'section_directions'}->{'up'} = $up
+          $section_structure->{'section_directions'}->{'up'} = $up
             if ($up ne $sec_root);
           my $prev = $up->{'extra'}->{'section_childs'}->[-1];
-          $content->{'extra'}->{'section_directions'}->{'prev'} = $prev;
-          $prev->{'extra'}->{'section_directions'} = {}
-              if (!$prev->{'extra'}->{'section_directions'});
-          $prev->{'extra'}->{'section_directions'}->{'next'} = $content;
+          $section_structure->{'section_directions'}->{'prev'} = $prev;
+          my $prev_structure
+           = $sections_list->[$prev->{'extra'}->{'section_number'} -1];
+          $prev_structure->{'section_directions'} = {}
+              if (!$prev_structure->{'section_directions'});
+          $prev_structure->{'section_directions'}->{'next'} = $content;
           push @{$up->{'extra'}->{'section_childs'}}, $content;
         }
         if (!$unnumbered_commands{$content->{'cmdname'}}) {
@@ -314,21 +323,25 @@ sub sectioning_structure($)
         }
       }
     }
-    $previous_section = $content;
+
+    $previous_section_structure = $section_structure;
+
     if ($content->{'cmdname'} ne 'part' and $level <= $number_top_level) {
-      if ($previous_toplevel or ($section_top and $content ne $section_top)) {
-        $content->{'extra'}->{'toplevel_directions'} = {};
-        if ($previous_toplevel) {
-          $previous_toplevel->{'extra'}->{'toplevel_directions'} = {}
-             if (!$previous_toplevel->{'extra'}->{'toplevel_directions'});
-          $previous_toplevel->{'extra'}->{'toplevel_directions'}->{'next'} = 
$content;
-          $content->{'extra'}->{'toplevel_directions'}->{'prev'} = 
$previous_toplevel;
+      if ($previous_toplevel_structure
+          or ($section_top and $content ne $section_top)) {
+        $section_structure->{'toplevel_directions'} = {};
+        if ($previous_toplevel_structure) {
+          $previous_toplevel_structure->{'toplevel_directions'} = {}
+             if (!$previous_toplevel_structure->{'toplevel_directions'});
+          $previous_toplevel_structure->{'toplevel_directions'}->{'next'} = 
$content;
+          $section_structure->{'toplevel_directions'}->{'prev'}
+            = $previous_toplevel_structure->{'element'};
         }
         if ($section_top and $content ne $section_top) {
-          $content->{'extra'}->{'toplevel_directions'}->{'up'} = $section_top;
+          $section_structure->{'toplevel_directions'}->{'up'} = $section_top;
         }
       }
-      $previous_toplevel = $content;
+      $previous_toplevel_structure = $section_structure;
     } elsif ($content->{'cmdname'} eq 'part'
              and not $section_structure->{'part_associated_section'}) {
 
@@ -367,6 +380,7 @@ sub _print_root_command($)
   return undef;
 }
 
+my @node_directions_names = ('next', 'prev', 'up');
 # used in t/*.t tests
 sub print_sections_list($)
 {
@@ -394,6 +408,24 @@ sub print_sections_list($)
           ._print_root_command($section_structure->{$node_key})."\n";
       }
     }
+    foreach my $directions_key (('section_directions', 'toplevel_directions')) 
{
+      if ($section_structure->{$directions_key}) {
+        my $value = $section_structure->{$directions_key};
+        $result .= " $directions_key:\n";
+        foreach my $d_key (@node_directions_names) {
+          if ($value->{$d_key}) {
+            my $e = $value->{$d_key};
+            my $direction_texi = _print_root_command($e);
+            if (defined($direction_texi)) {
+              $result .= "  ${d_key}->$direction_texi\n";
+            } else {
+              # happens with empty sections
+              $result .= "  ${d_key}->\n";
+            }
+          }
+        }
+      }
+    }
     $idx++;
   }
 
@@ -457,7 +489,6 @@ sub warn_non_empty_parts($)
   }
 }
 
-my @node_directions_names = ('next', 'prev', 'up');
 # No translation of those special Info keywords.
 my %direction_texts = (
  'prev' => 'Prev',
@@ -557,9 +588,13 @@ sub get_node_node_childs_from_sectioning($$)
     # @top.
     if ($associated_section->{'cmdname'} eq 'top') {
       my $current = $associated_section;
-      while ($current->{'extra'}->{'section_directions'}
-             and $current->{'extra'}->{'section_directions'}->{'next'}) {
-        $current = $current->{'extra'}->{'section_directions'}->{'next'};
+      my $current_structure
+        = $sections_list->[$current->{'extra'}->{'section_number'} -1];
+      while ($current_structure->{'section_directions'}
+             and $current_structure->{'section_directions'}->{'next'}) {
+        $current = $current_structure->{'section_directions'}->{'next'};
+        $current_structure
+          = $sections_list->[$current->{'extra'}->{'section_number'} -1];
         if ($current->{'cmdname'} and $current->{'cmdname'} eq 'part') {
           if ($current->{'extra'}->{'section_childs'}) {
             foreach my $child (@{$current->{'extra'}->{'section_childs'}}) {
@@ -571,8 +606,6 @@ sub get_node_node_childs_from_sectioning($$)
             }
           }
         } else {
-          my $current_structure
-            = $sections_list->[$current->{'extra'}->{'section_number'} -1];
           if ($current_structure->{'associated_node'}) {
             # for @appendix, and what follows, as it stops a @part, but is
             # not below @top
@@ -810,19 +843,19 @@ sub set_menus_node_directions($)
 sub _section_direction_associated_node($$$)
 {
   my $sections_list = shift;
-  my $section = shift;
+  my $section_structure = shift;
   my $direction = shift;
 
   foreach my $direction_base ('section', 'toplevel') {
-    if ($section->{'extra'}->{$direction_base.'_directions'}
-        and $section->{'extra'}->{$direction_base.'_directions'}->{$direction}
-        and 
$section->{'extra'}->{$direction_base.'_directions'}->{$direction}->{'extra'}
+    if ($section_structure->{$direction_base.'_directions'}
+        and $section_structure->{$direction_base.'_directions'}->{$direction}
+        and 
$section_structure->{$direction_base.'_directions'}->{$direction}->{'extra'}
         and ($direction_base ne 'toplevel'
              or $direction eq 'up'
-             or 
$section->{'extra'}->{$direction_base.'_directions'}->{$direction}
+             or 
$section_structure->{$direction_base.'_directions'}->{$direction}
                                                          ->{'cmdname'} ne 
'top')) {
       my $direction_element
-        = $section->{'extra'}->{$direction_base.'_directions'}->{$direction};
+        = $section_structure->{$direction_base.'_directions'}->{$direction};
       my $direction_structure
         = $sections_list->[$direction_element->{'extra'}->{'section_number'} 
-1];
        if ($direction_structure->{'associated_node'}) {
@@ -889,19 +922,23 @@ sub complete_node_tree_with_menus($)
             my $section_structure
               = $sections_list->[$section->{'extra'}->{'section_number'} -1];
             # Check consistency with section and menu structure
-            my $direction_section = $section;
+            my $direction_structure = $section_structure;
 
             # Prefer the section associated with a @part for node directions.
             if ($section_structure->{'part_associated_section'}) {
-              $direction_section
+              my $direction_section
                 = $section_structure->{'part_associated_section'};
+              $direction_structure
+                = $sections_list->[$direction_section
+                                     ->{'extra'}->{'section_number'} -1];
             }
             my $direction_associated_node
               = _section_direction_associated_node($sections_list,
-                                                   $direction_section, 
$direction);
+                                                   $direction_structure,
+                                                   $direction);
             if ($direction_associated_node) {
               my $section_directions
-                 = $direction_section->{'extra'}->{'section_directions'};
+                = $direction_structure->{'section_directions'};
 
               my $menus;
               if ($section_directions
@@ -1098,14 +1135,21 @@ sub construct_nodes_tree($)
             my $section_structure
               = $sections_list->[$section->{'extra'}->{'section_number'} -1];
 
+            my $direction_structure = $section_structure;
+
             # Prefer the section associated with a @part for node directions.
             if ($section_structure->{'part_associated_section'}) {
-              $section = $section_structure->{'part_associated_section'};
+              my $direction_section
+                = $section_structure->{'part_associated_section'};
+              $direction_structure
+                = $sections_list->[$direction_section
+                                     ->{'extra'}->{'section_number'} -1];
             }
 
             my $direction_associated_node
               = _section_direction_associated_node($sections_list,
-                                                   $section, $direction);
+                                                   $direction_structure,
+                                                   $direction);
             if ($direction_associated_node) {
               $node_structure->{'node_directions'} = {}
                  if (!$node_structure->{'node_directions'});
@@ -1417,6 +1461,7 @@ sub number_floats($)
   my $document = shift;
 
   my $floats = $document->floats_information();
+  my $sections_list = $document->sections_list();
 
   return if (!defined($floats));
 
@@ -1432,13 +1477,18 @@ sub number_floats($)
       my $number;
       if (defined($float_section)) {
         my $up = $float_section;
-        while ($up->{'extra'}->{'section_directions'}
-               and $up->{'extra'}->{'section_directions'}->{'up'}
-               and defined($up->{'extra'}->{'section_directions'}->{'up'}
-                                                                 ->{'cmdname'})
+        my $up_structure
+          = $sections_list->[$up->{'extra'}->{'section_number'} -1];
+        my $up_section_directions = $up_structure->{'section_directions'};
+        while ($up_section_directions
+               and $up_section_directions->{'up'}
+               and defined($up_section_directions->{'up'}->{'cmdname'})
                and $command_structuring_level{
-                 $up->{'extra'}->{'section_directions'}->{'up'}->{'cmdname'}}) 
{
-          $up = $up->{'extra'}->{'section_directions'}->{'up'};
+                 $up_section_directions->{'up'}->{'cmdname'}}) {
+          $up = $up_section_directions->{'up'};
+          $up_structure
+            = $sections_list->[$up->{'extra'}->{'section_number'} -1];
+          $up_section_directions = $up_structure->{'section_directions'};
         }
         if (!defined($current_chapter) or $current_chapter ne $up) {
           $nr_in_chapter = 0;
diff --git a/tta/perl/init/book.pm b/tta/perl/init/book.pm
index 043c7862e3..993f64474a 100644
--- a/tta/perl/init/book.pm
+++ b/tta/perl/init/book.pm
@@ -115,18 +115,26 @@ sub book_print_up_toc($$)
   my $converter = shift;
   my $command = shift;
 
+  my $document = $converter->get_info('document');
+  my $sections_list = $document->sections_list();
+
   my $result = '';
   my $current_command = $command;
+  my $current_structure
+    = $sections_list->[$current_command->{'extra'}->{'section_number'} -1];
+
   my @up_commands;
-  while ($current_command->{'extra'}->{'section_directions'}
-         and 
defined($current_command->{'extra'}->{'section_directions'}->{'up'})
-         and ($current_command->{'extra'}->{'section_directions'}->{'up'}
+  while ($current_structure->{'section_directions'}
+         and defined($current_structure->{'section_directions'}->{'up'})
+         and ($current_structure->{'section_directions'}->{'up'}
                                                            ne $current_command)
-         and 
defined($current_command->{'extra'}->{'section_directions'}->{'up'}
+         and defined($current_structure->{'section_directions'}->{'up'}
                                                                 
->{'cmdname'})) {
     unshift (@up_commands,
-                $current_command->{'extra'}->{'section_directions'}->{'up'});
-    $current_command = 
$current_command->{'extra'}->{'section_directions'}->{'up'};
+             $current_structure->{'section_directions'}->{'up'});
+    $current_command = $current_structure->{'section_directions'}->{'up'};
+    $current_structure
+      = $sections_list->[$current_command->{'extra'}->{'section_number'} -1];
   }
   # this happens for example for top tree unit
   return '' if !(@up_commands);
@@ -185,6 +193,11 @@ sub book_print_sub_toc($$$)
   my $parent_command = shift;
   my $command = shift;
 
+  my $document = $converter->get_info('document');
+  my $sections_list = $document->sections_list();
+
+  my $section_structure
+    = $sections_list->[$command->{'extra'}->{'section_number'} -1];
   my $result = '';
   my $content_href = $converter->command_href($command);
   my $heading = $converter->command_text($command);
@@ -198,10 +211,10 @@ sub book_print_sub_toc($$$)
                                 $command->{'extra'}->{'section_childs'}->[0])
      ."</ul></li>\n";
   }
-  if ($command->{'extra'}->{'section_directions'}
-      and exists($command->{'extra'}->{'section_directions'}->{'next'})) {
+  if ($section_structure->{'section_directions'}
+      and exists($section_structure->{'section_directions'}->{'next'})) {
     $result .= book_print_sub_toc($converter, $parent_command,
-                  $command->{'extra'}->{'section_directions'}->{'next'});
+                  $section_structure->{'section_directions'}->{'next'});
   }
   return $result;
 }
diff --git a/tta/perl/t/results/alias/alias_of_added_index.pl 
b/tta/perl/t/results/alias/alias_of_added_index.pl
index 2f21b56988..f2edbf3a6c 100644
--- a/tta/perl/t/results/alias/alias_of_added_index.pl
+++ b/tta/perl/t/results/alias/alias_of_added_index.pl
@@ -58,7 +58,6 @@ $result_tree_text{'alias_of_added_index'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -101,11 +100,9 @@ $result_tree_text{'alias_of_added_index'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -183,9 +180,16 @@ $result_nodes_list{'alias_of_added_index'} = '1|Top
 $result_sections_list{'alias_of_added_index'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'alias_of_added_index'} = '';
diff --git 
a/tta/perl/t/results/alias/alias_of_added_index_before_added_index.pl 
b/tta/perl/t/results/alias/alias_of_added_index_before_added_index.pl
index f7b53cf0df..78ee87e9ad 100644
--- a/tta/perl/t/results/alias/alias_of_added_index_before_added_index.pl
+++ b/tta/perl/t/results/alias/alias_of_added_index_before_added_index.pl
@@ -58,7 +58,6 @@ $result_tree_text{'alias_of_added_index_before_added_index'} 
= '*document_root C
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -101,11 +100,9 @@ 
$result_tree_text{'alias_of_added_index_before_added_index'} = '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -183,9 +180,16 @@ 
$result_nodes_list{'alias_of_added_index_before_added_index'} = '1|Top
 $result_sections_list{'alias_of_added_index_before_added_index'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'alias_of_added_index_before_added_index'} = '';
diff --git a/tta/perl/t/results/converters_tests/at_commands_in_raw.pl 
b/tta/perl/t/results/converters_tests/at_commands_in_raw.pl
index a5b6228c52..03e7239a32 100644
--- a/tta/perl/t/results/converters_tests/at_commands_in_raw.pl
+++ b/tta/perl/t/results/converters_tests/at_commands_in_raw.pl
@@ -34,7 +34,6 @@ $result_tree_text{'at_commands_in_raw'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -81,11 +80,9 @@ $result_tree_text{'at_commands_in_raw'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -570,9 +567,16 @@ $result_nodes_list{'at_commands_in_raw'} = '1|Top
 $result_sections_list{'at_commands_in_raw'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'at_commands_in_raw'} = '';
diff --git a/tta/perl/t/results/converters_tests/combined_fonts.pl 
b/tta/perl/t/results/converters_tests/combined_fonts.pl
index 3fa9cc61dd..b799c1d493 100644
--- a/tta/perl/t/results/converters_tests/combined_fonts.pl
+++ b/tta/perl/t/results/converters_tests/combined_fonts.pl
@@ -47,7 +47,6 @@ $result_tree_text{'combined_fonts'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -74,11 +73,9 @@ $result_tree_text{'combined_fonts'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -362,9 +359,16 @@ $result_nodes_list{'combined_fonts'} = '1|Top
 $result_sections_list{'combined_fonts'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'combined_fonts'} = '';
diff --git a/tta/perl/t/results/converters_tests/commands_in_sc.pl 
b/tta/perl/t/results/converters_tests/commands_in_sc.pl
index f92c8dfbd5..63a73ed716 100644
--- a/tta/perl/t/results/converters_tests/commands_in_sc.pl
+++ b/tta/perl/t/results/converters_tests/commands_in_sc.pl
@@ -34,7 +34,6 @@ $result_tree_text{'commands_in_sc'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'commands_in_sc'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -251,9 +248,16 @@ $result_nodes_list{'commands_in_sc'} = '1|Top
 $result_sections_list{'commands_in_sc'} = '1|commands in sc
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->commands in sc
+ toplevel_directions:
+  prev->commands in sc
+  up->commands in sc
 ';
 
 $result_headings_list{'commands_in_sc'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/commands_in_settitle_with_title.pl 
b/tta/perl/t/results/converters_tests/commands_in_settitle_with_title.pl
index 53a9304a61..c327ec15b9 100644
--- a/tta/perl/t/results/converters_tests/commands_in_settitle_with_title.pl
+++ b/tta/perl/t/results/converters_tests/commands_in_settitle_with_title.pl
@@ -83,7 +83,6 @@ $result_tree_text{'commands_in_settitle_with_title'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,11 +109,9 @@ $result_tree_text{'commands_in_settitle_with_title'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,9 +168,16 @@ $result_nodes_list{'commands_in_settitle_with_title'} = 
'1|Top
 $result_sections_list{'commands_in_settitle_with_title'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'commands_in_settitle_with_title'} = '';
diff --git a/tta/perl/t/results/converters_tests/commands_in_var.pl 
b/tta/perl/t/results/converters_tests/commands_in_var.pl
index 4b02a272ba..612207ab59 100644
--- a/tta/perl/t/results/converters_tests/commands_in_var.pl
+++ b/tta/perl/t/results/converters_tests/commands_in_var.pl
@@ -34,7 +34,6 @@ $result_tree_text{'commands_in_var'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'commands_in_var'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -251,9 +248,16 @@ $result_nodes_list{'commands_in_var'} = '1|Top
 $result_sections_list{'commands_in_var'} = '1|commands in var
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->commands in var
+ toplevel_directions:
+  prev->commands in var
+  up->commands in var
 ';
 
 $result_headings_list{'commands_in_var'} = '';
diff --git a/tta/perl/t/results/converters_tests/complex_nestings.pl 
b/tta/perl/t/results/converters_tests/complex_nestings.pl
index 3669f285b9..dc5ac7b35c 100644
--- a/tta/perl/t/results/converters_tests/complex_nestings.pl
+++ b/tta/perl/t/results/converters_tests/complex_nestings.pl
@@ -34,7 +34,6 @@ $result_tree_text{'complex_nestings'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'complex_nestings'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -448,9 +445,16 @@ $result_nodes_list{'complex_nestings'} = '1|Top
 $result_sections_list{'complex_nestings'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'complex_nestings'} = '';
diff --git a/tta/perl/t/results/converters_tests/contents_at_document_begin.pl 
b/tta/perl/t/results/converters_tests/contents_at_document_begin.pl
index a1ae6bae69..8f0ce863b3 100644
--- a/tta/perl/t/results/converters_tests/contents_at_document_begin.pl
+++ b/tta/perl/t/results/converters_tests/contents_at_document_begin.pl
@@ -43,7 +43,6 @@ $result_tree_text{'contents_at_document_begin'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,11 +101,9 @@ $result_tree_text{'contents_at_document_begin'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -182,9 +179,16 @@ $result_nodes_list{'contents_at_document_begin'} = '1|Top
 $result_sections_list{'contents_at_document_begin'} = '1|Contents at beginning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents at beginning
+ toplevel_directions:
+  prev->Contents at beginning
+  up->Contents at beginning
 ';
 
 $result_headings_list{'contents_at_document_begin'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/contents_at_document_begin_inline.pl 
b/tta/perl/t/results/converters_tests/contents_at_document_begin_inline.pl
index ddb9979369..aa814d023f 100644
--- a/tta/perl/t/results/converters_tests/contents_at_document_begin_inline.pl
+++ b/tta/perl/t/results/converters_tests/contents_at_document_begin_inline.pl
@@ -43,7 +43,6 @@ $result_tree_text{'contents_at_document_begin_inline'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,11 +101,9 @@ $result_tree_text{'contents_at_document_begin_inline'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -182,9 +179,16 @@ $result_nodes_list{'contents_at_document_begin_inline'} = 
'1|Top
 $result_sections_list{'contents_at_document_begin_inline'} = '1|Contents at 
beginning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents at beginning
+ toplevel_directions:
+  prev->Contents at beginning
+  up->Contents at beginning
 ';
 
 $result_headings_list{'contents_at_document_begin_inline'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/contents_at_document_begin_separate_element.pl
 
b/tta/perl/t/results/converters_tests/contents_at_document_begin_separate_element.pl
index b794de235c..a6910c4c8c 100644
--- 
a/tta/perl/t/results/converters_tests/contents_at_document_begin_separate_element.pl
+++ 
b/tta/perl/t/results/converters_tests/contents_at_document_begin_separate_element.pl
@@ -43,7 +43,6 @@ 
$result_tree_text{'contents_at_document_begin_separate_element'} = '*document_ro
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,11 +101,9 @@ 
$result_tree_text{'contents_at_document_begin_separate_element'} = '*document_ro
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -182,9 +179,16 @@ 
$result_nodes_list{'contents_at_document_begin_separate_element'} = '1|Top
 $result_sections_list{'contents_at_document_begin_separate_element'} = 
'1|Contents at beginning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents at beginning
+ toplevel_directions:
+  prev->Contents at beginning
+  up->Contents at beginning
 ';
 
 $result_headings_list{'contents_at_document_begin_separate_element'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/conversion_with_undef_customization.pl 
b/tta/perl/t/results/converters_tests/conversion_with_undef_customization.pl
index fa27bca561..ae3b187610 100644
--- a/tta/perl/t/results/converters_tests/conversion_with_undef_customization.pl
+++ b/tta/perl/t/results/converters_tests/conversion_with_undef_customization.pl
@@ -35,7 +35,6 @@ $result_tree_text{'conversion_with_undef_customization'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -75,11 +74,9 @@ $result_tree_text{'conversion_with_undef_customization'} = 
'*document_root C7
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -137,7 +134,6 @@ $result_tree_text{'conversion_with_undef_customization'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -285,12 +281,21 @@ $result_nodes_list{'conversion_with_undef_customization'} 
= '1|Top
 $result_sections_list{'conversion_with_undef_customization'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap@^e
 2|Chap@^e
  associated_anchor_command: chap@^e
  associated_node: chap@^e
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|Section
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  up->Chap@^e
 ';
 
 $result_headings_list{'conversion_with_undef_customization'} = '';
diff --git a/tta/perl/t/results/converters_tests/definition_commands.pl 
b/tta/perl/t/results/converters_tests/definition_commands.pl
index 4d9d796dd6..cb0e0f3176 100644
--- a/tta/perl/t/results/converters_tests/definition_commands.pl
+++ b/tta/perl/t/results/converters_tests/definition_commands.pl
@@ -35,7 +35,6 @@ $result_tree_text{'definition_commands'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'definition_commands'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -5222,9 +5219,16 @@ $result_nodes_list{'definition_commands'} = '1|Top
 $result_sections_list{'definition_commands'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'definition_commands'} = '';
diff --git a/tta/perl/t/results/converters_tests/empty_xrefname.pl 
b/tta/perl/t/results/converters_tests/empty_xrefname.pl
index 64b6b77105..db14c0e16c 100644
--- a/tta/perl/t/results/converters_tests/empty_xrefname.pl
+++ b/tta/perl/t/results/converters_tests/empty_xrefname.pl
@@ -34,7 +34,6 @@ $result_tree_text{'empty_xrefname'} = '*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'empty_xrefname'} = '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -157,11 +154,9 @@ $result_tree_text{'empty_xrefname'} = '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -300,12 +295,27 @@ $result_nodes_list{'empty_xrefname'} = '1|Top
 $result_sections_list{'empty_xrefname'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: Chap
  associated_node: Chap
+ section_directions:
+  next->Chip
+  up->top
+ toplevel_directions:
+  next->Chip
+  prev->top
+  up->top
 3|Chip
  associated_anchor_command: chip
  associated_node: chip
+ section_directions:
+  prev->Chapter
+  up->top
+ toplevel_directions:
+  prev->Chapter
+  up->top
 ';
 
 $result_headings_list{'empty_xrefname'} = '1
diff --git a/tta/perl/t/results/converters_tests/extension_undef.pl 
b/tta/perl/t/results/converters_tests/extension_undef.pl
index 03c08159b2..bc4a1019fd 100644
--- a/tta/perl/t/results/converters_tests/extension_undef.pl
+++ b/tta/perl/t/results/converters_tests/extension_undef.pl
@@ -23,7 +23,6 @@ $result_tree_text{'extension_undef'} = '*document_root C4
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -50,11 +49,9 @@ $result_tree_text{'extension_undef'} = '*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -89,9 +86,16 @@ $result_nodes_list{'extension_undef'} = '1|chapter
 ';
 
 $result_sections_list{'extension_undef'} = '1|top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'extension_undef'} = '';
diff --git a/tta/perl/t/results/converters_tests/footnote_no_number.pl 
b/tta/perl/t/results/converters_tests/footnote_no_number.pl
index 0edf05c27c..62c909f148 100644
--- a/tta/perl/t/results/converters_tests/footnote_no_number.pl
+++ b/tta/perl/t/results/converters_tests/footnote_no_number.pl
@@ -34,7 +34,6 @@ $result_tree_text{'footnote_no_number'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'footnote_no_number'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,9 +134,16 @@ $result_nodes_list{'footnote_no_number'} = '1|Top
 $result_sections_list{'footnote_no_number'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'footnote_no_number'} = '';
diff --git a/tta/perl/t/results/converters_tests/footnote_no_number_separate.pl 
b/tta/perl/t/results/converters_tests/footnote_no_number_separate.pl
index 89d7032dc5..cca3e9e5a0 100644
--- a/tta/perl/t/results/converters_tests/footnote_no_number_separate.pl
+++ b/tta/perl/t/results/converters_tests/footnote_no_number_separate.pl
@@ -34,7 +34,6 @@ $result_tree_text{'footnote_no_number_separate'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'footnote_no_number_separate'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,9 +134,16 @@ $result_nodes_list{'footnote_no_number_separate'} = '1|Top
 $result_sections_list{'footnote_no_number_separate'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'footnote_no_number_separate'} = '';
diff --git a/tta/perl/t/results/converters_tests/frenchspacing_and_code.pl 
b/tta/perl/t/results/converters_tests/frenchspacing_and_code.pl
index 91993d52a4..74af6e5e73 100644
--- a/tta/perl/t/results/converters_tests/frenchspacing_and_code.pl
+++ b/tta/perl/t/results/converters_tests/frenchspacing_and_code.pl
@@ -48,7 +48,6 @@ $result_tree_text{'frenchspacing_and_code'} = '*document_root 
C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -75,11 +74,9 @@ $result_tree_text{'frenchspacing_and_code'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -315,11 +312,9 @@ $result_tree_text{'frenchspacing_and_code'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -635,12 +630,27 @@ $result_nodes_list{'frenchspacing_and_code'} = '1|Top
 $result_sections_list{'frenchspacing_and_code'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap frenchspacing
 2|Chap frenchspacing
  associated_anchor_command: chapter frenchspacing
  associated_node: chapter frenchspacing
+ section_directions:
+  next->Chap no
+  up->top
+ toplevel_directions:
+  next->Chap no
+  prev->top
+  up->top
 3|Chap no
  associated_anchor_command: chap no
  associated_node: chap no
+ section_directions:
+  prev->Chap frenchspacing
+  up->top
+ toplevel_directions:
+  prev->Chap frenchspacing
+  up->top
 ';
 
 $result_headings_list{'frenchspacing_and_code'} = '';
diff --git a/tta/perl/t/results/converters_tests/image_formatting.pl 
b/tta/perl/t/results/converters_tests/image_formatting.pl
index 56f7f59c65..cf7600507c 100644
--- a/tta/perl/t/results/converters_tests/image_formatting.pl
+++ b/tta/perl/t/results/converters_tests/image_formatting.pl
@@ -34,7 +34,6 @@ $result_tree_text{'image_formatting'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'image_formatting'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -592,9 +589,16 @@ $result_nodes_list{'image_formatting'} = '1|Top
 $result_sections_list{'image_formatting'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'image_formatting'} = '';
diff --git a/tta/perl/t/results/converters_tests/index_entry_in_preformatted.pl 
b/tta/perl/t/results/converters_tests/index_entry_in_preformatted.pl
index d45199585b..cfc654b3c2 100644
--- a/tta/perl/t/results/converters_tests/index_entry_in_preformatted.pl
+++ b/tta/perl/t/results/converters_tests/index_entry_in_preformatted.pl
@@ -34,7 +34,6 @@ $result_tree_text{'index_entry_in_preformatted'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'index_entry_in_preformatted'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -186,9 +183,16 @@ $result_nodes_list{'index_entry_in_preformatted'} = '1|Top
 $result_sections_list{'index_entry_in_preformatted'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'index_entry_in_preformatted'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/indices_in_begin_tables_lists.pl 
b/tta/perl/t/results/converters_tests/indices_in_begin_tables_lists.pl
index 046d853044..7f14532b0f 100644
--- a/tta/perl/t/results/converters_tests/indices_in_begin_tables_lists.pl
+++ b/tta/perl/t/results/converters_tests/indices_in_begin_tables_lists.pl
@@ -38,7 +38,6 @@ $result_tree_text{'indices_in_begin_tables_lists'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ $result_tree_text{'indices_in_begin_tables_lists'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1128,11 +1125,9 @@ $result_tree_text{'indices_in_begin_tables_lists'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1461,12 +1456,27 @@ $result_nodes_list{'indices_in_begin_tables_lists'} = 
'1|Top
 $result_sections_list{'indices_in_begin_tables_lists'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->printindex
+  up->top
+ toplevel_directions:
+  next->printindex
+  prev->top
+  up->top
 3|printindex
  associated_anchor_command: printindex
  associated_node: printindex
+ section_directions:
+  prev->chap
+  up->top
+ toplevel_directions:
+  prev->chap
+  up->top
 ';
 
 $result_headings_list{'indices_in_begin_tables_lists'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/indices_in_begin_tables_lists_entries_after_item.pl
 
b/tta/perl/t/results/converters_tests/indices_in_begin_tables_lists_entries_after_item.pl
index a149243256..16e0c6f844 100644
--- 
a/tta/perl/t/results/converters_tests/indices_in_begin_tables_lists_entries_after_item.pl
+++ 
b/tta/perl/t/results/converters_tests/indices_in_begin_tables_lists_entries_after_item.pl
@@ -38,7 +38,6 @@ 
$result_tree_text{'indices_in_begin_tables_lists_entries_after_item'} = '*docume
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ 
$result_tree_text{'indices_in_begin_tables_lists_entries_after_item'} = '*docume
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1128,11 +1125,9 @@ 
$result_tree_text{'indices_in_begin_tables_lists_entries_after_item'} = '*docume
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1467,12 +1462,27 @@ 
$result_nodes_list{'indices_in_begin_tables_lists_entries_after_item'} = '1|Top
 $result_sections_list{'indices_in_begin_tables_lists_entries_after_item'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->printindex
+  up->top
+ toplevel_directions:
+  next->printindex
+  prev->top
+  up->top
 3|printindex
  associated_anchor_command: printindex
  associated_node: printindex
+ section_directions:
+  prev->chap
+  up->top
+ toplevel_directions:
+  prev->chap
+  up->top
 ';
 
 $result_headings_list{'indices_in_begin_tables_lists_entries_after_item'} = '';
diff --git a/tta/perl/t/results/converters_tests/namedanchor.pl 
b/tta/perl/t/results/converters_tests/namedanchor.pl
index 9392fe1f0f..87fa1fe6af 100644
--- a/tta/perl/t/results/converters_tests/namedanchor.pl
+++ b/tta/perl/t/results/converters_tests/namedanchor.pl
@@ -34,7 +34,6 @@ $result_tree_text{'namedanchor'} = '*document_root C11
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -77,11 +76,9 @@ $result_tree_text{'namedanchor'} = '*document_root C11
   |{ }
  |EXTRA
  |section_childs:EC[E11]
- |section_directions:D[next->E13|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E13|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C4
    |INFO
@@ -162,7 +159,6 @@ $result_tree_text{'namedanchor'} = '*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -387,11 +383,9 @@ $result_tree_text{'namedanchor'} = '*document_root C11
   |{ }
  |EXTRA
  |section_childs:EC[E16]
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -502,7 +496,6 @@ $result_tree_text{'namedanchor'} = '*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E13]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{5}
@@ -693,18 +686,37 @@ $result_nodes_list{'namedanchor'} = '1|Top
 $result_sections_list{'namedanchor'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter @namedanchor{Not here!, There} after
 2|chapter @namedanchor{Not here!, There} after
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->chap1
+  up->top
+ toplevel_directions:
+  next->chap1
+  prev->top
+  up->top
 3|secc1
  associated_anchor_command: secc1
  associated_node: secc1
+ section_directions:
+  up->chapter @namedanchor{Not here!, There} after
 4|chap1
  associated_anchor_command: chap1
  associated_node: chap1
+ section_directions:
+  prev->chapter @namedanchor{Not here!, There} after
+  up->top
+ toplevel_directions:
+  prev->chapter @namedanchor{Not here!, There} after
+  up->top
 5|Secc2
  associated_anchor_command: secc2
  associated_node: secc2
+ section_directions:
+  up->chap1
 ';
 
 $result_headings_list{'namedanchor'} = '';
diff --git a/tta/perl/t/results/converters_tests/non_empty_part.pl 
b/tta/perl/t/results/converters_tests/non_empty_part.pl
index 653610d26f..f28216f14f 100644
--- a/tta/perl/t/results/converters_tests/non_empty_part.pl
+++ b/tta/perl/t/results/converters_tests/non_empty_part.pl
@@ -13,7 +13,6 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
   |{ }
  |EXTRA
  |global_command_number:{1}
- |section_directions:D[next->E2]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -50,10 +49,8 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|prev->E0]
  |section_level:{0}
  |section_number:{2}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -108,7 +105,6 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
  |EXTRA
  |global_command_number:{2}
  |section_childs:EC[E5]
- |section_directions:D[next->E6|prev->E2]
  |section_level:{0}
  |section_number:{3}
   *arguments_line C1
@@ -126,11 +122,9 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E9|prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -144,7 +138,6 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
   |{ }
  |EXTRA
  |global_command_number:{3}
- |section_directions:D[next->E8|prev->E4]
  |section_level:{0}
  |section_number:{5}
   *arguments_line C1
@@ -178,7 +171,6 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
  |EXTRA
  |global_command_number:{4}
  |section_childs:EC[E9]
- |section_directions:D[next->E10|prev->E6]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -196,11 +188,9 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E8]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E12|prev->E5|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -214,7 +204,6 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
   |{ }
  |EXTRA
  |global_command_number:{5}
- |section_directions:D[next->E11|prev->E8]
  |section_level:{0}
  |section_number:{8}
   *arguments_line C1
@@ -234,7 +223,6 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
  |EXTRA
  |global_command_number:{6}
  |section_childs:EC[E12]
- |section_directions:D[next->E13|prev->E10]
  |section_level:{0}
  |section_number:{9}
   *arguments_line C1
@@ -252,11 +240,9 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E11]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[next->E15|prev->E9|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -271,7 +257,6 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
  |EXTRA
  |global_command_number:{7}
  |section_childs:EC[E15]
- |section_directions:D[prev->E11]
  |section_level:{0}
  |section_number:{11}
   *arguments_line C1
@@ -304,11 +289,9 @@ $result_tree_text{'non_empty_part'} = '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E13]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[prev->E12|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -556,34 +539,81 @@ $result_nodes_list{'non_empty_part'} = '1|Top
 $result_sections_list{'non_empty_part'} = '1|part before
  part_associated_section: top
  part_following_node: Top
+ section_directions:
+  next->top
 2|top
  associated_anchor_command: Top
  associated_node: Top
  associated_part: part before
+ section_directions:
+  next->part I
+  prev->part before
+ toplevel_directions:
+  next->chap in Top node
 3|part I
  part_associated_section: chap in Top node
+ section_directions:
+  next->Part II
+  prev->top
 4|chap in Top node
  associated_part: part I
+ section_directions:
+  up->part I
+ toplevel_directions:
+  next->chapter with part node
+  prev->top
+  up->top
 5|Part II
  part_following_node: part chapter node
+ section_directions:
+  next->part III
+  prev->part I
 6|part III
  part_associated_section: chapter with part node
+ section_directions:
+  next->Part IV
+  prev->Part II
 7|chapter with part node
  associated_anchor_command: part chapter node
  associated_node: part chapter node
  associated_part: part III
+ section_directions:
+  up->part III
+ toplevel_directions:
+  next->with part no node
+  prev->chap in Top node
+  up->top
 8|Part IV
+ section_directions:
+  next->Part V
+  prev->part III
 9|Part V
  part_associated_section: with part no node
+ section_directions:
+  next->Part VI
+  prev->Part IV
 10|with part no node
  associated_part: Part V
+ section_directions:
+  up->Part V
+ toplevel_directions:
+  next->chapter after part node
+  prev->chapter with part node
+  up->top
 11|Part VI
  part_associated_section: chapter after part node
  part_following_node: node between part and chapter
+ section_directions:
+  prev->Part V
 12|chapter after part node
  associated_anchor_command: node between part and chapter
  associated_node: node between part and chapter
  associated_part: Part VI
+ section_directions:
+  up->Part VI
+ toplevel_directions:
+  prev->with part no node
+  up->top
 ';
 
 $result_headings_list{'non_empty_part'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/non_empty_part_no_top_node_output.pl 
b/tta/perl/t/results/converters_tests/non_empty_part_no_top_node_output.pl
index ae023c7419..b84912fbbe 100644
--- a/tta/perl/t/results/converters_tests/non_empty_part_no_top_node_output.pl
+++ b/tta/perl/t/results/converters_tests/non_empty_part_no_top_node_output.pl
@@ -13,7 +13,6 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
   |{ }
  |EXTRA
  |global_command_number:{1}
- |section_directions:D[next->E2]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -50,10 +49,8 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|prev->E0]
  |section_level:{0}
  |section_number:{2}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -108,7 +105,6 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
  |EXTRA
  |global_command_number:{2}
  |section_childs:EC[E5]
- |section_directions:D[next->E6|prev->E2]
  |section_level:{0}
  |section_number:{3}
   *arguments_line C1
@@ -126,11 +122,9 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E9|prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -144,7 +138,6 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
   |{ }
  |EXTRA
  |global_command_number:{3}
- |section_directions:D[next->E8|prev->E4]
  |section_level:{0}
  |section_number:{5}
   *arguments_line C1
@@ -178,7 +171,6 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
  |EXTRA
  |global_command_number:{4}
  |section_childs:EC[E9]
- |section_directions:D[next->E10|prev->E6]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -196,11 +188,9 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E8]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E12|prev->E5|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -214,7 +204,6 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
   |{ }
  |EXTRA
  |global_command_number:{5}
- |section_directions:D[next->E11|prev->E8]
  |section_level:{0}
  |section_number:{8}
   *arguments_line C1
@@ -234,7 +223,6 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
  |EXTRA
  |global_command_number:{6}
  |section_childs:EC[E12]
- |section_directions:D[next->E13|prev->E10]
  |section_level:{0}
  |section_number:{9}
   *arguments_line C1
@@ -252,11 +240,9 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E11]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[next->E15|prev->E9|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -271,7 +257,6 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
  |EXTRA
  |global_command_number:{7}
  |section_childs:EC[E15]
- |section_directions:D[prev->E11]
  |section_level:{0}
  |section_number:{11}
   *arguments_line C1
@@ -304,11 +289,9 @@ $result_tree_text{'non_empty_part_no_top_node_output'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E13]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[prev->E12|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -556,34 +539,81 @@ $result_nodes_list{'non_empty_part_no_top_node_output'} = 
'1|Top
 $result_sections_list{'non_empty_part_no_top_node_output'} = '1|part before
  part_associated_section: top
  part_following_node: Top
+ section_directions:
+  next->top
 2|top
  associated_anchor_command: Top
  associated_node: Top
  associated_part: part before
+ section_directions:
+  next->part I
+  prev->part before
+ toplevel_directions:
+  next->chap in Top node
 3|part I
  part_associated_section: chap in Top node
+ section_directions:
+  next->Part II
+  prev->top
 4|chap in Top node
  associated_part: part I
+ section_directions:
+  up->part I
+ toplevel_directions:
+  next->chapter with part node
+  prev->top
+  up->top
 5|Part II
  part_following_node: part chapter node
+ section_directions:
+  next->part III
+  prev->part I
 6|part III
  part_associated_section: chapter with part node
+ section_directions:
+  next->Part IV
+  prev->Part II
 7|chapter with part node
  associated_anchor_command: part chapter node
  associated_node: part chapter node
  associated_part: part III
+ section_directions:
+  up->part III
+ toplevel_directions:
+  next->with part no node
+  prev->chap in Top node
+  up->top
 8|Part IV
+ section_directions:
+  next->Part V
+  prev->part III
 9|Part V
  part_associated_section: with part no node
+ section_directions:
+  next->Part VI
+  prev->Part IV
 10|with part no node
  associated_part: Part V
+ section_directions:
+  up->Part V
+ toplevel_directions:
+  next->chapter after part node
+  prev->chapter with part node
+  up->top
 11|Part VI
  part_associated_section: chapter after part node
  part_following_node: node between part and chapter
+ section_directions:
+  prev->Part V
 12|chapter after part node
  associated_anchor_command: node between part and chapter
  associated_node: node between part and chapter
  associated_part: Part VI
+ section_directions:
+  up->Part VI
+ toplevel_directions:
+  prev->with part no node
+  up->top
 ';
 
 $result_headings_list{'non_empty_part_no_top_node_output'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/printindex_merged_indices_code_style.pl 
b/tta/perl/t/results/converters_tests/printindex_merged_indices_code_style.pl
index da9e995d65..6b6dbe50c5 100644
--- 
a/tta/perl/t/results/converters_tests/printindex_merged_indices_code_style.pl
+++ 
b/tta/perl/t/results/converters_tests/printindex_merged_indices_code_style.pl
@@ -35,7 +35,6 @@ $result_tree_text{'printindex_merged_indices_code_style'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -63,11 +62,9 @@ $result_tree_text{'printindex_merged_indices_code_style'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -312,9 +309,16 @@ $result_nodes_list{'printindex_merged_indices_code_style'} 
= '1|Top
 $result_sections_list{'printindex_merged_indices_code_style'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'printindex_merged_indices_code_style'} = '';
diff --git a/tta/perl/t/results/converters_tests/ref_in_sectioning.pl 
b/tta/perl/t/results/converters_tests/ref_in_sectioning.pl
index a395243e46..687f4e3c92 100644
--- a/tta/perl/t/results/converters_tests/ref_in_sectioning.pl
+++ b/tta/perl/t/results/converters_tests/ref_in_sectioning.pl
@@ -39,7 +39,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C7
    |INFO
@@ -138,11 +137,9 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root 
C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -188,11 +185,9 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root 
C20
   |{ }
  |EXTRA
  |section_childs:EC[E7|E8|E9|E10|E11|E12|E13|E14|E15|E16|E17|E18|E19]
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -211,7 +206,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|up->E6]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -259,7 +253,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|prev->E7|up->E6]
  |section_heading_number:{2.2}
  |section_level:{2}
  |section_number:{5}
@@ -286,7 +279,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E8|up->E6]
  |section_heading_number:{2.3}
  |section_level:{2}
  |section_number:{6}
@@ -318,7 +310,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E11|prev->E9|up->E6]
  |section_heading_number:{2.4}
  |section_level:{2}
  |section_number:{7}
@@ -348,7 +339,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E10|up->E6]
  |section_heading_number:{2.5}
  |section_level:{2}
  |section_number:{8}
@@ -379,7 +369,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E13|prev->E11|up->E6]
  |section_heading_number:{2.6}
  |section_level:{2}
  |section_number:{9}
@@ -410,7 +399,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E12|up->E6]
  |section_heading_number:{2.7}
  |section_level:{2}
  |section_number:{10}
@@ -438,7 +426,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E15|prev->E13|up->E6]
  |section_heading_number:{2.8}
  |section_level:{2}
  |section_number:{11}
@@ -463,7 +450,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E14|up->E6]
  |section_heading_number:{2.9}
  |section_level:{2}
  |section_number:{12}
@@ -494,7 +480,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E17|prev->E15|up->E6]
  |section_heading_number:{2.10}
  |section_level:{2}
  |section_number:{13}
@@ -530,7 +515,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E18|prev->E16|up->E6]
  |section_heading_number:{2.11}
  |section_level:{2}
  |section_number:{14}
@@ -558,7 +542,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E19|prev->E17|up->E6]
  |section_heading_number:{2.12}
  |section_level:{2}
  |section_number:{15}
@@ -583,7 +566,6 @@ $result_tree_text{'ref_in_sectioning'} = '*document_root C20
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E18|up->E6]
  |section_heading_number:{2.13}
  |section_level:{2}
  |section_number:{16}
@@ -752,25 +734,90 @@ $result_nodes_list{'ref_in_sectioning'} = '1|Top
 $result_sections_list{'ref_in_sectioning'} = '1|for example @ref{node} 
(@pxref{node}) (@pxref{Top,,, file, Manual})
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->@xref{node,,title, file name, Manual}.
 2|@xref{node,,title, file name, Manual}.
  associated_anchor_command: node
  associated_node: node
+ section_directions:
+  next->@ref{node} just node
+  up->for example @ref{node} (@pxref{node}) (@pxref{Top,,, file, Manual})
+ toplevel_directions:
+  next->@ref{node} just node
+  prev->for example @ref{node} (@pxref{node}) (@pxref{Top,,, file, Manual})
+  up->for example @ref{node} (@pxref{node}) (@pxref{Top,,, file, Manual})
 3|@ref{node} just node
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  prev->@xref{node,,title, file name, Manual}.
+  up->for example @ref{node} (@pxref{node}) (@pxref{Top,,, file, Manual})
+ toplevel_directions:
+  prev->@xref{node,,title, file name, Manual}.
+  up->for example @ref{node} (@pxref{node}) (@pxref{Top,,, file, Manual})
 4|for example @ref{node} (@pxref{node}) (@pxref{Top,,, file, Manual})
+ section_directions:
+  next->@ref{node, cross ref name}  node, crossref arg2
+  up->@ref{node} just node
 5|@ref{node, cross ref name}  node, crossref arg2
+ section_directions:
+  next->@ref{@code{node},, @samp{title}}  code node, samptitle arg3
+  prev->for example @ref{node} (@pxref{node}) (@pxref{Top,,, file, Manual})
+  up->@ref{node} just node
 6|@ref{@code{node},, @samp{title}}  code node, samptitle arg3
+ section_directions:
+  next->@ref{@code{node},,, file name} code node, file name
+  prev->@ref{node, cross ref name}  node, crossref arg2
+  up->@ref{node} just node
 7|@ref{@code{node},,, file name} code node, file name
+ section_directions:
+  next->@ref{node,,,, Manual } node and manual
+  prev->@ref{@code{node},, @samp{title}}  code node, samptitle arg3
+  up->@ref{node} just node
 8|@ref{node,,,, Manual } node and manual
+ section_directions:
+  next->@ref{Top,,,, Manual } Top and manual
+  prev->@ref{@code{node},,, file name} code node, file name
+  up->@ref{node} just node
 9|@ref{Top,,,, Manual } Top and manual
+ section_directions:
+  next->@ref{,,,, Manual } no node just manual
+  prev->@ref{node,,,, Manual } node and manual
+  up->@ref{node} just node
 10|@ref{,,,, Manual } no node just manual
+ section_directions:
+  next->@ref{,,, file name} no node just file name
+  prev->@ref{Top,,,, Manual } Top and manual
+  up->@ref{node} just node
 11|@ref{,,, file name} no node just file name
+ section_directions:
+  next->@inforef{a, b, c} inforef a b c
+  prev->@ref{,,,, Manual } no node just manual
+  up->@ref{node} just node
 12|@inforef{a, b, c} inforef a b c
+ section_directions:
+  next->(@pxref{ Top ,,, file name }) pxref Top file name, spaces
+  prev->@ref{,,, file name} no node just file name
+  up->@ref{node} just node
 13|(@pxref{ Top ,,, file name }) pxref Top file name, spaces
+ section_directions:
+  next->(@pxref{,,, file name }) pxref file name only, spaces
+  prev->@inforef{a, b, c} inforef a b c
+  up->@ref{node} just node
 14|(@pxref{,,, file name }) pxref file name only, spaces
+ section_directions:
+  next->@xref{Top,,,filename}, xref Top filename only, no spaces
+  prev->(@pxref{ Top ,,, file name }) pxref Top file name, spaces
+  up->@ref{node} just node
 15|@xref{Top,,,filename}, xref Top filename only, no spaces
+ section_directions:
+  next->@xref{,,,filename}. xref filename only, no spaces
+  prev->(@pxref{,,, file name }) pxref file name only, spaces
+  up->@ref{node} just node
 16|@xref{,,,filename}. xref filename only, no spaces
+ section_directions:
+  prev->@xref{Top,,,filename}, xref Top filename only, no spaces
+  up->@ref{node} just node
 ';
 
 $result_headings_list{'ref_in_sectioning'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/reference_for_formatting_customizations.pl
 
b/tta/perl/t/results/converters_tests/reference_for_formatting_customizations.pl
index 4c72f1e7f0..a0f8f7dd35 100644
--- 
a/tta/perl/t/results/converters_tests/reference_for_formatting_customizations.pl
+++ 
b/tta/perl/t/results/converters_tests/reference_for_formatting_customizations.pl
@@ -35,7 +35,6 @@ $result_tree_text{'reference_for_formatting_customizations'} 
= '*document_root C
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'reference_for_formatting_customizations'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -130,9 +127,16 @@ 
$result_nodes_list{'reference_for_formatting_customizations'} = '1|Top
 $result_sections_list{'reference_for_formatting_customizations'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapt
  associated_node: chapt
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'reference_for_formatting_customizations'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/references_to_top_no_top_output.pl 
b/tta/perl/t/results/converters_tests/references_to_top_no_top_output.pl
index 0975c82a21..0341b115bf 100644
--- a/tta/perl/t/results/converters_tests/references_to_top_no_top_output.pl
+++ b/tta/perl/t/results/converters_tests/references_to_top_no_top_output.pl
@@ -79,7 +79,6 @@ $result_tree_text{'references_to_top_no_top_output'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E10]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -217,11 +216,9 @@ $result_tree_text{'references_to_top_no_top_output'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -471,9 +468,16 @@ $result_nodes_list{'references_to_top_no_top_output'} = 
'1|Top
 $result_sections_list{'references_to_top_no_top_output'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'references_to_top_no_top_output'} = '';
diff --git a/tta/perl/t/results/converters_tests/sections_and_printindex.pl 
b/tta/perl/t/results/converters_tests/sections_and_printindex.pl
index dd9ac8b4b2..6c9e6a6898 100644
--- a/tta/perl/t/results/converters_tests/sections_and_printindex.pl
+++ b/tta/perl/t/results/converters_tests/sections_and_printindex.pl
@@ -34,7 +34,6 @@ $result_tree_text{'sections_and_printindex'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'sections_and_printindex'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -107,7 +104,6 @@ $result_tree_text{'sections_and_printindex'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -136,11 +132,9 @@ $result_tree_text{'sections_and_printindex'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -221,13 +215,30 @@ $result_nodes_list{'sections_and_printindex'} = '1|Top
 $result_sections_list{'sections_and_printindex'} = '1|for example
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: node
  associated_node: node
+ section_directions:
+  next->App
+  up->for example
+ toplevel_directions:
+  next->App
+  prev->for example
+  up->for example
 3|Sec
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  up->chap
 4|App
+ section_directions:
+  prev->chap
+  up->for example
+ toplevel_directions:
+  prev->chap
+  up->for example
 ';
 
 $result_headings_list{'sections_and_printindex'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/some_at_commands_in_ref_nodes.pl 
b/tta/perl/t/results/converters_tests/some_at_commands_in_ref_nodes.pl
index 2ecf3b1460..5d4abce6ea 100644
--- a/tta/perl/t/results/converters_tests/some_at_commands_in_ref_nodes.pl
+++ b/tta/perl/t/results/converters_tests/some_at_commands_in_ref_nodes.pl
@@ -35,7 +35,6 @@ $result_tree_text{'some_at_commands_in_ref_nodes'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,11 +170,9 @@ $result_tree_text{'some_at_commands_in_ref_nodes'} = 
'*document_root C5
  |spaces_before_argument:
   |{  }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C14
    |INFO
@@ -362,9 +359,16 @@ $result_nodes_list{'some_at_commands_in_ref_nodes'} = 
'1|Top
 $result_sections_list{'some_at_commands_in_ref_nodes'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A @sc{sc} node @"i @"{@dotless{i}} @`{@=E} @l{} @,{@\'C} @exclamdown{}
 2|A @sc{sc} node @"i @"{@dotless{i}} @`{@=E} @l{} @,{@\'C} @exclamdown{}
  associated_anchor_command: A @sc{sc @~n @aa{} @TeX{}} node @"i 
@"{@dotless{i}} @`{@=E} @l{} @,{@\'C} @exclamdown{}
  associated_node: A @sc{sc @~n @aa{} @TeX{}} node @"i @"{@dotless{i}} @`{@=E} 
@l{} @,{@\'C} @exclamdown{}
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 ';
 
 $result_headings_list{'some_at_commands_in_ref_nodes'} = '';
diff --git a/tta/perl/t/results/converters_tests/test_deftypefnnewline.pl 
b/tta/perl/t/results/converters_tests/test_deftypefnnewline.pl
index 55eca6f5f9..474c6e612e 100644
--- a/tta/perl/t/results/converters_tests/test_deftypefnnewline.pl
+++ b/tta/perl/t/results/converters_tests/test_deftypefnnewline.pl
@@ -59,7 +59,6 @@ $result_tree_text{'test_deftypefnnewline'} = '*document_root 
C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -86,11 +85,9 @@ $result_tree_text{'test_deftypefnnewline'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1034,9 +1031,16 @@ $result_nodes_list{'test_deftypefnnewline'} = '1|Top
 $result_sections_list{'test_deftypefnnewline'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'test_deftypefnnewline'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/test_formatting_customizations.pl 
b/tta/perl/t/results/converters_tests/test_formatting_customizations.pl
index ddbcd2e838..634c54d91b 100644
--- a/tta/perl/t/results/converters_tests/test_formatting_customizations.pl
+++ b/tta/perl/t/results/converters_tests/test_formatting_customizations.pl
@@ -35,7 +35,6 @@ $result_tree_text{'test_formatting_customizations'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'test_formatting_customizations'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -130,9 +127,16 @@ $result_nodes_list{'test_formatting_customizations'} = 
'1|Top
 $result_sections_list{'test_formatting_customizations'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapt
  associated_node: chapt
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'test_formatting_customizations'} = '';
diff --git a/tta/perl/t/results/converters_tests/things_before_setfilename.pl 
b/tta/perl/t/results/converters_tests/things_before_setfilename.pl
index e4319015ab..23a9f2d39e 100644
--- a/tta/perl/t/results/converters_tests/things_before_setfilename.pl
+++ b/tta/perl/t/results/converters_tests/things_before_setfilename.pl
@@ -262,7 +262,6 @@ $result_tree_text{'things_before_setfilename'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E6]
   ||section_level:{-1}
- |toplevel_directions:D[next->E8]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -289,11 +288,9 @@ $result_tree_text{'things_before_setfilename'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E6]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E6|up->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -467,9 +464,16 @@ $result_nodes_list{'things_before_setfilename'} = '1|Top
 $result_sections_list{'things_before_setfilename'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'things_before_setfilename'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/various_itemize_command_as_argument.pl 
b/tta/perl/t/results/converters_tests/various_itemize_command_as_argument.pl
index 11287f3a8d..697a7161fe 100644
--- a/tta/perl/t/results/converters_tests/various_itemize_command_as_argument.pl
+++ b/tta/perl/t/results/converters_tests/various_itemize_command_as_argument.pl
@@ -34,7 +34,6 @@ $result_tree_text{'various_itemize_command_as_argument'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'various_itemize_command_as_argument'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -487,9 +484,16 @@ $result_nodes_list{'various_itemize_command_as_argument'} 
= '1|Top
 $result_sections_list{'various_itemize_command_as_argument'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'various_itemize_command_as_argument'} = '';
diff --git 
a/tta/perl/t/results/converters_tests/various_vtable_command_as_argument.pl 
b/tta/perl/t/results/converters_tests/various_vtable_command_as_argument.pl
index 882cea9625..2d6e974a3a 100644
--- a/tta/perl/t/results/converters_tests/various_vtable_command_as_argument.pl
+++ b/tta/perl/t/results/converters_tests/various_vtable_command_as_argument.pl
@@ -34,7 +34,6 @@ $result_tree_text{'various_vtable_command_as_argument'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'various_vtable_command_as_argument'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -450,11 +447,9 @@ $result_tree_text{'various_vtable_command_as_argument'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -614,12 +609,27 @@ $result_nodes_list{'various_vtable_command_as_argument'} 
= '1|Top
 $result_sections_list{'various_vtable_command_as_argument'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->Print the index
+  up->top
+ toplevel_directions:
+  next->Print the index
+  prev->top
+  up->top
 3|Print the index
  associated_anchor_command: Indices
  associated_node: Indices
+ section_directions:
+  prev->Chap
+  up->top
+ toplevel_directions:
+  prev->Chap
+  up->top
 ';
 
 $result_headings_list{'various_vtable_command_as_argument'} = '';
diff --git a/tta/perl/t/results/converters_tests/xrefname.pl 
b/tta/perl/t/results/converters_tests/xrefname.pl
index 0e78783fd9..e825d8ceff 100644
--- a/tta/perl/t/results/converters_tests/xrefname.pl
+++ b/tta/perl/t/results/converters_tests/xrefname.pl
@@ -34,7 +34,6 @@ $result_tree_text{'xrefname'} = '*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -75,11 +74,9 @@ $result_tree_text{'xrefname'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -106,11 +103,9 @@ $result_tree_text{'xrefname'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -231,11 +226,26 @@ $result_nodes_list{'xrefname'} = '1|Top
 $result_sections_list{'xrefname'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_node: ntiti
+ section_directions:
+  next->app
+  up->top
+ toplevel_directions:
+  next->app
+  prev->top
+  up->top
 3|app
  associated_anchor_command: chip
  associated_node: chip
+ section_directions:
+  prev->chap
+  up->top
+ toplevel_directions:
+  prev->chap
+  up->top
 ';
 
 $result_headings_list{'xrefname'} = '1|titi
diff --git a/tta/perl/t/results/coverage_braces/contain_plain_text_nestings.pl 
b/tta/perl/t/results/coverage_braces/contain_plain_text_nestings.pl
index 45f0e6420d..1362b30474 100644
--- a/tta/perl/t/results/coverage_braces/contain_plain_text_nestings.pl
+++ b/tta/perl/t/results/coverage_braces/contain_plain_text_nestings.pl
@@ -34,7 +34,6 @@ $result_tree_text{'contain_plain_text_nestings'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'contain_plain_text_nestings'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -328,9 +325,16 @@ $result_nodes_list{'contain_plain_text_nestings'} = '1|Top
 $result_sections_list{'contain_plain_text_nestings'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'contain_plain_text_nestings'} = '';
diff --git a/tta/perl/t/results/coverage_braces/seeentry_no_braces.pl 
b/tta/perl/t/results/coverage_braces/seeentry_no_braces.pl
index 6de17632d0..01b0417f3b 100644
--- a/tta/perl/t/results/coverage_braces/seeentry_no_braces.pl
+++ b/tta/perl/t/results/coverage_braces/seeentry_no_braces.pl
@@ -34,7 +34,6 @@ $result_tree_text{'seeentry_no_braces'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'seeentry_no_braces'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -149,9 +146,16 @@ $result_nodes_list{'seeentry_no_braces'} = '1|Top
 $result_sections_list{'seeentry_no_braces'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'seeentry_no_braces'} = '';
diff --git a/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes.pl 
b/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes.pl
index 70e39dbfb6..dab1c1bea8 100644
--- a/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes.pl
+++ b/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes.pl
@@ -35,7 +35,6 @@ $result_tree_text{'two_footnotes_in_nodes'} = '*document_root 
C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -117,11 +116,9 @@ $result_tree_text{'two_footnotes_in_nodes'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -228,9 +225,16 @@ $result_nodes_list{'two_footnotes_in_nodes'} = '1|Top
 $result_sections_list{'two_footnotes_in_nodes'} = '1|2 footnotes in 2 nodes
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->2 footnotes in 2 nodes
+ toplevel_directions:
+  prev->2 footnotes in 2 nodes
+  up->2 footnotes in 2 nodes
 ';
 
 $result_headings_list{'two_footnotes_in_nodes'} = '';
diff --git 
a/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes_separate.pl 
b/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes_separate.pl
index 5249a53c19..26d91ec8f0 100644
--- a/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes_separate.pl
+++ b/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes_separate.pl
@@ -46,7 +46,6 @@ $result_tree_text{'two_footnotes_in_nodes_separate'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -128,11 +127,9 @@ $result_tree_text{'two_footnotes_in_nodes_separate'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -240,9 +237,16 @@ $result_nodes_list{'two_footnotes_in_nodes_separate'} = 
'1|Top
 $result_sections_list{'two_footnotes_in_nodes_separate'} = '1|2 footnotes in 2 
nodes
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->2 footnotes in 2 nodes
+ toplevel_directions:
+  prev->2 footnotes in 2 nodes
+  up->2 footnotes in 2 nodes
 ';
 
 $result_headings_list{'two_footnotes_in_nodes_separate'} = '';
diff --git 
a/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes_separate_no_header.pl
 
b/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes_separate_no_header.pl
index 7ddbbe7180..8378392fcf 100644
--- 
a/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes_separate_no_header.pl
+++ 
b/tta/perl/t/results/coverage_braces/two_footnotes_in_nodes_separate_no_header.pl
@@ -46,7 +46,6 @@ 
$result_tree_text{'two_footnotes_in_nodes_separate_no_header'} = '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -128,11 +127,9 @@ 
$result_tree_text{'two_footnotes_in_nodes_separate_no_header'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -240,9 +237,16 @@ 
$result_nodes_list{'two_footnotes_in_nodes_separate_no_header'} = '1|Top
 $result_sections_list{'two_footnotes_in_nodes_separate_no_header'} = '1|2 
footnotes in 2 nodes
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->2 footnotes in 2 nodes
+ toplevel_directions:
+  prev->2 footnotes in 2 nodes
+  up->2 footnotes in 2 nodes
 ';
 
 $result_headings_list{'two_footnotes_in_nodes_separate_no_header'} = '';
diff --git a/tta/perl/t/results/def/text_block_before_defline.pl 
b/tta/perl/t/results/def/text_block_before_defline.pl
index 8e7e827fe9..f63973c91e 100644
--- a/tta/perl/t/results/def/text_block_before_defline.pl
+++ b/tta/perl/t/results/def/text_block_before_defline.pl
@@ -35,7 +35,6 @@ $result_tree_text{'text_block_before_defline'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'text_block_before_defline'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -249,9 +246,16 @@ $result_nodes_list{'text_block_before_defline'} = '1|Top
 $result_sections_list{'text_block_before_defline'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapt
  associated_node: chapt
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'text_block_before_defline'} = '';
diff --git a/tta/perl/t/results/docbook_tests/between_node_and_section.pl 
b/tta/perl/t/results/docbook_tests/between_node_and_section.pl
index 750983745b..f2b9330642 100644
--- a/tta/perl/t/results/docbook_tests/between_node_and_section.pl
+++ b/tta/perl/t/results/docbook_tests/between_node_and_section.pl
@@ -62,7 +62,6 @@ $result_tree_text{'between_node_and_section'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{2}
@@ -99,7 +98,6 @@ $result_tree_text{'between_node_and_section'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{3}
@@ -162,9 +160,15 @@ $result_sections_list{'between_node_and_section'} = '1|Chap
 2|sec1
  associated_anchor_command: sec1
  associated_node: sec1
+ section_directions:
+  next->sec2
+  up->Chap
 3|sec2
  associated_anchor_command: sec2
  associated_node: sec2
+ section_directions:
+  prev->sec1
+  up->Chap
 ';
 
 $result_headings_list{'between_node_and_section'} = '';
diff --git a/tta/perl/t/results/docbook_tests/multiple_documentlanguage.pl 
b/tta/perl/t/results/docbook_tests/multiple_documentlanguage.pl
index 3f06eefbde..a6082ca652 100644
--- a/tta/perl/t/results/docbook_tests/multiple_documentlanguage.pl
+++ b/tta/perl/t/results/docbook_tests/multiple_documentlanguage.pl
@@ -47,7 +47,6 @@ $result_tree_text{'multiple_documentlanguage'} = 
'*document_root C11
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -74,11 +73,9 @@ $result_tree_text{'multiple_documentlanguage'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -118,11 +115,9 @@ $result_tree_text{'multiple_documentlanguage'} = 
'*document_root C11
   |{ }
  |EXTRA
  |section_childs:EC[E7|E9]
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -161,7 +156,6 @@ $result_tree_text{'multiple_documentlanguage'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -203,7 +197,6 @@ $result_tree_text{'multiple_documentlanguage'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E5]
  |section_heading_number:{2.2}
  |section_level:{2}
  |section_number:{5}
@@ -296,18 +289,39 @@ $result_nodes_list{'multiple_documentlanguage'} = '1|Top
 $result_sections_list{'multiple_documentlanguage'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap no new language
 2|Chap no new language
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->chapter fr
+  up->top
+ toplevel_directions:
+  next->chapter fr
+  prev->top
+  up->top
 3|chapter fr
  associated_anchor_command: chapter fr
  associated_node: chapter fr
+ section_directions:
+  prev->Chap no new language
+  up->top
+ toplevel_directions:
+  prev->Chap no new language
+  up->top
 4|section pt
  associated_anchor_command: subnode pt
  associated_node: subnode pt
+ section_directions:
+  next->section fr
+  up->chapter fr
 5|section fr
  associated_anchor_command: subnode fr
  associated_node: subnode fr
+ section_directions:
+  prev->section pt
+  up->chapter fr
 ';
 
 $result_headings_list{'multiple_documentlanguage'} = '';
diff --git a/tta/perl/t/results/docbook_tests/special_docbook_unnumbered.pl 
b/tta/perl/t/results/docbook_tests/special_docbook_unnumbered.pl
index ce64bacaa1..0be223fe07 100644
--- a/tta/perl/t/results/docbook_tests/special_docbook_unnumbered.pl
+++ b/tta/perl/t/results/docbook_tests/special_docbook_unnumbered.pl
@@ -34,7 +34,6 @@ $result_tree_text{'special_docbook_unnumbered'} = 
'*document_root C11
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -126,10 +125,8 @@ $result_tree_text{'special_docbook_unnumbered'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -159,10 +156,8 @@ $result_tree_text{'special_docbook_unnumbered'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -192,10 +187,8 @@ $result_tree_text{'special_docbook_unnumbered'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -225,11 +218,9 @@ $result_tree_text{'special_docbook_unnumbered'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E8|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -366,18 +357,49 @@ $result_nodes_list{'special_docbook_unnumbered'} = '1|Top
 $result_sections_list{'special_docbook_unnumbered'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->a dedication
 2|a dedication
  associated_anchor_command: Dedication
  associated_node: Dedication
+ section_directions:
+  next->The Preface
+  up->top
+ toplevel_directions:
+  next->The Preface
+  prev->top
+  up->top
 3|The Preface
  associated_anchor_command: preface
  associated_node: preface
+ section_directions:
+  next->A colophon
+  prev->a dedication
+  up->top
+ toplevel_directions:
+  next->A colophon
+  prev->a dedication
+  up->top
 4|A colophon
  associated_anchor_command: colophon
  associated_node: colophon
+ section_directions:
+  next->A chapter Acnkowledgements
+  prev->The Preface
+  up->top
+ toplevel_directions:
+  next->A chapter Acnkowledgements
+  prev->The Preface
+  up->top
 5|A chapter Acnkowledgements
  associated_anchor_command: acknowledgements
  associated_node: acknowledgements
+ section_directions:
+  prev->A colophon
+  up->top
+ toplevel_directions:
+  prev->A colophon
+  up->top
 ';
 
 $result_headings_list{'special_docbook_unnumbered'} = '';
diff --git a/tta/perl/t/results/epub_tests/chapter_before_top_epub.pl 
b/tta/perl/t/results/epub_tests/chapter_before_top_epub.pl
index 1d3f4afc6a..2261a9366a 100644
--- a/tta/perl/t/results/epub_tests/chapter_before_top_epub.pl
+++ b/tta/perl/t/results/epub_tests/chapter_before_top_epub.pl
@@ -50,7 +50,6 @@ $result_tree_text{'chapter_before_top_epub'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E2|E3|E4]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -64,7 +63,6 @@ $result_tree_text{'chapter_before_top_epub'} = 
'*document_root C6
   |{ }
  |EXTRA
  |global_command_number:{1}
- |section_directions:D[next->E4]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -79,10 +77,8 @@ $result_tree_text{'chapter_before_top_epub'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3]
  |section_level:{0}
  |section_number:{3}
- |toplevel_directions:D[prev->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -134,10 +130,18 @@ $result_nodes_list{'chapter_before_top_epub'} = '1|Top
 $result_sections_list{'chapter_before_top_epub'} = '1|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ toplevel_directions:
+  next->top
 2|part
  part_associated_section: top
+ section_directions:
+  next->top
 3|top
  associated_part: part
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->chapter
 ';
 
 $result_headings_list{'chapter_before_top_epub'} = '';
diff --git a/tta/perl/t/results/float/complex_float.pl 
b/tta/perl/t/results/float/complex_float.pl
index 043c1bab65..b83dec0c99 100644
--- a/tta/perl/t/results/float/complex_float.pl
+++ b/tta/perl/t/results/float/complex_float.pl
@@ -35,7 +35,6 @@ $result_tree_text{'complex_float'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -621,11 +620,9 @@ $result_tree_text{'complex_float'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1206,9 +1203,16 @@ $result_nodes_list{'complex_float'} = '1|Top
 $result_sections_list{'complex_float'} = '1|Test floats
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Test floats
+ toplevel_directions:
+  prev->Test floats
+  up->Test floats
 ';
 
 $result_headings_list{'complex_float'} = '';
diff --git a/tta/perl/t/results/float/float_copying.pl 
b/tta/perl/t/results/float/float_copying.pl
index f1ccdc2bf0..630442c969 100644
--- a/tta/perl/t/results/float/float_copying.pl
+++ b/tta/perl/t/results/float/float_copying.pl
@@ -188,7 +188,6 @@ $result_tree_text{'float_copying'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E4]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -250,11 +249,9 @@ $result_tree_text{'float_copying'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E4|up->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -413,9 +410,16 @@ $result_nodes_list{'float_copying'} = '1|Top
 $result_sections_list{'float_copying'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Copying and floats
 2|Copying and floats
  associated_anchor_command: Copying and floats
  associated_node: Copying and floats
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 ';
 
 $result_headings_list{'float_copying'} = '';
diff --git a/tta/perl/t/results/float/multiple_captions.pl 
b/tta/perl/t/results/float/multiple_captions.pl
index d5071de1d9..3112dfcf20 100644
--- a/tta/perl/t/results/float/multiple_captions.pl
+++ b/tta/perl/t/results/float/multiple_captions.pl
@@ -35,7 +35,6 @@ $result_tree_text{'multiple_captions'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'multiple_captions'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -254,9 +251,16 @@ $result_nodes_list{'multiple_captions'} = '1|Top
 $result_sections_list{'multiple_captions'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'multiple_captions'} = '';
diff --git a/tta/perl/t/results/float/numbering_captions_listoffloats.pl 
b/tta/perl/t/results/float/numbering_captions_listoffloats.pl
index 8e92772a86..cf2b343ae2 100644
--- a/tta/perl/t/results/float/numbering_captions_listoffloats.pl
+++ b/tta/perl/t/results/float/numbering_captions_listoffloats.pl
@@ -35,7 +35,6 @@ $result_tree_text{'numbering_captions_listoffloats'} = 
'*document_root C21
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E12]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -444,11 +443,9 @@ $result_tree_text{'numbering_captions_listoffloats'} = 
'*document_root C21
   |{ }
  |EXTRA
  |section_childs:EC[E20]
- |section_directions:D[next->E23|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E23|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -737,7 +734,6 @@ $result_tree_text{'numbering_captions_listoffloats'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E12]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -804,10 +800,8 @@ $result_tree_text{'numbering_captions_listoffloats'} = 
'*document_root C21
   |{ }
  |EXTRA
  |section_childs:EC[E28]
- |section_directions:D[next->E31|prev->E12|up->E1]
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E31|prev->E12|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -948,7 +942,6 @@ $result_tree_text{'numbering_captions_listoffloats'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E23]
  |section_level:{2}
  |section_number:{5}
   *arguments_line C1
@@ -1023,11 +1016,9 @@ $result_tree_text{'numbering_captions_listoffloats'} = 
'*document_root C21
   |{ }
  |EXTRA
  |section_childs:EC[E35]
- |section_directions:D[next->E39|prev->E23|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E39|prev->E23|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1126,7 +1117,6 @@ $result_tree_text{'numbering_captions_listoffloats'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E31]
  |section_level:{2}
  |section_number:{7}
   *arguments_line C1
@@ -1241,11 +1231,9 @@ $result_tree_text{'numbering_captions_listoffloats'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E42|prev->E31|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E42|prev->E31|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1317,10 +1305,8 @@ $result_tree_text{'numbering_captions_listoffloats'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E39|up->E1]
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[prev->E39|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1967,30 +1953,75 @@ $result_nodes_list{'numbering_captions_listoffloats'} = 
'1|Top
 $result_sections_list{'numbering_captions_listoffloats'} = '1|Test floats
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->Unnumbered
+  up->Test floats
+ toplevel_directions:
+  next->Unnumbered
+  prev->Test floats
+  up->Test floats
 3|A section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->A chapter
 4|Unnumbered
  associated_anchor_command: Unnumbered
  associated_node: Unnumbered
+ section_directions:
+  next->Chapter with unnumbsubsec
+  prev->A chapter
+  up->Test floats
+ toplevel_directions:
+  next->Chapter with unnumbsubsec
+  prev->A chapter
+  up->Test floats
 5|Section within unnumbered
  associated_anchor_command: Section within unnumbered
  associated_node: Section within unnumbered
+ section_directions:
+  up->Unnumbered
 6|Chapter with unnumbsubsec
  associated_anchor_command: Chapter with unnumbsubsec
  associated_node: Chapter with unnumbsubsec
+ section_directions:
+  next->Appendix for float
+  prev->Unnumbered
+  up->Test floats
+ toplevel_directions:
+  next->Appendix for float
+  prev->Unnumbered
+  up->Test floats
 7|unnumbered sec
  associated_anchor_command: unnumbered sec
  associated_node: unnumbered sec
+ section_directions:
+  up->Chapter with unnumbsubsec
 8|Appendix for float
  associated_anchor_command: Appendix for float
  associated_node: Appendix for float
+ section_directions:
+  next->list of floats
+  prev->Chapter with unnumbsubsec
+  up->Test floats
+ toplevel_directions:
+  next->list of floats
+  prev->Chapter with unnumbsubsec
+  up->Test floats
 9|list of floats
  associated_anchor_command: list of floats
  associated_node: list of floats
+ section_directions:
+  prev->Appendix for float
+  up->Test floats
+ toplevel_directions:
+  prev->Appendix for float
+  up->Test floats
 ';
 
 $result_headings_list{'numbering_captions_listoffloats'} = '';
diff --git a/tta/perl/t/results/float/special_characters_in_float_type.pl 
b/tta/perl/t/results/float/special_characters_in_float_type.pl
index 1746c12eb4..aa06241a99 100644
--- a/tta/perl/t/results/float/special_characters_in_float_type.pl
+++ b/tta/perl/t/results/float/special_characters_in_float_type.pl
@@ -35,7 +35,6 @@ $result_tree_text{'special_characters_in_float_type'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'special_characters_in_float_type'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -198,9 +195,16 @@ $result_nodes_list{'special_characters_in_float_type'} = 
'1|Top
 $result_sections_list{'special_characters_in_float_type'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'special_characters_in_float_type'} = '';
diff --git a/tta/perl/t/results/formats_encodings/accent_argument_non_ascii.pl 
b/tta/perl/t/results/formats_encodings/accent_argument_non_ascii.pl
index a025f6cf38..bd692c8bea 100644
--- a/tta/perl/t/results/formats_encodings/accent_argument_non_ascii.pl
+++ b/tta/perl/t/results/formats_encodings/accent_argument_non_ascii.pl
@@ -35,7 +35,6 @@ $result_tree_text{'accent_argument_non_ascii'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'accent_argument_non_ascii'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -123,9 +120,16 @@ $result_nodes_list{'accent_argument_non_ascii'} = '1|Top
 $result_sections_list{'accent_argument_non_ascii'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'accent_argument_non_ascii'} = '';
diff --git a/tta/perl/t/results/formats_encodings/at_commands_in_refs.pl 
b/tta/perl/t/results/formats_encodings/at_commands_in_refs.pl
index 3667500539..351d2f99ef 100644
--- a/tta/perl/t/results/formats_encodings/at_commands_in_refs.pl
+++ b/tta/perl/t/results/formats_encodings/at_commands_in_refs.pl
@@ -35,7 +35,6 @@ $result_tree_text{'at_commands_in_refs'} = '*document_root C58
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -817,11 +816,9 @@ $result_tree_text{'at_commands_in_refs'} = '*document_root 
C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -868,11 +865,9 @@ $result_tree_text{'at_commands_in_refs'} = '*document_root 
C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C17
    |INFO
@@ -928,11 +923,9 @@ $result_tree_text{'at_commands_in_refs'} = '*document_root 
C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C9
    |INFO
@@ -991,11 +984,9 @@ $result_tree_text{'at_commands_in_refs'} = '*document_root 
C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -1057,11 +1048,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E14|prev->E10|up->E1]
   *arguments_line C1
    *line_arg C11
    |INFO
@@ -1111,11 +1100,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E12|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E16|prev->E12|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -1168,11 +1155,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E18|prev->E14|up->E1]
  |section_heading_number:{7}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E18|prev->E14|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -1231,11 +1216,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E20|prev->E16|up->E1]
  |section_heading_number:{8}
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E20|prev->E16|up->E1]
   *arguments_line C1
    *line_arg C9
    |INFO
@@ -1315,11 +1298,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E22|prev->E18|up->E1]
  |section_heading_number:{9}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[next->E22|prev->E18|up->E1]
   *arguments_line C1
    *line_arg C27
    |INFO
@@ -1430,11 +1411,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{  }
  |EXTRA
- |section_directions:D[next->E24|prev->E20|up->E1]
  |section_heading_number:{10}
  |section_level:{1}
  |section_number:{11}
- |toplevel_directions:D[next->E24|prev->E20|up->E1]
   *arguments_line C1
    *line_arg C21
    |INFO
@@ -1531,11 +1510,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E26|prev->E22|up->E1]
  |section_heading_number:{11}
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[next->E26|prev->E22|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -1602,11 +1579,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E28|prev->E24|up->E1]
  |section_heading_number:{12}
  |section_level:{1}
  |section_number:{13}
- |toplevel_directions:D[next->E28|prev->E24|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -1663,11 +1638,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E30|prev->E26|up->E1]
  |section_heading_number:{13}
  |section_level:{1}
  |section_number:{14}
- |toplevel_directions:D[next->E30|prev->E26|up->E1]
   *arguments_line C1
    *line_arg C11
    |INFO
@@ -1726,11 +1699,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E32|prev->E28|up->E1]
  |section_heading_number:{14}
  |section_level:{1}
  |section_number:{15}
- |toplevel_directions:D[next->E32|prev->E28|up->E1]
   *arguments_line C1
    *line_arg C11
    |INFO
@@ -1773,11 +1744,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E34|prev->E30|up->E1]
  |section_heading_number:{15}
  |section_level:{1}
  |section_number:{16}
- |toplevel_directions:D[next->E34|prev->E30|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1819,11 +1788,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E36|prev->E32|up->E1]
  |section_heading_number:{16}
  |section_level:{1}
  |section_number:{17}
- |toplevel_directions:D[next->E36|prev->E32|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -1888,11 +1855,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E38|prev->E34|up->E1]
  |section_heading_number:{17}
  |section_level:{1}
  |section_number:{18}
- |toplevel_directions:D[next->E38|prev->E34|up->E1]
   *arguments_line C1
   >SOURCEMARKS
   >expanded_conditional_command<end;1>
@@ -1962,11 +1927,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E40|prev->E36|up->E1]
  |section_heading_number:{18}
  |section_level:{1}
  |section_number:{19}
- |toplevel_directions:D[next->E40|prev->E36|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -2034,11 +1997,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E42|prev->E38|up->E1]
  |section_heading_number:{19}
  |section_level:{1}
  |section_number:{20}
- |toplevel_directions:D[next->E42|prev->E38|up->E1]
   *arguments_line C1
   >SOURCEMARKS
   >expanded_conditional_command<end;2>
@@ -2108,11 +2069,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E44|prev->E40|up->E1]
  |section_heading_number:{20}
  |section_level:{1}
  |section_number:{21}
- |toplevel_directions:D[next->E44|prev->E40|up->E1]
   *arguments_line C1
   >SOURCEMARKS
   >expanded_conditional_command<end;3>
@@ -2198,11 +2157,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E46|prev->E42|up->E1]
  |section_heading_number:{21}
  |section_level:{1}
  |section_number:{22}
- |toplevel_directions:D[next->E46|prev->E42|up->E1]
   *arguments_line C1
    *line_arg C17
    |INFO
@@ -2300,11 +2257,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E48|prev->E44|up->E1]
  |section_heading_number:{22}
  |section_level:{1}
  |section_number:{23}
- |toplevel_directions:D[next->E48|prev->E44|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -2363,11 +2318,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E50|prev->E46|up->E1]
  |section_heading_number:{23}
  |section_level:{1}
  |section_number:{24}
- |toplevel_directions:D[next->E50|prev->E46|up->E1]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -2403,11 +2356,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E52|prev->E48|up->E1]
  |section_heading_number:{24}
  |section_level:{1}
  |section_number:{25}
- |toplevel_directions:D[next->E52|prev->E48|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -2442,11 +2393,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E54|prev->E50|up->E1]
  |section_heading_number:{25}
  |section_level:{1}
  |section_number:{26}
- |toplevel_directions:D[next->E54|prev->E50|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -2481,11 +2430,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E56|prev->E52|up->E1]
  |section_heading_number:{26}
  |section_level:{1}
  |section_number:{27}
- |toplevel_directions:D[next->E56|prev->E52|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -2536,11 +2483,9 @@ $result_tree_text{'at_commands_in_refs'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E54|up->E1]
  |section_heading_number:{27}
  |section_level:{1}
  |section_number:{28}
- |toplevel_directions:D[prev->E54|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -3992,87 +3937,302 @@ $result_nodes_list{'at_commands_in_refs'} = '1|Top
 $result_sections_list{'at_commands_in_refs'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->@- @{ @}
 2|@- @{ @}
  associated_anchor_command: @- @{ @}
  associated_node: @- @{ @}
+ section_directions:
+  next->@  @    @! @* @. @: .@: @? @@
+  up->Top
+ toplevel_directions:
+  next->@  @    @! @* @. @: .@: @? @@
+  prev->Top
+  up->Top
 3|@  @  @! @* @. @: .@: @? @@
  associated_anchor_command: @  @        @! @* @. @: .@: @? @@
  associated_node: @  @  @! @* @. @: .@: @? @@
+ section_directions:
+  next->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  prev->@- @{ @}
+  up->Top
+ toplevel_directions:
+  next->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  prev->@- @{ @}
+  up->Top
 4|@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
  associated_anchor_command: @atchar{} @lbracechar{} @rbracechar{} 
@backslashchar{} @hashchar{}
  associated_node: @atchar{} @lbracechar{} @rbracechar{} @backslashchar{} 
@hashchar{}
+ section_directions:
+  next->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  prev->@  @    @! @* @. @: .@: @? @@
+  up->Top
+ toplevel_directions:
+  next->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  prev->@  @    @! @* @. @: .@: @? @@
+  up->Top
 5|@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
  associated_anchor_command: @LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} 
@dots{} @enddots{}
  associated_node: @LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} 
@enddots{}
+ section_directions:
+  next->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  prev->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  up->Top
+ toplevel_directions:
+  next->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  prev->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  up->Top
 6|@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
  associated_anchor_command: @equiv{} @error{} @euro{} @exclamdown{} 
@expansion{} @minus{}
  associated_node: @equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+ section_directions:
+  next->@geq{} @leq{} @arrow{}
+  prev->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  up->Top
+ toplevel_directions:
+  next->@geq{} @leq{} @arrow{}
+  prev->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  up->Top
 7|@geq{} @leq{} @arrow{}
  associated_anchor_command: @geq{} @leq{} @arrow{}
  associated_node: @geq{} @leq{} @arrow{}
+ section_directions:
+  next->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  prev->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  up->Top
+ toplevel_directions:
+  next->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  prev->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  up->Top
 8|@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
  associated_anchor_command: @ordf{} @ordm{} @point{} @pounds{} @print{} 
@questiondown{} @registeredsymbol{}
  associated_node: @ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+ section_directions:
+  next->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  prev->@geq{} @leq{} @arrow{}
+  up->Top
+ toplevel_directions:
+  next->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  prev->@geq{} @leq{} @arrow{}
+  up->Top
 9|@result{} @textdegree{} a@tie{}b @today{} @aa{}
  associated_anchor_command: @result{} @textdegree{} a@tie{}b @today{} @aa{}
  associated_node: @result{} @textdegree{} a@tie{}b @today{} @aa{}
+ section_directions:
+  next->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  prev->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  up->Top
+ toplevel_directions:
+  next->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  prev->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  up->Top
 10|@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} @TH{} 
@th{}
  associated_anchor_command: @AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} 
@L{} @DH{} @dh{} @TH{} @th{}
  associated_node: @AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} 
@DH{} @dh{} @TH{} @th{}
+ section_directions:
+  next->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  prev->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  up->Top
+ toplevel_directions:
+  next->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  prev->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  up->Top
 11|@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} @ringaccent{e} 
@H{e} @ogonek{e}
  associated_anchor_command: @"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} 
@={e} @ringaccent{e} @H{e} @ogonek{e}
  associated_node: @"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+ section_directions:
+  next->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  prev->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  up->Top
+ toplevel_directions:
+  next->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  prev->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  up->Top
 12|@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
  associated_anchor_command: @dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} 
@v{e} @dotless{j} @tieaccent{ee}
  associated_node: @dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} 
@dotless{j} @tieaccent{ee}
+ section_directions:
+  next->@dotless{i} @`{@=E} @,{@\'C}
+  prev->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  up->Top
+ toplevel_directions:
+  next->@dotless{i} @`{@=E} @,{@\'C}
+  prev->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  up->Top
 13|@dotless{i} @`{@=E} @,{@\'C}
  associated_anchor_command: @dotless{i} @`{@=E} @,{@\'C}
  associated_node: @dotless{i} @`{@=E} @,{@\'C}
+ section_directions:
+  next->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  prev->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  up->Top
+ toplevel_directions:
+  next->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  prev->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  up->Top
 14|@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} @quotedblbase{} 
@quotesinglbase{}
  associated_anchor_command: @quotedblleft{} @quotedblright{} @quoteleft{} 
@quoteright{} @quotedblbase{} @quotesinglbase{}
  associated_node: @quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+ section_directions:
+  next->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  prev->@dotless{i} @`{@=E} @,{@\'C}
+  up->Top
+ toplevel_directions:
+  next->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  prev->@dotless{i} @`{@=E} @,{@\'C}
+  up->Top
 15|@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
  associated_anchor_command: @guillemetleft{} @guillemetright{} 
@guillemotleft{} @guillemotright{} @guilsinglleft{} @guilsinglright{}
  associated_node: @guillemetleft{} @guillemetright{} @guillemotleft{} 
@guillemotright{} @guilsinglleft{} @guilsinglright{}
+ section_directions:
+  next->`` \'\' --- -- ` \'
+  prev->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  up->Top
+ toplevel_directions:
+  next->`` \'\' --- -- ` \'
+  prev->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  up->Top
 16|`` \'\' --- -- ` \'
  associated_anchor_command: `` \'\' --- -- ` \'
  associated_node: `` \'\' --- -- ` \'
+ section_directions:
+  next->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  prev->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  up->Top
+ toplevel_directions:
+  next->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  prev->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  up->Top
 17|@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
  associated_anchor_command: @acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
  associated_node: @acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+ section_directions:
+  next->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  prev->`` \'\' --- -- ` \'
+  up->Top
+ toplevel_directions:
+  next->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  prev->`` \'\' --- -- ` \'
+  up->Top
 18|@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
  associated_anchor_command: @abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
  associated_node: @abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+ section_directions:
+  next->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  prev->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  up->Top
+ toplevel_directions:
+  next->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  prev->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  up->Top
 19|@email{someone@@somewher, the someone} @email{no_explain@@there}
  associated_anchor_command: @email{someone@@somewher, the someone} 
@email{no_explain@@there}
  associated_node: @email{someone@@somewher, the someone} 
@email{no_explain@@there}
+ section_directions:
+  next->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  prev->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  up->Top
+ toplevel_directions:
+  next->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  prev->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  up->Top
 20|@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
  associated_anchor_command: @image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
  associated_node: @image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+ section_directions:
+  next->@verb{. @ {} . .}
+  prev->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  up->Top
+ toplevel_directions:
+  next->@verb{. @ {} . .}
+  prev->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  up->Top
 21|@verb{. @ {} . .}
  associated_anchor_command: @verb{. @ {} . .}
  associated_node: @verb{. @ {} . .}
+ section_directions:
+  next->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  prev->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  up->Top
+ toplevel_directions:
+  next->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  prev->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  up->Top
 22|@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
  associated_anchor_command: @cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} 
@sc{sc} @strong{str} @t{t} @var{var} @dfn{dfn} @i{i}
  associated_node: @cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} 
@strong{str} @t{t} @var{var} @dfn{dfn} @i{i}
+ section_directions:
+  next->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  prev->@verb{. @ {} . .}
+  up->Top
+ toplevel_directions:
+  next->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  prev->@verb{. @ {} . .}
+  up->Top
 23|@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
  associated_anchor_command: @env{env} @code{code} @option{option} @samp{samp} 
@command{command} @file{file} @kbd{C-x @key{ESC}}
  associated_node: @env{env} @code{code} @option{option} @samp{samp} 
@command{command} @file{file} @kbd{C-x @key{ESC}}
+ section_directions:
+  next->8.27@dmn{in}
+  prev->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  up->Top
+ toplevel_directions:
+  next->8.27@dmn{in}
+  prev->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  up->Top
 24|8.27@dmn{in}
  associated_anchor_command: 8.27@dmn{in}
  associated_node: 8.27@dmn{in}
+ section_directions:
+  next->@sansserif{sansserif} @slanted{slanted}
+  prev->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  up->Top
+ toplevel_directions:
+  next->@sansserif{sansserif} @slanted{slanted}
+  prev->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  up->Top
 25|@sansserif{sansserif} @slanted{slanted}
  associated_anchor_command: @sansserif{sansserif} @slanted{slanted}
  associated_node: @sansserif{sansserif} @slanted{slanted}
+ section_directions:
+  next->@indicateurl{indicateurl}
+  prev->8.27@dmn{in}
+  up->Top
+ toplevel_directions:
+  next->@indicateurl{indicateurl}
+  prev->8.27@dmn{in}
+  up->Top
 26|@indicateurl{indicateurl}
  associated_anchor_command: @indicateurl{indicateurl}
  associated_node: @indicateurl{indicateurl}
+ section_directions:
+  next->@sub{g}H 3@sup{rd}
+  prev->@sansserif{sansserif} @slanted{slanted}
+  up->Top
+ toplevel_directions:
+  next->@sub{g}H 3@sup{rd}
+  prev->@sansserif{sansserif} @slanted{slanted}
+  up->Top
 27|@sub{g}H 3@sup{rd}
  associated_anchor_command: @sub{g}H 3@sup{rd}
  associated_node: @sub{g}H 3@sup{rd}
+ section_directions:
+  next->@url{http://somewhere_aaa} @url{url, text} @uref{/man.cgi/1/ls,,ls}
+  prev->@indicateurl{indicateurl}
+  up->Top
+ toplevel_directions:
+  next->@url{http://somewhere_aaa} @url{url, text} @uref{/man.cgi/1/ls,,ls}
+  prev->@indicateurl{indicateurl}
+  up->Top
 28|@url{http://somewhere_aaa} @url{url, text} @uref{/man.cgi/1/ls,,ls}
  associated_anchor_command: @url{http://somewhere_aaa} @url{url, text} 
@uref{/man.cgi/1/ls,,ls}
  associated_node: @url{http://somewhere_aaa} @url{url, text} 
@uref{/man.cgi/1/ls,,ls}
+ section_directions:
+  prev->@sub{g}H 3@sup{rd}
+  up->Top
+ toplevel_directions:
+  prev->@sub{g}H 3@sup{rd}
+  up->Top
 ';
 
 $result_headings_list{'at_commands_in_refs'} = '';
diff --git a/tta/perl/t/results/formats_encodings/at_commands_in_refs_latin1.pl 
b/tta/perl/t/results/formats_encodings/at_commands_in_refs_latin1.pl
index 4f5c870413..914103f91f 100644
--- a/tta/perl/t/results/formats_encodings/at_commands_in_refs_latin1.pl
+++ b/tta/perl/t/results/formats_encodings/at_commands_in_refs_latin1.pl
@@ -60,7 +60,6 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -842,11 +841,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -893,11 +890,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C17
    |INFO
@@ -953,11 +948,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C9
    |INFO
@@ -1016,11 +1009,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -1082,11 +1073,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E14|prev->E10|up->E1]
   *arguments_line C1
    *line_arg C11
    |INFO
@@ -1136,11 +1125,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E12|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E16|prev->E12|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -1193,11 +1180,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E18|prev->E14|up->E1]
  |section_heading_number:{7}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E18|prev->E14|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -1256,11 +1241,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E20|prev->E16|up->E1]
  |section_heading_number:{8}
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E20|prev->E16|up->E1]
   *arguments_line C1
    *line_arg C9
    |INFO
@@ -1340,11 +1323,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E22|prev->E18|up->E1]
  |section_heading_number:{9}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[next->E22|prev->E18|up->E1]
   *arguments_line C1
    *line_arg C27
    |INFO
@@ -1455,11 +1436,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{  }
  |EXTRA
- |section_directions:D[next->E24|prev->E20|up->E1]
  |section_heading_number:{10}
  |section_level:{1}
  |section_number:{11}
- |toplevel_directions:D[next->E24|prev->E20|up->E1]
   *arguments_line C1
    *line_arg C21
    |INFO
@@ -1556,11 +1535,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E26|prev->E22|up->E1]
  |section_heading_number:{11}
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[next->E26|prev->E22|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -1627,11 +1604,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E28|prev->E24|up->E1]
  |section_heading_number:{12}
  |section_level:{1}
  |section_number:{13}
- |toplevel_directions:D[next->E28|prev->E24|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -1688,11 +1663,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E30|prev->E26|up->E1]
  |section_heading_number:{13}
  |section_level:{1}
  |section_number:{14}
- |toplevel_directions:D[next->E30|prev->E26|up->E1]
   *arguments_line C1
    *line_arg C11
    |INFO
@@ -1751,11 +1724,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E32|prev->E28|up->E1]
  |section_heading_number:{14}
  |section_level:{1}
  |section_number:{15}
- |toplevel_directions:D[next->E32|prev->E28|up->E1]
   *arguments_line C1
    *line_arg C11
    |INFO
@@ -1798,11 +1769,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E34|prev->E30|up->E1]
  |section_heading_number:{15}
  |section_level:{1}
  |section_number:{16}
- |toplevel_directions:D[next->E34|prev->E30|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1844,11 +1813,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E36|prev->E32|up->E1]
  |section_heading_number:{16}
  |section_level:{1}
  |section_number:{17}
- |toplevel_directions:D[next->E36|prev->E32|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -1913,11 +1880,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E38|prev->E34|up->E1]
  |section_heading_number:{17}
  |section_level:{1}
  |section_number:{18}
- |toplevel_directions:D[next->E38|prev->E34|up->E1]
   *arguments_line C1
   >SOURCEMARKS
   >expanded_conditional_command<end;1>
@@ -1987,11 +1952,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E40|prev->E36|up->E1]
  |section_heading_number:{18}
  |section_level:{1}
  |section_number:{19}
- |toplevel_directions:D[next->E40|prev->E36|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -2059,11 +2022,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E42|prev->E38|up->E1]
  |section_heading_number:{19}
  |section_level:{1}
  |section_number:{20}
- |toplevel_directions:D[next->E42|prev->E38|up->E1]
   *arguments_line C1
   >SOURCEMARKS
   >expanded_conditional_command<end;2>
@@ -2133,11 +2094,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E44|prev->E40|up->E1]
  |section_heading_number:{20}
  |section_level:{1}
  |section_number:{21}
- |toplevel_directions:D[next->E44|prev->E40|up->E1]
   *arguments_line C1
   >SOURCEMARKS
   >expanded_conditional_command<end;3>
@@ -2223,11 +2182,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E46|prev->E42|up->E1]
  |section_heading_number:{21}
  |section_level:{1}
  |section_number:{22}
- |toplevel_directions:D[next->E46|prev->E42|up->E1]
   *arguments_line C1
    *line_arg C17
    |INFO
@@ -2325,11 +2282,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E48|prev->E44|up->E1]
  |section_heading_number:{22}
  |section_level:{1}
  |section_number:{23}
- |toplevel_directions:D[next->E48|prev->E44|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -2388,11 +2343,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E50|prev->E46|up->E1]
  |section_heading_number:{23}
  |section_level:{1}
  |section_number:{24}
- |toplevel_directions:D[next->E50|prev->E46|up->E1]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -2428,11 +2381,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E52|prev->E48|up->E1]
  |section_heading_number:{24}
  |section_level:{1}
  |section_number:{25}
- |toplevel_directions:D[next->E52|prev->E48|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -2467,11 +2418,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E54|prev->E50|up->E1]
  |section_heading_number:{25}
  |section_level:{1}
  |section_number:{26}
- |toplevel_directions:D[next->E54|prev->E50|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -2506,11 +2455,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E56|prev->E52|up->E1]
  |section_heading_number:{26}
  |section_level:{1}
  |section_number:{27}
- |toplevel_directions:D[next->E56|prev->E52|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -2561,11 +2508,9 @@ $result_tree_text{'at_commands_in_refs_latin1'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E54|up->E1]
  |section_heading_number:{27}
  |section_level:{1}
  |section_number:{28}
- |toplevel_directions:D[prev->E54|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -4021,87 +3966,302 @@ $result_nodes_list{'at_commands_in_refs_latin1'} = 
'1|Top
 $result_sections_list{'at_commands_in_refs_latin1'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->@- @{ @}
 2|@- @{ @}
  associated_anchor_command: @- @{ @}
  associated_node: @- @{ @}
+ section_directions:
+  next->@  @    @! @* @. @: .@: @? @@
+  up->Top
+ toplevel_directions:
+  next->@  @    @! @* @. @: .@: @? @@
+  prev->Top
+  up->Top
 3|@  @  @! @* @. @: .@: @? @@
  associated_anchor_command: @  @        @! @* @. @: .@: @? @@
  associated_node: @  @  @! @* @. @: .@: @? @@
+ section_directions:
+  next->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  prev->@- @{ @}
+  up->Top
+ toplevel_directions:
+  next->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  prev->@- @{ @}
+  up->Top
 4|@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
  associated_anchor_command: @atchar{} @lbracechar{} @rbracechar{} 
@backslashchar{} @hashchar{}
  associated_node: @atchar{} @lbracechar{} @rbracechar{} @backslashchar{} 
@hashchar{}
+ section_directions:
+  next->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  prev->@  @    @! @* @. @: .@: @? @@
+  up->Top
+ toplevel_directions:
+  next->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  prev->@  @    @! @* @. @: .@: @? @@
+  up->Top
 5|@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
  associated_anchor_command: @LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} 
@dots{} @enddots{}
  associated_node: @LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} 
@enddots{}
+ section_directions:
+  next->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  prev->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  up->Top
+ toplevel_directions:
+  next->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  prev->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  up->Top
 6|@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
  associated_anchor_command: @equiv{} @error{} @euro{} @exclamdown{} 
@expansion{} @minus{}
  associated_node: @equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+ section_directions:
+  next->@geq{} @leq{} @arrow{}
+  prev->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  up->Top
+ toplevel_directions:
+  next->@geq{} @leq{} @arrow{}
+  prev->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  up->Top
 7|@geq{} @leq{} @arrow{}
  associated_anchor_command: @geq{} @leq{} @arrow{}
  associated_node: @geq{} @leq{} @arrow{}
+ section_directions:
+  next->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  prev->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  up->Top
+ toplevel_directions:
+  next->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  prev->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  up->Top
 8|@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
  associated_anchor_command: @ordf{} @ordm{} @point{} @pounds{} @print{} 
@questiondown{} @registeredsymbol{}
  associated_node: @ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+ section_directions:
+  next->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  prev->@geq{} @leq{} @arrow{}
+  up->Top
+ toplevel_directions:
+  next->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  prev->@geq{} @leq{} @arrow{}
+  up->Top
 9|@result{} @textdegree{} a@tie{}b @today{} @aa{}
  associated_anchor_command: @result{} @textdegree{} a@tie{}b @today{} @aa{}
  associated_node: @result{} @textdegree{} a@tie{}b @today{} @aa{}
+ section_directions:
+  next->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  prev->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  up->Top
+ toplevel_directions:
+  next->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  prev->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  up->Top
 10|@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} @TH{} 
@th{}
  associated_anchor_command: @AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} 
@L{} @DH{} @dh{} @TH{} @th{}
  associated_node: @AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} 
@DH{} @dh{} @TH{} @th{}
+ section_directions:
+  next->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  prev->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  up->Top
+ toplevel_directions:
+  next->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  prev->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  up->Top
 11|@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} @ringaccent{e} 
@H{e} @ogonek{e}
  associated_anchor_command: @"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} 
@={e} @ringaccent{e} @H{e} @ogonek{e}
  associated_node: @"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+ section_directions:
+  next->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  prev->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  up->Top
+ toplevel_directions:
+  next->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  prev->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  up->Top
 12|@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
  associated_anchor_command: @dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} 
@v{e} @dotless{j} @tieaccent{ee}
  associated_node: @dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} 
@dotless{j} @tieaccent{ee}
+ section_directions:
+  next->@dotless{i} @`{@=E} @,{@\'C}
+  prev->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  up->Top
+ toplevel_directions:
+  next->@dotless{i} @`{@=E} @,{@\'C}
+  prev->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  up->Top
 13|@dotless{i} @`{@=E} @,{@\'C}
  associated_anchor_command: @dotless{i} @`{@=E} @,{@\'C}
  associated_node: @dotless{i} @`{@=E} @,{@\'C}
+ section_directions:
+  next->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  prev->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  up->Top
+ toplevel_directions:
+  next->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  prev->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  up->Top
 14|@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} @quotedblbase{} 
@quotesinglbase{}
  associated_anchor_command: @quotedblleft{} @quotedblright{} @quoteleft{} 
@quoteright{} @quotedblbase{} @quotesinglbase{}
  associated_node: @quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+ section_directions:
+  next->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  prev->@dotless{i} @`{@=E} @,{@\'C}
+  up->Top
+ toplevel_directions:
+  next->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  prev->@dotless{i} @`{@=E} @,{@\'C}
+  up->Top
 15|@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
  associated_anchor_command: @guillemetleft{} @guillemetright{} 
@guillemotleft{} @guillemotright{} @guilsinglleft{} @guilsinglright{}
  associated_node: @guillemetleft{} @guillemetright{} @guillemotleft{} 
@guillemotright{} @guilsinglleft{} @guilsinglright{}
+ section_directions:
+  next->`` \'\' --- -- ` \'
+  prev->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  up->Top
+ toplevel_directions:
+  next->`` \'\' --- -- ` \'
+  prev->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  up->Top
 16|`` \'\' --- -- ` \'
  associated_anchor_command: `` \'\' --- -- ` \'
  associated_node: `` \'\' --- -- ` \'
+ section_directions:
+  next->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  prev->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  up->Top
+ toplevel_directions:
+  next->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  prev->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  up->Top
 17|@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
  associated_anchor_command: @acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
  associated_node: @acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+ section_directions:
+  next->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  prev->`` \'\' --- -- ` \'
+  up->Top
+ toplevel_directions:
+  next->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  prev->`` \'\' --- -- ` \'
+  up->Top
 18|@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
  associated_anchor_command: @abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
  associated_node: @abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+ section_directions:
+  next->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  prev->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  up->Top
+ toplevel_directions:
+  next->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  prev->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  up->Top
 19|@email{someone@@somewher, the someone} @email{no_explain@@there}
  associated_anchor_command: @email{someone@@somewher, the someone} 
@email{no_explain@@there}
  associated_node: @email{someone@@somewher, the someone} 
@email{no_explain@@there}
+ section_directions:
+  next->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  prev->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  up->Top
+ toplevel_directions:
+  next->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  prev->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  up->Top
 20|@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
  associated_anchor_command: @image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
  associated_node: @image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+ section_directions:
+  next->@verb{. @ {} . .}
+  prev->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  up->Top
+ toplevel_directions:
+  next->@verb{. @ {} . .}
+  prev->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  up->Top
 21|@verb{. @ {} . .}
  associated_anchor_command: @verb{. @ {} . .}
  associated_node: @verb{. @ {} . .}
+ section_directions:
+  next->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  prev->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  up->Top
+ toplevel_directions:
+  next->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  prev->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  up->Top
 22|@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
  associated_anchor_command: @cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} 
@sc{sc} @strong{str} @t{t} @var{var} @dfn{dfn} @i{i}
  associated_node: @cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} 
@strong{str} @t{t} @var{var} @dfn{dfn} @i{i}
+ section_directions:
+  next->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  prev->@verb{. @ {} . .}
+  up->Top
+ toplevel_directions:
+  next->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  prev->@verb{. @ {} . .}
+  up->Top
 23|@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
  associated_anchor_command: @env{env} @code{code} @option{option} @samp{samp} 
@command{command} @file{file} @kbd{C-x @key{ESC}}
  associated_node: @env{env} @code{code} @option{option} @samp{samp} 
@command{command} @file{file} @kbd{C-x @key{ESC}}
+ section_directions:
+  next->8.27@dmn{in}
+  prev->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  up->Top
+ toplevel_directions:
+  next->8.27@dmn{in}
+  prev->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  up->Top
 24|8.27@dmn{in}
  associated_anchor_command: 8.27@dmn{in}
  associated_node: 8.27@dmn{in}
+ section_directions:
+  next->@sansserif{sansserif} @slanted{slanted}
+  prev->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  up->Top
+ toplevel_directions:
+  next->@sansserif{sansserif} @slanted{slanted}
+  prev->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  up->Top
 25|@sansserif{sansserif} @slanted{slanted}
  associated_anchor_command: @sansserif{sansserif} @slanted{slanted}
  associated_node: @sansserif{sansserif} @slanted{slanted}
+ section_directions:
+  next->@indicateurl{indicateurl}
+  prev->8.27@dmn{in}
+  up->Top
+ toplevel_directions:
+  next->@indicateurl{indicateurl}
+  prev->8.27@dmn{in}
+  up->Top
 26|@indicateurl{indicateurl}
  associated_anchor_command: @indicateurl{indicateurl}
  associated_node: @indicateurl{indicateurl}
+ section_directions:
+  next->@sub{g}H 3@sup{rd}
+  prev->@sansserif{sansserif} @slanted{slanted}
+  up->Top
+ toplevel_directions:
+  next->@sub{g}H 3@sup{rd}
+  prev->@sansserif{sansserif} @slanted{slanted}
+  up->Top
 27|@sub{g}H 3@sup{rd}
  associated_anchor_command: @sub{g}H 3@sup{rd}
  associated_node: @sub{g}H 3@sup{rd}
+ section_directions:
+  next->@url{http://somewhere_aaa} @url{url, text} @uref{/man.cgi/1/ls,,ls}
+  prev->@indicateurl{indicateurl}
+  up->Top
+ toplevel_directions:
+  next->@url{http://somewhere_aaa} @url{url, text} @uref{/man.cgi/1/ls,,ls}
+  prev->@indicateurl{indicateurl}
+  up->Top
 28|@url{http://somewhere_aaa} @url{url, text} @uref{/man.cgi/1/ls,,ls}
  associated_anchor_command: @url{http://somewhere_aaa} @url{url, text} 
@uref{/man.cgi/1/ls,,ls}
  associated_node: @url{http://somewhere_aaa} @url{url, text} 
@uref{/man.cgi/1/ls,,ls}
+ section_directions:
+  prev->@sub{g}H 3@sup{rd}
+  up->Top
+ toplevel_directions:
+  prev->@sub{g}H 3@sup{rd}
+  up->Top
 ';
 
 $result_headings_list{'at_commands_in_refs_latin1'} = '';
diff --git a/tta/perl/t/results/formats_encodings/at_commands_in_refs_utf8.pl 
b/tta/perl/t/results/formats_encodings/at_commands_in_refs_utf8.pl
index 9c70ffd2f4..f2e9fe84be 100644
--- a/tta/perl/t/results/formats_encodings/at_commands_in_refs_utf8.pl
+++ b/tta/perl/t/results/formats_encodings/at_commands_in_refs_utf8.pl
@@ -60,7 +60,6 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -842,11 +841,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -893,11 +890,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C17
    |INFO
@@ -953,11 +948,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C9
    |INFO
@@ -1016,11 +1009,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -1082,11 +1073,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E14|prev->E10|up->E1]
   *arguments_line C1
    *line_arg C11
    |INFO
@@ -1136,11 +1125,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E12|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E16|prev->E12|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -1193,11 +1180,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E18|prev->E14|up->E1]
  |section_heading_number:{7}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E18|prev->E14|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -1256,11 +1241,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E20|prev->E16|up->E1]
  |section_heading_number:{8}
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E20|prev->E16|up->E1]
   *arguments_line C1
    *line_arg C9
    |INFO
@@ -1340,11 +1323,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E22|prev->E18|up->E1]
  |section_heading_number:{9}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[next->E22|prev->E18|up->E1]
   *arguments_line C1
    *line_arg C27
    |INFO
@@ -1455,11 +1436,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{  }
  |EXTRA
- |section_directions:D[next->E24|prev->E20|up->E1]
  |section_heading_number:{10}
  |section_level:{1}
  |section_number:{11}
- |toplevel_directions:D[next->E24|prev->E20|up->E1]
   *arguments_line C1
    *line_arg C21
    |INFO
@@ -1556,11 +1535,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E26|prev->E22|up->E1]
  |section_heading_number:{11}
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[next->E26|prev->E22|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -1627,11 +1604,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E28|prev->E24|up->E1]
  |section_heading_number:{12}
  |section_level:{1}
  |section_number:{13}
- |toplevel_directions:D[next->E28|prev->E24|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -1688,11 +1663,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E30|prev->E26|up->E1]
  |section_heading_number:{13}
  |section_level:{1}
  |section_number:{14}
- |toplevel_directions:D[next->E30|prev->E26|up->E1]
   *arguments_line C1
    *line_arg C11
    |INFO
@@ -1751,11 +1724,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E32|prev->E28|up->E1]
  |section_heading_number:{14}
  |section_level:{1}
  |section_number:{15}
- |toplevel_directions:D[next->E32|prev->E28|up->E1]
   *arguments_line C1
    *line_arg C11
    |INFO
@@ -1798,11 +1769,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E34|prev->E30|up->E1]
  |section_heading_number:{15}
  |section_level:{1}
  |section_number:{16}
- |toplevel_directions:D[next->E34|prev->E30|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1844,11 +1813,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E36|prev->E32|up->E1]
  |section_heading_number:{16}
  |section_level:{1}
  |section_number:{17}
- |toplevel_directions:D[next->E36|prev->E32|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -1913,11 +1880,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E38|prev->E34|up->E1]
  |section_heading_number:{17}
  |section_level:{1}
  |section_number:{18}
- |toplevel_directions:D[next->E38|prev->E34|up->E1]
   *arguments_line C1
   >SOURCEMARKS
   >expanded_conditional_command<end;1>
@@ -1987,11 +1952,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E40|prev->E36|up->E1]
  |section_heading_number:{18}
  |section_level:{1}
  |section_number:{19}
- |toplevel_directions:D[next->E40|prev->E36|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -2059,11 +2022,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E42|prev->E38|up->E1]
  |section_heading_number:{19}
  |section_level:{1}
  |section_number:{20}
- |toplevel_directions:D[next->E42|prev->E38|up->E1]
   *arguments_line C1
   >SOURCEMARKS
   >expanded_conditional_command<end;2>
@@ -2133,11 +2094,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E44|prev->E40|up->E1]
  |section_heading_number:{20}
  |section_level:{1}
  |section_number:{21}
- |toplevel_directions:D[next->E44|prev->E40|up->E1]
   *arguments_line C1
   >SOURCEMARKS
   >expanded_conditional_command<end;3>
@@ -2223,11 +2182,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E46|prev->E42|up->E1]
  |section_heading_number:{21}
  |section_level:{1}
  |section_number:{22}
- |toplevel_directions:D[next->E46|prev->E42|up->E1]
   *arguments_line C1
    *line_arg C17
    |INFO
@@ -2325,11 +2282,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E48|prev->E44|up->E1]
  |section_heading_number:{22}
  |section_level:{1}
  |section_number:{23}
- |toplevel_directions:D[next->E48|prev->E44|up->E1]
   *arguments_line C1
    *line_arg C13
    |INFO
@@ -2388,11 +2343,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E50|prev->E46|up->E1]
  |section_heading_number:{23}
  |section_level:{1}
  |section_number:{24}
- |toplevel_directions:D[next->E50|prev->E46|up->E1]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -2428,11 +2381,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E52|prev->E48|up->E1]
  |section_heading_number:{24}
  |section_level:{1}
  |section_number:{25}
- |toplevel_directions:D[next->E52|prev->E48|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -2467,11 +2418,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E54|prev->E50|up->E1]
  |section_heading_number:{25}
  |section_level:{1}
  |section_number:{26}
- |toplevel_directions:D[next->E54|prev->E50|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -2506,11 +2455,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E56|prev->E52|up->E1]
  |section_heading_number:{26}
  |section_level:{1}
  |section_number:{27}
- |toplevel_directions:D[next->E56|prev->E52|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -2561,11 +2508,9 @@ $result_tree_text{'at_commands_in_refs_utf8'} = 
'*document_root C58
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E54|up->E1]
  |section_heading_number:{27}
  |section_level:{1}
  |section_number:{28}
- |toplevel_directions:D[prev->E54|up->E1]
   *arguments_line C1
    *line_arg C5
    |INFO
@@ -4021,87 +3966,302 @@ $result_nodes_list{'at_commands_in_refs_utf8'} = '1|Top
 $result_sections_list{'at_commands_in_refs_utf8'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->@- @{ @}
 2|@- @{ @}
  associated_anchor_command: @- @{ @}
  associated_node: @- @{ @}
+ section_directions:
+  next->@  @    @! @* @. @: .@: @? @@
+  up->Top
+ toplevel_directions:
+  next->@  @    @! @* @. @: .@: @? @@
+  prev->Top
+  up->Top
 3|@  @  @! @* @. @: .@: @? @@
  associated_anchor_command: @  @        @! @* @. @: .@: @? @@
  associated_node: @  @  @! @* @. @: .@: @? @@
+ section_directions:
+  next->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  prev->@- @{ @}
+  up->Top
+ toplevel_directions:
+  next->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  prev->@- @{ @}
+  up->Top
 4|@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
  associated_anchor_command: @atchar{} @lbracechar{} @rbracechar{} 
@backslashchar{} @hashchar{}
  associated_node: @atchar{} @lbracechar{} @rbracechar{} @backslashchar{} 
@hashchar{}
+ section_directions:
+  next->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  prev->@  @    @! @* @. @: .@: @? @@
+  up->Top
+ toplevel_directions:
+  next->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  prev->@  @    @! @* @. @: .@: @? @@
+  up->Top
 5|@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
  associated_anchor_command: @LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} 
@dots{} @enddots{}
  associated_node: @LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} 
@enddots{}
+ section_directions:
+  next->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  prev->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  up->Top
+ toplevel_directions:
+  next->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  prev->@atchar{} @lbracechar{} @rbracechar{} @backslashchar{} @hashchar{}
+  up->Top
 6|@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
  associated_anchor_command: @equiv{} @error{} @euro{} @exclamdown{} 
@expansion{} @minus{}
  associated_node: @equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+ section_directions:
+  next->@geq{} @leq{} @arrow{}
+  prev->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  up->Top
+ toplevel_directions:
+  next->@geq{} @leq{} @arrow{}
+  prev->@LaTeX{} @TeX{} @bullet{} @comma{} @copyright{} @dots{} @enddots{}
+  up->Top
 7|@geq{} @leq{} @arrow{}
  associated_anchor_command: @geq{} @leq{} @arrow{}
  associated_node: @geq{} @leq{} @arrow{}
+ section_directions:
+  next->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  prev->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  up->Top
+ toplevel_directions:
+  next->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  prev->@equiv{} @error{} @euro{} @exclamdown{} @expansion{} @minus{}
+  up->Top
 8|@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
  associated_anchor_command: @ordf{} @ordm{} @point{} @pounds{} @print{} 
@questiondown{} @registeredsymbol{}
  associated_node: @ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+ section_directions:
+  next->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  prev->@geq{} @leq{} @arrow{}
+  up->Top
+ toplevel_directions:
+  next->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  prev->@geq{} @leq{} @arrow{}
+  up->Top
 9|@result{} @textdegree{} a@tie{}b @today{} @aa{}
  associated_anchor_command: @result{} @textdegree{} a@tie{}b @today{} @aa{}
  associated_node: @result{} @textdegree{} a@tie{}b @today{} @aa{}
+ section_directions:
+  next->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  prev->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  up->Top
+ toplevel_directions:
+  next->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  prev->@ordf{} @ordm{} @point{} @pounds{} @print{} @questiondown{} 
@registeredsymbol{}
+  up->Top
 10|@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} @TH{} 
@th{}
  associated_anchor_command: @AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} 
@L{} @DH{} @dh{} @TH{} @th{}
  associated_node: @AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} 
@DH{} @dh{} @TH{} @th{}
+ section_directions:
+  next->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  prev->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  up->Top
+ toplevel_directions:
+  next->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  prev->@result{} @textdegree{} a@tie{}b @today{} @aa{}
+  up->Top
 11|@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} @ringaccent{e} 
@H{e} @ogonek{e}
  associated_anchor_command: @"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} 
@={e} @ringaccent{e} @H{e} @ogonek{e}
  associated_node: @"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+ section_directions:
+  next->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  prev->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  up->Top
+ toplevel_directions:
+  next->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  prev->@AA{} @ae{} @oe{} @AE{} @OE{} @o{} @O{} @ss{} @l{} @L{} @DH{} @dh{} 
@TH{} @th{}
+  up->Top
 12|@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
  associated_anchor_command: @dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} 
@v{e} @dotless{j} @tieaccent{ee}
  associated_node: @dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} 
@dotless{j} @tieaccent{ee}
+ section_directions:
+  next->@dotless{i} @`{@=E} @,{@\'C}
+  prev->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  up->Top
+ toplevel_directions:
+  next->@dotless{i} @`{@=E} @,{@\'C}
+  prev->@"{a} @~{e} @^{@dotless{i}} @^{a} @`{a} @\'e @,{c} @={e} 
@ringaccent{e} @H{e} @ogonek{e}
+  up->Top
 13|@dotless{i} @`{@=E} @,{@\'C}
  associated_anchor_command: @dotless{i} @`{@=E} @,{@\'C}
  associated_node: @dotless{i} @`{@=E} @,{@\'C}
+ section_directions:
+  next->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  prev->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  up->Top
+ toplevel_directions:
+  next->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  prev->@dotaccent{e} @u{e} @ubaraccent{e} @udotaccent{e} @v{e} @dotless{j} 
@tieaccent{ee}
+  up->Top
 14|@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} @quotedblbase{} 
@quotesinglbase{}
  associated_anchor_command: @quotedblleft{} @quotedblright{} @quoteleft{} 
@quoteright{} @quotedblbase{} @quotesinglbase{}
  associated_node: @quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+ section_directions:
+  next->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  prev->@dotless{i} @`{@=E} @,{@\'C}
+  up->Top
+ toplevel_directions:
+  next->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  prev->@dotless{i} @`{@=E} @,{@\'C}
+  up->Top
 15|@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
  associated_anchor_command: @guillemetleft{} @guillemetright{} 
@guillemotleft{} @guillemotright{} @guilsinglleft{} @guilsinglright{}
  associated_node: @guillemetleft{} @guillemetright{} @guillemotleft{} 
@guillemotright{} @guilsinglleft{} @guilsinglright{}
+ section_directions:
+  next->`` \'\' --- -- ` \'
+  prev->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  up->Top
+ toplevel_directions:
+  next->`` \'\' --- -- ` \'
+  prev->@quotedblleft{} @quotedblright{} @quoteleft{} @quoteright{} 
@quotedblbase{} @quotesinglbase{}
+  up->Top
 16|`` \'\' --- -- ` \'
  associated_anchor_command: `` \'\' --- -- ` \'
  associated_node: `` \'\' --- -- ` \'
+ section_directions:
+  next->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  prev->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  up->Top
+ toplevel_directions:
+  next->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  prev->@guillemetleft{} @guillemetright{} @guillemotleft{} @guillemotright{} 
@guilsinglleft{} @guilsinglright{}
+  up->Top
 17|@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
  associated_anchor_command: @acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
  associated_node: @acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+ section_directions:
+  next->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  prev->`` \'\' --- -- ` \'
+  up->Top
+ toplevel_directions:
+  next->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  prev->`` \'\' --- -- ` \'
+  up->Top
 18|@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
  associated_anchor_command: @abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
  associated_node: @abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+ section_directions:
+  next->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  prev->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  up->Top
+ toplevel_directions:
+  next->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  prev->@acronym{AAA, fff} @acronym{AAA} @acronym{BBB}
+  up->Top
 19|@email{someone@@somewher, the someone} @email{no_explain@@there}
  associated_anchor_command: @email{someone@@somewher, the someone} 
@email{no_explain@@there}
  associated_node: @email{someone@@somewher, the someone} 
@email{no_explain@@there}
+ section_directions:
+  next->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  prev->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  up->Top
+ toplevel_directions:
+  next->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  prev->@abbr{CCC, rrr} @abbr{CCC} @abbr{DDD}
+  up->Top
 20|@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
  associated_anchor_command: @image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
  associated_node: @image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+ section_directions:
+  next->@verb{. @ {} . .}
+  prev->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  up->Top
+ toplevel_directions:
+  next->@verb{. @ {} . .}
+  prev->@email{someone@@somewher, the someone} @email{no_explain@@there}
+  up->Top
 21|@verb{. @ {} . .}
  associated_anchor_command: @verb{. @ {} . .}
  associated_node: @verb{. @ {} . .}
+ section_directions:
+  next->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  prev->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  up->Top
+ toplevel_directions:
+  next->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  prev->@image{f--ile1}  @image{f--ile,aze,az,alt,e--xt}
+  up->Top
 22|@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
  associated_anchor_command: @cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} 
@sc{sc} @strong{str} @t{t} @var{var} @dfn{dfn} @i{i}
  associated_node: @cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} 
@strong{str} @t{t} @var{var} @dfn{dfn} @i{i}
+ section_directions:
+  next->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  prev->@verb{. @ {} . .}
+  up->Top
+ toplevel_directions:
+  next->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  prev->@verb{. @ {} . .}
+  up->Top
 23|@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
  associated_anchor_command: @env{env} @code{code} @option{option} @samp{samp} 
@command{command} @file{file} @kbd{C-x @key{ESC}}
  associated_node: @env{env} @code{code} @option{option} @samp{samp} 
@command{command} @file{file} @kbd{C-x @key{ESC}}
+ section_directions:
+  next->8.27@dmn{in}
+  prev->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  up->Top
+ toplevel_directions:
+  next->8.27@dmn{in}
+  prev->@cite{cite @asis{asis}} @w{in @@w @b{b}} @r{in r} @sc{sc} @strong{str} 
@t{t} @var{var} @dfn{dfn} @i{i}
+  up->Top
 24|8.27@dmn{in}
  associated_anchor_command: 8.27@dmn{in}
  associated_node: 8.27@dmn{in}
+ section_directions:
+  next->@sansserif{sansserif} @slanted{slanted}
+  prev->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  up->Top
+ toplevel_directions:
+  next->@sansserif{sansserif} @slanted{slanted}
+  prev->@env{env} @code{code} @option{option} @samp{samp} @command{command} 
@file{file} @kbd{C-x @key{ESC}}
+  up->Top
 25|@sansserif{sansserif} @slanted{slanted}
  associated_anchor_command: @sansserif{sansserif} @slanted{slanted}
  associated_node: @sansserif{sansserif} @slanted{slanted}
+ section_directions:
+  next->@indicateurl{indicateurl}
+  prev->8.27@dmn{in}
+  up->Top
+ toplevel_directions:
+  next->@indicateurl{indicateurl}
+  prev->8.27@dmn{in}
+  up->Top
 26|@indicateurl{indicateurl}
  associated_anchor_command: @indicateurl{indicateurl}
  associated_node: @indicateurl{indicateurl}
+ section_directions:
+  next->@sub{g}H 3@sup{rd}
+  prev->@sansserif{sansserif} @slanted{slanted}
+  up->Top
+ toplevel_directions:
+  next->@sub{g}H 3@sup{rd}
+  prev->@sansserif{sansserif} @slanted{slanted}
+  up->Top
 27|@sub{g}H 3@sup{rd}
  associated_anchor_command: @sub{g}H 3@sup{rd}
  associated_node: @sub{g}H 3@sup{rd}
+ section_directions:
+  next->@url{http://somewhere_aaa} @url{url, text} @uref{/man.cgi/1/ls,,ls}
+  prev->@indicateurl{indicateurl}
+  up->Top
+ toplevel_directions:
+  next->@url{http://somewhere_aaa} @url{url, text} @uref{/man.cgi/1/ls,,ls}
+  prev->@indicateurl{indicateurl}
+  up->Top
 28|@url{http://somewhere_aaa} @url{url, text} @uref{/man.cgi/1/ls,,ls}
  associated_anchor_command: @url{http://somewhere_aaa} @url{url, text} 
@uref{/man.cgi/1/ls,,ls}
  associated_node: @url{http://somewhere_aaa} @url{url, text} 
@uref{/man.cgi/1/ls,,ls}
+ section_directions:
+  prev->@sub{g}H 3@sup{rd}
+  up->Top
+ toplevel_directions:
+  prev->@sub{g}H 3@sup{rd}
+  up->Top
 ';
 
 $result_headings_list{'at_commands_in_refs_utf8'} = '';
diff --git a/tta/perl/t/results/formats_encodings/char_latin1_latin1_in_refs.pl 
b/tta/perl/t/results/formats_encodings/char_latin1_latin1_in_refs.pl
index e17114f12c..b32021a75e 100644
--- a/tta/perl/t/results/formats_encodings/char_latin1_latin1_in_refs.pl
+++ b/tta/perl/t/results/formats_encodings/char_latin1_latin1_in_refs.pl
@@ -53,7 +53,6 @@ $result_tree_text{'char_latin1_latin1_in_refs'} = 
'*document_root C14
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -166,11 +165,9 @@ $result_tree_text{'char_latin1_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -197,11 +194,9 @@ $result_tree_text{'char_latin1_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -228,11 +223,9 @@ $result_tree_text{'char_latin1_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -259,11 +252,9 @@ $result_tree_text{'char_latin1_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -290,11 +281,9 @@ $result_tree_text{'char_latin1_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -578,21 +567,60 @@ $result_nodes_list{'char_latin1_latin1_in_refs'} = '1|Top
 $result_sections_list{'char_latin1_latin1_in_refs'} = '1|accented char in 
latin1 in refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
 2|ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_anchor_command: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_node: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+ section_directions:
+  next->é
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->é
+  prev->accented char in latin1 in refs
+  up->accented char in latin1 in refs
 3|é
  associated_anchor_command: é
  associated_node: é
+ section_directions:
+  next->à è ù
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->à è ù
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->accented char in latin1 in refs
 4|à è ù
  associated_anchor_command: à è ù
  associated_node: à è ù
+ section_directions:
+  next->â ê î ô û Â Ê Î Ô Û
+  prev->é
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->â ê î ô û Â Ê Î Ô Û
+  prev->é
+  up->accented char in latin1 in refs
 5|â ê î ô û Â Ê Î Ô Û
  associated_anchor_command: â ê î ô û Â Ê Î Ô Û
  associated_node: â ê î ô û Â Ê Î Ô Û
+ section_directions:
+  next->ç
+  prev->à è ù
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->ç
+  prev->à è ù
+  up->accented char in latin1 in refs
 6|ç
  associated_anchor_command: ç
  associated_node: ç
+ section_directions:
+  prev->â ê î ô û Â Ê Î Ô Û
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  prev->â ê î ô û Â Ê Î Ô Û
+  up->accented char in latin1 in refs
 ';
 
 $result_headings_list{'char_latin1_latin1_in_refs'} = '';
diff --git a/tta/perl/t/results/formats_encodings/char_latin2_latin2_in_refs.pl 
b/tta/perl/t/results/formats_encodings/char_latin2_latin2_in_refs.pl
index fbe626d170..24bc41f3ee 100644
--- a/tta/perl/t/results/formats_encodings/char_latin2_latin2_in_refs.pl
+++ b/tta/perl/t/results/formats_encodings/char_latin2_latin2_in_refs.pl
@@ -53,7 +53,6 @@ $result_tree_text{'char_latin2_latin2_in_refs'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -133,11 +132,9 @@ $result_tree_text{'char_latin2_latin2_in_refs'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -227,9 +224,16 @@ $result_nodes_list{'char_latin2_latin2_in_refs'} = '1|Top
 $result_sections_list{'char_latin2_latin2_in_refs'} = '1|char latin2 latin2 in 
refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Ą ą ˛ Ę ę
 2|Ą ą ˛ Ę ę
  associated_anchor_command: Ą ą ˛ Ę ę
  associated_node: Ą ą ˛ Ę ę
+ section_directions:
+  up->char latin2 latin2 in refs
+ toplevel_directions:
+  prev->char latin2 latin2 in refs
+  up->char latin2 latin2 in refs
 ';
 
 $result_headings_list{'char_latin2_latin2_in_refs'} = '';
diff --git 
a/tta/perl/t/results/formats_encodings/char_us_ascii_latin1_in_refs.pl 
b/tta/perl/t/results/formats_encodings/char_us_ascii_latin1_in_refs.pl
index d5327bf49a..87615f5fb8 100644
--- a/tta/perl/t/results/formats_encodings/char_us_ascii_latin1_in_refs.pl
+++ b/tta/perl/t/results/formats_encodings/char_us_ascii_latin1_in_refs.pl
@@ -53,7 +53,6 @@ $result_tree_text{'char_us_ascii_latin1_in_refs'} = 
'*document_root C14
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -166,11 +165,9 @@ $result_tree_text{'char_us_ascii_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -197,11 +194,9 @@ $result_tree_text{'char_us_ascii_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -228,11 +223,9 @@ $result_tree_text{'char_us_ascii_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -259,11 +252,9 @@ $result_tree_text{'char_us_ascii_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -290,11 +281,9 @@ $result_tree_text{'char_us_ascii_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -578,21 +567,60 @@ $result_nodes_list{'char_us_ascii_latin1_in_refs'} = 
'1|Top
 $result_sections_list{'char_us_ascii_latin1_in_refs'} = '1|accented char in 
latin1 in refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
 2|ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_anchor_command: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_node: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+ section_directions:
+  next->é
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->é
+  prev->accented char in latin1 in refs
+  up->accented char in latin1 in refs
 3|é
  associated_anchor_command: é
  associated_node: é
+ section_directions:
+  next->à è ù
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->à è ù
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->accented char in latin1 in refs
 4|à è ù
  associated_anchor_command: à è ù
  associated_node: à è ù
+ section_directions:
+  next->â ê î ô û Â Ê Î Ô Û
+  prev->é
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->â ê î ô û Â Ê Î Ô Û
+  prev->é
+  up->accented char in latin1 in refs
 5|â ê î ô û Â Ê Î Ô Û
  associated_anchor_command: â ê î ô û Â Ê Î Ô Û
  associated_node: â ê î ô û Â Ê Î Ô Û
+ section_directions:
+  next->ç
+  prev->à è ù
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->ç
+  prev->à è ù
+  up->accented char in latin1 in refs
 6|ç
  associated_anchor_command: ç
  associated_node: ç
+ section_directions:
+  prev->â ê î ô û Â Ê Î Ô Û
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  prev->â ê î ô û Â Ê Î Ô Û
+  up->accented char in latin1 in refs
 ';
 
 $result_headings_list{'char_us_ascii_latin1_in_refs'} = '';
diff --git 
a/tta/perl/t/results/formats_encodings/char_us_ascii_latin1_in_refs_no_translit_files.pl
 
b/tta/perl/t/results/formats_encodings/char_us_ascii_latin1_in_refs_no_translit_files.pl
index 9397ac13a4..be1b10b690 100644
--- 
a/tta/perl/t/results/formats_encodings/char_us_ascii_latin1_in_refs_no_translit_files.pl
+++ 
b/tta/perl/t/results/formats_encodings/char_us_ascii_latin1_in_refs_no_translit_files.pl
@@ -53,7 +53,6 @@ 
$result_tree_text{'char_us_ascii_latin1_in_refs_no_translit_files'} = '*document
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -166,11 +165,9 @@ 
$result_tree_text{'char_us_ascii_latin1_in_refs_no_translit_files'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -197,11 +194,9 @@ 
$result_tree_text{'char_us_ascii_latin1_in_refs_no_translit_files'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -228,11 +223,9 @@ 
$result_tree_text{'char_us_ascii_latin1_in_refs_no_translit_files'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -259,11 +252,9 @@ 
$result_tree_text{'char_us_ascii_latin1_in_refs_no_translit_files'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -290,11 +281,9 @@ 
$result_tree_text{'char_us_ascii_latin1_in_refs_no_translit_files'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -578,21 +567,60 @@ 
$result_nodes_list{'char_us_ascii_latin1_in_refs_no_translit_files'} = '1|Top
 $result_sections_list{'char_us_ascii_latin1_in_refs_no_translit_files'} = 
'1|accented char in latin1 in refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
 2|ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_anchor_command: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_node: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+ section_directions:
+  next->é
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->é
+  prev->accented char in latin1 in refs
+  up->accented char in latin1 in refs
 3|é
  associated_anchor_command: é
  associated_node: é
+ section_directions:
+  next->à è ù
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->à è ù
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->accented char in latin1 in refs
 4|à è ù
  associated_anchor_command: à è ù
  associated_node: à è ù
+ section_directions:
+  next->â ê î ô û Â Ê Î Ô Û
+  prev->é
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->â ê î ô û Â Ê Î Ô Û
+  prev->é
+  up->accented char in latin1 in refs
 5|â ê î ô û Â Ê Î Ô Û
  associated_anchor_command: â ê î ô û Â Ê Î Ô Û
  associated_node: â ê î ô û Â Ê Î Ô Û
+ section_directions:
+  next->ç
+  prev->à è ù
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->ç
+  prev->à è ù
+  up->accented char in latin1 in refs
 6|ç
  associated_anchor_command: ç
  associated_node: ç
+ section_directions:
+  prev->â ê î ô û Â Ê Î Ô Û
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  prev->â ê î ô û Â Ê Î Ô Û
+  up->accented char in latin1 in refs
 ';
 
 $result_headings_list{'char_us_ascii_latin1_in_refs_no_translit_files'} = '';
diff --git a/tta/perl/t/results/formats_encodings/char_utf8_latin1_in_refs.pl 
b/tta/perl/t/results/formats_encodings/char_utf8_latin1_in_refs.pl
index 111015dd40..7de33caa21 100644
--- a/tta/perl/t/results/formats_encodings/char_utf8_latin1_in_refs.pl
+++ b/tta/perl/t/results/formats_encodings/char_utf8_latin1_in_refs.pl
@@ -53,7 +53,6 @@ $result_tree_text{'char_utf8_latin1_in_refs'} = 
'*document_root C14
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -166,11 +165,9 @@ $result_tree_text{'char_utf8_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -197,11 +194,9 @@ $result_tree_text{'char_utf8_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -228,11 +223,9 @@ $result_tree_text{'char_utf8_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -259,11 +252,9 @@ $result_tree_text{'char_utf8_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -290,11 +281,9 @@ $result_tree_text{'char_utf8_latin1_in_refs'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -578,21 +567,60 @@ $result_nodes_list{'char_utf8_latin1_in_refs'} = '1|Top
 $result_sections_list{'char_utf8_latin1_in_refs'} = '1|accented char in latin1 
in refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
 2|ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_anchor_command: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_node: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+ section_directions:
+  next->é
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->é
+  prev->accented char in latin1 in refs
+  up->accented char in latin1 in refs
 3|é
  associated_anchor_command: é
  associated_node: é
+ section_directions:
+  next->à è ù
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->à è ù
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->accented char in latin1 in refs
 4|à è ù
  associated_anchor_command: à è ù
  associated_node: à è ù
+ section_directions:
+  next->â ê î ô û Â Ê Î Ô Û
+  prev->é
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->â ê î ô û Â Ê Î Ô Û
+  prev->é
+  up->accented char in latin1 in refs
 5|â ê î ô û Â Ê Î Ô Û
  associated_anchor_command: â ê î ô û Â Ê Î Ô Û
  associated_node: â ê î ô û Â Ê Î Ô Û
+ section_directions:
+  next->ç
+  prev->à è ù
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  next->ç
+  prev->à è ù
+  up->accented char in latin1 in refs
 6|ç
  associated_anchor_command: ç
  associated_node: ç
+ section_directions:
+  prev->â ê î ô û Â Ê Î Ô Û
+  up->accented char in latin1 in refs
+ toplevel_directions:
+  prev->â ê î ô û Â Ê Î Ô Û
+  up->accented char in latin1 in refs
 ';
 
 $result_headings_list{'char_utf8_latin1_in_refs'} = '';
diff --git a/tta/perl/t/results/formats_encodings/dotless_argument_non_ascii.pl 
b/tta/perl/t/results/formats_encodings/dotless_argument_non_ascii.pl
index 08c1f0911b..395f09ee4f 100644
--- a/tta/perl/t/results/formats_encodings/dotless_argument_non_ascii.pl
+++ b/tta/perl/t/results/formats_encodings/dotless_argument_non_ascii.pl
@@ -35,7 +35,6 @@ $result_tree_text{'dotless_argument_non_ascii'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'dotless_argument_non_ascii'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -141,9 +138,16 @@ $result_nodes_list{'dotless_argument_non_ascii'} = '1|Top
 $result_sections_list{'dotless_argument_non_ascii'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'dotless_argument_non_ascii'} = '';
diff --git a/tta/perl/t/results/formats_encodings/japanese_shift_jis.pl 
b/tta/perl/t/results/formats_encodings/japanese_shift_jis.pl
index f013272d30..04547930a8 100644
--- a/tta/perl/t/results/formats_encodings/japanese_shift_jis.pl
+++ b/tta/perl/t/results/formats_encodings/japanese_shift_jis.pl
@@ -85,7 +85,6 @@ $result_tree_text{'japanese_shift_jis'} = '*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -194,11 +193,9 @@ $result_tree_text{'japanese_shift_jis'} = '*document_root 
C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -229,11 +226,9 @@ $result_tree_text{'japanese_shift_jis'} = '*document_root 
C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -362,12 +357,27 @@ $result_nodes_list{'japanese_shift_jis'} = '1|Top
 $result_sections_list{'japanese_shift_jis'} = '1|GNU LilyPond --- 学習マニュアル
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Preface
 2|Preface
  associated_anchor_command: Preface
  associated_node: Preface
+ section_directions:
+  next->Introduction
+  up->GNU LilyPond --- 学習マニュアル
+ toplevel_directions:
+  next->Introduction
+  prev->GNU LilyPond --- 学習マニュアル
+  up->GNU LilyPond --- 学習マニュアル
 3|Introduction
  associated_anchor_command: Introduction
  associated_node: Introduction
+ section_directions:
+  prev->Preface
+  up->GNU LilyPond --- 学習マニュアル
+ toplevel_directions:
+  prev->Preface
+  up->GNU LilyPond --- 学習マニュアル
 ';
 
 $result_headings_list{'japanese_shift_jis'} = '';
diff --git 
a/tta/perl/t/results/formats_encodings/manual_simple_latin1_with_error.pl 
b/tta/perl/t/results/formats_encodings/manual_simple_latin1_with_error.pl
index c02b5f4882..72326af157 100644
--- a/tta/perl/t/results/formats_encodings/manual_simple_latin1_with_error.pl
+++ b/tta/perl/t/results/formats_encodings/manual_simple_latin1_with_error.pl
@@ -52,7 +52,6 @@ $result_tree_text{'manual_simple_latin1_with_error'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,11 +93,9 @@ $result_tree_text{'manual_simple_latin1_with_error'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -177,9 +174,16 @@ $result_nodes_list{'manual_simple_latin1_with_error'} = 
'1|Top
 $result_sections_list{'manual_simple_latin1_with_error'} = '1|Testé
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapitré
 2|Chapitré
  associated_anchor_command: Chapitré
  associated_node: Chapitré
+ section_directions:
+  up->Testé
+ toplevel_directions:
+  prev->Testé
+  up->Testé
 ';
 
 $result_headings_list{'manual_simple_latin1_with_error'} = '';
diff --git 
a/tta/perl/t/results/formats_encodings/manual_simple_utf8_with_error.pl 
b/tta/perl/t/results/formats_encodings/manual_simple_utf8_with_error.pl
index 81d04955ab..54fe57ecd0 100644
--- a/tta/perl/t/results/formats_encodings/manual_simple_utf8_with_error.pl
+++ b/tta/perl/t/results/formats_encodings/manual_simple_utf8_with_error.pl
@@ -38,7 +38,6 @@ $result_tree_text{'manual_simple_utf8_with_error'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -80,11 +79,9 @@ $result_tree_text{'manual_simple_utf8_with_error'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -160,9 +157,16 @@ $result_nodes_list{'manual_simple_utf8_with_error'} = 
'1|Top
 $result_sections_list{'manual_simple_utf8_with_error'} = '1|Testé
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapitré
 2|Chapitré
  associated_anchor_command: Chapitré
  associated_node: Chapitré
+ section_directions:
+  up->Testé
+ toplevel_directions:
+  prev->Testé
+  up->Testé
 ';
 
 $result_headings_list{'manual_simple_utf8_with_error'} = '';
diff --git a/tta/perl/t/results/formats_encodings/multiple_include_encodings.pl 
b/tta/perl/t/results/formats_encodings/multiple_include_encodings.pl
index 902537f1dd..8f51291dd4 100644
--- a/tta/perl/t/results/formats_encodings/multiple_include_encodings.pl
+++ b/tta/perl/t/results/formats_encodings/multiple_include_encodings.pl
@@ -134,7 +134,6 @@ $result_tree_text{'multiple_include_encodings'} = 
'*document_root C19
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -179,11 +178,9 @@ $result_tree_text{'multiple_include_encodings'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -250,11 +247,9 @@ $result_tree_text{'multiple_include_encodings'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -288,11 +283,9 @@ $result_tree_text{'multiple_include_encodings'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E9|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -354,11 +347,9 @@ $result_tree_text{'multiple_include_encodings'} = 
'*document_root C19
   |{ }
  |EXTRA
  |section_childs:EC[E12]
- |section_directions:D[next->E14|prev->E7|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E14|prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -438,7 +429,6 @@ $result_tree_text{'multiple_include_encodings'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{4.1}
  |section_level:{2}
  |section_number:{6}
@@ -512,11 +502,9 @@ $result_tree_text{'multiple_include_encodings'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E9|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E16|prev->E9|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -613,11 +601,9 @@ $result_tree_text{'multiple_include_encodings'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[prev->E14|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1007,27 +993,76 @@ $result_nodes_list{'multiple_include_encodings'} = '1|Top
 $result_sections_list{'multiple_include_encodings'} = '1|include files with 
multiple encodings
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
 2|ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_anchor_command: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
  associated_node: ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+ section_directions:
+  next->Preface
+  up->include files with multiple encodings
+ toplevel_directions:
+  next->Preface
+  prev->include files with multiple encodings
+  up->include files with multiple encodings
 3|Preface
  associated_anchor_command: Preface
  associated_node: Preface
+ section_directions:
+  next->Introduction
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->include files with multiple encodings
+ toplevel_directions:
+  next->Introduction
+  prev->ä ë ï ö ü ÿ Ä Ë Ï Ö Ü
+  up->include files with multiple encodings
 4|Introduction
  associated_anchor_command: Introduction
  associated_node: Introduction
+ section_directions:
+  next->char latin2 latin2 in refs
+  prev->Preface
+  up->include files with multiple encodings
+ toplevel_directions:
+  next->char latin2 latin2 in refs
+  prev->Preface
+  up->include files with multiple encodings
 5|char latin2 latin2 in refs
  associated_anchor_command: char latin2 latin2
  associated_node: char latin2 latin2
+ section_directions:
+  next->Mixed english and chinese EUC-CN
+  prev->Introduction
+  up->include files with multiple encodings
+ toplevel_directions:
+  next->Mixed english and chinese EUC-CN
+  prev->Introduction
+  up->include files with multiple encodings
 6|Ą ą ˛ Ę ę
  associated_anchor_command: Ą ą ˛ Ę ę
  associated_node: Ą ą ˛ Ę ę
+ section_directions:
+  up->char latin2 latin2 in refs
 7|Mixed english and chinese EUC-CN
  associated_anchor_command: Mixed english and chinese EUC-CN
  associated_node: Mixed english and chinese EUC-CN
+ section_directions:
+  next->Mixed chinese and english utf-8
+  prev->char latin2 latin2 in refs
+  up->include files with multiple encodings
+ toplevel_directions:
+  next->Mixed chinese and english utf-8
+  prev->char latin2 latin2 in refs
+  up->include files with multiple encodings
 8|Mixed chinese and english utf-8
  associated_anchor_command: Mixed chinese and english utf-8
  associated_node: Mixed chinese and english utf-8
+ section_directions:
+  prev->Mixed english and chinese EUC-CN
+  up->include files with multiple encodings
+ toplevel_directions:
+  prev->Mixed english and chinese EUC-CN
+  up->include files with multiple encodings
 ';
 
 $result_headings_list{'multiple_include_encodings'} = '';
diff --git a/tta/perl/t/results/formats_encodings/sample_utf8.pl 
b/tta/perl/t/results/formats_encodings/sample_utf8.pl
index 55706396bb..74bf9339d3 100644
--- a/tta/perl/t/results/formats_encodings/sample_utf8.pl
+++ b/tta/perl/t/results/formats_encodings/sample_utf8.pl
@@ -152,7 +152,6 @@ $result_tree_text{'sample_utf8'} = '*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -250,11 +249,9 @@ $result_tree_text{'sample_utf8'} = '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -375,11 +372,9 @@ $result_tree_text{'sample_utf8'} = '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -410,10 +405,8 @@ $result_tree_text{'sample_utf8'} = '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E1]
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -597,15 +590,38 @@ $result_nodes_list{'sample_utf8'} = '1|Top
 $result_sections_list{'sample_utf8'} = '1|Texinfo中文示例
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->第一章(First Chapter)
 2|第一章(First Chapter)
  associated_anchor_command: 第一章(First Chapter)
  associated_node: 第一章(First Chapter)
+ section_directions:
+  next->Chapter 2 AE ĄĘ ae ąę
+  up->Texinfo中文示例
+ toplevel_directions:
+  next->Chapter 2 AE ĄĘ ae ąę
+  prev->Texinfo中文示例
+  up->Texinfo中文示例
 3|Chapter 2 AE ĄĘ ae ąę
  associated_anchor_command: Second Chapter AE ĄĘ ae ąę
  associated_node: Second Chapter AE ĄĘ ae ąę
+ section_directions:
+  next->Index
+  prev->第一章(First Chapter)
+  up->Texinfo中文示例
+ toplevel_directions:
+  next->Index
+  prev->第一章(First Chapter)
+  up->Texinfo中文示例
 4|Index
  associated_anchor_command: Index node
  associated_node: Index node
+ section_directions:
+  prev->Chapter 2 AE ĄĘ ae ąę
+  up->Texinfo中文示例
+ toplevel_directions:
+  prev->Chapter 2 AE ĄĘ ae ąę
+  up->Texinfo中文示例
 ';
 
 $result_headings_list{'sample_utf8'} = '';
diff --git a/tta/perl/t/results/formats_encodings/verb_delimiter_not_ascii.pl 
b/tta/perl/t/results/formats_encodings/verb_delimiter_not_ascii.pl
index 1a3f350394..c274f0bfda 100644
--- a/tta/perl/t/results/formats_encodings/verb_delimiter_not_ascii.pl
+++ b/tta/perl/t/results/formats_encodings/verb_delimiter_not_ascii.pl
@@ -35,7 +35,6 @@ $result_tree_text{'verb_delimiter_not_ascii'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'verb_delimiter_not_ascii'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -119,9 +116,16 @@ $result_nodes_list{'verb_delimiter_not_ascii'} = '1|Top
 $result_sections_list{'verb_delimiter_not_ascii'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'verb_delimiter_not_ascii'} = '';
diff --git a/tta/perl/t/results/formats_encodings/weird_accents.pl 
b/tta/perl/t/results/formats_encodings/weird_accents.pl
index e56f63c48a..f97ce570fa 100644
--- a/tta/perl/t/results/formats_encodings/weird_accents.pl
+++ b/tta/perl/t/results/formats_encodings/weird_accents.pl
@@ -49,7 +49,6 @@ $result_tree_text{'weird_accents'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,11 +75,9 @@ $result_tree_text{'weird_accents'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -195,9 +192,16 @@ $result_nodes_list{'weird_accents'} = '1|Top
 $result_sections_list{'weird_accents'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'weird_accents'} = '';
diff --git 
a/tta/perl/t/results/formats_encodings/weird_accents_disable_encoding.pl 
b/tta/perl/t/results/formats_encodings/weird_accents_disable_encoding.pl
index 514be441ec..19b8a59283 100644
--- a/tta/perl/t/results/formats_encodings/weird_accents_disable_encoding.pl
+++ b/tta/perl/t/results/formats_encodings/weird_accents_disable_encoding.pl
@@ -49,7 +49,6 @@ $result_tree_text{'weird_accents_disable_encoding'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,11 +75,9 @@ $result_tree_text{'weird_accents_disable_encoding'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -195,9 +192,16 @@ $result_nodes_list{'weird_accents_disable_encoding'} = 
'1|Top
 $result_sections_list{'weird_accents_disable_encoding'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'weird_accents_disable_encoding'} = '';
diff --git a/tta/perl/t/results/html_tests/U_in_index.pl 
b/tta/perl/t/results/html_tests/U_in_index.pl
index 1cb3aebfb6..3da0653d01 100644
--- a/tta/perl/t/results/html_tests/U_in_index.pl
+++ b/tta/perl/t/results/html_tests/U_in_index.pl
@@ -34,7 +34,6 @@ $result_tree_text{'U_in_index'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'U_in_index'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -186,9 +183,16 @@ $result_nodes_list{'U_in_index'} = '1|Top
 $result_sections_list{'U_in_index'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'U_in_index'} = '';
diff --git a/tta/perl/t/results/html_tests/acronym_in_node_and_section.pl 
b/tta/perl/t/results/html_tests/acronym_in_node_and_section.pl
index 3cb45e48a3..312c4e0208 100644
--- a/tta/perl/t/results/html_tests/acronym_in_node_and_section.pl
+++ b/tta/perl/t/results/html_tests/acronym_in_node_and_section.pl
@@ -34,7 +34,6 @@ $result_tree_text{'acronym_in_node_and_section'} = 
'*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'acronym_in_node_and_section'} = 
'*document_root C9
   |{ }
  |EXTRA
  |section_childs:EC[E5|E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -93,7 +90,6 @@ $result_tree_text{'acronym_in_node_and_section'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -137,7 +133,6 @@ $result_tree_text{'acronym_in_node_and_section'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5|up->E3]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -226,15 +221,28 @@ $result_nodes_list{'acronym_in_node_and_section'} = '1|top
 $result_sections_list{'acronym_in_node_and_section'} = '1|top
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|define
  associated_anchor_command: sec define
  associated_node: sec define
+ section_directions:
+  next->here is @acronym{GHJ}
+  up->chap
 4|here is @acronym{GHJ}
  associated_anchor_command: sec here is @acronym{GHJ}
  associated_node: sec here is @acronym{GHJ}
+ section_directions:
+  prev->define
+  up->chap
 ';
 
 $result_headings_list{'acronym_in_node_and_section'} = '';
diff --git a/tta/perl/t/results/html_tests/anchor_on_vtable_item.pl 
b/tta/perl/t/results/html_tests/anchor_on_vtable_item.pl
index abea014319..197895e62a 100644
--- a/tta/perl/t/results/html_tests/anchor_on_vtable_item.pl
+++ b/tta/perl/t/results/html_tests/anchor_on_vtable_item.pl
@@ -34,7 +34,6 @@ $result_tree_text{'anchor_on_vtable_item'} = '*document_root 
C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'anchor_on_vtable_item'} = '*document_root 
C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -182,11 +179,9 @@ $result_tree_text{'anchor_on_vtable_item'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -294,12 +289,27 @@ $result_nodes_list{'anchor_on_vtable_item'} = '1|Top
 $result_sections_list{'anchor_on_vtable_item'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->Idx
+  up->top
+ toplevel_directions:
+  next->Idx
+  prev->top
+  up->top
 3|Idx
  associated_anchor_command: Idx
  associated_node: Idx
+ section_directions:
+  prev->Chap
+  up->top
+ toplevel_directions:
+  prev->Chap
+  up->top
 ';
 
 $result_headings_list{'anchor_on_vtable_item'} = '';
diff --git a/tta/perl/t/results/html_tests/automatic_menus.pl 
b/tta/perl/t/results/html_tests/automatic_menus.pl
index 57e5bae548..c715335975 100644
--- a/tta/perl/t/results/html_tests/automatic_menus.pl
+++ b/tta/perl/t/results/html_tests/automatic_menus.pl
@@ -34,7 +34,6 @@ $result_tree_text{'automatic_menus'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'automatic_menus'} = '*document_root C9
   |{ }
  |EXTRA
  |section_childs:EC[E6|E9]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,7 +99,6 @@ $result_tree_text{'automatic_menus'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -141,7 +137,6 @@ $result_tree_text{'automatic_menus'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E3]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -216,15 +211,28 @@ $result_nodes_list{'automatic_menus'} = '1|Top
 $result_sections_list{'automatic_menus'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|A section
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  next->Sec after
+  up->Chap
 4|Sec after
  associated_anchor_command: sec after
  associated_node: sec after
+ section_directions:
+  prev->A section
+  up->Chap
 ';
 
 $result_headings_list{'automatic_menus'} = '';
diff --git 
a/tta/perl/t/results/html_tests/automatic_menus_format_menu_no_detailmenu.pl 
b/tta/perl/t/results/html_tests/automatic_menus_format_menu_no_detailmenu.pl
index 8efd1e4009..fe8217751e 100644
--- a/tta/perl/t/results/html_tests/automatic_menus_format_menu_no_detailmenu.pl
+++ b/tta/perl/t/results/html_tests/automatic_menus_format_menu_no_detailmenu.pl
@@ -34,7 +34,6 @@ 
$result_tree_text{'automatic_menus_format_menu_no_detailmenu'} = '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ 
$result_tree_text{'automatic_menus_format_menu_no_detailmenu'} = '*document_root
   |{ }
  |EXTRA
  |section_childs:EC[E6|E9]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,7 +99,6 @@ 
$result_tree_text{'automatic_menus_format_menu_no_detailmenu'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -141,7 +137,6 @@ 
$result_tree_text{'automatic_menus_format_menu_no_detailmenu'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E3]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -216,15 +211,28 @@ 
$result_nodes_list{'automatic_menus_format_menu_no_detailmenu'} = '1|Top
 $result_sections_list{'automatic_menus_format_menu_no_detailmenu'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|A section
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  next->Sec after
+  up->Chap
 4|Sec after
  associated_anchor_command: sec after
  associated_node: sec after
+ section_directions:
+  prev->A section
+  up->Chap
 ';
 
 $result_headings_list{'automatic_menus_format_menu_no_detailmenu'} = '';
diff --git a/tta/perl/t/results/html_tests/character_number_leading_toc_stoc.pl 
b/tta/perl/t/results/html_tests/character_number_leading_toc_stoc.pl
index c558ed2b18..8114b5d58e 100644
--- a/tta/perl/t/results/html_tests/character_number_leading_toc_stoc.pl
+++ b/tta/perl/t/results/html_tests/character_number_leading_toc_stoc.pl
@@ -20,7 +20,6 @@ $result_tree_text{'character_number_leading_toc_stoc'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -32,11 +31,9 @@ $result_tree_text{'character_number_leading_toc_stoc'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2|up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E2|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -49,10 +46,8 @@ $result_tree_text{'character_number_leading_toc_stoc'} = 
'*document_root C5
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[prev->E1|up->E0]
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -64,7 +59,6 @@ $result_tree_text{'character_number_leading_toc_stoc'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_level:{2}
  |section_number:{4}
   *arguments_line C1
@@ -118,9 +112,26 @@ $result_errors{'character_number_leading_toc_stoc'} = [];
 $result_nodes_list{'character_number_leading_toc_stoc'} = '';
 
 $result_sections_list{'character_number_leading_toc_stoc'} = '1|top
+ toplevel_directions:
+  next->0
 2|0
+ section_directions:
+  next->_
+  up->top
+ toplevel_directions:
+  next->_
+  prev->top
+  up->top
 3|_
+ section_directions:
+  prev->0
+  up->top
+ toplevel_directions:
+  prev->0
+  up->top
 4|?
+ section_directions:
+  up->_
 ';
 
 $result_headings_list{'character_number_leading_toc_stoc'} = '';
diff --git a/tta/perl/t/results/html_tests/check_htmlxref.pl 
b/tta/perl/t/results/html_tests/check_htmlxref.pl
index ec9d9e5b76..ad99ec6849 100644
--- a/tta/perl/t/results/html_tests/check_htmlxref.pl
+++ b/tta/perl/t/results/html_tests/check_htmlxref.pl
@@ -60,7 +60,6 @@ $result_tree_text{'check_htmlxref'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -226,11 +225,9 @@ $result_tree_text{'check_htmlxref'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -329,9 +326,16 @@ $result_nodes_list{'check_htmlxref'} = '1|Top
 $result_sections_list{'check_htmlxref'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'check_htmlxref'} = '';
diff --git a/tta/perl/t/results/html_tests/check_htmlxref_ignore_ref_top_up.pl 
b/tta/perl/t/results/html_tests/check_htmlxref_ignore_ref_top_up.pl
index 7da68c37a2..1347b79fdb 100644
--- a/tta/perl/t/results/html_tests/check_htmlxref_ignore_ref_top_up.pl
+++ b/tta/perl/t/results/html_tests/check_htmlxref_ignore_ref_top_up.pl
@@ -60,7 +60,6 @@ $result_tree_text{'check_htmlxref_ignore_ref_top_up'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -226,11 +225,9 @@ $result_tree_text{'check_htmlxref_ignore_ref_top_up'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -329,9 +326,16 @@ $result_nodes_list{'check_htmlxref_ignore_ref_top_up'} = 
'1|Top
 $result_sections_list{'check_htmlxref_ignore_ref_top_up'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'check_htmlxref_ignore_ref_top_up'} = '';
diff --git a/tta/perl/t/results/html_tests/check_htmlxref_menu.pl 
b/tta/perl/t/results/html_tests/check_htmlxref_menu.pl
index 4c10f156f3..1bc470a67f 100644
--- a/tta/perl/t/results/html_tests/check_htmlxref_menu.pl
+++ b/tta/perl/t/results/html_tests/check_htmlxref_menu.pl
@@ -62,7 +62,6 @@ $result_tree_text{'check_htmlxref_menu'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -228,11 +227,9 @@ $result_tree_text{'check_htmlxref_menu'} = '*document_root 
C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -330,9 +327,16 @@ $result_nodes_list{'check_htmlxref_menu'} = '1|Top
 $result_sections_list{'check_htmlxref_menu'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'check_htmlxref_menu'} = '';
diff --git a/tta/perl/t/results/html_tests/check_htmlxref_no_use_nodes.pl 
b/tta/perl/t/results/html_tests/check_htmlxref_no_use_nodes.pl
index c76792bf16..ef16583af8 100644
--- a/tta/perl/t/results/html_tests/check_htmlxref_no_use_nodes.pl
+++ b/tta/perl/t/results/html_tests/check_htmlxref_no_use_nodes.pl
@@ -62,7 +62,6 @@ $result_tree_text{'check_htmlxref_no_use_nodes'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -228,11 +227,9 @@ $result_tree_text{'check_htmlxref_no_use_nodes'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -330,9 +327,16 @@ $result_nodes_list{'check_htmlxref_no_use_nodes'} = '1|Top
 $result_sections_list{'check_htmlxref_no_use_nodes'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'check_htmlxref_no_use_nodes'} = '';
diff --git a/tta/perl/t/results/html_tests/contents_at_end.pl 
b/tta/perl/t/results/html_tests/contents_at_end.pl
index bb8e938cac..ec745a5324 100644
--- a/tta/perl/t/results/html_tests/contents_at_end.pl
+++ b/tta/perl/t/results/html_tests/contents_at_end.pl
@@ -38,7 +38,6 @@ $result_tree_text{'contents_at_end'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,11 +96,9 @@ $result_tree_text{'contents_at_end'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -179,9 +176,16 @@ $result_nodes_list{'contents_at_end'} = '1|Top
 $result_sections_list{'contents_at_end'} = '1|Contents at end
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents at end
+ toplevel_directions:
+  prev->Contents at end
+  up->Contents at end
 ';
 
 $result_headings_list{'contents_at_end'} = '';
diff --git a/tta/perl/t/results/html_tests/contents_at_end_inline.pl 
b/tta/perl/t/results/html_tests/contents_at_end_inline.pl
index 53d3a16a60..d1820f79c8 100644
--- a/tta/perl/t/results/html_tests/contents_at_end_inline.pl
+++ b/tta/perl/t/results/html_tests/contents_at_end_inline.pl
@@ -38,7 +38,6 @@ $result_tree_text{'contents_at_end_inline'} = '*document_root 
C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,11 +96,9 @@ $result_tree_text{'contents_at_end_inline'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -179,9 +176,16 @@ $result_nodes_list{'contents_at_end_inline'} = '1|Top
 $result_sections_list{'contents_at_end_inline'} = '1|Contents at end
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents at end
+ toplevel_directions:
+  prev->Contents at end
+  up->Contents at end
 ';
 
 $result_headings_list{'contents_at_end_inline'} = '';
diff --git a/tta/perl/t/results/html_tests/contents_at_end_separate_element.pl 
b/tta/perl/t/results/html_tests/contents_at_end_separate_element.pl
index 72c676a2b7..afc13ee938 100644
--- a/tta/perl/t/results/html_tests/contents_at_end_separate_element.pl
+++ b/tta/perl/t/results/html_tests/contents_at_end_separate_element.pl
@@ -38,7 +38,6 @@ $result_tree_text{'contents_at_end_separate_element'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,11 +96,9 @@ $result_tree_text{'contents_at_end_separate_element'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -179,9 +176,16 @@ $result_nodes_list{'contents_at_end_separate_element'} = 
'1|Top
 $result_sections_list{'contents_at_end_separate_element'} = '1|Contents at end
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents at end
+ toplevel_directions:
+  prev->Contents at end
+  up->Contents at end
 ';
 
 $result_headings_list{'contents_at_end_separate_element'} = '';
diff --git a/tta/perl/t/results/html_tests/contents_in_middle_chapter.pl 
b/tta/perl/t/results/html_tests/contents_in_middle_chapter.pl
index 20d078f108..2bccbf2a60 100644
--- a/tta/perl/t/results/html_tests/contents_in_middle_chapter.pl
+++ b/tta/perl/t/results/html_tests/contents_in_middle_chapter.pl
@@ -38,7 +38,6 @@ $result_tree_text{'contents_in_middle_chapter'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ $result_tree_text{'contents_in_middle_chapter'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -165,7 +162,6 @@ $result_tree_text{'contents_in_middle_chapter'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -267,12 +263,21 @@ $result_nodes_list{'contents_in_middle_chapter'} = '1|Top
 $result_sections_list{'contents_in_middle_chapter'} = '1|Contents in chapter
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents in chapter
+ toplevel_directions:
+  prev->Contents in chapter
+  up->Contents in chapter
 3|section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'contents_in_middle_chapter'} = '';
diff --git a/tta/perl/t/results/html_tests/contents_in_middle_chapter_inline.pl 
b/tta/perl/t/results/html_tests/contents_in_middle_chapter_inline.pl
index 3a602118b9..6bd68a95fa 100644
--- a/tta/perl/t/results/html_tests/contents_in_middle_chapter_inline.pl
+++ b/tta/perl/t/results/html_tests/contents_in_middle_chapter_inline.pl
@@ -38,7 +38,6 @@ $result_tree_text{'contents_in_middle_chapter_inline'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ $result_tree_text{'contents_in_middle_chapter_inline'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -165,7 +162,6 @@ $result_tree_text{'contents_in_middle_chapter_inline'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -267,12 +263,21 @@ $result_nodes_list{'contents_in_middle_chapter_inline'} = 
'1|Top
 $result_sections_list{'contents_in_middle_chapter_inline'} = '1|Contents in 
chapter
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents in chapter
+ toplevel_directions:
+  prev->Contents in chapter
+  up->Contents in chapter
 3|section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'contents_in_middle_chapter_inline'} = '';
diff --git 
a/tta/perl/t/results/html_tests/contents_in_middle_chapter_separate_element.pl 
b/tta/perl/t/results/html_tests/contents_in_middle_chapter_separate_element.pl
index 600de09f64..20d7c0cfd4 100644
--- 
a/tta/perl/t/results/html_tests/contents_in_middle_chapter_separate_element.pl
+++ 
b/tta/perl/t/results/html_tests/contents_in_middle_chapter_separate_element.pl
@@ -38,7 +38,6 @@ 
$result_tree_text{'contents_in_middle_chapter_separate_element'} = '*document_ro
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ 
$result_tree_text{'contents_in_middle_chapter_separate_element'} = '*document_ro
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -165,7 +162,6 @@ 
$result_tree_text{'contents_in_middle_chapter_separate_element'} = '*document_ro
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -267,12 +263,21 @@ 
$result_nodes_list{'contents_in_middle_chapter_separate_element'} = '1|Top
 $result_sections_list{'contents_in_middle_chapter_separate_element'} = 
'1|Contents in chapter
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents in chapter
+ toplevel_directions:
+  prev->Contents in chapter
+  up->Contents in chapter
 3|section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'contents_in_middle_chapter_separate_element'} = '';
diff --git a/tta/perl/t/results/html_tests/contents_in_middle_section.pl 
b/tta/perl/t/results/html_tests/contents_in_middle_section.pl
index e290a40dad..d90e106e00 100644
--- a/tta/perl/t/results/html_tests/contents_in_middle_section.pl
+++ b/tta/perl/t/results/html_tests/contents_in_middle_section.pl
@@ -38,7 +38,6 @@ $result_tree_text{'contents_in_middle_section'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ $result_tree_text{'contents_in_middle_section'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7|E9]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'contents_in_middle_section'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -207,7 +203,6 @@ $result_tree_text{'contents_in_middle_section'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E4]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -331,15 +326,28 @@ $result_nodes_list{'contents_in_middle_section'} = '1|Top
 $result_sections_list{'contents_in_middle_section'} = '1|Contents in section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents in section
+ toplevel_directions:
+  prev->Contents in section
+  up->Contents in section
 3|section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  next->section 1
+  up->Chapter 1
 4|section 1
  associated_anchor_command: section1
  associated_node: section1
+ section_directions:
+  prev->section
+  up->Chapter 1
 ';
 
 $result_headings_list{'contents_in_middle_section'} = '';
diff --git a/tta/perl/t/results/html_tests/contents_in_middle_section_inline.pl 
b/tta/perl/t/results/html_tests/contents_in_middle_section_inline.pl
index 10ac16d431..e420b56df9 100644
--- a/tta/perl/t/results/html_tests/contents_in_middle_section_inline.pl
+++ b/tta/perl/t/results/html_tests/contents_in_middle_section_inline.pl
@@ -38,7 +38,6 @@ $result_tree_text{'contents_in_middle_section_inline'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ $result_tree_text{'contents_in_middle_section_inline'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7|E9]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'contents_in_middle_section_inline'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -207,7 +203,6 @@ $result_tree_text{'contents_in_middle_section_inline'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E4]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -331,15 +326,28 @@ $result_nodes_list{'contents_in_middle_section_inline'} = 
'1|Top
 $result_sections_list{'contents_in_middle_section_inline'} = '1|Contents in 
section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents in section
+ toplevel_directions:
+  prev->Contents in section
+  up->Contents in section
 3|section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  next->section 1
+  up->Chapter 1
 4|section 1
  associated_anchor_command: section1
  associated_node: section1
+ section_directions:
+  prev->section
+  up->Chapter 1
 ';
 
 $result_headings_list{'contents_in_middle_section_inline'} = '';
diff --git 
a/tta/perl/t/results/html_tests/contents_in_middle_section_separate_element.pl 
b/tta/perl/t/results/html_tests/contents_in_middle_section_separate_element.pl
index a9ef6d7ebe..b5d23ad1d9 100644
--- 
a/tta/perl/t/results/html_tests/contents_in_middle_section_separate_element.pl
+++ 
b/tta/perl/t/results/html_tests/contents_in_middle_section_separate_element.pl
@@ -38,7 +38,6 @@ 
$result_tree_text{'contents_in_middle_section_separate_element'} = '*document_ro
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ 
$result_tree_text{'contents_in_middle_section_separate_element'} = '*document_ro
   |{ }
  |EXTRA
  |section_childs:EC[E7|E9]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ 
$result_tree_text{'contents_in_middle_section_separate_element'} = '*document_ro
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -207,7 +203,6 @@ 
$result_tree_text{'contents_in_middle_section_separate_element'} = '*document_ro
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E4]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -331,15 +326,28 @@ 
$result_nodes_list{'contents_in_middle_section_separate_element'} = '1|Top
 $result_sections_list{'contents_in_middle_section_separate_element'} = 
'1|Contents in section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Contents in section
+ toplevel_directions:
+  prev->Contents in section
+  up->Contents in section
 3|section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  next->section 1
+  up->Chapter 1
 4|section 1
  associated_anchor_command: section1
  associated_node: section1
+ section_directions:
+  prev->section
+  up->Chapter 1
 ';
 
 $result_headings_list{'contents_in_middle_section_separate_element'} = '';
diff --git 
a/tta/perl/t/results/html_tests/deftypefnnewline_for_copying_after.pl 
b/tta/perl/t/results/html_tests/deftypefnnewline_for_copying_after.pl
index fb7233c346..285279212a 100644
--- a/tta/perl/t/results/html_tests/deftypefnnewline_for_copying_after.pl
+++ b/tta/perl/t/results/html_tests/deftypefnnewline_for_copying_after.pl
@@ -124,7 +124,6 @@ $result_tree_text{'deftypefnnewline_for_copying_after'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -151,11 +150,9 @@ $result_tree_text{'deftypefnnewline_for_copying_after'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -275,9 +272,16 @@ $result_nodes_list{'deftypefnnewline_for_copying_after'} = 
'1|Top
 $result_sections_list{'deftypefnnewline_for_copying_after'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'deftypefnnewline_for_copying_after'} = '';
diff --git 
a/tta/perl/t/results/html_tests/deftypefnnewline_for_copying_before.pl 
b/tta/perl/t/results/html_tests/deftypefnnewline_for_copying_before.pl
index 28c590216f..025bf59eea 100644
--- a/tta/perl/t/results/html_tests/deftypefnnewline_for_copying_before.pl
+++ b/tta/perl/t/results/html_tests/deftypefnnewline_for_copying_before.pl
@@ -115,7 +115,6 @@ $result_tree_text{'deftypefnnewline_for_copying_before'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -142,11 +141,9 @@ $result_tree_text{'deftypefnnewline_for_copying_before'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -262,9 +259,16 @@ $result_nodes_list{'deftypefnnewline_for_copying_before'} 
= '1|Top
 $result_sections_list{'deftypefnnewline_for_copying_before'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'deftypefnnewline_for_copying_before'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents.pl 
b/tta/perl/t/results/html_tests/double_contents.pl
index e4ea9758ad..d3bf9b2bd2 100644
--- a/tta/perl/t/results/html_tests/double_contents.pl
+++ b/tta/perl/t/results/html_tests/double_contents.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents'} = '*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents'} = '*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents'} = '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents'} = '1|Top
 $result_sections_list{'double_contents'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_after_title.pl 
b/tta/perl/t/results/html_tests/double_contents_after_title.pl
index bfbef41a7c..1a8e1cfc90 100644
--- a/tta/perl/t/results/html_tests/double_contents_after_title.pl
+++ b/tta/perl/t/results/html_tests/double_contents_after_title.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_after_title'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_after_title'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_after_title'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_after_title'} = '1|Top
 $result_sections_list{'double_contents_after_title'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_after_title'} = '';
diff --git 
a/tta/perl/t/results/html_tests/double_contents_after_title_show_title.pl 
b/tta/perl/t/results/html_tests/double_contents_after_title_show_title.pl
index dc11f94cbf..a1db5cfdbf 100644
--- a/tta/perl/t/results/html_tests/double_contents_after_title_show_title.pl
+++ b/tta/perl/t/results/html_tests/double_contents_after_title_show_title.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_after_title_show_title'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ 
$result_tree_text{'double_contents_after_title_show_title'} = '*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_after_title_show_title'} 
= '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ 
$result_nodes_list{'double_contents_after_title_show_title'} = '1|Top
 $result_sections_list{'double_contents_after_title_show_title'} = '1|Double 
contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_after_title_show_title'} = '';
diff --git 
a/tta/perl/t/results/html_tests/double_contents_after_title_show_title_nodes.pl 
b/tta/perl/t/results/html_tests/double_contents_after_title_show_title_nodes.pl
index 71828535bc..2d1927c972 100644
--- 
a/tta/perl/t/results/html_tests/double_contents_after_title_show_title_nodes.pl
+++ 
b/tta/perl/t/results/html_tests/double_contents_after_title_show_title_nodes.pl
@@ -43,7 +43,6 @@ 
$result_tree_text{'double_contents_after_title_show_title_nodes'} = '*document_r
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ 
$result_tree_text{'double_contents_after_title_show_title_nodes'} = '*document_r
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ 
$result_tree_text{'double_contents_after_title_show_title_nodes'} = '*document_r
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ 
$result_nodes_list{'double_contents_after_title_show_title_nodes'} = '1|Top
 $result_sections_list{'double_contents_after_title_show_title_nodes'} = 
'1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_after_title_show_title_nodes'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_book.pl 
b/tta/perl/t/results/html_tests/double_contents_book.pl
index f2ded694e2..d5cbe5b9e4 100644
--- a/tta/perl/t/results/html_tests/double_contents_book.pl
+++ b/tta/perl/t/results/html_tests/double_contents_book.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_book'} = '*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_book'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_book'} = '*document_root 
C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_book'} = '1|Top
 $result_sections_list{'double_contents_book'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_book'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_chapter.pl 
b/tta/perl/t/results/html_tests/double_contents_chapter.pl
index c0203a7eb6..c1169fda4e 100644
--- a/tta/perl/t/results/html_tests/double_contents_chapter.pl
+++ b/tta/perl/t/results/html_tests/double_contents_chapter.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_chapter'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_chapter'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_chapter'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_chapter'} = '1|Top
 $result_sections_list{'double_contents_chapter'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_chapter'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_inline.pl 
b/tta/perl/t/results/html_tests/double_contents_inline.pl
index 628f144e82..80acac4aa4 100644
--- a/tta/perl/t/results/html_tests/double_contents_inline.pl
+++ b/tta/perl/t/results/html_tests/double_contents_inline.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_inline'} = '*document_root 
C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_inline'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_inline'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_inline'} = '1|Top
 $result_sections_list{'double_contents_inline'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_inline'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_inline_chapter.pl 
b/tta/perl/t/results/html_tests/double_contents_inline_chapter.pl
index a4a1c5e0fc..495fab24d7 100644
--- a/tta/perl/t/results/html_tests/double_contents_inline_chapter.pl
+++ b/tta/perl/t/results/html_tests/double_contents_inline_chapter.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_inline_chapter'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_inline_chapter'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_inline_chapter'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_inline_chapter'} = 
'1|Top
 $result_sections_list{'double_contents_inline_chapter'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_inline_chapter'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_inline_nodes.pl 
b/tta/perl/t/results/html_tests/double_contents_inline_nodes.pl
index 669d64b470..80bc7ad1f6 100644
--- a/tta/perl/t/results/html_tests/double_contents_inline_nodes.pl
+++ b/tta/perl/t/results/html_tests/double_contents_inline_nodes.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_inline_nodes'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_inline_nodes'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_inline_nodes'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_inline_nodes'} = 
'1|Top
 $result_sections_list{'double_contents_inline_nodes'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_inline_nodes'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_inline_section.pl 
b/tta/perl/t/results/html_tests/double_contents_inline_section.pl
index 1edf7afa61..60745c3cc2 100644
--- a/tta/perl/t/results/html_tests/double_contents_inline_section.pl
+++ b/tta/perl/t/results/html_tests/double_contents_inline_section.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_inline_section'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_inline_section'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_inline_section'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_inline_section'} = 
'1|Top
 $result_sections_list{'double_contents_inline_section'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_inline_section'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_nodes.pl 
b/tta/perl/t/results/html_tests/double_contents_nodes.pl
index 0f8187f235..dc0a587309 100644
--- a/tta/perl/t/results/html_tests/double_contents_nodes.pl
+++ b/tta/perl/t/results/html_tests/double_contents_nodes.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_nodes'} = '*document_root 
C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_nodes'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_nodes'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_nodes'} = '1|Top
 $result_sections_list{'double_contents_nodes'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_nodes'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_section.pl 
b/tta/perl/t/results/html_tests/double_contents_section.pl
index 4f397b85b4..1033b3a0d2 100644
--- a/tta/perl/t/results/html_tests/double_contents_section.pl
+++ b/tta/perl/t/results/html_tests/double_contents_section.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_section'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_section'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_section'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_section'} = '1|Top
 $result_sections_list{'double_contents_section'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_section'} = '';
diff --git a/tta/perl/t/results/html_tests/double_contents_separate_element.pl 
b/tta/perl/t/results/html_tests/double_contents_separate_element.pl
index 47f5906262..cd3358d5b6 100644
--- a/tta/perl/t/results/html_tests/double_contents_separate_element.pl
+++ b/tta/perl/t/results/html_tests/double_contents_separate_element.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_separate_element'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ $result_tree_text{'double_contents_separate_element'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_separate_element'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ $result_nodes_list{'double_contents_separate_element'} = 
'1|Top
 $result_sections_list{'double_contents_separate_element'} = '1|Double contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_separate_element'} = '';
diff --git 
a/tta/perl/t/results/html_tests/double_contents_separate_element_chapter.pl 
b/tta/perl/t/results/html_tests/double_contents_separate_element_chapter.pl
index 0dc396738a..cac4ea568d 100644
--- a/tta/perl/t/results/html_tests/double_contents_separate_element_chapter.pl
+++ b/tta/perl/t/results/html_tests/double_contents_separate_element_chapter.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_separate_element_chapter'} 
= '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ 
$result_tree_text{'double_contents_separate_element_chapter'} = '*document_root
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ 
$result_tree_text{'double_contents_separate_element_chapter'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ 
$result_nodes_list{'double_contents_separate_element_chapter'} = '1|Top
 $result_sections_list{'double_contents_separate_element_chapter'} = '1|Double 
contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_separate_element_chapter'} = '';
diff --git 
a/tta/perl/t/results/html_tests/double_contents_separate_element_nodes.pl 
b/tta/perl/t/results/html_tests/double_contents_separate_element_nodes.pl
index 3b8188ca2e..5ed47c1095 100644
--- a/tta/perl/t/results/html_tests/double_contents_separate_element_nodes.pl
+++ b/tta/perl/t/results/html_tests/double_contents_separate_element_nodes.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_separate_element_nodes'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ 
$result_tree_text{'double_contents_separate_element_nodes'} = '*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ $result_tree_text{'double_contents_separate_element_nodes'} 
= '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ 
$result_nodes_list{'double_contents_separate_element_nodes'} = '1|Top
 $result_sections_list{'double_contents_separate_element_nodes'} = '1|Double 
contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_separate_element_nodes'} = '';
diff --git 
a/tta/perl/t/results/html_tests/double_contents_separate_element_section.pl 
b/tta/perl/t/results/html_tests/double_contents_separate_element_section.pl
index 79f513b141..c6ee5a60fa 100644
--- a/tta/perl/t/results/html_tests/double_contents_separate_element_section.pl
+++ b/tta/perl/t/results/html_tests/double_contents_separate_element_section.pl
@@ -43,7 +43,6 @@ $result_tree_text{'double_contents_separate_element_section'} 
= '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,11 +102,9 @@ 
$result_tree_text{'double_contents_separate_element_section'} = '*document_root
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,7 +167,6 @@ 
$result_tree_text{'double_contents_separate_element_section'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -273,12 +269,21 @@ 
$result_nodes_list{'double_contents_separate_element_section'} = '1|Top
 $result_sections_list{'double_contents_separate_element_section'} = '1|Double 
contents
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Double contents
+ toplevel_directions:
+  prev->Double contents
+  up->Double contents
 3|section with contents
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->Chapter 1
 ';
 
 $result_headings_list{'double_contents_separate_element_section'} = '';
diff --git 
a/tta/perl/t/results/html_tests/double_recursive_self_section_reference_node_no_use_node.pl
 
b/tta/perl/t/results/html_tests/double_recursive_self_section_reference_node_no_use_node.pl
index cc12d798e5..97ef122418 100644
--- 
a/tta/perl/t/results/html_tests/double_recursive_self_section_reference_node_no_use_node.pl
+++ 
b/tta/perl/t/results/html_tests/double_recursive_self_section_reference_node_no_use_node.pl
@@ -27,7 +27,6 @@ 
$result_tree_text{'double_recursive_self_section_reference_node_no_use_node'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{1}
@@ -36,7 +35,6 @@ 
$result_tree_text{'double_recursive_self_section_reference_node_no_use_node'} =
   ||EXTRA
   ||section_childs:EC[E1|E3]
   ||section_level:{0}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -68,11 +66,9 @@ 
$result_tree_text{'double_recursive_self_section_reference_node_no_use_node'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -120,9 +116,17 @@ 
$result_nodes_list{'double_recursive_self_section_reference_node_no_use_node'} =
 
$result_sections_list{'double_recursive_self_section_reference_node_no_use_node'}
 = '1|@ref{n2}
  associated_anchor_command: n1
  associated_node: n1
+ section_directions:
+  next->@ref{n1}
+ toplevel_directions:
+  next->@ref{n1}
 2|@ref{n1}
  associated_anchor_command: n2
  associated_node: n2
+ section_directions:
+  prev->@ref{n2}
+ toplevel_directions:
+  prev->@ref{n2}
 ';
 
 
$result_headings_list{'double_recursive_self_section_reference_node_no_use_node'}
 = '';
diff --git a/tta/perl/t/results/html_tests/empty_chapter_in_html_title.pl 
b/tta/perl/t/results/html_tests/empty_chapter_in_html_title.pl
index 32aedd8f18..368ee63416 100644
--- a/tta/perl/t/results/html_tests/empty_chapter_in_html_title.pl
+++ b/tta/perl/t/results/html_tests/empty_chapter_in_html_title.pl
@@ -35,7 +35,6 @@ $result_tree_text{'empty_chapter_in_html_title'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -59,11 +58,9 @@ $result_tree_text{'empty_chapter_in_html_title'} = 
'*document_root C5
     {chap}
  *3 @chapter C1 l5
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg
    |INFO
@@ -114,9 +111,16 @@ $result_nodes_list{'empty_chapter_in_html_title'} = '1|Top
 $result_sections_list{'empty_chapter_in_html_title'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->
 2
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'empty_chapter_in_html_title'} = '';
diff --git 
a/tta/perl/t/results/html_tests/empty_chapter_in_html_title_no_node_no_use_nodes.pl
 
b/tta/perl/t/results/html_tests/empty_chapter_in_html_title_no_node_no_use_nodes.pl
index bfcc84acc5..c25b489321 100644
--- 
a/tta/perl/t/results/html_tests/empty_chapter_in_html_title_no_node_no_use_nodes.pl
+++ 
b/tta/perl/t/results/html_tests/empty_chapter_in_html_title_no_node_no_use_nodes.pl
@@ -35,7 +35,6 @@ 
$result_tree_text{'empty_chapter_in_html_title_no_node_no_use_nodes'} = '*docume
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -45,11 +44,9 @@ 
$result_tree_text{'empty_chapter_in_html_title_no_node_no_use_nodes'} = '*docume
   {empty_line:\\n}
  *2 @chapter C1 l4
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg
    |INFO
@@ -91,7 +88,14 @@ 
$result_nodes_list{'empty_chapter_in_html_title_no_node_no_use_nodes'} = '1|Top
 $result_sections_list{'empty_chapter_in_html_title_no_node_no_use_nodes'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->
 2
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'empty_chapter_in_html_title_no_node_no_use_nodes'} = '';
diff --git 
a/tta/perl/t/results/html_tests/empty_node_in_html_title_no_sec_name.pl 
b/tta/perl/t/results/html_tests/empty_node_in_html_title_no_sec_name.pl
index 236c08976e..d6860cf80e 100644
--- a/tta/perl/t/results/html_tests/empty_node_in_html_title_no_sec_name.pl
+++ b/tta/perl/t/results/html_tests/empty_node_in_html_title_no_sec_name.pl
@@ -35,7 +35,6 @@ $result_tree_text{'empty_node_in_html_title_no_sec_name'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,11 +53,9 @@ $result_tree_text{'empty_node_in_html_title_no_sec_name'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,7 +99,14 @@ $result_nodes_list{'empty_node_in_html_title_no_sec_name'} 
= '1|Top
 $result_sections_list{'empty_node_in_html_title_no_sec_name'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'empty_node_in_html_title_no_sec_name'} = '';
diff --git 
a/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_node.pl 
b/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_node.pl
index 40a47b7dba..6d5e90dfac 100644
--- a/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_node.pl
+++ b/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_node.pl
@@ -35,7 +35,6 @@ $result_tree_text{'file_name_case_insensitive_conflict_node'} 
= '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -63,11 +62,9 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_node'} = '*document_root
   |{ }
  |EXTRA
  |section_childs:EC[E6|E8|E10]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,7 +99,6 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_node'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -132,7 +128,6 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_node'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E3]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -162,7 +157,6 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_node'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E8|up->E3]
  |section_heading_number:{1.3}
  |section_level:{2}
  |section_number:{5}
@@ -275,18 +269,35 @@ 
$result_nodes_list{'file_name_case_insensitive_conflict_node'} = '1|Top
 $result_sections_list{'file_name_case_insensitive_conflict_node'} = '1|top 
section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 3|Foo
  associated_anchor_command: Foo
  associated_node: Foo
+ section_directions:
+  next->Bar
+  up->Chapter
 4|Bar
  associated_anchor_command: Bar
  associated_node: Bar
+ section_directions:
+  next->foo
+  prev->Foo
+  up->Chapter
 5|foo
  associated_anchor_command: foo
  associated_node: foo
+ section_directions:
+  prev->Bar
+  up->Chapter
 ';
 
 $result_headings_list{'file_name_case_insensitive_conflict_node'} = '';
diff --git 
a/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_node_no_redirections.pl
 
b/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_node_no_redirections.pl
index 1cd8e578bf..96cdc83180 100644
--- 
a/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_node_no_redirections.pl
+++ 
b/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_node_no_redirections.pl
@@ -35,7 +35,6 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_node_no_redirections'} =
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -63,11 +62,9 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_node_no_redirections'} =
   |{ }
  |EXTRA
  |section_childs:EC[E6|E8|E10]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,7 +99,6 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_node_no_redirections'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -132,7 +128,6 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_node_no_redirections'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E3]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -162,7 +157,6 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_node_no_redirections'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E8|up->E3]
  |section_heading_number:{1.3}
  |section_level:{2}
  |section_number:{5}
@@ -275,18 +269,35 @@ 
$result_nodes_list{'file_name_case_insensitive_conflict_node_no_redirections'} =
 
$result_sections_list{'file_name_case_insensitive_conflict_node_no_redirections'}
 = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 3|Foo
  associated_anchor_command: Foo
  associated_node: Foo
+ section_directions:
+  next->Bar
+  up->Chapter
 4|Bar
  associated_anchor_command: Bar
  associated_node: Bar
+ section_directions:
+  next->foo
+  prev->Foo
+  up->Chapter
 5|foo
  associated_anchor_command: foo
  associated_node: foo
+ section_directions:
+  prev->Bar
+  up->Chapter
 ';
 
 
$result_headings_list{'file_name_case_insensitive_conflict_node_no_redirections'}
 = '';
diff --git 
a/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_redirections.pl
 
b/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_redirections.pl
index 51e78644c8..3873e1a12e 100644
--- 
a/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_redirections.pl
+++ 
b/tta/perl/t/results/html_tests/file_name_case_insensitive_conflict_redirections.pl
@@ -35,7 +35,6 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_redirections'} = '*docume
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -48,11 +47,9 @@ 
$result_tree_text{'file_name_case_insensitive_conflict_redirections'} = '*docume
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -209,7 +206,14 @@ 
$result_nodes_list{'file_name_case_insensitive_conflict_redirections'} = '1|Top
 $result_sections_list{'file_name_case_insensitive_conflict_redirections'} = 
'1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'file_name_case_insensitive_conflict_redirections'} = '';
diff --git a/tta/perl/t/results/html_tests/file_name_conflict_with_Top.pl 
b/tta/perl/t/results/html_tests/file_name_conflict_with_Top.pl
index 8fe826bdd5..022d2f2a66 100644
--- a/tta/perl/t/results/html_tests/file_name_conflict_with_Top.pl
+++ b/tta/perl/t/results/html_tests/file_name_conflict_with_Top.pl
@@ -35,7 +35,6 @@ $result_tree_text{'file_name_conflict_with_Top'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'file_name_conflict_with_Top'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -121,9 +118,16 @@ $result_nodes_list{'file_name_conflict_with_Top'} = '1|Top
 $result_sections_list{'file_name_conflict_with_Top'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'file_name_conflict_with_Top'} = '';
diff --git a/tta/perl/t/results/html_tests/file_name_conflict_with_section.pl 
b/tta/perl/t/results/html_tests/file_name_conflict_with_section.pl
index 915eaa466c..1075738524 100644
--- a/tta/perl/t/results/html_tests/file_name_conflict_with_section.pl
+++ b/tta/perl/t/results/html_tests/file_name_conflict_with_section.pl
@@ -35,7 +35,6 @@ $result_tree_text{'file_name_conflict_with_section'} = 
'*document_root C4
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -55,11 +54,9 @@ $result_tree_text{'file_name_conflict_with_section'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,7 +92,14 @@ $result_nodes_list{'file_name_conflict_with_section'} = 
'1|Top
 $result_sections_list{'file_name_conflict_with_section'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'file_name_conflict_with_section'} = '';
diff --git 
a/tta/perl/t/results/html_tests/file_name_conflict_with_user_defined.pl 
b/tta/perl/t/results/html_tests/file_name_conflict_with_user_defined.pl
index 1fa727107b..7be8877c63 100644
--- a/tta/perl/t/results/html_tests/file_name_conflict_with_user_defined.pl
+++ b/tta/perl/t/results/html_tests/file_name_conflict_with_user_defined.pl
@@ -35,7 +35,6 @@ $result_tree_text{'file_name_conflict_with_user_defined'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'file_name_conflict_with_user_defined'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -101,11 +98,9 @@ $result_tree_text{'file_name_conflict_with_user_defined'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -165,12 +160,27 @@ 
$result_nodes_list{'file_name_conflict_with_user_defined'} = '1|Top
 $result_sections_list{'file_name_conflict_with_user_defined'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap 1
 2|Chap 1
  associated_anchor_command: Chapter 1
  associated_node: Chapter 1
+ section_directions:
+  next->Chap 2
+  up->top
+ toplevel_directions:
+  next->Chap 2
+  prev->top
+  up->top
 3|Chap 2
  associated_anchor_command: Chapter 2
  associated_node: Chapter 2
+ section_directions:
+  prev->Chap 1
+  up->top
+ toplevel_directions:
+  prev->Chap 1
+  up->top
 ';
 
 $result_headings_list{'file_name_conflict_with_user_defined'} = '';
diff --git 
a/tta/perl/t/results/html_tests/filenameconflictwithspecialelement.pl 
b/tta/perl/t/results/html_tests/filenameconflictwithspecialelement.pl
index 1945641807..36ce8b1d4e 100644
--- a/tta/perl/t/results/html_tests/filenameconflictwithspecialelement.pl
+++ b/tta/perl/t/results/html_tests/filenameconflictwithspecialelement.pl
@@ -35,7 +35,6 @@ $result_tree_text{'filenameconflictwithspecialelement'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -71,11 +70,9 @@ $result_tree_text{'filenameconflictwithspecialelement'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -144,9 +141,16 @@ $result_nodes_list{'filenameconflictwithspecialelement'} = 
'1|Top
 $result_sections_list{'filenameconflictwithspecialelement'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'filenameconflictwithspecialelement'} = '';
diff --git a/tta/perl/t/results/html_tests/float_copying.pl 
b/tta/perl/t/results/html_tests/float_copying.pl
index 1f0dbcc8a6..56f8b24d40 100644
--- a/tta/perl/t/results/html_tests/float_copying.pl
+++ b/tta/perl/t/results/html_tests/float_copying.pl
@@ -204,7 +204,6 @@ $result_tree_text{'float_copying'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E4]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -300,11 +299,9 @@ $result_tree_text{'float_copying'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E4|up->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -570,9 +567,16 @@ $result_nodes_list{'float_copying'} = '1|Top
 $result_sections_list{'float_copying'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Copying and floats
 2|Copying and floats
  associated_anchor_command: Copying and floats
  associated_node: Copying and floats
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 ';
 
 $result_headings_list{'float_copying'} = '1|listoffloats
diff --git 
a/tta/perl/t/results/html_tests/footnotestyle_separate_html_text_no_monolithic.pl
 
b/tta/perl/t/results/html_tests/footnotestyle_separate_html_text_no_monolithic.pl
index 030eefcc8f..d990c61e7a 100644
--- 
a/tta/perl/t/results/html_tests/footnotestyle_separate_html_text_no_monolithic.pl
+++ 
b/tta/perl/t/results/html_tests/footnotestyle_separate_html_text_no_monolithic.pl
@@ -46,7 +46,6 @@ 
$result_tree_text{'footnotestyle_separate_html_text_no_monolithic'} = '*document
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -82,11 +81,9 @@ 
$result_tree_text{'footnotestyle_separate_html_text_no_monolithic'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -138,9 +135,16 @@ 
$result_nodes_list{'footnotestyle_separate_html_text_no_monolithic'} = '1|Top
 $result_sections_list{'footnotestyle_separate_html_text_no_monolithic'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'footnotestyle_separate_html_text_no_monolithic'} = '';
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 70e39edbad..3542397f8e 100644
--- a/tta/perl/t/results/html_tests/footnotestyle_separate_late.pl
+++ b/tta/perl/t/results/html_tests/footnotestyle_separate_late.pl
@@ -42,7 +42,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -84,11 +83,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -135,11 +132,9 @@ NodeBack: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -228,12 +223,27 @@ $result_nodes_list{'footnotestyle_separate_late'} = '1|Top
 $result_sections_list{'footnotestyle_separate_late'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter f
 2|Chapter f
  associated_anchor_command: chap f
  associated_node: chap f
+ section_directions:
+  next->Chapter s
+  up->top
+ toplevel_directions:
+  next->Chapter s
+  prev->top
+  up->top
 3|Chapter s
  associated_anchor_command: chap s
  associated_node: chap s
+ section_directions:
+  prev->Chapter f
+  up->top
+ toplevel_directions:
+  prev->Chapter f
+  up->top
 ';
 
 $result_headings_list{'footnotestyle_separate_late'} = '';
diff --git a/tta/perl/t/results/html_tests/heading_between.pl 
b/tta/perl/t/results/html_tests/heading_between.pl
index 30c3464562..092a725a56 100644
--- a/tta/perl/t/results/html_tests/heading_between.pl
+++ b/tta/perl/t/results/html_tests/heading_between.pl
@@ -84,7 +84,6 @@ $result_tree_text{'heading_between'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{2}
@@ -140,6 +139,8 @@ $result_sections_list{'heading_between'} = '1|Chapter
 2|Section
  associated_anchor_command: Section
  associated_node: Section
+ section_directions:
+  up->Chapter
 ';
 
 $result_headings_list{'heading_between'} = '1|Topic
diff --git a/tta/perl/t/results/html_tests/heading_node_after_chap.pl 
b/tta/perl/t/results/html_tests/heading_node_after_chap.pl
index aeee981ccb..4ebb7b95e2 100644
--- a/tta/perl/t/results/html_tests/heading_node_after_chap.pl
+++ b/tta/perl/t/results/html_tests/heading_node_after_chap.pl
@@ -36,7 +36,6 @@ $result_tree_text{'heading_node_after_chap'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{1}
@@ -45,7 +44,6 @@ $result_tree_text{'heading_node_after_chap'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1|E3]
   ||section_level:{0}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -83,11 +81,9 @@ $result_tree_text{'heading_node_after_chap'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,9 +167,17 @@ $result_nodes_list{'heading_node_after_chap'} = '1|Cap 1
 $result_sections_list{'heading_node_after_chap'} = '1|Chapter One
  associated_anchor_command: Cap 1
  associated_node: Cap 1
+ section_directions:
+  next->Chapter Two
+ toplevel_directions:
+  next->Chapter Two
 2|Chapter Two
  associated_anchor_command: Cap 2
  associated_node: Cap 2
+ section_directions:
+  prev->Chapter One
+ toplevel_directions:
+  prev->Chapter One
 ';
 
 $result_headings_list{'heading_node_after_chap'} = '1|Topic
diff --git a/tta/perl/t/results/html_tests/headings_after_lone_nodes.pl 
b/tta/perl/t/results/html_tests/headings_after_lone_nodes.pl
index 65dd8b4f1f..bce8d48f8a 100644
--- a/tta/perl/t/results/html_tests/headings_after_lone_nodes.pl
+++ b/tta/perl/t/results/html_tests/headings_after_lone_nodes.pl
@@ -34,7 +34,6 @@ $result_tree_text{'headings_after_lone_nodes'} = 
'*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'headings_after_lone_nodes'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -643,9 +640,16 @@ $result_nodes_list{'headings_after_lone_nodes'} = '1|Top
 $result_sections_list{'headings_after_lone_nodes'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'headings_after_lone_nodes'} = '1|heading Qt
diff --git a/tta/perl/t/results/html_tests/headings_nodes_before_chapter.pl 
b/tta/perl/t/results/html_tests/headings_nodes_before_chapter.pl
index 7d314d89fd..056b8e4811 100644
--- a/tta/perl/t/results/html_tests/headings_nodes_before_chapter.pl
+++ b/tta/perl/t/results/html_tests/headings_nodes_before_chapter.pl
@@ -91,7 +91,6 @@ $result_tree_text{'headings_nodes_before_chapter'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{1}
@@ -100,7 +99,6 @@ $result_tree_text{'headings_nodes_before_chapter'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E5|E8]
   ||section_level:{0}
- |toplevel_directions:D[next->E8]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -167,11 +165,9 @@ $result_tree_text{'headings_nodes_before_chapter'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -256,9 +252,17 @@ $result_nodes_list{'headings_nodes_before_chapter'} = 
'1|Node 1
 $result_sections_list{'headings_nodes_before_chapter'} = '1|Chapter One
  associated_anchor_command: Cap 1
  associated_node: Cap 1
+ section_directions:
+  next->Chapter Two
+ toplevel_directions:
+  next->Chapter Two
 2|Chapter Two
  associated_anchor_command: Cap 2
  associated_node: Cap 2
+ section_directions:
+  prev->Chapter One
+ toplevel_directions:
+  prev->Chapter One
 ';
 
 $result_headings_list{'headings_nodes_before_chapter'} = '1|Topic One
diff --git a/tta/perl/t/results/html_tests/index_below.pl 
b/tta/perl/t/results/html_tests/index_below.pl
index c0fd64e9a8..56067268ae 100644
--- a/tta/perl/t/results/html_tests/index_below.pl
+++ b/tta/perl/t/results/html_tests/index_below.pl
@@ -25,7 +25,6 @@ FastForward: [U1]
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -47,11 +46,9 @@ Up: [U0]
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -71,7 +68,6 @@ Up: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -137,8 +133,17 @@ $result_errors{'index_below'} = [];
 $result_nodes_list{'index_below'} = '';
 
 $result_sections_list{'index_below'} = '1|top
+ toplevel_directions:
+  next->chap
 2|chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|sec
+ section_directions:
+  up->chap
 ';
 
 $result_headings_list{'index_below'} = '';
diff --git a/tta/perl/t/results/html_tests/info_js_dir_html.pl 
b/tta/perl/t/results/html_tests/info_js_dir_html.pl
index ec85de48cc..250bb0911e 100644
--- a/tta/perl/t/results/html_tests/info_js_dir_html.pl
+++ b/tta/perl/t/results/html_tests/info_js_dir_html.pl
@@ -34,7 +34,6 @@ $result_tree_text{'info_js_dir_html'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'info_js_dir_html'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,9 +106,16 @@ $result_nodes_list{'info_js_dir_html'} = '1|top
 $result_sections_list{'info_js_dir_html'} = '1|top
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'info_js_dir_html'} = '';
diff --git a/tta/perl/t/results/html_tests/info_js_dir_html_file.pl 
b/tta/perl/t/results/html_tests/info_js_dir_html_file.pl
index 887ca19907..e4da4cc87b 100644
--- a/tta/perl/t/results/html_tests/info_js_dir_html_file.pl
+++ b/tta/perl/t/results/html_tests/info_js_dir_html_file.pl
@@ -35,7 +35,6 @@ $result_tree_text{'info_js_dir_html_file'} = '*document_root 
C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'info_js_dir_html_file'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,9 +107,16 @@ $result_nodes_list{'info_js_dir_html_file'} = '1|top
 $result_sections_list{'info_js_dir_html_file'} = '1|top
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'info_js_dir_html_file'} = '';
diff --git 
a/tta/perl/t/results/html_tests/info_js_dir_html_file_js_weblabels_file_undef.pl
 
b/tta/perl/t/results/html_tests/info_js_dir_html_file_js_weblabels_file_undef.pl
index 1775469755..cbd3598409 100644
--- 
a/tta/perl/t/results/html_tests/info_js_dir_html_file_js_weblabels_file_undef.pl
+++ 
b/tta/perl/t/results/html_tests/info_js_dir_html_file_js_weblabels_file_undef.pl
@@ -35,7 +35,6 @@ 
$result_tree_text{'info_js_dir_html_file_js_weblabels_file_undef'} = '*document_
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ 
$result_tree_text{'info_js_dir_html_file_js_weblabels_file_undef'} = '*document_
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,9 +107,16 @@ 
$result_nodes_list{'info_js_dir_html_file_js_weblabels_file_undef'} = '1|top
 $result_sections_list{'info_js_dir_html_file_js_weblabels_file_undef'} = '1|top
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'info_js_dir_html_file_js_weblabels_file_undef'} = '';
diff --git a/tta/perl/t/results/html_tests/info_js_dir_html_text.pl 
b/tta/perl/t/results/html_tests/info_js_dir_html_text.pl
index d6d361a7a1..143559e8c9 100644
--- a/tta/perl/t/results/html_tests/info_js_dir_html_text.pl
+++ b/tta/perl/t/results/html_tests/info_js_dir_html_text.pl
@@ -34,7 +34,6 @@ $result_tree_text{'info_js_dir_html_text'} = '*document_root 
C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'info_js_dir_html_text'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,9 +106,16 @@ $result_nodes_list{'info_js_dir_html_text'} = '1|top
 $result_sections_list{'info_js_dir_html_text'} = '1|top
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'info_js_dir_html_text'} = '';
diff --git a/tta/perl/t/results/html_tests/inline_in_node.pl 
b/tta/perl/t/results/html_tests/inline_in_node.pl
index 88442b0108..f131cea476 100644
--- a/tta/perl/t/results/html_tests/inline_in_node.pl
+++ b/tta/perl/t/results/html_tests/inline_in_node.pl
@@ -58,7 +58,6 @@ $result_tree_text{'inline_in_node'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg
    |INFO
@@ -100,11 +99,9 @@ $result_tree_text{'inline_in_node'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -168,9 +165,16 @@ $result_nodes_list{'inline_in_node'} = '1|Top
 $result_sections_list{'inline_in_node'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->@inlineraw{html,<span class="test">}One@inlineraw{html,</span>}
 2|@inlineraw{html,<span class="test">}One@inlineraw{html,</span>}
  associated_anchor_command: @inlineraw{html,<code 
class="tnode">}One@inlineraw{html,</code>}
  associated_node: @inlineraw{html,<code 
class="tnode">}One@inlineraw{html,</code>}
+ section_directions:
+  up->
+ toplevel_directions:
+  prev->
+  up->
 ';
 
 $result_headings_list{'inline_in_node'} = '';
diff --git a/tta/perl/t/results/html_tests/letter_command_in_index.pl 
b/tta/perl/t/results/html_tests/letter_command_in_index.pl
index cb23468f99..f36cc242b6 100644
--- a/tta/perl/t/results/html_tests/letter_command_in_index.pl
+++ b/tta/perl/t/results/html_tests/letter_command_in_index.pl
@@ -34,7 +34,6 @@ $result_tree_text{'letter_command_in_index'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'letter_command_in_index'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -181,9 +178,16 @@ $result_nodes_list{'letter_command_in_index'} = '1|Top
 $result_sections_list{'letter_command_in_index'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'letter_command_in_index'} = '';
diff --git a/tta/perl/t/results/html_tests/no_content.pl 
b/tta/perl/t/results/html_tests/no_content.pl
index 302f44da7e..a7a57a5630 100644
--- a/tta/perl/t/results/html_tests/no_content.pl
+++ b/tta/perl/t/results/html_tests/no_content.pl
@@ -38,7 +38,6 @@ $result_tree_text{'no_content'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,11 +96,9 @@ $result_tree_text{'no_content'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -174,9 +171,16 @@ $result_nodes_list{'no_content'} = '1|Top
 $result_sections_list{'no_content'} = '1|No ccontent
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->No ccontent
+ toplevel_directions:
+  prev->No ccontent
+  up->No ccontent
 ';
 
 $result_headings_list{'no_content'} = '';
diff --git a/tta/perl/t/results/html_tests/no_content_do_contents.pl 
b/tta/perl/t/results/html_tests/no_content_do_contents.pl
index ce827ed055..aa7fb57cb9 100644
--- a/tta/perl/t/results/html_tests/no_content_do_contents.pl
+++ b/tta/perl/t/results/html_tests/no_content_do_contents.pl
@@ -38,7 +38,6 @@ $result_tree_text{'no_content_do_contents'} = '*document_root 
C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,11 +96,9 @@ $result_tree_text{'no_content_do_contents'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -174,9 +171,16 @@ $result_nodes_list{'no_content_do_contents'} = '1|Top
 $result_sections_list{'no_content_do_contents'} = '1|No ccontent
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->No ccontent
+ toplevel_directions:
+  prev->No ccontent
+  up->No ccontent
 ';
 
 $result_headings_list{'no_content_do_contents'} = '';
diff --git a/tta/perl/t/results/html_tests/no_content_do_contents_inline.pl 
b/tta/perl/t/results/html_tests/no_content_do_contents_inline.pl
index 4b4333b1be..cd35ad1c90 100644
--- a/tta/perl/t/results/html_tests/no_content_do_contents_inline.pl
+++ b/tta/perl/t/results/html_tests/no_content_do_contents_inline.pl
@@ -38,7 +38,6 @@ $result_tree_text{'no_content_do_contents_inline'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,11 +96,9 @@ $result_tree_text{'no_content_do_contents_inline'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -174,9 +171,16 @@ $result_nodes_list{'no_content_do_contents_inline'} = 
'1|Top
 $result_sections_list{'no_content_do_contents_inline'} = '1|No ccontent
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->No ccontent
+ toplevel_directions:
+  prev->No ccontent
+  up->No ccontent
 ';
 
 $result_headings_list{'no_content_do_contents_inline'} = '';
diff --git 
a/tta/perl/t/results/html_tests/no_content_do_contents_separate_element.pl 
b/tta/perl/t/results/html_tests/no_content_do_contents_separate_element.pl
index 85e2a690d4..da5542893b 100644
--- a/tta/perl/t/results/html_tests/no_content_do_contents_separate_element.pl
+++ b/tta/perl/t/results/html_tests/no_content_do_contents_separate_element.pl
@@ -38,7 +38,6 @@ $result_tree_text{'no_content_do_contents_separate_element'} 
= '*document_root C
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,11 +96,9 @@ $result_tree_text{'no_content_do_contents_separate_element'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -174,9 +171,16 @@ 
$result_nodes_list{'no_content_do_contents_separate_element'} = '1|Top
 $result_sections_list{'no_content_do_contents_separate_element'} = '1|No 
ccontent
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->No ccontent
+ toplevel_directions:
+  prev->No ccontent
+  up->No ccontent
 ';
 
 $result_headings_list{'no_content_do_contents_separate_element'} = '';
diff --git a/tta/perl/t/results/html_tests/no_content_inline.pl 
b/tta/perl/t/results/html_tests/no_content_inline.pl
index 9dfbb7fc67..62f9db04b9 100644
--- a/tta/perl/t/results/html_tests/no_content_inline.pl
+++ b/tta/perl/t/results/html_tests/no_content_inline.pl
@@ -38,7 +38,6 @@ $result_tree_text{'no_content_inline'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,11 +96,9 @@ $result_tree_text{'no_content_inline'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -174,9 +171,16 @@ $result_nodes_list{'no_content_inline'} = '1|Top
 $result_sections_list{'no_content_inline'} = '1|No ccontent
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->No ccontent
+ toplevel_directions:
+  prev->No ccontent
+  up->No ccontent
 ';
 
 $result_headings_list{'no_content_inline'} = '';
diff --git a/tta/perl/t/results/html_tests/no_content_separate_element.pl 
b/tta/perl/t/results/html_tests/no_content_separate_element.pl
index 9388140241..b0117c9c41 100644
--- a/tta/perl/t/results/html_tests/no_content_separate_element.pl
+++ b/tta/perl/t/results/html_tests/no_content_separate_element.pl
@@ -38,7 +38,6 @@ $result_tree_text{'no_content_separate_element'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,11 +96,9 @@ $result_tree_text{'no_content_separate_element'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -174,9 +171,16 @@ $result_nodes_list{'no_content_separate_element'} = '1|Top
 $result_sections_list{'no_content_separate_element'} = '1|No ccontent
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->No ccontent
+ toplevel_directions:
+  prev->No ccontent
+  up->No ccontent
 ';
 
 $result_headings_list{'no_content_separate_element'} = '';
diff --git a/tta/perl/t/results/html_tests/node_heading_between.pl 
b/tta/perl/t/results/html_tests/node_heading_between.pl
index 2f71ee3b46..d06e1d2356 100644
--- a/tta/perl/t/results/html_tests/node_heading_between.pl
+++ b/tta/perl/t/results/html_tests/node_heading_between.pl
@@ -98,7 +98,6 @@ $result_tree_text{'node_heading_between'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{2}
@@ -167,6 +166,8 @@ $result_sections_list{'node_heading_between'} = '1|Chapter
 2|Section
  associated_anchor_command: Section
  associated_node: Section
+ section_directions:
+  up->Chapter
 ';
 
 $result_headings_list{'node_heading_between'} = '1|Topic
diff --git a/tta/perl/t/results/html_tests/nodedescription_description.pl 
b/tta/perl/t/results/html_tests/nodedescription_description.pl
index 51d52f33ea..8cd1537466 100644
--- a/tta/perl/t/results/html_tests/nodedescription_description.pl
+++ b/tta/perl/t/results/html_tests/nodedescription_description.pl
@@ -35,7 +35,6 @@ $result_tree_text{'nodedescription_description'} = 
'*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'nodedescription_description'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -143,11 +140,9 @@ $result_tree_text{'nodedescription_description'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E10|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -194,11 +189,9 @@ $result_tree_text{'nodedescription_description'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -306,15 +299,38 @@ $result_nodes_list{'nodedescription_description'} = '1|Top
 $result_sections_list{'nodedescription_description'} = '1|test of descriptions 
with nodedescription*
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Toto
 2|Toto
  associated_anchor_command: toto
  associated_node: toto
+ section_directions:
+  next->Titi
+  up->test of descriptions with nodedescription*
+ toplevel_directions:
+  next->Titi
+  prev->test of descriptions with nodedescription*
+  up->test of descriptions with nodedescription*
 3|Titi
  associated_anchor_command: titi
  associated_node: titi
+ section_directions:
+  next->Other
+  prev->Toto
+  up->test of descriptions with nodedescription*
+ toplevel_directions:
+  next->Other
+  prev->Toto
+  up->test of descriptions with nodedescription*
 4|Other
  associated_anchor_command: other
  associated_node: other
+ section_directions:
+  prev->Titi
+  up->test of descriptions with nodedescription*
+ toplevel_directions:
+  prev->Titi
+  up->test of descriptions with nodedescription*
 ';
 
 $result_headings_list{'nodedescription_description'} = '';
diff --git 
a/tta/perl/t/results/html_tests/nodedescription_description_no_use_nodes.pl 
b/tta/perl/t/results/html_tests/nodedescription_description_no_use_nodes.pl
index 7a9facba34..c5c8810548 100644
--- a/tta/perl/t/results/html_tests/nodedescription_description_no_use_nodes.pl
+++ b/tta/perl/t/results/html_tests/nodedescription_description_no_use_nodes.pl
@@ -35,7 +35,6 @@ $result_tree_text{'nodedescription_description_no_use_nodes'} 
= '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ 
$result_tree_text{'nodedescription_description_no_use_nodes'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -143,11 +140,9 @@ 
$result_tree_text{'nodedescription_description_no_use_nodes'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E10|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -194,11 +189,9 @@ 
$result_tree_text{'nodedescription_description_no_use_nodes'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -306,15 +299,38 @@ 
$result_nodes_list{'nodedescription_description_no_use_nodes'} = '1|Top
 $result_sections_list{'nodedescription_description_no_use_nodes'} = '1|test of 
descriptions with nodedescription*
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Toto
 2|Toto
  associated_anchor_command: toto
  associated_node: toto
+ section_directions:
+  next->Titi
+  up->test of descriptions with nodedescription*
+ toplevel_directions:
+  next->Titi
+  prev->test of descriptions with nodedescription*
+  up->test of descriptions with nodedescription*
 3|Titi
  associated_anchor_command: titi
  associated_node: titi
+ section_directions:
+  next->Other
+  prev->Toto
+  up->test of descriptions with nodedescription*
+ toplevel_directions:
+  next->Other
+  prev->Toto
+  up->test of descriptions with nodedescription*
 4|Other
  associated_anchor_command: other
  associated_node: other
+ section_directions:
+  prev->Titi
+  up->test of descriptions with nodedescription*
+ toplevel_directions:
+  prev->Titi
+  up->test of descriptions with nodedescription*
 ';
 
 $result_headings_list{'nodedescription_description_no_use_nodes'} = '';
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 51a806813a..e4d93fbde2 100644
--- a/tta/perl/t/results/html_tests/redirection_same_labels.pl
+++ b/tta/perl/t/results/html_tests/redirection_same_labels.pl
@@ -42,7 +42,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -132,11 +131,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -257,11 +254,9 @@ NodeBack: [U2]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -433,12 +428,27 @@ $result_nodes_list{'redirection_same_labels'} = '1|Top
 $result_sections_list{'redirection_same_labels'} = '1|the top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->umlaut
 2|umlaut
  associated_anchor_command: umlaut
  associated_node: umlaut
+ section_directions:
+  next->circumflex
+  up->the top
+ toplevel_directions:
+  next->circumflex
+  prev->the top
+  up->the top
 3|circumflex
  associated_anchor_command: circumflex
  associated_node: circumflex
+ section_directions:
+  prev->umlaut
+  up->the top
+ toplevel_directions:
+  prev->umlaut
+  up->the top
 ';
 
 $result_headings_list{'redirection_same_labels'} = '';
diff --git a/tta/perl/t/results/html_tests/sectioning_check_menu_structure.pl 
b/tta/perl/t/results/html_tests/sectioning_check_menu_structure.pl
index a2d01acfae..f648da3160 100644
--- a/tta/perl/t/results/html_tests/sectioning_check_menu_structure.pl
+++ b/tta/perl/t/results/html_tests/sectioning_check_menu_structure.pl
@@ -46,7 +46,6 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg
    |INFO
@@ -190,11 +189,9 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
   |{ }
  |EXTRA
  |section_childs:EC[E7|E18|E23]
- |section_directions:D[next->E26|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E26|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -278,7 +275,6 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
   |{ }
  |EXTRA
  |section_childs:EC[E10|E12|E14|E16]
- |section_directions:D[next->E18|up->E4]
  |section_level:{2}
  |section_number:{3}
   *arguments_line C1
@@ -369,7 +365,6 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|up->E7]
  |section_level:{3}
  |section_number:{4}
   *arguments_line C1
@@ -398,7 +393,6 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E10|up->E7]
  |section_level:{3}
  |section_number:{5}
   *arguments_line C1
@@ -427,7 +421,6 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E12|up->E7]
  |section_level:{3}
  |section_number:{6}
   *arguments_line C1
@@ -456,7 +449,6 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E7]
  |section_level:{3}
  |section_number:{7}
   *arguments_line C1
@@ -486,7 +478,6 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
   |{ }
  |EXTRA
  |section_childs:EC[E21]
- |section_directions:D[next->E23|prev->E7|up->E4]
  |section_level:{2}
  |section_number:{8}
   *arguments_line C1
@@ -544,7 +535,6 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E18]
  |section_level:{3}
  |section_number:{9}
   *arguments_line C1
@@ -574,7 +564,6 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
  |spaces_before_argument:
   |{  }
  |EXTRA
- |section_directions:D[prev->E18|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{10}
@@ -644,11 +633,9 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E28|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{11}
- |toplevel_directions:D[next->E28|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -678,10 +665,8 @@ $result_tree_text{'sectioning_check_menu_structure'} = 
'*document_root C29
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E26|up->E1]
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[prev->E26|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1075,39 +1060,88 @@ $result_nodes_list{'sectioning_check_menu_structure'} = 
'1|Top
 $result_sections_list{'sectioning_check_menu_structure'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->first node chapter
 2|first node chapter
  associated_anchor_command: First node
  associated_node: First node
+ section_directions:
+  next->second node chapter
+  up->
+ toplevel_directions:
+  next->second node chapter
+  prev->
+  up->
 3|unnumbered section
  associated_anchor_command: unnumbered
  associated_node: unnumbered
+ section_directions:
+  next->unnumbered section2
+  up->first node chapter
 4|unnumbered subsection
  associated_anchor_command: unnumbered sub
  associated_node: unnumbered sub
+ section_directions:
+  next->numbered subsection
+  up->unnumbered section
 5|numbered subsection
  associated_anchor_command: numbered sub
  associated_node: numbered sub
+ section_directions:
+  next->unnumbered subsection2
+  prev->unnumbered subsection
+  up->unnumbered section
 6|unnumbered subsection2
  associated_anchor_command: unnumbered sub2
  associated_node: unnumbered sub2
+ section_directions:
+  next->numbered subsection2
+  prev->numbered subsection
+  up->unnumbered section
 7|numbered subsection2
  associated_anchor_command: numbered sub2
  associated_node: numbered sub2
+ section_directions:
+  prev->unnumbered subsection2
+  up->unnumbered section
 8|unnumbered section2
  associated_anchor_command: unnumbered2
  associated_node: unnumbered2
+ section_directions:
+  next->numbered section
+  prev->unnumbered section
+  up->first node chapter
 9|numbered subsection3
  associated_anchor_command: numbered sub3
  associated_node: numbered sub3
+ section_directions:
+  up->unnumbered section2
 10|numbered section
  associated_anchor_command: numbered
  associated_node: numbered
+ section_directions:
+  prev->unnumbered section2
+  up->first node chapter
 11|second node chapter
  associated_anchor_command: Second node
  associated_node: Second node
+ section_directions:
+  next->unnumbered chapter
+  prev->first node chapter
+  up->
+ toplevel_directions:
+  next->unnumbered chapter
+  prev->first node chapter
+  up->
 12|unnumbered chapter
  associated_anchor_command: Third node unnumbered
  associated_node: Third node unnumbered
+ section_directions:
+  prev->second node chapter
+  up->
+ toplevel_directions:
+  prev->second node chapter
+  up->
 ';
 
 $result_headings_list{'sectioning_check_menu_structure'} = '';
diff --git 
a/tta/perl/t/results/html_tests/set_add_transliterated_redirection_files.pl 
b/tta/perl/t/results/html_tests/set_add_transliterated_redirection_files.pl
index 81e3d64fd9..5190e03cdc 100644
--- a/tta/perl/t/results/html_tests/set_add_transliterated_redirection_files.pl
+++ b/tta/perl/t/results/html_tests/set_add_transliterated_redirection_files.pl
@@ -35,7 +35,6 @@ $result_tree_text{'set_add_transliterated_redirection_files'} 
= '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -63,11 +62,9 @@ 
$result_tree_text{'set_add_transliterated_redirection_files'} = '*document_root
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,7 +95,6 @@ $result_tree_text{'set_add_transliterated_redirection_files'} 
= '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -170,12 +166,21 @@ 
$result_nodes_list{'set_add_transliterated_redirection_files'} = '1|Top
 $result_sections_list{'set_add_transliterated_redirection_files'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: Chap
  associated_node: Chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|g
  associated_anchor_command: s@`{e}c
  associated_node: s@`{e}c
+ section_directions:
+  up->chap
 ';
 
 $result_headings_list{'set_add_transliterated_redirection_files'} = '';
diff --git a/tta/perl/t/results/html_tests/set_unit_file_name_filepath.pl 
b/tta/perl/t/results/html_tests/set_unit_file_name_filepath.pl
index 11cc837631..624215084e 100644
--- a/tta/perl/t/results/html_tests/set_unit_file_name_filepath.pl
+++ b/tta/perl/t/results/html_tests/set_unit_file_name_filepath.pl
@@ -35,7 +35,6 @@ $result_tree_text{'set_unit_file_name_filepath'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'set_unit_file_name_filepath'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,9 +107,16 @@ $result_nodes_list{'set_unit_file_name_filepath'} = '1|Top
 $result_sections_list{'set_unit_file_name_filepath'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'set_unit_file_name_filepath'} = '';
diff --git a/tta/perl/t/results/html_tests/shortcontents_no_top.pl 
b/tta/perl/t/results/html_tests/shortcontents_no_top.pl
index c1d4d279a7..1135e5d19c 100644
--- a/tta/perl/t/results/html_tests/shortcontents_no_top.pl
+++ b/tta/perl/t/results/html_tests/shortcontents_no_top.pl
@@ -12,7 +12,6 @@ $result_tree_text{'shortcontents_no_top'} = '*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{1}
@@ -21,7 +20,6 @@ $result_tree_text{'shortcontents_no_top'} = '*document_root C4
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{0}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -35,11 +33,9 @@ $result_tree_text{'shortcontents_no_top'} = '*document_root 
C4
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[prev->E0]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -52,7 +48,6 @@ $result_tree_text{'shortcontents_no_top'} = '*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{3}
@@ -97,8 +92,18 @@ $result_errors{'shortcontents_no_top'} = [];
 $result_nodes_list{'shortcontents_no_top'} = '';
 
 $result_sections_list{'shortcontents_no_top'} = '1|chap
+ section_directions:
+  next->chap2
+ toplevel_directions:
+  next->chap2
 2|chap2
+ section_directions:
+  prev->chap
+ toplevel_directions:
+  prev->chap
 3|sec
+ section_directions:
+  up->chap2
 ';
 
 $result_headings_list{'shortcontents_no_top'} = '';
diff --git a/tta/perl/t/results/html_tests/simple_only_special_spaces_node.pl 
b/tta/perl/t/results/html_tests/simple_only_special_spaces_node.pl
index 044817880e..207e069731 100644
--- a/tta/perl/t/results/html_tests/simple_only_special_spaces_node.pl
+++ b/tta/perl/t/results/html_tests/simple_only_special_spaces_node.pl
@@ -35,7 +35,6 @@ $result_tree_text{'simple_only_special_spaces_node'} = 
'*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'simple_only_special_spaces_node'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -85,11 +82,9 @@ $result_tree_text{'simple_only_special_spaces_node'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -116,11 +111,9 @@ $result_tree_text{'simple_only_special_spaces_node'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -193,13 +186,36 @@ $result_nodes_list{'simple_only_special_spaces_node'} = 
'1|Top
 $result_sections_list{'simple_only_special_spaces_node'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->EN QUAD| |
 2|EN QUAD| |
  associated_anchor_command:   
  associated_node:   
+ section_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  up->top
+ toplevel_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  prev->top
+  up->top
 3|CARRIAGE RETURN|'."\r".'|
+ section_directions:
+  next->THREE-PER-EM SPACE
+  prev->EN QUAD| |
+  up->top
+ toplevel_directions:
+  next->THREE-PER-EM SPACE
+  prev->EN QUAD| |
+  up->top
 4|THREE-PER-EM SPACE
  associated_anchor_command:   
  associated_node:   
+ section_directions:
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
+ toplevel_directions:
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
 ';
 
 $result_headings_list{'simple_only_special_spaces_node'} = '';
diff --git 
a/tta/perl/t/results/html_tests/simple_only_special_spaces_node_no_translit_files.pl
 
b/tta/perl/t/results/html_tests/simple_only_special_spaces_node_no_translit_files.pl
index b17660e9f0..5cf1f3b9f3 100644
--- 
a/tta/perl/t/results/html_tests/simple_only_special_spaces_node_no_translit_files.pl
+++ 
b/tta/perl/t/results/html_tests/simple_only_special_spaces_node_no_translit_files.pl
@@ -35,7 +35,6 @@ 
$result_tree_text{'simple_only_special_spaces_node_no_translit_files'} = '*docum
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ 
$result_tree_text{'simple_only_special_spaces_node_no_translit_files'} = '*docum
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -85,11 +82,9 @@ 
$result_tree_text{'simple_only_special_spaces_node_no_translit_files'} = '*docum
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -116,11 +111,9 @@ 
$result_tree_text{'simple_only_special_spaces_node_no_translit_files'} = '*docum
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -193,13 +186,36 @@ 
$result_nodes_list{'simple_only_special_spaces_node_no_translit_files'} = '1|Top
 $result_sections_list{'simple_only_special_spaces_node_no_translit_files'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->EN QUAD| |
 2|EN QUAD| |
  associated_anchor_command:   
  associated_node:   
+ section_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  up->top
+ toplevel_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  prev->top
+  up->top
 3|CARRIAGE RETURN|'."\r".'|
+ section_directions:
+  next->THREE-PER-EM SPACE
+  prev->EN QUAD| |
+  up->top
+ toplevel_directions:
+  next->THREE-PER-EM SPACE
+  prev->EN QUAD| |
+  up->top
 4|THREE-PER-EM SPACE
  associated_anchor_command:   
  associated_node:   
+ section_directions:
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
+ toplevel_directions:
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
 ';
 
 $result_headings_list{'simple_only_special_spaces_node_no_translit_files'} = 
'';
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 8ea3628958..d9c469f620 100644
--- a/tta/perl/t/results/html_tests/split_html_text.pl
+++ b/tta/perl/t/results/html_tests/split_html_text.pl
@@ -41,7 +41,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -80,11 +79,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -130,9 +127,16 @@ $result_nodes_list{'split_html_text'} = '1|Top
 $result_sections_list{'split_html_text'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'split_html_text'} = '';
diff --git a/tta/perl/t/results/html_tests/test_accents_sc_default.pl 
b/tta/perl/t/results/html_tests/test_accents_sc_default.pl
index ada8ff7d38..ee27d657b1 100644
--- a/tta/perl/t/results/html_tests/test_accents_sc_default.pl
+++ b/tta/perl/t/results/html_tests/test_accents_sc_default.pl
@@ -38,7 +38,6 @@ $result_tree_text{'test_accents_sc_default'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ $result_tree_text{'test_accents_sc_default'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -321,9 +318,16 @@ $result_nodes_list{'test_accents_sc_default'} = '1|top
 $result_sections_list{'test_accents_sc_default'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_default'} = '';
diff --git a/tta/perl/t/results/html_tests/test_accents_sc_default_latin1.pl 
b/tta/perl/t/results/html_tests/test_accents_sc_default_latin1.pl
index 91f970461a..5d4759ee47 100644
--- a/tta/perl/t/results/html_tests/test_accents_sc_default_latin1.pl
+++ b/tta/perl/t/results/html_tests/test_accents_sc_default_latin1.pl
@@ -52,7 +52,6 @@ $result_tree_text{'test_accents_sc_default_latin1'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'test_accents_sc_default_latin1'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ $result_nodes_list{'test_accents_sc_default_latin1'} = 
'1|top
 $result_sections_list{'test_accents_sc_default_latin1'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_default_latin1'} = '';
diff --git a/tta/perl/t/results/html_tests/test_accents_sc_default_usascii.pl 
b/tta/perl/t/results/html_tests/test_accents_sc_default_usascii.pl
index d303aa2a22..8a8fe35b6f 100644
--- a/tta/perl/t/results/html_tests/test_accents_sc_default_usascii.pl
+++ b/tta/perl/t/results/html_tests/test_accents_sc_default_usascii.pl
@@ -52,7 +52,6 @@ $result_tree_text{'test_accents_sc_default_usascii'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'test_accents_sc_default_usascii'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -342,9 +339,16 @@ $result_nodes_list{'test_accents_sc_default_usascii'} = 
'1|top
 $result_sections_list{'test_accents_sc_default_usascii'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_default_usascii'} = '';
diff --git a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding.pl 
b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding.pl
index 6a3bc2cc22..1db1fefb0b 100644
--- a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding.pl
+++ b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding.pl
@@ -38,7 +38,6 @@ $result_tree_text{'test_accents_sc_enable_encoding'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ $result_tree_text{'test_accents_sc_enable_encoding'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -321,9 +318,16 @@ $result_nodes_list{'test_accents_sc_enable_encoding'} = 
'1|top
 $result_sections_list{'test_accents_sc_enable_encoding'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_enable_encoding'} = '';
diff --git 
a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_latin1.pl 
b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_latin1.pl
index 7b1fd40db9..9697d69fa7 100644
--- a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_latin1.pl
+++ b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_latin1.pl
@@ -52,7 +52,6 @@ $result_tree_text{'test_accents_sc_enable_encoding_latin1'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'test_accents_sc_enable_encoding_latin1'} 
= '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ 
$result_nodes_list{'test_accents_sc_enable_encoding_latin1'} = '1|top
 $result_sections_list{'test_accents_sc_enable_encoding_latin1'} = '1|top 
section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_enable_encoding_latin1'} = '';
diff --git 
a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_to_utf8_latin1.pl
 
b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_to_utf8_latin1.pl
index 87c2cc92bf..f25f8fecbb 100644
--- 
a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_to_utf8_latin1.pl
+++ 
b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_to_utf8_latin1.pl
@@ -52,7 +52,6 @@ 
$result_tree_text{'test_accents_sc_enable_encoding_to_utf8_latin1'} = '*document
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ 
$result_tree_text{'test_accents_sc_enable_encoding_to_utf8_latin1'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ 
$result_nodes_list{'test_accents_sc_enable_encoding_to_utf8_latin1'} = '1|top
 $result_sections_list{'test_accents_sc_enable_encoding_to_utf8_latin1'} = 
'1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_enable_encoding_to_utf8_latin1'} = '';
diff --git 
a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_to_utf8_usascii.pl
 
b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_to_utf8_usascii.pl
index 5856205b94..c05955b34c 100644
--- 
a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_to_utf8_usascii.pl
+++ 
b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_to_utf8_usascii.pl
@@ -52,7 +52,6 @@ 
$result_tree_text{'test_accents_sc_enable_encoding_to_utf8_usascii'} = '*documen
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ 
$result_tree_text{'test_accents_sc_enable_encoding_to_utf8_usascii'} = '*documen
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -342,9 +339,16 @@ 
$result_nodes_list{'test_accents_sc_enable_encoding_to_utf8_usascii'} = '1|top
 $result_sections_list{'test_accents_sc_enable_encoding_to_utf8_usascii'} = 
'1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_enable_encoding_to_utf8_usascii'} = '';
diff --git 
a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_usascii.pl 
b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_usascii.pl
index 420904bcf6..2de642e618 100644
--- a/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_usascii.pl
+++ b/tta/perl/t/results/html_tests/test_accents_sc_enable_encoding_usascii.pl
@@ -52,7 +52,6 @@ $result_tree_text{'test_accents_sc_enable_encoding_usascii'} 
= '*document_root C
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'test_accents_sc_enable_encoding_usascii'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -342,9 +339,16 @@ 
$result_nodes_list{'test_accents_sc_enable_encoding_usascii'} = '1|top
 $result_sections_list{'test_accents_sc_enable_encoding_usascii'} = '1|top 
section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_enable_encoding_usascii'} = '';
diff --git a/tta/perl/t/results/html_tests/test_accents_sc_to_utf8_latin1.pl 
b/tta/perl/t/results/html_tests/test_accents_sc_to_utf8_latin1.pl
index aeba3c227c..225b22d9b9 100644
--- a/tta/perl/t/results/html_tests/test_accents_sc_to_utf8_latin1.pl
+++ b/tta/perl/t/results/html_tests/test_accents_sc_to_utf8_latin1.pl
@@ -52,7 +52,6 @@ $result_tree_text{'test_accents_sc_to_utf8_latin1'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'test_accents_sc_to_utf8_latin1'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ $result_nodes_list{'test_accents_sc_to_utf8_latin1'} = 
'1|top
 $result_sections_list{'test_accents_sc_to_utf8_latin1'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_to_utf8_latin1'} = '';
diff --git 
a/tta/perl/t/results/html_tests/test_accents_sc_use_numeric_entity.pl 
b/tta/perl/t/results/html_tests/test_accents_sc_use_numeric_entity.pl
index 4129b0aa1b..4b04130e3e 100644
--- a/tta/perl/t/results/html_tests/test_accents_sc_use_numeric_entity.pl
+++ b/tta/perl/t/results/html_tests/test_accents_sc_use_numeric_entity.pl
@@ -38,7 +38,6 @@ $result_tree_text{'test_accents_sc_use_numeric_entity'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ $result_tree_text{'test_accents_sc_use_numeric_entity'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -321,9 +318,16 @@ $result_nodes_list{'test_accents_sc_use_numeric_entity'} = 
'1|top
 $result_sections_list{'test_accents_sc_use_numeric_entity'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'test_accents_sc_use_numeric_entity'} = '';
diff --git 
a/tta/perl/t/results/html_tests/test_separated_contents_shortcontents.pl 
b/tta/perl/t/results/html_tests/test_separated_contents_shortcontents.pl
index 59dd04bd80..8fa8fe2b5f 100644
--- a/tta/perl/t/results/html_tests/test_separated_contents_shortcontents.pl
+++ b/tta/perl/t/results/html_tests/test_separated_contents_shortcontents.pl
@@ -40,7 +40,6 @@ $result_tree_text{'test_separated_contents_shortcontents'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -67,11 +66,9 @@ $result_tree_text{'test_separated_contents_shortcontents'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +95,9 @@ $result_tree_text{'test_separated_contents_shortcontents'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,12 +165,27 @@ 
$result_nodes_list{'test_separated_contents_shortcontents'} = '1|Top
 $result_sections_list{'test_separated_contents_shortcontents'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->appendix
+  up->top
+ toplevel_directions:
+  next->appendix
+  prev->top
+  up->top
 3|appendix
  associated_anchor_command: app
  associated_node: app
+ section_directions:
+  prev->chapter
+  up->top
+ toplevel_directions:
+  prev->chapter
+  up->top
 ';
 
 $result_headings_list{'test_separated_contents_shortcontents'} = '';
diff --git a/tta/perl/t/results/html_tests/test_xrefautomaticsectiontitle.pl 
b/tta/perl/t/results/html_tests/test_xrefautomaticsectiontitle.pl
index 71adc7f086..0840cf7a32 100644
--- a/tta/perl/t/results/html_tests/test_xrefautomaticsectiontitle.pl
+++ b/tta/perl/t/results/html_tests/test_xrefautomaticsectiontitle.pl
@@ -34,7 +34,6 @@ $result_tree_text{'test_xrefautomaticsectiontitle'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -90,11 +89,9 @@ $result_tree_text{'test_xrefautomaticsectiontitle'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -206,9 +203,16 @@ $result_nodes_list{'test_xrefautomaticsectiontitle'} = 
'1|Top
 $result_sections_list{'test_xrefautomaticsectiontitle'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'test_xrefautomaticsectiontitle'} = '';
diff --git 
a/tta/perl/t/results/html_tests/test_xrefautomaticsectiontitle_off_first.pl 
b/tta/perl/t/results/html_tests/test_xrefautomaticsectiontitle_off_first.pl
index b106b26911..def23af762 100644
--- a/tta/perl/t/results/html_tests/test_xrefautomaticsectiontitle_off_first.pl
+++ b/tta/perl/t/results/html_tests/test_xrefautomaticsectiontitle_off_first.pl
@@ -48,7 +48,6 @@ $result_tree_text{'test_xrefautomaticsectiontitle_off_first'} 
= '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -104,11 +103,9 @@ 
$result_tree_text{'test_xrefautomaticsectiontitle_off_first'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -209,9 +206,16 @@ 
$result_nodes_list{'test_xrefautomaticsectiontitle_off_first'} = '1|Top
 $result_sections_list{'test_xrefautomaticsectiontitle_off_first'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'test_xrefautomaticsectiontitle_off_first'} = '';
diff --git 
a/tta/perl/t/results/html_tests/text_before_top_and_contents_after_title.pl 
b/tta/perl/t/results/html_tests/text_before_top_and_contents_after_title.pl
index 30551f7751..35ec4e64f6 100644
--- a/tta/perl/t/results/html_tests/text_before_top_and_contents_after_title.pl
+++ b/tta/perl/t/results/html_tests/text_before_top_and_contents_after_title.pl
@@ -38,7 +38,6 @@ $result_tree_text{'text_before_top_and_contents_after_title'} 
= '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,11 +53,9 @@ 
$result_tree_text{'text_before_top_and_contents_after_title'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -114,7 +111,14 @@ 
$result_nodes_list{'text_before_top_and_contents_after_title'} = '1|Top
 $result_sections_list{'text_before_top_and_contents_after_title'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->the chap
 2|the chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'text_before_top_and_contents_after_title'} = '';
diff --git 
a/tta/perl/t/results/html_tests/text_before_top_and_summarycontents_after_title.pl
 
b/tta/perl/t/results/html_tests/text_before_top_and_summarycontents_after_title.pl
index ba37d36e3a..3cb865f321 100644
--- 
a/tta/perl/t/results/html_tests/text_before_top_and_summarycontents_after_title.pl
+++ 
b/tta/perl/t/results/html_tests/text_before_top_and_summarycontents_after_title.pl
@@ -38,7 +38,6 @@ 
$result_tree_text{'text_before_top_and_summarycontents_after_title'} = '*documen
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,11 +53,9 @@ 
$result_tree_text{'text_before_top_and_summarycontents_after_title'} = '*documen
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -114,7 +111,14 @@ 
$result_nodes_list{'text_before_top_and_summarycontents_after_title'} = '1|Top
 $result_sections_list{'text_before_top_and_summarycontents_after_title'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->the chap
 2|the chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'text_before_top_and_summarycontents_after_title'} = '';
diff --git 
a/tta/perl/t/results/html_tests/top_file_name_and_node_name_collision.pl 
b/tta/perl/t/results/html_tests/top_file_name_and_node_name_collision.pl
index f536c38348..d8077d6349 100644
--- a/tta/perl/t/results/html_tests/top_file_name_and_node_name_collision.pl
+++ b/tta/perl/t/results/html_tests/top_file_name_and_node_name_collision.pl
@@ -27,7 +27,6 @@ $result_tree_text{'top_file_name_and_node_name_collision'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{1}
@@ -36,7 +35,6 @@ $result_tree_text{'top_file_name_and_node_name_collision'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1|E3|E4]
   ||section_level:{0}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -63,11 +61,9 @@ $result_tree_text{'top_file_name_and_node_name_collision'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|prev->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E4|prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -80,10 +76,8 @@ $result_tree_text{'top_file_name_and_node_name_collision'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3]
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -142,10 +136,24 @@ 
$result_nodes_list{'top_file_name_and_node_name_collision'} = '1|my node
 $result_sections_list{'top_file_name_and_node_name_collision'} = '1|chap my 
node
  associated_anchor_command: my node
  associated_node: my node
+ section_directions:
+  next->chapter
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: other node
  associated_node: other node
+ section_directions:
+  next->top
+  prev->chap my node
+ toplevel_directions:
+  next->top
+  prev->chap my node
 3|top
+ section_directions:
+  prev->chapter
+ toplevel_directions:
+  prev->chapter
 ';
 
 $result_headings_list{'top_file_name_and_node_name_collision'} = '';
diff --git a/tta/perl/t/results/html_tests/top_node_up_explicit.pl 
b/tta/perl/t/results/html_tests/top_node_up_explicit.pl
index 6937ae38e7..c5f9cd9504 100644
--- a/tta/perl/t/results/html_tests/top_node_up_explicit.pl
+++ b/tta/perl/t/results/html_tests/top_node_up_explicit.pl
@@ -60,7 +60,6 @@ $result_tree_text{'top_node_up_explicit'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -119,11 +118,9 @@ $result_tree_text{'top_node_up_explicit'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -190,9 +187,16 @@ $result_nodes_list{'top_node_up_explicit'} = '1|Top
 $result_sections_list{'top_node_up_explicit'} = '1|The top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: Chap
  associated_node: Chap
+ section_directions:
+  up->The top
+ toplevel_directions:
+  prev->The top
+  up->The top
 ';
 
 $result_headings_list{'top_node_up_explicit'} = '';
diff --git a/tta/perl/t/results/html_tests/top_node_up_explicit_no_nodes.pl 
b/tta/perl/t/results/html_tests/top_node_up_explicit_no_nodes.pl
index 609350645a..fa616e0a73 100644
--- a/tta/perl/t/results/html_tests/top_node_up_explicit_no_nodes.pl
+++ b/tta/perl/t/results/html_tests/top_node_up_explicit_no_nodes.pl
@@ -60,7 +60,6 @@ $result_tree_text{'top_node_up_explicit_no_nodes'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -119,11 +118,9 @@ $result_tree_text{'top_node_up_explicit_no_nodes'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -190,9 +187,16 @@ $result_nodes_list{'top_node_up_explicit_no_nodes'} = 
'1|Top
 $result_sections_list{'top_node_up_explicit_no_nodes'} = '1|The top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: Chap
  associated_node: Chap
+ section_directions:
+  up->The top
+ toplevel_directions:
+  prev->The top
+  up->The top
 ';
 
 $result_headings_list{'top_node_up_explicit_no_nodes'} = '';
diff --git a/tta/perl/t/results/html_tests/top_node_up_implicit.pl 
b/tta/perl/t/results/html_tests/top_node_up_implicit.pl
index 05298f9d2b..7b588b987b 100644
--- a/tta/perl/t/results/html_tests/top_node_up_implicit.pl
+++ b/tta/perl/t/results/html_tests/top_node_up_implicit.pl
@@ -34,7 +34,6 @@ $result_tree_text{'top_node_up_implicit'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -93,11 +92,9 @@ $result_tree_text{'top_node_up_implicit'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -162,9 +159,16 @@ $result_nodes_list{'top_node_up_implicit'} = '1|Top
 $result_sections_list{'top_node_up_implicit'} = '1|The top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: Chap
  associated_node: Chap
+ section_directions:
+  up->The top
+ toplevel_directions:
+  prev->The top
+  up->The top
 ';
 
 $result_headings_list{'top_node_up_implicit'} = '';
diff --git a/tta/perl/t/results/html_tests/top_node_up_implicit_no_nodes.pl 
b/tta/perl/t/results/html_tests/top_node_up_implicit_no_nodes.pl
index 3741f1f06b..882182ecfc 100644
--- a/tta/perl/t/results/html_tests/top_node_up_implicit_no_nodes.pl
+++ b/tta/perl/t/results/html_tests/top_node_up_implicit_no_nodes.pl
@@ -34,7 +34,6 @@ $result_tree_text{'top_node_up_implicit_no_nodes'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -93,11 +92,9 @@ $result_tree_text{'top_node_up_implicit_no_nodes'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -162,9 +159,16 @@ $result_nodes_list{'top_node_up_implicit_no_nodes'} = 
'1|Top
 $result_sections_list{'top_node_up_implicit_no_nodes'} = '1|The top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: Chap
  associated_node: Chap
+ section_directions:
+  up->The top
+ toplevel_directions:
+  prev->The top
+  up->The top
 ';
 
 $result_headings_list{'top_node_up_implicit_no_nodes'} = '';
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 48bdf9f507..4f9a5988d9 100644
--- a/tta/perl/t/results/html_tests/transliterated_names_conflicts.pl
+++ b/tta/perl/t/results/html_tests/transliterated_names_conflicts.pl
@@ -45,7 +45,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -87,11 +86,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -129,11 +126,9 @@ NodeBack: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -254,12 +249,27 @@ $result_nodes_list{'transliterated_names_conflicts'} = 
'1|Top
 $result_sections_list{'transliterated_names_conflicts'} = '1|Same 
transliterated names
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Prés
 2|Prés
  associated_anchor_command: Prés
  associated_node: Prés
+ section_directions:
+  next->Other chapter
+  up->Same transliterated names
+ toplevel_directions:
+  next->Other chapter
+  prev->Same transliterated names
+  up->Same transliterated names
 3|Other chapter
  associated_anchor_command: Other node
  associated_node: Other node
+ section_directions:
+  prev->Prés
+  up->Same transliterated names
+ toplevel_directions:
+  prev->Prés
+  up->Same transliterated names
 ';
 
 $result_headings_list{'transliterated_names_conflicts'} = '';
diff --git a/tta/perl/t/results/html_tests/undef_split_and_big_rule.pl 
b/tta/perl/t/results/html_tests/undef_split_and_big_rule.pl
index 9a64d36dac..09ef17c336 100644
--- a/tta/perl/t/results/html_tests/undef_split_and_big_rule.pl
+++ b/tta/perl/t/results/html_tests/undef_split_and_big_rule.pl
@@ -23,7 +23,6 @@ $result_tree_text{'undef_split_and_big_rule'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -51,11 +50,9 @@ $result_tree_text{'undef_split_and_big_rule'} = 
'*document_root C6
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -82,7 +79,6 @@ $result_tree_text{'undef_split_and_big_rule'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -131,12 +127,21 @@ $result_nodes_list{'undef_split_and_big_rule'} = '1|chap
 ';
 
 $result_sections_list{'undef_split_and_big_rule'} = '1|top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|Sec
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  up->Chapter
 ';
 
 $result_headings_list{'undef_split_and_big_rule'} = '';
diff --git a/tta/perl/t/results/html_tests/xhtml_rule_element_already_closed.pl 
b/tta/perl/t/results/html_tests/xhtml_rule_element_already_closed.pl
index 1855dfd203..63fa6c4124 100644
--- a/tta/perl/t/results/html_tests/xhtml_rule_element_already_closed.pl
+++ b/tta/perl/t/results/html_tests/xhtml_rule_element_already_closed.pl
@@ -34,7 +34,6 @@ $result_tree_text{'xhtml_rule_element_already_closed'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'xhtml_rule_element_already_closed'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,9 +106,16 @@ $result_nodes_list{'xhtml_rule_element_already_closed'} = 
'1|Top
 $result_sections_list{'xhtml_rule_element_already_closed'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'xhtml_rule_element_already_closed'} = '';
diff --git a/tta/perl/t/results/htmlxref/htmlxref.pl 
b/tta/perl/t/results/htmlxref/htmlxref.pl
index 726cc0111c..bca960153e 100644
--- a/tta/perl/t/results/htmlxref/htmlxref.pl
+++ b/tta/perl/t/results/htmlxref/htmlxref.pl
@@ -38,7 +38,6 @@ $result_tree_text{'htmlxref'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -511,11 +510,9 @@ $result_tree_text{'htmlxref'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1013,9 +1010,16 @@ $result_nodes_list{'htmlxref'} = '1|Top
 $result_sections_list{'htmlxref'} = '1|Test refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter with nodes
 2|Chapter with nodes
  associated_anchor_command: other nodes
  associated_node: other nodes
+ section_directions:
+  up->Test refs
+ toplevel_directions:
+  prev->Test refs
+  up->Test refs
 ';
 
 $result_headings_list{'htmlxref'} = '1|Testing distant nodes
diff --git a/tta/perl/t/results/htmlxref/htmlxref_no_urlprefix_first.pl 
b/tta/perl/t/results/htmlxref/htmlxref_no_urlprefix_first.pl
index f43783d026..865d1f56b9 100644
--- a/tta/perl/t/results/htmlxref/htmlxref_no_urlprefix_first.pl
+++ b/tta/perl/t/results/htmlxref/htmlxref_no_urlprefix_first.pl
@@ -35,7 +35,6 @@ $result_tree_text{'htmlxref_no_urlprefix_first'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'htmlxref_no_urlprefix_first'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -139,9 +136,16 @@ $result_nodes_list{'htmlxref_no_urlprefix_first'} = '1|top
 $result_sections_list{'htmlxref_no_urlprefix_first'} = '1|top
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'htmlxref_no_urlprefix_first'} = '';
diff --git a/tta/perl/t/results/htmlxref/htmlxref_nodes.pl 
b/tta/perl/t/results/htmlxref/htmlxref_nodes.pl
index 0415ba64a3..bb086b3569 100644
--- a/tta/perl/t/results/htmlxref/htmlxref_nodes.pl
+++ b/tta/perl/t/results/htmlxref/htmlxref_nodes.pl
@@ -38,7 +38,6 @@ $result_tree_text{'htmlxref_nodes'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -511,11 +510,9 @@ $result_tree_text{'htmlxref_nodes'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1013,9 +1010,16 @@ $result_nodes_list{'htmlxref_nodes'} = '1|Top
 $result_sections_list{'htmlxref_nodes'} = '1|Test refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter with nodes
 2|Chapter with nodes
  associated_anchor_command: other nodes
  associated_node: other nodes
+ section_directions:
+  up->Test refs
+ toplevel_directions:
+  prev->Test refs
+  up->Test refs
 ';
 
 $result_headings_list{'htmlxref_nodes'} = '1|Testing distant nodes
diff --git a/tta/perl/t/results/htmlxref/htmlxref_only_mono.pl 
b/tta/perl/t/results/htmlxref/htmlxref_only_mono.pl
index b814f1b374..dee13b5a77 100644
--- a/tta/perl/t/results/htmlxref/htmlxref_only_mono.pl
+++ b/tta/perl/t/results/htmlxref/htmlxref_only_mono.pl
@@ -38,7 +38,6 @@ $result_tree_text{'htmlxref_only_mono'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -511,11 +510,9 @@ $result_tree_text{'htmlxref_only_mono'} = '*document_root 
C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1013,9 +1010,16 @@ $result_nodes_list{'htmlxref_only_mono'} = '1|Top
 $result_sections_list{'htmlxref_only_mono'} = '1|Test refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter with nodes
 2|Chapter with nodes
  associated_anchor_command: other nodes
  associated_node: other nodes
+ section_directions:
+  up->Test refs
+ toplevel_directions:
+  prev->Test refs
+  up->Test refs
 ';
 
 $result_headings_list{'htmlxref_only_mono'} = '1|Testing distant nodes
diff --git a/tta/perl/t/results/htmlxref/htmlxref_only_mono_nodes.pl 
b/tta/perl/t/results/htmlxref/htmlxref_only_mono_nodes.pl
index 38583db071..582e3091a6 100644
--- a/tta/perl/t/results/htmlxref/htmlxref_only_mono_nodes.pl
+++ b/tta/perl/t/results/htmlxref/htmlxref_only_mono_nodes.pl
@@ -38,7 +38,6 @@ $result_tree_text{'htmlxref_only_mono_nodes'} = 
'*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -511,11 +510,9 @@ $result_tree_text{'htmlxref_only_mono_nodes'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1013,9 +1010,16 @@ $result_nodes_list{'htmlxref_only_mono_nodes'} = '1|Top
 $result_sections_list{'htmlxref_only_mono_nodes'} = '1|Test refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter with nodes
 2|Chapter with nodes
  associated_anchor_command: other nodes
  associated_node: other nodes
+ section_directions:
+  up->Test refs
+ toplevel_directions:
+  prev->Test refs
+  up->Test refs
 ';
 
 $result_headings_list{'htmlxref_only_mono_nodes'} = '1|Testing distant nodes
diff --git a/tta/perl/t/results/htmlxref/htmlxref_only_split.pl 
b/tta/perl/t/results/htmlxref/htmlxref_only_split.pl
index 08171d0e5e..33b32d2083 100644
--- a/tta/perl/t/results/htmlxref/htmlxref_only_split.pl
+++ b/tta/perl/t/results/htmlxref/htmlxref_only_split.pl
@@ -38,7 +38,6 @@ $result_tree_text{'htmlxref_only_split'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -511,11 +510,9 @@ $result_tree_text{'htmlxref_only_split'} = '*document_root 
C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1013,9 +1010,16 @@ $result_nodes_list{'htmlxref_only_split'} = '1|Top
 $result_sections_list{'htmlxref_only_split'} = '1|Test refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter with nodes
 2|Chapter with nodes
  associated_anchor_command: other nodes
  associated_node: other nodes
+ section_directions:
+  up->Test refs
+ toplevel_directions:
+  prev->Test refs
+  up->Test refs
 ';
 
 $result_headings_list{'htmlxref_only_split'} = '1|Testing distant nodes
diff --git a/tta/perl/t/results/htmlxref/htmlxref_only_split_nodes.pl 
b/tta/perl/t/results/htmlxref/htmlxref_only_split_nodes.pl
index c71c6cada4..64d67b1a7e 100644
--- a/tta/perl/t/results/htmlxref/htmlxref_only_split_nodes.pl
+++ b/tta/perl/t/results/htmlxref/htmlxref_only_split_nodes.pl
@@ -38,7 +38,6 @@ $result_tree_text{'htmlxref_only_split_nodes'} = 
'*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -511,11 +510,9 @@ $result_tree_text{'htmlxref_only_split_nodes'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1013,9 +1010,16 @@ $result_nodes_list{'htmlxref_only_split_nodes'} = '1|Top
 $result_sections_list{'htmlxref_only_split_nodes'} = '1|Test refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter with nodes
 2|Chapter with nodes
  associated_anchor_command: other nodes
  associated_node: other nodes
+ section_directions:
+  up->Test refs
+ toplevel_directions:
+  prev->Test refs
+  up->Test refs
 ';
 
 $result_headings_list{'htmlxref_only_split_nodes'} = '1|Testing distant nodes
diff --git a/tta/perl/t/results/indices/def_syn_indices.pl 
b/tta/perl/t/results/indices/def_syn_indices.pl
index c4b4dea209..b01006ecab 100644
--- a/tta/perl/t/results/indices/def_syn_indices.pl
+++ b/tta/perl/t/results/indices/def_syn_indices.pl
@@ -47,7 +47,6 @@ $result_tree_text{'def_syn_indices'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -75,11 +74,9 @@ $result_tree_text{'def_syn_indices'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -618,9 +615,16 @@ $result_nodes_list{'def_syn_indices'} = '1|Top
 $result_sections_list{'def_syn_indices'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Index
 2|Index
  associated_anchor_command: Chapter index
  associated_node: Chapter index
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'def_syn_indices'} = '';
diff --git a/tta/perl/t/results/indices/double_seeentry_seealso.pl 
b/tta/perl/t/results/indices/double_seeentry_seealso.pl
index 10eafbbb2a..2e612dba36 100644
Binary files a/tta/perl/t/results/indices/double_seeentry_seealso.pl and 
b/tta/perl/t/results/indices/double_seeentry_seealso.pl differ
diff --git a/tta/perl/t/results/indices/index_and_node_same_name.pl 
b/tta/perl/t/results/indices/index_and_node_same_name.pl
index 5a4b1032d8..1e113e0fcb 100644
Binary files a/tta/perl/t/results/indices/index_and_node_same_name.pl and 
b/tta/perl/t/results/indices/index_and_node_same_name.pl differ
diff --git a/tta/perl/t/results/indices/index_entry_in_footnote_sections.pl 
b/tta/perl/t/results/indices/index_entry_in_footnote_sections.pl
index 0a2b2e18de..c12fa0a836 100644
Binary files a/tta/perl/t/results/indices/index_entry_in_footnote_sections.pl 
and b/tta/perl/t/results/indices/index_entry_in_footnote_sections.pl differ
diff --git 
a/tta/perl/t/results/indices/index_entry_in_footnote_sections_separate.pl 
b/tta/perl/t/results/indices/index_entry_in_footnote_sections_separate.pl
index cf41d2cc72..ffac314a5d 100644
Binary files 
a/tta/perl/t/results/indices/index_entry_in_footnote_sections_separate.pl and 
b/tta/perl/t/results/indices/index_entry_in_footnote_sections_separate.pl differ
diff --git a/tta/perl/t/results/indices/index_no_node.pl 
b/tta/perl/t/results/indices/index_no_node.pl
index 9b3e4ccfa7..c8ad05f4ab 100644
--- a/tta/perl/t/results/indices/index_no_node.pl
+++ b/tta/perl/t/results/indices/index_no_node.pl
@@ -57,7 +57,6 @@ $result_tree_text{'index_no_node'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -65,7 +64,6 @@ $result_tree_text{'index_no_node'} = '*document_root C7
   ||EXTRA
   ||section_childs:EC[E0|E1|E3|E4]
   ||section_level:{0}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -130,10 +128,8 @@ $result_tree_text{'index_no_node'} = '*document_root C7
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[next->E3|prev->E0]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E3|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -248,7 +244,6 @@ $result_tree_text{'index_no_node'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_level:{2}
  |section_number:{3}
   *arguments_line C1
@@ -314,11 +309,9 @@ $result_tree_text{'index_no_node'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|prev->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E4|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -370,11 +363,9 @@ $result_tree_text{'index_no_node'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -520,10 +511,34 @@ $result_errors{'index_no_node'} = [
 $result_nodes_list{'index_no_node'} = '';
 
 $result_sections_list{'index_no_node'} = '1|unnumbered
+ section_directions:
+  next->top section
+ toplevel_directions:
+  next->top section
 2|top section
+ section_directions:
+  next->Chapter
+  prev->unnumbered
+ toplevel_directions:
+  next->Chapter
+  prev->unnumbered
 3|second
+ section_directions:
+  up->top section
 4|Chapter
+ section_directions:
+  next->Chapter 2
+  prev->top section
+ toplevel_directions:
+  next->Chapter 2
+  prev->top section
+  up->top section
 5|Chapter 2
+ section_directions:
+  prev->Chapter
+ toplevel_directions:
+  prev->Chapter
+  up->top section
 ';
 
 $result_headings_list{'index_no_node'} = '';
diff --git a/tta/perl/t/results/indices/index_no_node_no_top.pl 
b/tta/perl/t/results/indices/index_no_node_no_top.pl
index 7365b29ed3..55e1cd5d2f 100644
--- a/tta/perl/t/results/indices/index_no_node_no_top.pl
+++ b/tta/perl/t/results/indices/index_no_node_no_top.pl
@@ -44,7 +44,6 @@ $result_tree_text{'index_no_node_no_top'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -52,7 +51,6 @@ $result_tree_text{'index_no_node_no_top'} = '*document_root C7
   ||EXTRA
   ||section_childs:EC[E0|E1|E3|E4]
   ||section_level:{0}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -117,10 +115,8 @@ $result_tree_text{'index_no_node_no_top'} = 
'*document_root C7
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[next->E3|prev->E0]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E3|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -235,7 +231,6 @@ $result_tree_text{'index_no_node_no_top'} = '*document_root 
C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_level:{2}
  |section_number:{3}
   *arguments_line C1
@@ -301,11 +296,9 @@ $result_tree_text{'index_no_node_no_top'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|prev->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E4|prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -357,11 +350,9 @@ $result_tree_text{'index_no_node_no_top'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -496,10 +487,32 @@ $result_errors{'index_no_node_no_top'} = [
 $result_nodes_list{'index_no_node_no_top'} = '';
 
 $result_sections_list{'index_no_node_no_top'} = '1|unnumbered
+ section_directions:
+  next->top (chapter) section
+ toplevel_directions:
+  next->top (chapter) section
 2|top (chapter) section
+ section_directions:
+  next->Chapter
+  prev->unnumbered
+ toplevel_directions:
+  next->Chapter
+  prev->unnumbered
 3|second
+ section_directions:
+  up->top (chapter) section
 4|Chapter
+ section_directions:
+  next->Chapter 2
+  prev->top (chapter) section
+ toplevel_directions:
+  next->Chapter 2
+  prev->top (chapter) section
 5|Chapter 2
+ section_directions:
+  prev->Chapter
+ toplevel_directions:
+  prev->Chapter
 ';
 
 $result_headings_list{'index_no_node_no_top'} = '';
diff --git a/tta/perl/t/results/indices/index_no_node_no_top_no_node.pl 
b/tta/perl/t/results/indices/index_no_node_no_top_no_node.pl
index 757a53f1c8..b87e253d35 100644
--- a/tta/perl/t/results/indices/index_no_node_no_top_no_node.pl
+++ b/tta/perl/t/results/indices/index_no_node_no_top_no_node.pl
@@ -44,7 +44,6 @@ $result_tree_text{'index_no_node_no_top_no_node'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -52,7 +51,6 @@ $result_tree_text{'index_no_node_no_top_no_node'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E0|E1|E3|E4]
   ||section_level:{0}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -117,10 +115,8 @@ $result_tree_text{'index_no_node_no_top_no_node'} = 
'*document_root C7
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[next->E3|prev->E0]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E3|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -235,7 +231,6 @@ $result_tree_text{'index_no_node_no_top_no_node'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_level:{2}
  |section_number:{3}
   *arguments_line C1
@@ -301,11 +296,9 @@ $result_tree_text{'index_no_node_no_top_no_node'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|prev->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E4|prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -357,11 +350,9 @@ $result_tree_text{'index_no_node_no_top_no_node'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -496,10 +487,32 @@ $result_errors{'index_no_node_no_top_no_node'} = [
 $result_nodes_list{'index_no_node_no_top_no_node'} = '';
 
 $result_sections_list{'index_no_node_no_top_no_node'} = '1|unnumbered
+ section_directions:
+  next->top (chapter) section
+ toplevel_directions:
+  next->top (chapter) section
 2|top (chapter) section
+ section_directions:
+  next->Chapter
+  prev->unnumbered
+ toplevel_directions:
+  next->Chapter
+  prev->unnumbered
 3|second
+ section_directions:
+  up->top (chapter) section
 4|Chapter
+ section_directions:
+  next->Chapter 2
+  prev->top (chapter) section
+ toplevel_directions:
+  next->Chapter 2
+  prev->top (chapter) section
 5|Chapter 2
+ section_directions:
+  prev->Chapter
+ toplevel_directions:
+  prev->Chapter
 ';
 
 $result_headings_list{'index_no_node_no_top_no_node'} = '';
diff --git a/tta/perl/t/results/indices/index_special_region.pl 
b/tta/perl/t/results/indices/index_special_region.pl
index 9b7bd0cc90..a863fc045c 100644
--- a/tta/perl/t/results/indices/index_special_region.pl
+++ b/tta/perl/t/results/indices/index_special_region.pl
@@ -207,7 +207,6 @@ $result_tree_text{'index_special_region'} = '*document_root 
C7
   ||EXTRA
   ||section_childs:EC[E5]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -219,11 +218,9 @@ $result_tree_text{'index_special_region'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E5|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -410,11 +407,9 @@ $result_tree_text{'index_special_region'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E6|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -717,10 +712,25 @@ $result_nodes_list{'index_special_region'} = '1|Top
 $result_sections_list{'index_special_region'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  next->Copying and indices
+  up->Top
+ toplevel_directions:
+  next->Copying and indices
+  prev->Top
+  up->Top
 3|Copying and indices
  associated_anchor_command: Copying and indices
  associated_node: Copying and indices
+ section_directions:
+  prev->Chapter
+  up->Top
+ toplevel_directions:
+  prev->Chapter
+  up->Top
 ';
 
 $result_headings_list{'index_special_region'} = '';
diff --git 
a/tta/perl/t/results/indices/index_special_region_no_insertcopying.pl 
b/tta/perl/t/results/indices/index_special_region_no_insertcopying.pl
index 71723e13eb..b1da16c609 100644
--- a/tta/perl/t/results/indices/index_special_region_no_insertcopying.pl
+++ b/tta/perl/t/results/indices/index_special_region_no_insertcopying.pl
@@ -232,7 +232,6 @@ $result_tree_text{'index_special_region_no_insertcopying'} 
= '*document_root C7
   ||EXTRA
   ||section_childs:EC[E5]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -244,11 +243,9 @@ $result_tree_text{'index_special_region_no_insertcopying'} 
= '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E5|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -432,11 +429,9 @@ $result_tree_text{'index_special_region_no_insertcopying'} 
= '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E6|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -711,10 +706,25 @@ 
$result_nodes_list{'index_special_region_no_insertcopying'} = '1|Top
 $result_sections_list{'index_special_region_no_insertcopying'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  next->Copying and indices
+  up->Top
+ toplevel_directions:
+  next->Copying and indices
+  prev->Top
+  up->Top
 3|Copying and indices
  associated_anchor_command: Copying and indices
  associated_node: Copying and indices
+ section_directions:
+  prev->Chapter
+  up->Top
+ toplevel_directions:
+  prev->Chapter
+  up->Top
 ';
 
 $result_headings_list{'index_special_region_no_insertcopying'} = '';
diff --git 
a/tta/perl/t/results/indices/index_special_region_no_insertcopying_no_titlepage_no_nodes.pl
 
b/tta/perl/t/results/indices/index_special_region_no_insertcopying_no_titlepage_no_nodes.pl
index e5fd9386e2..16d5e6bdd0 100644
--- 
a/tta/perl/t/results/indices/index_special_region_no_insertcopying_no_titlepage_no_nodes.pl
+++ 
b/tta/perl/t/results/indices/index_special_region_no_insertcopying_no_titlepage_no_nodes.pl
@@ -232,7 +232,6 @@ 
$result_tree_text{'index_special_region_no_insertcopying_no_titlepage_no_nodes'}
   ||EXTRA
   ||section_childs:EC[E5]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -244,11 +243,9 @@ 
$result_tree_text{'index_special_region_no_insertcopying_no_titlepage_no_nodes'}
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E5|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -432,11 +429,9 @@ 
$result_tree_text{'index_special_region_no_insertcopying_no_titlepage_no_nodes'}
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E6|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -711,10 +706,25 @@ 
$result_nodes_list{'index_special_region_no_insertcopying_no_titlepage_no_nodes'
 
$result_sections_list{'index_special_region_no_insertcopying_no_titlepage_no_nodes'}
 = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  next->Copying and indices
+  up->Top
+ toplevel_directions:
+  next->Copying and indices
+  prev->Top
+  up->Top
 3|Copying and indices
  associated_anchor_command: Copying and indices
  associated_node: Copying and indices
+ section_directions:
+  prev->Chapter
+  up->Top
+ toplevel_directions:
+  prev->Chapter
+  up->Top
 ';
 
 
$result_headings_list{'index_special_region_no_insertcopying_no_titlepage_no_nodes'}
 = '';
diff --git 
a/tta/perl/t/results/indices/index_special_region_no_insertcopying_titlepage_no_nodes.pl
 
b/tta/perl/t/results/indices/index_special_region_no_insertcopying_titlepage_no_nodes.pl
index 2b4ffa9f72..887c2090a4 100644
--- 
a/tta/perl/t/results/indices/index_special_region_no_insertcopying_titlepage_no_nodes.pl
+++ 
b/tta/perl/t/results/indices/index_special_region_no_insertcopying_titlepage_no_nodes.pl
@@ -232,7 +232,6 @@ 
$result_tree_text{'index_special_region_no_insertcopying_titlepage_no_nodes'} =
   ||EXTRA
   ||section_childs:EC[E5]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -244,11 +243,9 @@ 
$result_tree_text{'index_special_region_no_insertcopying_titlepage_no_nodes'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E5|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -432,11 +429,9 @@ 
$result_tree_text{'index_special_region_no_insertcopying_titlepage_no_nodes'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E6|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -711,10 +706,25 @@ 
$result_nodes_list{'index_special_region_no_insertcopying_titlepage_no_nodes'} =
 
$result_sections_list{'index_special_region_no_insertcopying_titlepage_no_nodes'}
 = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  next->Copying and indices
+  up->Top
+ toplevel_directions:
+  next->Copying and indices
+  prev->Top
+  up->Top
 3|Copying and indices
  associated_anchor_command: Copying and indices
  associated_node: Copying and indices
+ section_directions:
+  prev->Chapter
+  up->Top
+ toplevel_directions:
+  prev->Chapter
+  up->Top
 ';
 
 
$result_headings_list{'index_special_region_no_insertcopying_titlepage_no_nodes'}
 = '';
diff --git 
a/tta/perl/t/results/indices/index_special_region_no_insertcopying_titlepage_no_nodes_footnotes_default.pl
 
b/tta/perl/t/results/indices/index_special_region_no_insertcopying_titlepage_no_nodes_footnotes_default.pl
index 8b88d55225..293a9bb585 100644
--- 
a/tta/perl/t/results/indices/index_special_region_no_insertcopying_titlepage_no_nodes_footnotes_default.pl
+++ 
b/tta/perl/t/results/indices/index_special_region_no_insertcopying_titlepage_no_nodes_footnotes_default.pl
@@ -232,7 +232,6 @@ 
$result_tree_text{'index_special_region_no_insertcopying_titlepage_no_nodes_foot
   ||EXTRA
   ||section_childs:EC[E5]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -244,11 +243,9 @@ 
$result_tree_text{'index_special_region_no_insertcopying_titlepage_no_nodes_foot
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E5|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -432,11 +429,9 @@ 
$result_tree_text{'index_special_region_no_insertcopying_titlepage_no_nodes_foot
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E6|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -711,10 +706,25 @@ 
$result_nodes_list{'index_special_region_no_insertcopying_titlepage_no_nodes_foo
 
$result_sections_list{'index_special_region_no_insertcopying_titlepage_no_nodes_footnotes_default'}
 = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  next->Copying and indices
+  up->Top
+ toplevel_directions:
+  next->Copying and indices
+  prev->Top
+  up->Top
 3|Copying and indices
  associated_anchor_command: Copying and indices
  associated_node: Copying and indices
+ section_directions:
+  prev->Chapter
+  up->Top
+ toplevel_directions:
+  prev->Chapter
+  up->Top
 ';
 
 
$result_headings_list{'index_special_region_no_insertcopying_titlepage_no_nodes_footnotes_default'}
 = '';
diff --git 
a/tta/perl/t/results/indices/index_special_region_no_titlepage_no_nodes.pl 
b/tta/perl/t/results/indices/index_special_region_no_titlepage_no_nodes.pl
index c8fb5bc8c2..aad1de1cbc 100644
--- a/tta/perl/t/results/indices/index_special_region_no_titlepage_no_nodes.pl
+++ b/tta/perl/t/results/indices/index_special_region_no_titlepage_no_nodes.pl
@@ -207,7 +207,6 @@ 
$result_tree_text{'index_special_region_no_titlepage_no_nodes'} = '*document_roo
   ||EXTRA
   ||section_childs:EC[E5]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -219,11 +218,9 @@ 
$result_tree_text{'index_special_region_no_titlepage_no_nodes'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E5|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -410,11 +407,9 @@ 
$result_tree_text{'index_special_region_no_titlepage_no_nodes'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E6|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -717,10 +712,25 @@ 
$result_nodes_list{'index_special_region_no_titlepage_no_nodes'} = '1|Top
 $result_sections_list{'index_special_region_no_titlepage_no_nodes'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  next->Copying and indices
+  up->Top
+ toplevel_directions:
+  next->Copying and indices
+  prev->Top
+  up->Top
 3|Copying and indices
  associated_anchor_command: Copying and indices
  associated_node: Copying and indices
+ section_directions:
+  prev->Chapter
+  up->Top
+ toplevel_directions:
+  prev->Chapter
+  up->Top
 ';
 
 $result_headings_list{'index_special_region_no_titlepage_no_nodes'} = '';
diff --git 
a/tta/perl/t/results/indices/index_special_region_titlepage_no_nodes.pl 
b/tta/perl/t/results/indices/index_special_region_titlepage_no_nodes.pl
index fa1c212d8f..3e8f7c54a4 100644
--- a/tta/perl/t/results/indices/index_special_region_titlepage_no_nodes.pl
+++ b/tta/perl/t/results/indices/index_special_region_titlepage_no_nodes.pl
@@ -207,7 +207,6 @@ 
$result_tree_text{'index_special_region_titlepage_no_nodes'} = '*document_root C
   ||EXTRA
   ||section_childs:EC[E5]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -219,11 +218,9 @@ 
$result_tree_text{'index_special_region_titlepage_no_nodes'} = '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E5|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -410,11 +407,9 @@ 
$result_tree_text{'index_special_region_titlepage_no_nodes'} = '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E6|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -717,10 +712,25 @@ 
$result_nodes_list{'index_special_region_titlepage_no_nodes'} = '1|Top
 $result_sections_list{'index_special_region_titlepage_no_nodes'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  next->Copying and indices
+  up->Top
+ toplevel_directions:
+  next->Copying and indices
+  prev->Top
+  up->Top
 3|Copying and indices
  associated_anchor_command: Copying and indices
  associated_node: Copying and indices
+ section_directions:
+  prev->Chapter
+  up->Top
+ toplevel_directions:
+  prev->Chapter
+  up->Top
 ';
 
 $result_headings_list{'index_special_region_titlepage_no_nodes'} = '';
diff --git 
a/tta/perl/t/results/indices/index_special_region_titlepage_no_nodes_footnotes_default.pl
 
b/tta/perl/t/results/indices/index_special_region_titlepage_no_nodes_footnotes_default.pl
index 7862143cec..49d2936572 100644
--- 
a/tta/perl/t/results/indices/index_special_region_titlepage_no_nodes_footnotes_default.pl
+++ 
b/tta/perl/t/results/indices/index_special_region_titlepage_no_nodes_footnotes_default.pl
@@ -207,7 +207,6 @@ 
$result_tree_text{'index_special_region_titlepage_no_nodes_footnotes_default'} =
   ||EXTRA
   ||section_childs:EC[E5]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -219,11 +218,9 @@ 
$result_tree_text{'index_special_region_titlepage_no_nodes_footnotes_default'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E5|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -410,11 +407,9 @@ 
$result_tree_text{'index_special_region_titlepage_no_nodes_footnotes_default'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E6|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -717,10 +712,25 @@ 
$result_nodes_list{'index_special_region_titlepage_no_nodes_footnotes_default'}
 
$result_sections_list{'index_special_region_titlepage_no_nodes_footnotes_default'}
 = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  next->Copying and indices
+  up->Top
+ toplevel_directions:
+  next->Copying and indices
+  prev->Top
+  up->Top
 3|Copying and indices
  associated_anchor_command: Copying and indices
  associated_node: Copying and indices
+ section_directions:
+  prev->Chapter
+  up->Top
+ toplevel_directions:
+  prev->Chapter
+  up->Top
 ';
 
 
$result_headings_list{'index_special_region_titlepage_no_nodes_footnotes_default'}
 = '';
diff --git a/tta/perl/t/results/indices/index_split.pl 
b/tta/perl/t/results/indices/index_split.pl
index 1bba85cedb..b941344d36 100644
--- a/tta/perl/t/results/indices/index_split.pl
+++ b/tta/perl/t/results/indices/index_split.pl
@@ -39,7 +39,6 @@ $result_tree_text{'index_split'} = '*document_root C21
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -270,11 +269,9 @@ $result_tree_text{'index_split'} = '*document_root C21
   |{ }
  |EXTRA
  |section_childs:EC[E7|E14|E16]
- |section_directions:D[next->E21|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E21|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -426,7 +423,6 @@ $result_tree_text{'index_split'} = '*document_root C21
   |{ }
  |EXTRA
  |section_childs:EC[E10|E12]
- |section_directions:D[next->E14|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -539,7 +535,6 @@ $result_tree_text{'index_split'} = '*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -573,7 +568,6 @@ $result_tree_text{'index_split'} = '*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E7]
  |section_heading_number:{1.1.2}
  |section_level:{3}
  |section_number:{5}
@@ -647,7 +641,6 @@ $result_tree_text{'index_split'} = '*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E7|up->E4]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{6}
@@ -681,7 +674,6 @@ $result_tree_text{'index_split'} = '*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E4]
  |section_heading_number:{1.3}
  |section_level:{2}
  |section_number:{7}
@@ -909,11 +901,9 @@ $result_tree_text{'index_split'} = '*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1260,27 +1250,58 @@ $result_nodes_list{'index_split'} = '1|Top
 $result_sections_list{'index_split'} = '1|split indices
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: first
  associated_node: first
+ section_directions:
+  next->Second chapter
+  up->split indices
+ toplevel_directions:
+  next->Second chapter
+  prev->split indices
+  up->split indices
 3|Section 1
  associated_anchor_command: section 1
  associated_node: section 1
+ section_directions:
+  next->Section 2
+  up->First chapter
 4|Subsection 1
  associated_anchor_command: subsection 1
  associated_node: subsection 1
+ section_directions:
+  next->Subsection 2
+  up->Section 1
 5|Subsection 2
  associated_anchor_command: subsection 2
  associated_node: subsection 2
+ section_directions:
+  prev->Subsection 1
+  up->Section 1
 6|Section 2
  associated_anchor_command: section 2
  associated_node: section 2
+ section_directions:
+  next->Section 3
+  prev->Section 1
+  up->First chapter
 7|Section 3
  associated_anchor_command: section 3
  associated_node: section 3
+ section_directions:
+  prev->Section 2
+  up->First chapter
 8|Second chapter
  associated_anchor_command: second chapter
  associated_node: second chapter
+ section_directions:
+  prev->First chapter
+  up->split indices
+ toplevel_directions:
+  prev->First chapter
+  up->split indices
 ';
 
 $result_headings_list{'index_split'} = '';
diff --git a/tta/perl/t/results/indices/index_split_split_chapter_no_nodes.pl 
b/tta/perl/t/results/indices/index_split_split_chapter_no_nodes.pl
index 817aaead3c..09c9c1b8dd 100644
--- a/tta/perl/t/results/indices/index_split_split_chapter_no_nodes.pl
+++ b/tta/perl/t/results/indices/index_split_split_chapter_no_nodes.pl
@@ -39,7 +39,6 @@ $result_tree_text{'index_split_split_chapter_no_nodes'} = 
'*document_root C21
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -270,11 +269,9 @@ $result_tree_text{'index_split_split_chapter_no_nodes'} = 
'*document_root C21
   |{ }
  |EXTRA
  |section_childs:EC[E7|E14|E16]
- |section_directions:D[next->E21|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E21|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -426,7 +423,6 @@ $result_tree_text{'index_split_split_chapter_no_nodes'} = 
'*document_root C21
   |{ }
  |EXTRA
  |section_childs:EC[E10|E12]
- |section_directions:D[next->E14|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -539,7 +535,6 @@ $result_tree_text{'index_split_split_chapter_no_nodes'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -573,7 +568,6 @@ $result_tree_text{'index_split_split_chapter_no_nodes'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E7]
  |section_heading_number:{1.1.2}
  |section_level:{3}
  |section_number:{5}
@@ -647,7 +641,6 @@ $result_tree_text{'index_split_split_chapter_no_nodes'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E7|up->E4]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{6}
@@ -681,7 +674,6 @@ $result_tree_text{'index_split_split_chapter_no_nodes'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E4]
  |section_heading_number:{1.3}
  |section_level:{2}
  |section_number:{7}
@@ -909,11 +901,9 @@ $result_tree_text{'index_split_split_chapter_no_nodes'} = 
'*document_root C21
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1260,27 +1250,58 @@ 
$result_nodes_list{'index_split_split_chapter_no_nodes'} = '1|Top
 $result_sections_list{'index_split_split_chapter_no_nodes'} = '1|split indices
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: first
  associated_node: first
+ section_directions:
+  next->Second chapter
+  up->split indices
+ toplevel_directions:
+  next->Second chapter
+  prev->split indices
+  up->split indices
 3|Section 1
  associated_anchor_command: section 1
  associated_node: section 1
+ section_directions:
+  next->Section 2
+  up->First chapter
 4|Subsection 1
  associated_anchor_command: subsection 1
  associated_node: subsection 1
+ section_directions:
+  next->Subsection 2
+  up->Section 1
 5|Subsection 2
  associated_anchor_command: subsection 2
  associated_node: subsection 2
+ section_directions:
+  prev->Subsection 1
+  up->Section 1
 6|Section 2
  associated_anchor_command: section 2
  associated_node: section 2
+ section_directions:
+  next->Section 3
+  prev->Section 1
+  up->First chapter
 7|Section 3
  associated_anchor_command: section 3
  associated_node: section 3
+ section_directions:
+  prev->Section 2
+  up->First chapter
 8|Second chapter
  associated_anchor_command: second chapter
  associated_node: second chapter
+ section_directions:
+  prev->First chapter
+  up->split indices
+ toplevel_directions:
+  prev->First chapter
+  up->split indices
 ';
 
 $result_headings_list{'index_split_split_chapter_no_nodes'} = '';
diff --git a/tta/perl/t/results/indices/index_table.pl 
b/tta/perl/t/results/indices/index_table.pl
index 0fd21f13ce..de0bad3e56 100644
--- a/tta/perl/t/results/indices/index_table.pl
+++ b/tta/perl/t/results/indices/index_table.pl
@@ -38,7 +38,6 @@ $result_tree_text{'index_table'} = '*document_root C12
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -115,11 +114,9 @@ $result_tree_text{'index_table'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -300,11 +297,9 @@ $result_tree_text{'index_table'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -370,11 +365,9 @@ $result_tree_text{'index_table'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E11]
- |section_directions:D[prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -2113,7 +2106,6 @@ $result_tree_text{'index_table'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E8]
  |section_heading_number:{3.1}
  |section_level:{2}
  |section_number:{5}
@@ -2438,18 +2430,43 @@ $result_nodes_list{'index_table'} = '1|Top
 $result_sections_list{'index_table'} = '1|Test for indices
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->first node chapter, with ftable and vtable
 2|first node chapter, with ftable and vtable
  associated_anchor_command: node with ftable and vtable
  associated_node: node with ftable and vtable
+ section_directions:
+  next->node with printindex
+  up->Test for indices
+ toplevel_directions:
+  next->node with printindex
+  prev->Test for indices
+  up->Test for indices
 3|node with printindex
  associated_anchor_command: node with printindex
  associated_node: node with printindex
+ section_directions:
+  next->Indices refs
+  prev->first node chapter, with ftable and vtable
+  up->Test for indices
+ toplevel_directions:
+  next->Indices refs
+  prev->first node chapter, with ftable and vtable
+  up->Test for indices
 4|Indices refs
  associated_anchor_command: indices refs
  associated_node: indices refs
+ section_directions:
+  prev->node with printindex
+  up->Test for indices
+ toplevel_directions:
+  prev->node with printindex
+  up->Test for indices
 5|node
  associated_anchor_command: node
  associated_node: node
+ section_directions:
+  up->Indices refs
 ';
 
 $result_headings_list{'index_table'} = '';
diff --git a/tta/perl/t/results/indices/index_table_chapter_no_node.pl 
b/tta/perl/t/results/indices/index_table_chapter_no_node.pl
index b4d6bfab77..46279d28e3 100644
--- a/tta/perl/t/results/indices/index_table_chapter_no_node.pl
+++ b/tta/perl/t/results/indices/index_table_chapter_no_node.pl
@@ -38,7 +38,6 @@ $result_tree_text{'index_table_chapter_no_node'} = 
'*document_root C12
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -115,11 +114,9 @@ $result_tree_text{'index_table_chapter_no_node'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -300,11 +297,9 @@ $result_tree_text{'index_table_chapter_no_node'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -370,11 +365,9 @@ $result_tree_text{'index_table_chapter_no_node'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E11]
- |section_directions:D[prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -2113,7 +2106,6 @@ $result_tree_text{'index_table_chapter_no_node'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E8]
  |section_heading_number:{3.1}
  |section_level:{2}
  |section_number:{5}
@@ -2438,18 +2430,43 @@ $result_nodes_list{'index_table_chapter_no_node'} = 
'1|Top
 $result_sections_list{'index_table_chapter_no_node'} = '1|Test for indices
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->first node chapter, with ftable and vtable
 2|first node chapter, with ftable and vtable
  associated_anchor_command: node with ftable and vtable
  associated_node: node with ftable and vtable
+ section_directions:
+  next->node with printindex
+  up->Test for indices
+ toplevel_directions:
+  next->node with printindex
+  prev->Test for indices
+  up->Test for indices
 3|node with printindex
  associated_anchor_command: node with printindex
  associated_node: node with printindex
+ section_directions:
+  next->Indices refs
+  prev->first node chapter, with ftable and vtable
+  up->Test for indices
+ toplevel_directions:
+  next->Indices refs
+  prev->first node chapter, with ftable and vtable
+  up->Test for indices
 4|Indices refs
  associated_anchor_command: indices refs
  associated_node: indices refs
+ section_directions:
+  prev->node with printindex
+  up->Test for indices
+ toplevel_directions:
+  prev->node with printindex
+  up->Test for indices
 5|node
  associated_anchor_command: node
  associated_node: node
+ section_directions:
+  up->Indices refs
 ';
 
 $result_headings_list{'index_table_chapter_no_node'} = '';
diff --git 
a/tta/perl/t/results/indices/multiple_index_text_sortas_seeentry_seealso.pl 
b/tta/perl/t/results/indices/multiple_index_text_sortas_seeentry_seealso.pl
index b75910025d..4436d7546f 100644
Binary files 
a/tta/perl/t/results/indices/multiple_index_text_sortas_seeentry_seealso.pl and 
b/tta/perl/t/results/indices/multiple_index_text_sortas_seeentry_seealso.pl 
differ
diff --git 
a/tta/perl/t/results/indices/nodes_before_top_and_sections_chapter.pl 
b/tta/perl/t/results/indices/nodes_before_top_and_sections_chapter.pl
index 0222a6cf6a..e93ac3ac58 100644
--- a/tta/perl/t/results/indices/nodes_before_top_and_sections_chapter.pl
+++ b/tta/perl/t/results/indices/nodes_before_top_and_sections_chapter.pl
@@ -279,7 +279,6 @@ $result_tree_text{'nodes_before_top_and_sections_chapter'} 
= '*document_root C13
   ||EXTRA
   ||section_childs:EC[E4]
   ||section_level:{-1}
- |toplevel_directions:D[next->E13]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -745,11 +744,9 @@ $result_tree_text{'nodes_before_top_and_sections_chapter'} 
= '*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E4|up->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1049,9 +1046,16 @@ 
$result_nodes_list{'nodes_before_top_and_sections_chapter'} = '1|first before to
 $result_sections_list{'nodes_before_top_and_sections_chapter'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'nodes_before_top_and_sections_chapter'} = '';
diff --git 
a/tta/perl/t/results/indices/nodes_before_top_and_sections_chapter_no_node.pl 
b/tta/perl/t/results/indices/nodes_before_top_and_sections_chapter_no_node.pl
index fb3a45a5c6..633885d67a 100644
--- 
a/tta/perl/t/results/indices/nodes_before_top_and_sections_chapter_no_node.pl
+++ 
b/tta/perl/t/results/indices/nodes_before_top_and_sections_chapter_no_node.pl
@@ -279,7 +279,6 @@ 
$result_tree_text{'nodes_before_top_and_sections_chapter_no_node'} = '*document_
   ||EXTRA
   ||section_childs:EC[E4]
   ||section_level:{-1}
- |toplevel_directions:D[next->E13]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -745,11 +744,9 @@ 
$result_tree_text{'nodes_before_top_and_sections_chapter_no_node'} = '*document_
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E4|up->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1049,9 +1046,16 @@ 
$result_nodes_list{'nodes_before_top_and_sections_chapter_no_node'} = '1|first b
 $result_sections_list{'nodes_before_top_and_sections_chapter_no_node'} = 
'1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'nodes_before_top_and_sections_chapter_no_node'} = '';
diff --git 
a/tta/perl/t/results/indices/nodes_before_top_and_sections_unsplit_no_nodes.pl 
b/tta/perl/t/results/indices/nodes_before_top_and_sections_unsplit_no_nodes.pl
index 9fdd23925a..f6dcfa8fe8 100644
--- 
a/tta/perl/t/results/indices/nodes_before_top_and_sections_unsplit_no_nodes.pl
+++ 
b/tta/perl/t/results/indices/nodes_before_top_and_sections_unsplit_no_nodes.pl
@@ -279,7 +279,6 @@ 
$result_tree_text{'nodes_before_top_and_sections_unsplit_no_nodes'} = '*document
   ||EXTRA
   ||section_childs:EC[E4]
   ||section_level:{-1}
- |toplevel_directions:D[next->E13]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -745,11 +744,9 @@ 
$result_tree_text{'nodes_before_top_and_sections_unsplit_no_nodes'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E4|up->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1049,9 +1046,16 @@ 
$result_nodes_list{'nodes_before_top_and_sections_unsplit_no_nodes'} = '1|first
 $result_sections_list{'nodes_before_top_and_sections_unsplit_no_nodes'} = 
'1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'nodes_before_top_and_sections_unsplit_no_nodes'} = '';
diff --git a/tta/perl/t/results/indices/printindex_between_node_section.pl 
b/tta/perl/t/results/indices/printindex_between_node_section.pl
index 4b98f96119..5085de4d85 100644
Binary files a/tta/perl/t/results/indices/printindex_between_node_section.pl 
and b/tta/perl/t/results/indices/printindex_between_node_section.pl differ
diff --git a/tta/perl/t/results/indices/printindex_between_part_chapter.pl 
b/tta/perl/t/results/indices/printindex_between_part_chapter.pl
index 3161562ac9..ea338e96d0 100644
Binary files a/tta/perl/t/results/indices/printindex_between_part_chapter.pl 
and b/tta/perl/t/results/indices/printindex_between_part_chapter.pl differ
diff --git a/tta/perl/t/results/indices/printindex_index_entry_in_copying.pl 
b/tta/perl/t/results/indices/printindex_index_entry_in_copying.pl
index ee4bd0fcb5..fa08252cd3 100644
Binary files a/tta/perl/t/results/indices/printindex_index_entry_in_copying.pl 
and b/tta/perl/t/results/indices/printindex_index_entry_in_copying.pl differ
diff --git 
a/tta/perl/t/results/indices/printindex_index_entry_in_copying_in_footnote.pl 
b/tta/perl/t/results/indices/printindex_index_entry_in_copying_in_footnote.pl
index 83dfa8cf02..4abb103840 100644
Binary files 
a/tta/perl/t/results/indices/printindex_index_entry_in_copying_in_footnote.pl 
and 
b/tta/perl/t/results/indices/printindex_index_entry_in_copying_in_footnote.pl 
differ
diff --git 
a/tta/perl/t/results/indices/printindex_index_entry_in_copying_no_insertcopying.pl
 
b/tta/perl/t/results/indices/printindex_index_entry_in_copying_no_insertcopying.pl
index 45fab93a7a..7c66d2ad02 100644
--- 
a/tta/perl/t/results/indices/printindex_index_entry_in_copying_no_insertcopying.pl
+++ 
b/tta/perl/t/results/indices/printindex_index_entry_in_copying_no_insertcopying.pl
@@ -205,7 +205,6 @@ 
$result_tree_text{'printindex_index_entry_in_copying_no_insertcopying'} = '*docu
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -264,11 +263,9 @@ 
$result_tree_text{'printindex_index_entry_in_copying_no_insertcopying'} = '*docu
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -354,9 +351,16 @@ 
$result_nodes_list{'printindex_index_entry_in_copying_no_insertcopying'} = '1|To
 $result_sections_list{'printindex_index_entry_in_copying_no_insertcopying'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'printindex_index_entry_in_copying_no_insertcopying'} = 
'';
diff --git a/tta/perl/t/results/indices/same_index_entry_merged_indices.pl 
b/tta/perl/t/results/indices/same_index_entry_merged_indices.pl
index 5c2366af43..d4aa6afcbf 100644
Binary files a/tta/perl/t/results/indices/same_index_entry_merged_indices.pl 
and b/tta/perl/t/results/indices/same_index_entry_merged_indices.pl differ
diff --git a/tta/perl/t/results/indices/same_only_seealso_seeentry.pl 
b/tta/perl/t/results/indices/same_only_seealso_seeentry.pl
index 6a8448f740..615b53d580 100644
Binary files a/tta/perl/t/results/indices/same_only_seealso_seeentry.pl and 
b/tta/perl/t/results/indices/same_only_seealso_seeentry.pl differ
diff --git a/tta/perl/t/results/indices/same_seealso_seeentry.pl 
b/tta/perl/t/results/indices/same_seealso_seeentry.pl
index 7e11e52759..4c6180d4c1 100644
Binary files a/tta/perl/t/results/indices/same_seealso_seeentry.pl and 
b/tta/perl/t/results/indices/same_seealso_seeentry.pl differ
diff --git a/tta/perl/t/results/indices/seeentry.pl 
b/tta/perl/t/results/indices/seeentry.pl
index 70906b6505..84aaa1a999 100644
Binary files a/tta/perl/t/results/indices/seeentry.pl and 
b/tta/perl/t/results/indices/seeentry.pl differ
diff --git a/tta/perl/t/results/indices/sorted_subentries.pl 
b/tta/perl/t/results/indices/sorted_subentries.pl
index 42d44a9a0d..7597d6ec98 100644
--- a/tta/perl/t/results/indices/sorted_subentries.pl
+++ b/tta/perl/t/results/indices/sorted_subentries.pl
@@ -32,7 +32,6 @@ $result_tree_text{'sorted_subentries'} = '*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg
    |INFO
@@ -58,11 +57,9 @@ $result_tree_text{'sorted_subentries'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -315,11 +312,9 @@ $result_tree_text{'sorted_subentries'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -644,12 +639,27 @@ $result_nodes_list{'sorted_subentries'} = '1|Top
 $result_sections_list{'sorted_subentries'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->one
 2|one
  associated_anchor_command: chapter one
  associated_node: chapter one
+ section_directions:
+  next->second
+  up->
+ toplevel_directions:
+  next->second
+  prev->
+  up->
 3|second
  associated_anchor_command: chapter second
  associated_node: chapter second
+ section_directions:
+  prev->one
+  up->
+ toplevel_directions:
+  prev->one
+  up->
 ';
 
 $result_headings_list{'sorted_subentries'} = '';
diff --git a/tta/perl/t/results/indices/split_chapter_index.pl 
b/tta/perl/t/results/indices/split_chapter_index.pl
index 6d98f0ec17..430bc21f21 100644
--- a/tta/perl/t/results/indices/split_chapter_index.pl
+++ b/tta/perl/t/results/indices/split_chapter_index.pl
@@ -51,7 +51,6 @@ $result_tree_text{'split_chapter_index'} = '*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -126,11 +125,9 @@ $result_tree_text{'split_chapter_index'} = '*document_root 
C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -309,7 +306,6 @@ $result_tree_text{'split_chapter_index'} = '*document_root 
C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -396,7 +392,6 @@ $result_tree_text{'split_chapter_index'} = '*document_root 
C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -562,15 +557,26 @@ $result_nodes_list{'split_chapter_index'} = '1|Top
 $result_sections_list{'split_chapter_index'} = '1|split indices
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: first
  associated_node: first
+ section_directions:
+  up->split indices
+ toplevel_directions:
+  prev->split indices
+  up->split indices
 3|Section 1
  associated_anchor_command: section 1
  associated_node: section 1
+ section_directions:
+  up->First chapter
 4|Subsection 1
  associated_anchor_command: subsection 1
  associated_node: subsection 1
+ section_directions:
+  up->Section 1
 ';
 
 $result_headings_list{'split_chapter_index'} = '';
diff --git a/tta/perl/t/results/indices/subentries.pl 
b/tta/perl/t/results/indices/subentries.pl
index aae084afd1..3b66afc6ec 100644
--- a/tta/perl/t/results/indices/subentries.pl
+++ b/tta/perl/t/results/indices/subentries.pl
@@ -32,7 +32,6 @@ $result_tree_text{'subentries'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg
    |INFO
@@ -59,11 +58,9 @@ $result_tree_text{'subentries'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -351,9 +348,16 @@ $result_nodes_list{'subentries'} = '1|Top
 $result_sections_list{'subentries'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Index
 2|Index
  associated_anchor_command: chapter index
  associated_node: chapter index
+ section_directions:
+  up->
+ toplevel_directions:
+  prev->
+  up->
 ';
 
 $result_headings_list{'subentries'} = '';
diff --git a/tta/perl/t/results/indices/subentries_and_comments.pl 
b/tta/perl/t/results/indices/subentries_and_comments.pl
index 249ab8aae1..c5572727e3 100644
Binary files a/tta/perl/t/results/indices/subentries_and_comments.pl and 
b/tta/perl/t/results/indices/subentries_and_comments.pl differ
diff --git a/tta/perl/t/results/indices/subentry_and_sortas.pl 
b/tta/perl/t/results/indices/subentry_and_sortas.pl
index 23e0d57283..4b4e319ada 100644
Binary files a/tta/perl/t/results/indices/subentry_and_sortas.pl and 
b/tta/perl/t/results/indices/subentry_and_sortas.pl differ
diff --git a/tta/perl/t/results/indices/subentry_and_sortas_spaces.pl 
b/tta/perl/t/results/indices/subentry_and_sortas_spaces.pl
index cb563b3548..2809615976 100644
Binary files a/tta/perl/t/results/indices/subentry_and_sortas_spaces.pl and 
b/tta/perl/t/results/indices/subentry_and_sortas_spaces.pl differ
diff --git a/tta/perl/t/results/indices/syncode_index_print_both.pl 
b/tta/perl/t/results/indices/syncode_index_print_both.pl
index 4901aa0545..6e83a315ab 100644
Binary files a/tta/perl/t/results/indices/syncode_index_print_both.pl and 
b/tta/perl/t/results/indices/syncode_index_print_both.pl differ
diff --git a/tta/perl/t/results/info_tests/before_node_and_section.pl 
b/tta/perl/t/results/info_tests/before_node_and_section.pl
index 6021dc1b54..89a00d85e8 100644
Binary files a/tta/perl/t/results/info_tests/before_node_and_section.pl and 
b/tta/perl/t/results/info_tests/before_node_and_section.pl differ
diff --git a/tta/perl/t/results/info_tests/chinese_mixed_with_en_EUC_CN.pl 
b/tta/perl/t/results/info_tests/chinese_mixed_with_en_EUC_CN.pl
index b5f42fda4a..4b27433b66 100644
--- a/tta/perl/t/results/info_tests/chinese_mixed_with_en_EUC_CN.pl
+++ b/tta/perl/t/results/info_tests/chinese_mixed_with_en_EUC_CN.pl
@@ -60,7 +60,6 @@ $result_tree_text{'chinese_mixed_with_en_EUC_CN'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -90,11 +89,9 @@ $result_tree_text{'chinese_mixed_with_en_EUC_CN'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -248,9 +245,16 @@ $result_nodes_list{'chinese_mixed_with_en_EUC_CN'} = '1|Top
 $result_sections_list{'chinese_mixed_with_en_EUC_CN'} = '1|Mixed chinese and 
english
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Mixed english and chinese
 2|Mixed english and chinese
  associated_anchor_command: Mixed english and chinese
  associated_node: Mixed english and chinese
+ section_directions:
+  up->Mixed chinese and english
+ toplevel_directions:
+  prev->Mixed chinese and english
+  up->Mixed chinese and english
 ';
 
 $result_headings_list{'chinese_mixed_with_en_EUC_CN'} = '';
diff --git a/tta/perl/t/results/info_tests/direntry_dircategory.pl 
b/tta/perl/t/results/info_tests/direntry_dircategory.pl
index 97344c8679..1e069fd698 100644
--- a/tta/perl/t/results/info_tests/direntry_dircategory.pl
+++ b/tta/perl/t/results/info_tests/direntry_dircategory.pl
@@ -146,7 +146,6 @@ $result_tree_text{'direntry_dircategory'} = '*document_root 
C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -246,11 +245,9 @@ $result_tree_text{'direntry_dircategory'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -370,9 +367,16 @@ $result_nodes_list{'direntry_dircategory'} = '1|Top
 $result_sections_list{'direntry_dircategory'} = '1|Test dircategory and 
direntry
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Test dircategory and direntry
+ toplevel_directions:
+  prev->Test dircategory and direntry
+  up->Test dircategory and direntry
 ';
 
 $result_headings_list{'direntry_dircategory'} = '';
diff --git a/tta/perl/t/results/info_tests/end_of_line_command_in_node_lines.pl 
b/tta/perl/t/results/info_tests/end_of_line_command_in_node_lines.pl
index 7c01ef28de..d67903f051 100644
--- a/tta/perl/t/results/info_tests/end_of_line_command_in_node_lines.pl
+++ b/tta/perl/t/results/info_tests/end_of_line_command_in_node_lines.pl
@@ -35,7 +35,6 @@ $result_tree_text{'end_of_line_command_in_node_lines'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -111,11 +110,9 @@ $result_tree_text{'end_of_line_command_in_node_lines'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,11 +185,9 @@ $result_tree_text{'end_of_line_command_in_node_lines'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -432,12 +427,27 @@ $result_nodes_list{'end_of_line_command_in_node_lines'} = 
'1|Top
 $result_sections_list{'end_of_line_command_in_node_lines'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap @* f     nl Something? @* After punct
  associated_node: chap @* f     nl Something? @* After punct
+ section_directions:
+  next->Ochap
+  up->top
+ toplevel_directions:
+  next->Ochap
+  prev->top
+  up->top
 3|Ochap
  associated_anchor_command: new n
  associated_node: new n
+ section_directions:
+  prev->Chap
+  up->top
+ toplevel_directions:
+  prev->Chap
+  up->top
 ';
 
 $result_headings_list{'end_of_line_command_in_node_lines'} = '';
diff --git a/tta/perl/t/results/info_tests/index_entry_at_end_node.pl 
b/tta/perl/t/results/info_tests/index_entry_at_end_node.pl
index c05fa9a7a3..90c4cd4449 100644
Binary files a/tta/perl/t/results/info_tests/index_entry_at_end_node.pl and 
b/tta/perl/t/results/info_tests/index_entry_at_end_node.pl differ
diff --git a/tta/perl/t/results/info_tests/quote_node_names_info.pl 
b/tta/perl/t/results/info_tests/quote_node_names_info.pl
index 088218bc87..bff725ba8c 100644
--- a/tta/perl/t/results/info_tests/quote_node_names_info.pl
+++ b/tta/perl/t/results/info_tests/quote_node_names_info.pl
@@ -32,7 +32,6 @@ $result_tree_text{'quote_node_names_info'} = '*document_root 
C12
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg
    |INFO
@@ -405,11 +404,9 @@ $result_tree_text{'quote_node_names_info'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -439,11 +436,9 @@ $result_tree_text{'quote_node_names_info'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -511,11 +506,9 @@ $result_tree_text{'quote_node_names_info'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -544,11 +537,9 @@ $result_tree_text{'quote_node_names_info'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -792,18 +783,49 @@ $result_nodes_list{'quote_node_names_info'} = '1|Top
 $result_sections_list{'quote_node_names_info'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->blah:blah
 2|blah:blah
  associated_anchor_command: blah:blah
  associated_node: blah:blah
+ section_directions:
+  next->blumpty.fump
+  up->
+ toplevel_directions:
+  next->blumpty.fump
+  prev->
+  up->
 3|blumpty.fump
  associated_anchor_command: blumpty.fump
  associated_node: blumpty.fump
+ section_directions:
+  next->normal node
+  prev->blah:blah
+  up->
+ toplevel_directions:
+  next->normal node
+  prev->blah:blah
+  up->
 4|normal node
  associated_anchor_command: normal node
  associated_node: normal node
+ section_directions:
+  next->@asis{secret,node}
+  prev->blumpty.fump
+  up->
+ toplevel_directions:
+  next->@asis{secret,node}
+  prev->blumpty.fump
+  up->
 5|@asis{secret,node}
  associated_anchor_command: @asis{secret,node}
  associated_node: @asis{secret,node}
+ section_directions:
+  prev->normal node
+  up->
+ toplevel_directions:
+  prev->normal node
+  up->
 ';
 
 $result_headings_list{'quote_node_names_info'} = '';
diff --git a/tta/perl/t/results/info_tests/recursive_down_menu.pl 
b/tta/perl/t/results/info_tests/recursive_down_menu.pl
index d0ae8a6149..cd082853f8 100644
--- a/tta/perl/t/results/info_tests/recursive_down_menu.pl
+++ b/tta/perl/t/results/info_tests/recursive_down_menu.pl
@@ -34,7 +34,6 @@ $result_tree_text{'recursive_down_menu'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'recursive_down_menu'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,9 +153,16 @@ $result_nodes_list{'recursive_down_menu'} = '1|Top
 $result_sections_list{'recursive_down_menu'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Intro
 2|Intro
  associated_anchor_command: chapN
  associated_node: chapN
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'recursive_down_menu'} = '';
diff --git a/tta/perl/t/results/info_tests/space_in_menu.pl 
b/tta/perl/t/results/info_tests/space_in_menu.pl
index f63cdb788a..a430663cf2 100644
--- a/tta/perl/t/results/info_tests/space_in_menu.pl
+++ b/tta/perl/t/results/info_tests/space_in_menu.pl
@@ -34,7 +34,6 @@ $result_tree_text{'space_in_menu'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -93,11 +92,9 @@ $result_tree_text{'space_in_menu'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -162,9 +159,16 @@ $result_nodes_list{'space_in_menu'} = '1|Top
 $result_sections_list{'space_in_menu'} = '1|Element
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->node
 2|node
  associated_anchor_command: node
  associated_node: node
+ section_directions:
+  up->Element
+ toplevel_directions:
+  prev->Element
+  up->Element
 ';
 
 $result_headings_list{'space_in_menu'} = '';
diff --git a/tta/perl/t/results/info_tests/split_no_copying.pl 
b/tta/perl/t/results/info_tests/split_no_copying.pl
index f824353f1a..11381560a5 100644
--- a/tta/perl/t/results/info_tests/split_no_copying.pl
+++ b/tta/perl/t/results/info_tests/split_no_copying.pl
@@ -48,7 +48,6 @@ $result_tree_text{'split_no_copying'} = '*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -107,11 +106,9 @@ $result_tree_text{'split_no_copying'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -190,9 +187,16 @@ $result_nodes_list{'split_no_copying'} = '1|Top
 $result_sections_list{'split_no_copying'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Ch1
 2|Ch1
  associated_anchor_command: Ch1
  associated_node: Ch1
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 ';
 
 $result_headings_list{'split_no_copying'} = '';
diff --git a/tta/perl/t/results/info_tests/split_nocopying.pl 
b/tta/perl/t/results/info_tests/split_nocopying.pl
index e9173e1c55..bb93ffa319 100644
--- a/tta/perl/t/results/info_tests/split_nocopying.pl
+++ b/tta/perl/t/results/info_tests/split_nocopying.pl
@@ -38,7 +38,6 @@ $result_tree_text{'split_nocopying'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -99,11 +98,9 @@ $result_tree_text{'split_nocopying'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -176,9 +173,16 @@ $result_nodes_list{'split_nocopying'} = '1|Top
 $result_sections_list{'split_nocopying'} = '1|Test file used to test split 
Info without @@copying
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Ch1
 2|Ch1
  associated_anchor_command: Ch1
  associated_node: Ch1
+ section_directions:
+  up->Test file used to test split Info without @@copying
+ toplevel_directions:
+  prev->Test file used to test split Info without @@copying
+  up->Test file used to test split Info without @@copying
 ';
 
 $result_headings_list{'split_nocopying'} = '';
diff --git a/tta/perl/t/results/info_tests/split_nocopying_split.pl 
b/tta/perl/t/results/info_tests/split_nocopying_split.pl
index 145c2ff78e..25365e06a3 100644
--- a/tta/perl/t/results/info_tests/split_nocopying_split.pl
+++ b/tta/perl/t/results/info_tests/split_nocopying_split.pl
@@ -38,7 +38,6 @@ $result_tree_text{'split_nocopying_split'} = '*document_root 
C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C3
    |INFO
@@ -99,11 +98,9 @@ $result_tree_text{'split_nocopying_split'} = '*document_root 
C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -176,9 +173,16 @@ $result_nodes_list{'split_nocopying_split'} = '1|Top
 $result_sections_list{'split_nocopying_split'} = '1|Test file used to test 
split Info without @@copying
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Ch1
 2|Ch1
  associated_anchor_command: Ch1
  associated_node: Ch1
+ section_directions:
+  up->Test file used to test split Info without @@copying
+ toplevel_directions:
+  prev->Test file used to test split Info without @@copying
+  up->Test file used to test split Info without @@copying
 ';
 
 $result_headings_list{'split_nocopying_split'} = '';
diff --git a/tta/perl/t/results/info_tests/split_test_before_first_node.pl 
b/tta/perl/t/results/info_tests/split_test_before_first_node.pl
index 7a0ce95bd8..d8127e0176 100644
--- a/tta/perl/t/results/info_tests/split_test_before_first_node.pl
+++ b/tta/perl/t/results/info_tests/split_test_before_first_node.pl
@@ -50,7 +50,6 @@ $result_tree_text{'split_test_before_first_node'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,11 +108,9 @@ $result_tree_text{'split_test_before_first_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,9 +185,16 @@ $result_nodes_list{'split_test_before_first_node'} = '1|Top
 $result_sections_list{'split_test_before_first_node'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap1
  associated_node: chap1
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'split_test_before_first_node'} = '';
diff --git 
a/tta/perl/t/results/info_tests/split_test_before_first_node_no_empty_line.pl 
b/tta/perl/t/results/info_tests/split_test_before_first_node_no_empty_line.pl
index 2b2992d7c3..e8fe5b60f7 100644
--- 
a/tta/perl/t/results/info_tests/split_test_before_first_node_no_empty_line.pl
+++ 
b/tta/perl/t/results/info_tests/split_test_before_first_node_no_empty_line.pl
@@ -49,7 +49,6 @@ 
$result_tree_text{'split_test_before_first_node_no_empty_line'} = '*document_roo
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -108,11 +107,9 @@ 
$result_tree_text{'split_test_before_first_node_no_empty_line'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -185,9 +182,16 @@ 
$result_nodes_list{'split_test_before_first_node_no_empty_line'} = '1|Top
 $result_sections_list{'split_test_before_first_node_no_empty_line'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap1
  associated_node: chap1
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'split_test_before_first_node_no_empty_line'} = '';
diff --git a/tta/perl/t/results/info_tests/test_index.pl 
b/tta/perl/t/results/info_tests/test_index.pl
index d9acad2950..edf4531a41 100644
--- a/tta/perl/t/results/info_tests/test_index.pl
+++ b/tta/perl/t/results/info_tests/test_index.pl
@@ -34,7 +34,6 @@ $result_tree_text{'test_index'} = '*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -317,11 +316,9 @@ $result_tree_text{'test_index'} = '*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -662,11 +659,9 @@ $result_tree_text{'test_index'} = '*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[next->E11|prev->E4|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E11|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -740,7 +735,6 @@ $result_tree_text{'test_index'} = '*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E8]
- |section_directions:D[up->E6]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{4}
@@ -757,7 +751,6 @@ $result_tree_text{'test_index'} = '*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E9]
- |section_directions:D[up->E7]
  |section_heading_number:{A.1.1}
  |section_level:{3}
  |section_number:{5}
@@ -773,7 +766,6 @@ $result_tree_text{'test_index'} = '*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E8]
  |section_heading_number:{A.1.1.1}
  |section_level:{4}
  |section_number:{6}
@@ -802,10 +794,8 @@ $result_tree_text{'test_index'} = '*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E6|up->E1]
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E12|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -818,11 +808,9 @@ $result_tree_text{'test_index'} = '*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E11|up->E1]
  |section_heading_number:{B}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[prev->E11|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1360,17 +1348,54 @@ $result_nodes_list{'test_index'} = '1|Top
 $result_sections_list{'test_index'} = '1|Element top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->A chapter
 2|A chapter
  associated_anchor_command: name
  associated_node: name
+ section_directions:
+  next->Index
+  up->Element top
+ toplevel_directions:
+  next->Index
+  prev->Element top
+  up->Element top
 3|Index
  associated_anchor_command: name1 
looooooooooooooooooooooooooooooooooooooooooooooooooooooooong
  associated_node: name1 
looooooooooooooooooooooooooooooooooooooooooooooooooooooooong
+ section_directions:
+  next->centerchap
+  prev->A chapter
+  up->Element top
+ toplevel_directions:
+  next->centerchap
+  prev->A chapter
+  up->Element top
 4|appendixsec
+ section_directions:
+  up->Index
 5|appendixsubsec
+ section_directions:
+  up->appendixsec
 6|appendixsubsubsec
+ section_directions:
+  up->appendixsubsec
 7|centerchap
+ section_directions:
+  next->chapter end
+  prev->Index
+  up->Element top
+ toplevel_directions:
+  next->chapter end
+  prev->Index
+  up->Element top
 8|chapter end
+ section_directions:
+  prev->centerchap
+  up->Element top
+ toplevel_directions:
+  prev->centerchap
+  up->Element top
 ';
 
 $result_headings_list{'test_index'} = '1|chapheading
diff --git a/tta/perl/t/results/info_tests/text_before_node.pl 
b/tta/perl/t/results/info_tests/text_before_node.pl
index c6ba2d95a1..e0805d9b77 100644
--- a/tta/perl/t/results/info_tests/text_before_node.pl
+++ b/tta/perl/t/results/info_tests/text_before_node.pl
@@ -34,7 +34,6 @@ $result_tree_text{'text_before_node'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -92,11 +91,9 @@ $result_tree_text{'text_before_node'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
     {chapter}
@@ -148,9 +145,16 @@ $result_nodes_list{'text_before_node'} = '1|Top
 $result_sections_list{'text_before_node'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter node
  associated_node: chapter node
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'text_before_node'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/access_document_name_in_handler.pl 
b/tta/perl/t/results/init_files_tests/access_document_name_in_handler.pl
index f0fdc30d10..0b837c4137 100644
--- a/tta/perl/t/results/init_files_tests/access_document_name_in_handler.pl
+++ b/tta/perl/t/results/init_files_tests/access_document_name_in_handler.pl
@@ -35,7 +35,6 @@ $result_tree_text{'access_document_name_in_handler'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'access_document_name_in_handler'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,9 +107,16 @@ $result_nodes_list{'access_document_name_in_handler'} = 
'1|Top
 $result_sections_list{'access_document_name_in_handler'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'access_document_name_in_handler'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/access_global_direction_unit_in_handler.pl
 
b/tta/perl/t/results/init_files_tests/access_global_direction_unit_in_handler.pl
index b78110c485..83558f59c9 100644
--- 
a/tta/perl/t/results/init_files_tests/access_global_direction_unit_in_handler.pl
+++ 
b/tta/perl/t/results/init_files_tests/access_global_direction_unit_in_handler.pl
@@ -35,7 +35,6 @@ $result_tree_text{'access_global_direction_unit_in_handler'} 
= '*document_root C
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'access_global_direction_unit_in_handler'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,9 +107,16 @@ 
$result_nodes_list{'access_global_direction_unit_in_handler'} = '1|Top
 $result_sections_list{'access_global_direction_unit_in_handler'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'access_global_direction_unit_in_handler'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/access_output_unit_in_handler.pl 
b/tta/perl/t/results/init_files_tests/access_output_unit_in_handler.pl
index cdcf6d52d8..eaff3b8bbf 100644
--- a/tta/perl/t/results/init_files_tests/access_output_unit_in_handler.pl
+++ b/tta/perl/t/results/init_files_tests/access_output_unit_in_handler.pl
@@ -35,7 +35,6 @@ $result_tree_text{'access_output_unit_in_handler'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'access_output_unit_in_handler'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,9 +107,16 @@ $result_nodes_list{'access_output_unit_in_handler'} = 
'1|Top
 $result_sections_list{'access_output_unit_in_handler'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'access_output_unit_in_handler'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/access_tree_output_unit_in_handler.pl 
b/tta/perl/t/results/init_files_tests/access_tree_output_unit_in_handler.pl
index 9e3e80cefa..8b305cc6e7 100644
--- a/tta/perl/t/results/init_files_tests/access_tree_output_unit_in_handler.pl
+++ b/tta/perl/t/results/init_files_tests/access_tree_output_unit_in_handler.pl
@@ -35,7 +35,6 @@ $result_tree_text{'access_tree_output_unit_in_handler'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'access_tree_output_unit_in_handler'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,9 +107,16 @@ $result_nodes_list{'access_tree_output_unit_in_handler'} = 
'1|Top
 $result_sections_list{'access_tree_output_unit_in_handler'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'access_tree_output_unit_in_handler'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/button_replacement_and_direction_customization.pl
 
b/tta/perl/t/results/init_files_tests/button_replacement_and_direction_customization.pl
index 9d2927d70a..29f69d3257 100644
--- 
a/tta/perl/t/results/init_files_tests/button_replacement_and_direction_customization.pl
+++ 
b/tta/perl/t/results/init_files_tests/button_replacement_and_direction_customization.pl
@@ -40,7 +40,6 @@ 
$result_tree_text{'button_replacement_and_direction_customization'} = '*document
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -67,11 +66,9 @@ 
$result_tree_text{'button_replacement_and_direction_customization'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -118,9 +115,16 @@ 
$result_nodes_list{'button_replacement_and_direction_customization'} = '1|Top
 $result_sections_list{'button_replacement_and_direction_customization'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'button_replacement_and_direction_customization'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/button_replacement_direction_strings_customization.pl
 
b/tta/perl/t/results/init_files_tests/button_replacement_direction_strings_customization.pl
index 0f5b083a22..2b97fce10b 100644
--- 
a/tta/perl/t/results/init_files_tests/button_replacement_direction_strings_customization.pl
+++ 
b/tta/perl/t/results/init_files_tests/button_replacement_direction_strings_customization.pl
@@ -40,7 +40,6 @@ 
$result_tree_text{'button_replacement_direction_strings_customization'} = '*docu
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -67,11 +66,9 @@ 
$result_tree_text{'button_replacement_direction_strings_customization'} = '*docu
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -118,9 +115,16 @@ 
$result_nodes_list{'button_replacement_direction_strings_customization'} = '1|To
 $result_sections_list{'button_replacement_direction_strings_customization'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'button_replacement_direction_strings_customization'} = 
'';
diff --git 
a/tta/perl/t/results/init_files_tests/button_replacement_for_special_unit_direction.pl
 
b/tta/perl/t/results/init_files_tests/button_replacement_for_special_unit_direction.pl
index e94964f497..fea7e4a136 100644
--- 
a/tta/perl/t/results/init_files_tests/button_replacement_for_special_unit_direction.pl
+++ 
b/tta/perl/t/results/init_files_tests/button_replacement_for_special_unit_direction.pl
@@ -40,7 +40,6 @@ 
$result_tree_text{'button_replacement_for_special_unit_direction'} = '*document_
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -67,11 +66,9 @@ 
$result_tree_text{'button_replacement_for_special_unit_direction'} = '*document_
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -118,9 +115,16 @@ 
$result_nodes_list{'button_replacement_for_special_unit_direction'} = '1|Top
 $result_sections_list{'button_replacement_for_special_unit_direction'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'button_replacement_for_special_unit_direction'} = '';
diff --git a/tta/perl/t/results/init_files_tests/customize_special_element.pl 
b/tta/perl/t/results/init_files_tests/customize_special_element.pl
index b92d2b2b8f..2936a949b8 100644
--- a/tta/perl/t/results/init_files_tests/customize_special_element.pl
+++ b/tta/perl/t/results/init_files_tests/customize_special_element.pl
@@ -46,7 +46,6 @@ $result_tree_text{'customize_special_element'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -73,11 +72,9 @@ $result_tree_text{'customize_special_element'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -116,11 +113,9 @@ $result_tree_text{'customize_special_element'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -197,12 +192,27 @@ $result_nodes_list{'customize_special_element'} = '1|Top
 $result_sections_list{'customize_special_element'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  next->chap fr
+  up->top
+ toplevel_directions:
+  next->chap fr
+  prev->top
+  up->top
 3|chap fr
  associated_anchor_command: Chapter fr
  associated_node: Chapter fr
+ section_directions:
+  prev->chap
+  up->top
+ toplevel_directions:
+  prev->chap
+  up->top
 ';
 
 $result_headings_list{'customize_special_element'} = '';
diff --git a/tta/perl/t/results/init_files_tests/customize_translations.pl 
b/tta/perl/t/results/init_files_tests/customize_translations.pl
index cab854725a..fd0d148241 100644
--- a/tta/perl/t/results/init_files_tests/customize_translations.pl
+++ b/tta/perl/t/results/init_files_tests/customize_translations.pl
@@ -42,7 +42,6 @@ $result_tree_text{'customize_translations'} = '*document_root 
C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -69,11 +68,9 @@ $result_tree_text{'customize_translations'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -118,11 +115,9 @@ $result_tree_text{'customize_translations'} = 
'*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[next->E9|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E9|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -154,7 +149,6 @@ $result_tree_text{'customize_translations'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -196,11 +190,9 @@ $result_tree_text{'customize_translations'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E11|prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E11|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -232,11 +224,9 @@ $result_tree_text{'customize_translations'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E9|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E9|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -351,21 +341,54 @@ $result_nodes_list{'customize_translations'} = '1|Top
 $result_sections_list{'customize_translations'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  next->chap fr
+  up->top
+ toplevel_directions:
+  next->chap fr
+  prev->top
+  up->top
 3|chap fr
  associated_anchor_command: Chapter fr
  associated_node: Chapter fr
+ section_directions:
+  next->chap de
+  prev->chap
+  up->top
+ toplevel_directions:
+  next->chap de
+  prev->chap
+  up->top
 4|sec fr
  associated_anchor_command: section fr
  associated_node: section fr
+ section_directions:
+  up->chap fr
 5|chap de
  associated_anchor_command: Chapter de
  associated_node: Chapter de
+ section_directions:
+  next->Last Chapter
+  prev->chap fr
+  up->top
+ toplevel_directions:
+  next->Last Chapter
+  prev->chap fr
+  up->top
 6|Last Chapter
  associated_anchor_command: Last chapter
  associated_node: Last chapter
+ section_directions:
+  prev->chap de
+  up->top
+ toplevel_directions:
+  prev->chap de
+  up->top
 ';
 
 $result_headings_list{'customize_translations'} = '';
diff --git a/tta/perl/t/results/init_files_tests/directions_buttons.pl 
b/tta/perl/t/results/init_files_tests/directions_buttons.pl
index f1134493c9..f8804956ab 100644
--- a/tta/perl/t/results/init_files_tests/directions_buttons.pl
+++ b/tta/perl/t/results/init_files_tests/directions_buttons.pl
@@ -40,7 +40,6 @@ $result_tree_text{'directions_buttons'} = '*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -68,11 +67,9 @@ $result_tree_text{'directions_buttons'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -115,11 +112,9 @@ $result_tree_text{'directions_buttons'} = '*document_root 
C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -199,12 +194,27 @@ $result_nodes_list{'directions_buttons'} = '1|Top
 $result_sections_list{'directions_buttons'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->App
+  up->top
+ toplevel_directions:
+  next->App
+  prev->top
+  up->top
 3|App
  associated_anchor_command: @code{append}ix
  associated_node: @code{append}ix
+ section_directions:
+  prev->chap
+  up->top
+ toplevel_directions:
+  prev->chap
+  up->top
 ';
 
 $result_headings_list{'directions_buttons'} = '';
diff --git a/tta/perl/t/results/init_files_tests/directions_buttons_buttons.pl 
b/tta/perl/t/results/init_files_tests/directions_buttons_buttons.pl
index cd314b7233..00e2e00a7b 100644
--- a/tta/perl/t/results/init_files_tests/directions_buttons_buttons.pl
+++ b/tta/perl/t/results/init_files_tests/directions_buttons_buttons.pl
@@ -40,7 +40,6 @@ $result_tree_text{'directions_buttons_buttons'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -68,11 +67,9 @@ $result_tree_text{'directions_buttons_buttons'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -115,11 +112,9 @@ $result_tree_text{'directions_buttons_buttons'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -199,12 +194,27 @@ $result_nodes_list{'directions_buttons_buttons'} = '1|Top
 $result_sections_list{'directions_buttons_buttons'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->App
+  up->top
+ toplevel_directions:
+  next->App
+  prev->top
+  up->top
 3|App
  associated_anchor_command: @code{append}ix
  associated_node: @code{append}ix
+ section_directions:
+  prev->chap
+  up->top
+ toplevel_directions:
+  prev->chap
+  up->top
 ';
 
 $result_headings_list{'directions_buttons_buttons'} = '';
diff --git a/tta/perl/t/results/init_files_tests/directions_string_base.pl 
b/tta/perl/t/results/init_files_tests/directions_string_base.pl
index d6779b78c0..63d3cc3c60 100644
--- a/tta/perl/t/results/init_files_tests/directions_string_base.pl
+++ b/tta/perl/t/results/init_files_tests/directions_string_base.pl
@@ -35,7 +35,6 @@ $result_tree_text{'directions_string_base'} = '*document_root 
C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'directions_string_base'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,11 +91,9 @@ $result_tree_text{'directions_string_base'} = 
'*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E7|E9|E11]
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -125,7 +120,6 @@ $result_tree_text{'directions_string_base'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -155,7 +149,6 @@ $result_tree_text{'directions_string_base'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E11|prev->E7|up->E5]
  |section_heading_number:{2.2}
  |section_level:{2}
  |section_number:{5}
@@ -185,7 +178,6 @@ $result_tree_text{'directions_string_base'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E9|up->E5]
  |section_heading_number:{2.3}
  |section_level:{2}
  |section_number:{6}
@@ -282,21 +274,46 @@ $result_nodes_list{'directions_string_base'} = '1|Top
 $result_sections_list{'directions_string_base'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->Chap 2
+  up->top
+ toplevel_directions:
+  next->Chap 2
+  prev->top
+  up->top
 3|Chap 2
  associated_anchor_command: chap2
  associated_node: chap2
+ section_directions:
+  prev->Chap
+  up->top
+ toplevel_directions:
+  prev->Chap
+  up->top
 4|Sec 1
  associated_anchor_command: sec1
  associated_node: sec1
+ section_directions:
+  next->Sec 2
+  up->Chap 2
 5|Sec 2
  associated_anchor_command: sec2
  associated_node: sec2
+ section_directions:
+  next->Sec 3
+  prev->Sec 1
+  up->Chap 2
 6|Sec 3
  associated_anchor_command: sec3
  associated_node: sec3
+ section_directions:
+  prev->Sec 2
+  up->Chap 2
 ';
 
 $result_headings_list{'directions_string_base'} = '';
diff --git a/tta/perl/t/results/init_files_tests/directions_string_undef.pl 
b/tta/perl/t/results/init_files_tests/directions_string_undef.pl
index 51819879ce..2371d2c1c9 100644
--- a/tta/perl/t/results/init_files_tests/directions_string_undef.pl
+++ b/tta/perl/t/results/init_files_tests/directions_string_undef.pl
@@ -35,7 +35,6 @@ $result_tree_text{'directions_string_undef'} = 
'*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'directions_string_undef'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,11 +91,9 @@ $result_tree_text{'directions_string_undef'} = 
'*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E7|E9|E11]
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -125,7 +120,6 @@ $result_tree_text{'directions_string_undef'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -155,7 +149,6 @@ $result_tree_text{'directions_string_undef'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E11|prev->E7|up->E5]
  |section_heading_number:{2.2}
  |section_level:{2}
  |section_number:{5}
@@ -185,7 +178,6 @@ $result_tree_text{'directions_string_undef'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E9|up->E5]
  |section_heading_number:{2.3}
  |section_level:{2}
  |section_number:{6}
@@ -282,21 +274,46 @@ $result_nodes_list{'directions_string_undef'} = '1|Top
 $result_sections_list{'directions_string_undef'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->Chap 2
+  up->top
+ toplevel_directions:
+  next->Chap 2
+  prev->top
+  up->top
 3|Chap 2
  associated_anchor_command: chap2
  associated_node: chap2
+ section_directions:
+  prev->Chap
+  up->top
+ toplevel_directions:
+  prev->Chap
+  up->top
 4|Sec 1
  associated_anchor_command: sec1
  associated_node: sec1
+ section_directions:
+  next->Sec 2
+  up->Chap 2
 5|Sec 2
  associated_anchor_command: sec2
  associated_node: sec2
+ section_directions:
+  next->Sec 3
+  prev->Sec 1
+  up->Chap 2
 6|Sec 3
  associated_anchor_command: sec3
  associated_node: sec3
+ section_directions:
+  prev->Sec 2
+  up->Chap 2
 ';
 
 $result_headings_list{'directions_string_undef'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/directions_string_undef_texi2html.pl 
b/tta/perl/t/results/init_files_tests/directions_string_undef_texi2html.pl
index 9be5a95e6b..eff3023757 100644
--- a/tta/perl/t/results/init_files_tests/directions_string_undef_texi2html.pl
+++ b/tta/perl/t/results/init_files_tests/directions_string_undef_texi2html.pl
@@ -35,7 +35,6 @@ $result_tree_text{'directions_string_undef_texi2html'} = 
'*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'directions_string_undef_texi2html'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,11 +91,9 @@ $result_tree_text{'directions_string_undef_texi2html'} = 
'*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E7|E9|E11]
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -125,7 +120,6 @@ $result_tree_text{'directions_string_undef_texi2html'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -155,7 +149,6 @@ $result_tree_text{'directions_string_undef_texi2html'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E11|prev->E7|up->E5]
  |section_heading_number:{2.2}
  |section_level:{2}
  |section_number:{5}
@@ -185,7 +178,6 @@ $result_tree_text{'directions_string_undef_texi2html'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E9|up->E5]
  |section_heading_number:{2.3}
  |section_level:{2}
  |section_number:{6}
@@ -282,21 +274,46 @@ $result_nodes_list{'directions_string_undef_texi2html'} = 
'1|Top
 $result_sections_list{'directions_string_undef_texi2html'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->Chap 2
+  up->top
+ toplevel_directions:
+  next->Chap 2
+  prev->top
+  up->top
 3|Chap 2
  associated_anchor_command: chap2
  associated_node: chap2
+ section_directions:
+  prev->Chap
+  up->top
+ toplevel_directions:
+  prev->Chap
+  up->top
 4|Sec 1
  associated_anchor_command: sec1
  associated_node: sec1
+ section_directions:
+  next->Sec 2
+  up->Chap 2
 5|Sec 2
  associated_anchor_command: sec2
  associated_node: sec2
+ section_directions:
+  next->Sec 3
+  prev->Sec 1
+  up->Chap 2
 6|Sec 3
  associated_anchor_command: sec3
  associated_node: sec3
+ section_directions:
+  prev->Sec 2
+  up->Chap 2
 ';
 
 $result_headings_list{'directions_string_undef_texi2html'} = '';
diff --git a/tta/perl/t/results/init_files_tests/documentation_examples.pl 
b/tta/perl/t/results/init_files_tests/documentation_examples.pl
index 161b025ad8..cb9ca4f298 100644
--- a/tta/perl/t/results/init_files_tests/documentation_examples.pl
+++ b/tta/perl/t/results/init_files_tests/documentation_examples.pl
@@ -71,7 +71,6 @@ $result_tree_text{'documentation_examples'} = '*document_root 
C11
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ $result_tree_text{'documentation_examples'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -375,11 +372,9 @@ $result_tree_text{'documentation_examples'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -430,11 +425,9 @@ $result_tree_text{'documentation_examples'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|prev->E5|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E9|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -474,11 +467,9 @@ $result_tree_text{'documentation_examples'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E1]
  |section_heading_number:{B}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -654,18 +645,49 @@ $result_nodes_list{'documentation_examples'} = '1|Top
 $result_sections_list{'documentation_examples'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->New node
+  up->top
+ toplevel_directions:
+  next->New node
+  prev->top
+  up->top
 3|New node
  associated_anchor_command: my node
  associated_node: my node
+ section_directions:
+  next->Index
+  prev->Chapter
+  up->top
+ toplevel_directions:
+  next->Index
+  prev->Chapter
+  up->top
 4|Index
  associated_anchor_command: Index
  associated_node: Index
+ section_directions:
+  next->Second appendix
+  prev->New node
+  up->top
+ toplevel_directions:
+  next->Second appendix
+  prev->New node
+  up->top
 5|Second appendix
  associated_anchor_command: Second appendix
  associated_node: Second appendix
+ section_directions:
+  prev->Index
+  up->top
+ toplevel_directions:
+  prev->Index
+  up->top
 ';
 
 $result_headings_list{'documentation_examples'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/documentation_examples_texi2html.pl 
b/tta/perl/t/results/init_files_tests/documentation_examples_texi2html.pl
index 772458e565..c7ed6de95e 100644
--- a/tta/perl/t/results/init_files_tests/documentation_examples_texi2html.pl
+++ b/tta/perl/t/results/init_files_tests/documentation_examples_texi2html.pl
@@ -71,7 +71,6 @@ $result_tree_text{'documentation_examples_texi2html'} = 
'*document_root C11
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ $result_tree_text{'documentation_examples_texi2html'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -375,11 +372,9 @@ $result_tree_text{'documentation_examples_texi2html'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -430,11 +425,9 @@ $result_tree_text{'documentation_examples_texi2html'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|prev->E5|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E9|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -474,11 +467,9 @@ $result_tree_text{'documentation_examples_texi2html'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E1]
  |section_heading_number:{B}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -654,18 +645,49 @@ $result_nodes_list{'documentation_examples_texi2html'} = 
'1|Top
 $result_sections_list{'documentation_examples_texi2html'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->New node
+  up->top
+ toplevel_directions:
+  next->New node
+  prev->top
+  up->top
 3|New node
  associated_anchor_command: my node
  associated_node: my node
+ section_directions:
+  next->Index
+  prev->Chapter
+  up->top
+ toplevel_directions:
+  next->Index
+  prev->Chapter
+  up->top
 4|Index
  associated_anchor_command: Index
  associated_node: Index
+ section_directions:
+  next->Second appendix
+  prev->New node
+  up->top
+ toplevel_directions:
+  next->Second appendix
+  prev->New node
+  up->top
 5|Second appendix
  associated_anchor_command: Second appendix
  associated_node: Second appendix
+ section_directions:
+  prev->Index
+  up->top
+ toplevel_directions:
+  prev->Index
+  up->top
 ';
 
 $result_headings_list{'documentation_examples_texi2html'} = '';
diff --git a/tta/perl/t/results/init_files_tests/printindex_set_direction.pl 
b/tta/perl/t/results/init_files_tests/printindex_set_direction.pl
index 3d09003506..6d601d520c 100644
--- a/tta/perl/t/results/init_files_tests/printindex_set_direction.pl
+++ b/tta/perl/t/results/init_files_tests/printindex_set_direction.pl
@@ -35,7 +35,6 @@ $result_tree_text{'printindex_set_direction'} = 
'*document_root C11
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'printindex_set_direction'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -134,11 +131,9 @@ $result_tree_text{'printindex_set_direction'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E3|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -179,11 +174,9 @@ $result_tree_text{'printindex_set_direction'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|prev->E5|up->E1]
  |section_heading_number:{B}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E9|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -224,11 +217,9 @@ $result_tree_text{'printindex_set_direction'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E1]
  |section_heading_number:{C}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,18 +329,49 @@ $result_nodes_list{'printindex_set_direction'} = '1|Top
 $result_sections_list{'printindex_set_direction'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  next->Vindex
+  up->top
+ toplevel_directions:
+  next->Vindex
+  prev->top
+  up->top
 3|Vindex
  associated_anchor_command: Vindex
  associated_node: Vindex
+ section_directions:
+  next->Cindex
+  prev->chap
+  up->top
+ toplevel_directions:
+  next->Cindex
+  prev->chap
+  up->top
 4|Cindex
  associated_anchor_command: Cindex
  associated_node: Cindex
+ section_directions:
+  next->Findex
+  prev->Vindex
+  up->top
+ toplevel_directions:
+  next->Findex
+  prev->Vindex
+  up->top
 5|Findex
  associated_anchor_command: Findex
  associated_node: Findex
+ section_directions:
+  prev->Cindex
+  up->top
+ toplevel_directions:
+  prev->Cindex
+  up->top
 ';
 
 $result_headings_list{'printindex_set_direction'} = '';
diff --git a/tta/perl/t/results/init_files_tests/redefined_buttons_functions.pl 
b/tta/perl/t/results/init_files_tests/redefined_buttons_functions.pl
index d8f64030ae..d895eca93b 100644
--- a/tta/perl/t/results/init_files_tests/redefined_buttons_functions.pl
+++ b/tta/perl/t/results/init_files_tests/redefined_buttons_functions.pl
@@ -35,7 +35,6 @@ $result_tree_text{'redefined_buttons_functions'} = 
'*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'redefined_buttons_functions'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,11 +91,9 @@ $result_tree_text{'redefined_buttons_functions'} = 
'*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E7|E9|E11]
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -125,7 +120,6 @@ $result_tree_text{'redefined_buttons_functions'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -155,7 +149,6 @@ $result_tree_text{'redefined_buttons_functions'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E11|prev->E7|up->E5]
  |section_heading_number:{2.2}
  |section_level:{2}
  |section_number:{5}
@@ -185,7 +178,6 @@ $result_tree_text{'redefined_buttons_functions'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E9|up->E5]
  |section_heading_number:{2.3}
  |section_level:{2}
  |section_number:{6}
@@ -282,21 +274,46 @@ $result_nodes_list{'redefined_buttons_functions'} = '1|Top
 $result_sections_list{'redefined_buttons_functions'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->Chap 2
+  up->top
+ toplevel_directions:
+  next->Chap 2
+  prev->top
+  up->top
 3|Chap 2
  associated_anchor_command: chap2
  associated_node: chap2
+ section_directions:
+  prev->Chap
+  up->top
+ toplevel_directions:
+  prev->Chap
+  up->top
 4|Sec 1
  associated_anchor_command: sec1
  associated_node: sec1
+ section_directions:
+  next->Sec 2
+  up->Chap 2
 5|Sec 2
  associated_anchor_command: sec2
  associated_node: sec2
+ section_directions:
+  next->Sec 3
+  prev->Sec 1
+  up->Chap 2
 6|Sec 3
  associated_anchor_command: sec3
  associated_node: sec3
+ section_directions:
+  prev->Sec 2
+  up->Chap 2
 ';
 
 $result_headings_list{'redefined_buttons_functions'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/ref_for_special_unit_direction.pl 
b/tta/perl/t/results/init_files_tests/ref_for_special_unit_direction.pl
index 90a55c957f..7d7214fda8 100644
--- a/tta/perl/t/results/init_files_tests/ref_for_special_unit_direction.pl
+++ b/tta/perl/t/results/init_files_tests/ref_for_special_unit_direction.pl
@@ -40,7 +40,6 @@ $result_tree_text{'ref_for_special_unit_direction'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -67,11 +66,9 @@ $result_tree_text{'ref_for_special_unit_direction'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -118,9 +115,16 @@ $result_nodes_list{'ref_for_special_unit_direction'} = 
'1|Top
 $result_sections_list{'ref_for_special_unit_direction'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'ref_for_special_unit_direction'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/special_unit_direction_customization.pl 
b/tta/perl/t/results/init_files_tests/special_unit_direction_customization.pl
index 6c857a7bc8..ba0cbb6214 100644
--- 
a/tta/perl/t/results/init_files_tests/special_unit_direction_customization.pl
+++ 
b/tta/perl/t/results/init_files_tests/special_unit_direction_customization.pl
@@ -40,7 +40,6 @@ $result_tree_text{'special_unit_direction_customization'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -67,11 +66,9 @@ $result_tree_text{'special_unit_direction_customization'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -118,9 +115,16 @@ $result_nodes_list{'special_unit_direction_customization'} 
= '1|Top
 $result_sections_list{'special_unit_direction_customization'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'special_unit_direction_customization'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/test_format_single_footnote_in_inline_content.pl
 
b/tta/perl/t/results/init_files_tests/test_format_single_footnote_in_inline_content.pl
index 43a3bbcc3f..af057bb95c 100644
--- 
a/tta/perl/t/results/init_files_tests/test_format_single_footnote_in_inline_content.pl
+++ 
b/tta/perl/t/results/init_files_tests/test_format_single_footnote_in_inline_content.pl
@@ -35,7 +35,6 @@ 
$result_tree_text{'test_format_single_footnote_in_inline_content'} = '*document_
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ 
$result_tree_text{'test_format_single_footnote_in_inline_content'} = '*document_
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -236,9 +233,16 @@ 
$result_nodes_list{'test_format_single_footnote_in_inline_content'} = '1|Top
 $result_sections_list{'test_format_single_footnote_in_inline_content'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'test_format_single_footnote_in_inline_content'} = '';
diff --git 
a/tta/perl/t/results/init_files_tests/translation_in_parser_in_translation.pl 
b/tta/perl/t/results/init_files_tests/translation_in_parser_in_translation.pl
index fe3e688cf0..d7e4642280 100644
--- 
a/tta/perl/t/results/init_files_tests/translation_in_parser_in_translation.pl
+++ 
b/tta/perl/t/results/init_files_tests/translation_in_parser_in_translation.pl
@@ -48,7 +48,6 @@ $result_tree_text{'translation_in_parser_in_translation'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -75,11 +74,9 @@ $result_tree_text{'translation_in_parser_in_translation'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -203,9 +200,16 @@ $result_nodes_list{'translation_in_parser_in_translation'} 
= '1|Top
 $result_sections_list{'translation_in_parser_in_translation'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'translation_in_parser_in_translation'} = '';
diff --git a/tta/perl/t/results/init_files_tests/unknown_custom_variable.pl 
b/tta/perl/t/results/init_files_tests/unknown_custom_variable.pl
index 9366d5db15..c4b8c7da68 100644
--- a/tta/perl/t/results/init_files_tests/unknown_custom_variable.pl
+++ b/tta/perl/t/results/init_files_tests/unknown_custom_variable.pl
@@ -34,7 +34,6 @@ $result_tree_text{'unknown_custom_variable'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'unknown_custom_variable'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,9 +106,16 @@ $result_nodes_list{'unknown_custom_variable'} = '1|Top
 $result_sections_list{'unknown_custom_variable'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: Chap
  associated_node: Chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'unknown_custom_variable'} = '';
diff --git a/tta/perl/t/results/invalid_nestings/section_in_math.pl 
b/tta/perl/t/results/invalid_nestings/section_in_math.pl
index e0ee512e9e..82a6e54dac 100644
--- a/tta/perl/t/results/invalid_nestings/section_in_math.pl
+++ b/tta/perl/t/results/invalid_nestings/section_in_math.pl
@@ -22,7 +22,6 @@ $result_tree_text{'section_in_math'} = '*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -31,7 +30,6 @@ $result_tree_text{'section_in_math'} = '*document_root C3
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -53,11 +51,9 @@ $result_tree_text{'section_in_math'} = '*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_heading_number:{2}
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -132,7 +128,15 @@ $result_errors{'section_in_math'} = [
 $result_nodes_list{'section_in_math'} = '';
 
 $result_sections_list{'section_in_math'} = '1|sec1
+ section_directions:
+  next->sec2
+ toplevel_directions:
+  next->sec2
 2|sec2
+ section_directions:
+  prev->sec1
+ toplevel_directions:
+  prev->sec1
 ';
 
 $result_headings_list{'section_in_math'} = '';
diff --git a/tta/perl/t/results/invalid_nestings/section_on_cartouche_line.pl 
b/tta/perl/t/results/invalid_nestings/section_on_cartouche_line.pl
index 8cccb04e0b..80b2ce0259 100644
--- a/tta/perl/t/results/invalid_nestings/section_on_cartouche_line.pl
+++ b/tta/perl/t/results/invalid_nestings/section_on_cartouche_line.pl
@@ -15,7 +15,6 @@ $result_tree_text{'section_on_cartouche_line'} = 
'*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -24,7 +23,6 @@ $result_tree_text{'section_on_cartouche_line'} = 
'*document_root C3
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -43,11 +41,9 @@ $result_tree_text{'section_on_cartouche_line'} = 
'*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_heading_number:{2}
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -105,7 +101,15 @@ $result_errors{'section_on_cartouche_line'} = [
 $result_nodes_list{'section_on_cartouche_line'} = '';
 
 $result_sections_list{'section_on_cartouche_line'} = '1|first
+ section_directions:
+  next->second spaces
+ toplevel_directions:
+  next->second spaces
 2|second spaces
+ section_directions:
+  prev->first
+ toplevel_directions:
+  prev->first
 ';
 
 $result_headings_list{'section_on_cartouche_line'} = '';
diff --git a/tta/perl/t/results/invalid_nestings/section_on_enumerate_line.pl 
b/tta/perl/t/results/invalid_nestings/section_on_enumerate_line.pl
index 041b326ad6..772ffb7626 100644
--- a/tta/perl/t/results/invalid_nestings/section_on_enumerate_line.pl
+++ b/tta/perl/t/results/invalid_nestings/section_on_enumerate_line.pl
@@ -24,7 +24,6 @@ $result_tree_text{'section_on_enumerate_line'} = 
'*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -33,7 +32,6 @@ $result_tree_text{'section_on_enumerate_line'} = 
'*document_root C3
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -58,11 +56,9 @@ $result_tree_text{'section_on_enumerate_line'} = 
'*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_heading_number:{2}
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -141,7 +137,15 @@ $result_errors{'section_on_enumerate_line'} = [
 $result_nodes_list{'section_on_enumerate_line'} = '';
 
 $result_sections_list{'section_on_enumerate_line'} = '1|first
+ section_directions:
+  next->second
+ toplevel_directions:
+  next->second
 2|second
+ section_directions:
+  prev->first
+ toplevel_directions:
+  prev->first
 ';
 
 $result_headings_list{'section_on_enumerate_line'} = '';
diff --git a/tta/perl/t/results/invalid_nestings/section_on_itemize_line.pl 
b/tta/perl/t/results/invalid_nestings/section_on_itemize_line.pl
index e2e242a431..8e10bc6ecb 100644
--- a/tta/perl/t/results/invalid_nestings/section_on_itemize_line.pl
+++ b/tta/perl/t/results/invalid_nestings/section_on_itemize_line.pl
@@ -23,7 +23,6 @@ $result_tree_text{'section_on_itemize_line'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -32,7 +31,6 @@ $result_tree_text{'section_on_itemize_line'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E0|E1|E2|E3]
   ||section_level:{1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -57,11 +55,9 @@ $result_tree_text{'section_on_itemize_line'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2|prev->E0]
  |section_heading_number:{2}
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[next->E2|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -80,11 +76,9 @@ $result_tree_text{'section_on_itemize_line'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3|prev->E1]
  |section_heading_number:{3}
  |section_level:{2}
  |section_number:{3}
- |toplevel_directions:D[next->E3|prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -107,11 +101,9 @@ $result_tree_text{'section_on_itemize_line'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E2]
  |section_heading_number:{4}
  |section_level:{2}
  |section_number:{4}
- |toplevel_directions:D[prev->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -249,9 +241,29 @@ $result_errors{'section_on_itemize_line'} = [
 $result_nodes_list{'section_on_itemize_line'} = '';
 
 $result_sections_list{'section_on_itemize_line'} = '1|first
+ section_directions:
+  next->second
+ toplevel_directions:
+  next->second
 2|second
+ section_directions:
+  next->third
+  prev->first
+ toplevel_directions:
+  next->third
+  prev->first
 3|third
+ section_directions:
+  next->fourth
+  prev->second
+ toplevel_directions:
+  next->fourth
+  prev->second
 4|fourth
+ section_directions:
+  prev->third
+ toplevel_directions:
+  prev->third
 ';
 
 $result_headings_list{'section_on_itemize_line'} = '';
diff --git a/tta/perl/t/results/invalid_nestings/section_on_multitable_line.pl 
b/tta/perl/t/results/invalid_nestings/section_on_multitable_line.pl
index eb254b2ea7..3e22dbb81e 100644
--- a/tta/perl/t/results/invalid_nestings/section_on_multitable_line.pl
+++ b/tta/perl/t/results/invalid_nestings/section_on_multitable_line.pl
@@ -20,7 +20,6 @@ $result_tree_text{'section_on_multitable_line'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -29,7 +28,6 @@ $result_tree_text{'section_on_multitable_line'} = 
'*document_root C4
   ||EXTRA
   ||section_childs:EC[E0|E1|E2]
   ||section_level:{1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -56,11 +54,9 @@ $result_tree_text{'section_on_multitable_line'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2|prev->E0]
  |section_heading_number:{2}
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[next->E2|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -89,11 +85,9 @@ $result_tree_text{'section_on_multitable_line'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E1]
  |section_heading_number:{3}
  |section_level:{2}
  |section_number:{3}
- |toplevel_directions:D[prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -212,8 +206,22 @@ $result_errors{'section_on_multitable_line'} = [
 $result_nodes_list{'section_on_multitable_line'} = '';
 
 $result_sections_list{'section_on_multitable_line'} = '1|first
+ section_directions:
+  next->second
+ toplevel_directions:
+  next->second
 2|second
+ section_directions:
+  next->third
+  prev->first
+ toplevel_directions:
+  next->third
+  prev->first
 3|third
+ section_directions:
+  prev->second
+ toplevel_directions:
+  prev->second
 ';
 
 $result_headings_list{'section_on_multitable_line'} = '';
diff --git a/tta/perl/t/results/invalid_nestings/section_on_xtable_line.pl 
b/tta/perl/t/results/invalid_nestings/section_on_xtable_line.pl
index 0ce9789592..250a6dcc61 100644
--- a/tta/perl/t/results/invalid_nestings/section_on_xtable_line.pl
+++ b/tta/perl/t/results/invalid_nestings/section_on_xtable_line.pl
@@ -18,7 +18,6 @@ $result_tree_text{'section_on_xtable_line'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -27,7 +26,6 @@ $result_tree_text{'section_on_xtable_line'} = '*document_root 
C5
   ||EXTRA
   ||section_childs:EC[E0|E1|E2|E3]
   ||section_level:{1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -50,11 +48,9 @@ $result_tree_text{'section_on_xtable_line'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2|prev->E0]
  |section_heading_number:{2}
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[next->E2|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -77,11 +73,9 @@ $result_tree_text{'section_on_xtable_line'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3|prev->E1]
  |section_heading_number:{3}
  |section_level:{2}
  |section_number:{3}
- |toplevel_directions:D[next->E3|prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -104,11 +98,9 @@ $result_tree_text{'section_on_xtable_line'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E2]
  |section_heading_number:{4}
  |section_level:{2}
  |section_number:{4}
- |toplevel_directions:D[prev->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -260,9 +252,29 @@ $result_errors{'section_on_xtable_line'} = [
 $result_nodes_list{'section_on_xtable_line'} = '';
 
 $result_sections_list{'section_on_xtable_line'} = '1|first
+ section_directions:
+  next->second
+ toplevel_directions:
+  next->second
 2|second
+ section_directions:
+  next->third
+  prev->first
+ toplevel_directions:
+  next->third
+  prev->first
 3|third
+ section_directions:
+  next->fourth
+  prev->second
+ toplevel_directions:
+  next->fourth
+  prev->second
 4|fourth
+ section_directions:
+  prev->third
+ toplevel_directions:
+  prev->third
 ';
 
 $result_headings_list{'section_on_xtable_line'} = '';
diff --git 
a/tta/perl/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
 
b/tta/perl/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
index 22914daeb6..1c26c16cea 100644
--- 
a/tta/perl/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
+++ 
b/tta/perl/t/results/invalid_nestings/style_not_closed_no_newline_root_commands.pl
@@ -34,7 +34,6 @@ 
$result_tree_text{'style_not_closed_no_newline_root_commands'} = '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,11 +93,9 @@ 
$result_tree_text{'style_not_closed_no_newline_root_commands'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -195,9 +192,16 @@ 
$result_nodes_list{'style_not_closed_no_newline_root_commands'} = '1|Top
 $result_sections_list{'style_not_closed_no_newline_root_commands'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'style_not_closed_no_newline_root_commands'} = '';
diff --git 
a/tta/perl/t/results/invalid_nestings/style_not_closed_root_commands.pl 
b/tta/perl/t/results/invalid_nestings/style_not_closed_root_commands.pl
index 746a86923c..4bd76f039b 100644
--- a/tta/perl/t/results/invalid_nestings/style_not_closed_root_commands.pl
+++ b/tta/perl/t/results/invalid_nestings/style_not_closed_root_commands.pl
@@ -34,7 +34,6 @@ $result_tree_text{'style_not_closed_root_commands'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'style_not_closed_root_commands'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -187,9 +184,16 @@ $result_nodes_list{'style_not_closed_root_commands'} = 
'1|Top
 $result_sections_list{'style_not_closed_root_commands'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'style_not_closed_root_commands'} = '';
diff --git a/tta/perl/t/results/itemize/inter_item_commands_in_enumerate.pl 
b/tta/perl/t/results/itemize/inter_item_commands_in_enumerate.pl
index 1ac7911c29..3a25a9d6e8 100644
--- a/tta/perl/t/results/itemize/inter_item_commands_in_enumerate.pl
+++ b/tta/perl/t/results/itemize/inter_item_commands_in_enumerate.pl
@@ -35,7 +35,6 @@ $result_tree_text{'inter_item_commands_in_enumerate'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'inter_item_commands_in_enumerate'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -434,9 +431,16 @@ $result_nodes_list{'inter_item_commands_in_enumerate'} = 
'1|Top
 $result_sections_list{'inter_item_commands_in_enumerate'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'inter_item_commands_in_enumerate'} = '';
diff --git a/tta/perl/t/results/itemize/inter_item_commands_in_itemize.pl 
b/tta/perl/t/results/itemize/inter_item_commands_in_itemize.pl
index 0bdc6c8de3..6c1b766246 100644
--- a/tta/perl/t/results/itemize/inter_item_commands_in_itemize.pl
+++ b/tta/perl/t/results/itemize/inter_item_commands_in_itemize.pl
@@ -35,7 +35,6 @@ $result_tree_text{'inter_item_commands_in_itemize'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'inter_item_commands_in_itemize'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -295,9 +292,16 @@ $result_nodes_list{'inter_item_commands_in_itemize'} = 
'1|Top
 $result_sections_list{'inter_item_commands_in_itemize'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'inter_item_commands_in_itemize'} = '';
diff --git a/tta/perl/t/results/languages/appendix_translated.pl 
b/tta/perl/t/results/languages/appendix_translated.pl
index 3716bd8835..8dd6f2fd9c 100644
--- a/tta/perl/t/results/languages/appendix_translated.pl
+++ b/tta/perl/t/results/languages/appendix_translated.pl
@@ -48,7 +48,6 @@ $result_tree_text{'appendix_translated'} = '*document_root C4
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'appendix_translated'} = '*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -111,7 +108,14 @@ $result_nodes_list{'appendix_translated'} = '1|Top
 $result_sections_list{'appendix_translated'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->dernier
 2|dernier
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'appendix_translated'} = '';
diff --git a/tta/perl/t/results/languages/command_translated.pl 
b/tta/perl/t/results/languages/command_translated.pl
index 2295a3532f..ff69bbea7b 100644
--- a/tta/perl/t/results/languages/command_translated.pl
+++ b/tta/perl/t/results/languages/command_translated.pl
@@ -48,7 +48,6 @@ $result_tree_text{'command_translated'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -84,11 +83,9 @@ $result_tree_text{'command_translated'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -139,9 +136,16 @@ $result_nodes_list{'command_translated'} = '1|Top
 $result_sections_list{'command_translated'} = '1|top @error{}
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter @error{}
  associated_node: chapter @error{}
+ section_directions:
+  up->top @error{}
+ toplevel_directions:
+  prev->top @error{}
+  up->top @error{}
 ';
 
 $result_headings_list{'command_translated'} = '';
diff --git a/tta/perl/t/results/languages/documentlanguage.pl 
b/tta/perl/t/results/languages/documentlanguage.pl
index f2feb633ca..e1b79b4189 100644
--- a/tta/perl/t/results/languages/documentlanguage.pl
+++ b/tta/perl/t/results/languages/documentlanguage.pl
@@ -88,7 +88,6 @@ $result_tree_text{'documentlanguage'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -116,11 +115,9 @@ $result_tree_text{'documentlanguage'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -303,9 +300,16 @@ $result_nodes_list{'documentlanguage'} = '1|Top
 $result_sections_list{'documentlanguage'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'documentlanguage'} = '';
diff --git 
a/tta/perl/t/results/languages/documentlanguage_generated_master_menu.pl 
b/tta/perl/t/results/languages/documentlanguage_generated_master_menu.pl
index 1115cf0b20..cdc178ac85 100644
--- a/tta/perl/t/results/languages/documentlanguage_generated_master_menu.pl
+++ b/tta/perl/t/results/languages/documentlanguage_generated_master_menu.pl
@@ -53,7 +53,6 @@ $result_tree_text{'documentlanguage_generated_master_menu'} = 
'*document_root C1
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -61,7 +60,6 @@ $result_tree_text{'documentlanguage_generated_master_menu'} = 
'*document_root C1
   ||EXTRA
   ||section_childs:EC[E1|E2|E5|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,7 +74,6 @@ $result_tree_text{'documentlanguage_generated_master_menu'} = 
'*document_root C1
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E4]
- |section_directions:D[next->E5|prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -105,11 +102,9 @@ 
$result_tree_text{'documentlanguage_generated_master_menu'} = '*document_root C1
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,7 +132,6 @@ $result_tree_text{'documentlanguage_generated_master_menu'} 
= '*document_root C1
  |EXTRA
  |global_command_number:{2}
  |section_childs:EC[E7]
- |section_directions:D[next->E9|prev->E2]
  |section_level:{0}
  |section_number:{4}
   *arguments_line C1
@@ -166,11 +160,9 @@ 
$result_tree_text{'documentlanguage_generated_master_menu'} = '*document_root C1
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E9|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -210,11 +202,9 @@ 
$result_tree_text{'documentlanguage_generated_master_menu'} = '*document_root C1
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -308,23 +298,50 @@ 
$result_nodes_list{'documentlanguage_generated_master_menu'} = '1|Top
 $result_sections_list{'documentlanguage_generated_master_menu'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->Part I
+ toplevel_directions:
+  next->Chap
 2|Part I
  part_associated_section: Chap
  part_following_node: chapter
+ section_directions:
+  next->Part II
+  prev->top
 3|Chap
  associated_anchor_command: chapter
  associated_node: chapter
  associated_part: Part I
+ section_directions:
+  up->Part I
+ toplevel_directions:
+  next->Other chap
+  prev->top
+  up->top
 4|Part II
  part_associated_section: Other chap
  part_following_node: other chap
+ section_directions:
+  next->App
+  prev->Part I
 5|Other chap
  associated_anchor_command: other chap
  associated_node: other chap
  associated_part: Part II
+ section_directions:
+  up->Part II
+ toplevel_directions:
+  next->App
+  prev->Chap
+  up->top
 6|App
  associated_anchor_command: appendix
  associated_node: appendix
+ section_directions:
+  prev->Part II
+ toplevel_directions:
+  prev->Other chap
+  up->top
 ';
 
 $result_headings_list{'documentlanguage_generated_master_menu'} = '';
diff --git a/tta/perl/t/results/languages/documentlanguage_option.pl 
b/tta/perl/t/results/languages/documentlanguage_option.pl
index 895f745172..0af3129b26 100644
--- a/tta/perl/t/results/languages/documentlanguage_option.pl
+++ b/tta/perl/t/results/languages/documentlanguage_option.pl
@@ -88,7 +88,6 @@ $result_tree_text{'documentlanguage_option'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -116,11 +115,9 @@ $result_tree_text{'documentlanguage_option'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -303,9 +300,16 @@ $result_nodes_list{'documentlanguage_option'} = '1|Top
 $result_sections_list{'documentlanguage_option'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'documentlanguage_option'} = '';
diff --git a/tta/perl/t/results/languages/documentlanguage_unknown.pl 
b/tta/perl/t/results/languages/documentlanguage_unknown.pl
index 52a789e238..ad1f21340a 100644
--- a/tta/perl/t/results/languages/documentlanguage_unknown.pl
+++ b/tta/perl/t/results/languages/documentlanguage_unknown.pl
@@ -88,7 +88,6 @@ $result_tree_text{'documentlanguage_unknown'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -116,11 +115,9 @@ $result_tree_text{'documentlanguage_unknown'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -303,9 +300,16 @@ $result_nodes_list{'documentlanguage_unknown'} = '1|Top
 $result_sections_list{'documentlanguage_unknown'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'documentlanguage_unknown'} = '';
diff --git a/tta/perl/t/results/languages/multiple_documentlanguage.pl 
b/tta/perl/t/results/languages/multiple_documentlanguage.pl
index 8627575b3a..77c6cd4122 100644
--- a/tta/perl/t/results/languages/multiple_documentlanguage.pl
+++ b/tta/perl/t/results/languages/multiple_documentlanguage.pl
@@ -135,7 +135,6 @@ $result_tree_text{'multiple_documentlanguage'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -163,11 +162,9 @@ $result_tree_text{'multiple_documentlanguage'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -439,9 +436,16 @@ $result_nodes_list{'multiple_documentlanguage'} = '1|Top
 $result_sections_list{'multiple_documentlanguage'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'multiple_documentlanguage'} = '';
diff --git a/tta/perl/t/results/languages/multiple_in_preamble.pl 
b/tta/perl/t/results/languages/multiple_in_preamble.pl
index 3c51621dcf..1635467187 100644
--- a/tta/perl/t/results/languages/multiple_in_preamble.pl
+++ b/tta/perl/t/results/languages/multiple_in_preamble.pl
@@ -148,7 +148,6 @@ $result_tree_text{'multiple_in_preamble'} = '*document_root 
C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -175,11 +174,9 @@ $result_tree_text{'multiple_in_preamble'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -399,9 +396,16 @@ $result_nodes_list{'multiple_in_preamble'} = '1|Top
 $result_sections_list{'multiple_in_preamble'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'multiple_in_preamble'} = '';
diff --git a/tta/perl/t/results/languages/multiple_in_preamble_before_node.pl 
b/tta/perl/t/results/languages/multiple_in_preamble_before_node.pl
index 8cddb44849..be02bc69f3 100644
--- a/tta/perl/t/results/languages/multiple_in_preamble_before_node.pl
+++ b/tta/perl/t/results/languages/multiple_in_preamble_before_node.pl
@@ -164,7 +164,6 @@ $result_tree_text{'multiple_in_preamble_before_node'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -191,11 +190,9 @@ $result_tree_text{'multiple_in_preamble_before_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -336,9 +333,16 @@ $result_nodes_list{'multiple_in_preamble_before_node'} = 
'1|Top
 $result_sections_list{'multiple_in_preamble_before_node'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'multiple_in_preamble_before_node'} = '';
diff --git a/tta/perl/t/results/languages/multiple_lang_chapters.pl 
b/tta/perl/t/results/languages/multiple_lang_chapters.pl
index 8c9216a019..705b99f149 100644
--- a/tta/perl/t/results/languages/multiple_lang_chapters.pl
+++ b/tta/perl/t/results/languages/multiple_lang_chapters.pl
@@ -106,7 +106,6 @@ $result_tree_text{'multiple_lang_chapters'} = 
'*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -218,11 +217,9 @@ $result_tree_text{'multiple_lang_chapters'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -335,11 +332,9 @@ $result_tree_text{'multiple_lang_chapters'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -452,11 +447,9 @@ $result_tree_text{'multiple_lang_chapters'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -560,11 +553,9 @@ $result_tree_text{'multiple_lang_chapters'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -603,11 +594,9 @@ $result_tree_text{'multiple_lang_chapters'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -787,21 +776,60 @@ $result_nodes_list{'multiple_lang_chapters'} = '1|Top
 $result_sections_list{'multiple_lang_chapters'} = '1|Multi language file
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ja
 2|ja
  associated_anchor_command: chapter ja
  associated_node: chapter ja
+ section_directions:
+  next->en
+  up->Multi language file
+ toplevel_directions:
+  next->en
+  prev->Multi language file
+  up->Multi language file
 3|en
  associated_anchor_command: chapter en
  associated_node: chapter en
+ section_directions:
+  next->fr_FR
+  prev->ja
+  up->Multi language file
+ toplevel_directions:
+  next->fr_FR
+  prev->ja
+  up->Multi language file
 4|fr_FR
  associated_anchor_command: chapter fr_FR
  associated_node: chapter fr_FR
+ section_directions:
+  next->de
+  prev->en
+  up->Multi language file
+ toplevel_directions:
+  next->de
+  prev->en
+  up->Multi language file
 5|de
  associated_anchor_command: chapter de
  associated_node: chapter de
+ section_directions:
+  next->pt_bR
+  prev->fr_FR
+  up->Multi language file
+ toplevel_directions:
+  next->pt_bR
+  prev->fr_FR
+  up->Multi language file
 6|pt_bR
  associated_anchor_command: chapter pt_BR
  associated_node: chapter pt_BR
+ section_directions:
+  prev->de
+  up->Multi language file
+ toplevel_directions:
+  prev->de
+  up->Multi language file
 ';
 
 $result_headings_list{'multiple_lang_chapters'} = '';
diff --git a/tta/perl/t/results/languages/multiple_lang_chapters_latex.pl 
b/tta/perl/t/results/languages/multiple_lang_chapters_latex.pl
index 25961d01f3..82ed26639c 100644
--- a/tta/perl/t/results/languages/multiple_lang_chapters_latex.pl
+++ b/tta/perl/t/results/languages/multiple_lang_chapters_latex.pl
@@ -106,7 +106,6 @@ $result_tree_text{'multiple_lang_chapters_latex'} = 
'*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -218,11 +217,9 @@ $result_tree_text{'multiple_lang_chapters_latex'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -335,11 +332,9 @@ $result_tree_text{'multiple_lang_chapters_latex'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -452,11 +447,9 @@ $result_tree_text{'multiple_lang_chapters_latex'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -560,11 +553,9 @@ $result_tree_text{'multiple_lang_chapters_latex'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -603,11 +594,9 @@ $result_tree_text{'multiple_lang_chapters_latex'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -787,21 +776,60 @@ $result_nodes_list{'multiple_lang_chapters_latex'} = 
'1|Top
 $result_sections_list{'multiple_lang_chapters_latex'} = '1|Multi language file
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ja
 2|ja
  associated_anchor_command: chapter ja
  associated_node: chapter ja
+ section_directions:
+  next->en
+  up->Multi language file
+ toplevel_directions:
+  next->en
+  prev->Multi language file
+  up->Multi language file
 3|en
  associated_anchor_command: chapter en
  associated_node: chapter en
+ section_directions:
+  next->fr_FR
+  prev->ja
+  up->Multi language file
+ toplevel_directions:
+  next->fr_FR
+  prev->ja
+  up->Multi language file
 4|fr_FR
  associated_anchor_command: chapter fr_FR
  associated_node: chapter fr_FR
+ section_directions:
+  next->de
+  prev->en
+  up->Multi language file
+ toplevel_directions:
+  next->de
+  prev->en
+  up->Multi language file
 5|de
  associated_anchor_command: chapter de
  associated_node: chapter de
+ section_directions:
+  next->pt_bR
+  prev->fr_FR
+  up->Multi language file
+ toplevel_directions:
+  next->pt_bR
+  prev->fr_FR
+  up->Multi language file
 6|pt_bR
  associated_anchor_command: chapter pt_BR
  associated_node: chapter pt_BR
+ section_directions:
+  prev->de
+  up->Multi language file
+ toplevel_directions:
+  prev->de
+  up->Multi language file
 ';
 
 $result_headings_list{'multiple_lang_chapters_latex'} = '';
diff --git a/tta/perl/t/results/languages/multiple_lang_chapters_texi2html.pl 
b/tta/perl/t/results/languages/multiple_lang_chapters_texi2html.pl
index e2b6355750..b493dbe618 100644
--- a/tta/perl/t/results/languages/multiple_lang_chapters_texi2html.pl
+++ b/tta/perl/t/results/languages/multiple_lang_chapters_texi2html.pl
@@ -93,7 +93,6 @@ $result_tree_text{'multiple_lang_chapters_texi2html'} = 
'*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -205,11 +204,9 @@ $result_tree_text{'multiple_lang_chapters_texi2html'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -322,11 +319,9 @@ $result_tree_text{'multiple_lang_chapters_texi2html'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -439,11 +434,9 @@ $result_tree_text{'multiple_lang_chapters_texi2html'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -547,11 +540,9 @@ $result_tree_text{'multiple_lang_chapters_texi2html'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -590,11 +581,9 @@ $result_tree_text{'multiple_lang_chapters_texi2html'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -773,21 +762,60 @@ $result_nodes_list{'multiple_lang_chapters_texi2html'} = 
'1|Top
 $result_sections_list{'multiple_lang_chapters_texi2html'} = '1|Multi language 
file
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ja
 2|ja
  associated_anchor_command: chapter ja
  associated_node: chapter ja
+ section_directions:
+  next->en
+  up->Multi language file
+ toplevel_directions:
+  next->en
+  prev->Multi language file
+  up->Multi language file
 3|en
  associated_anchor_command: chapter en
  associated_node: chapter en
+ section_directions:
+  next->fr_FR
+  prev->ja
+  up->Multi language file
+ toplevel_directions:
+  next->fr_FR
+  prev->ja
+  up->Multi language file
 4|fr_FR
  associated_anchor_command: chapter fr_FR
  associated_node: chapter fr_FR
+ section_directions:
+  next->de
+  prev->en
+  up->Multi language file
+ toplevel_directions:
+  next->de
+  prev->en
+  up->Multi language file
 5|de
  associated_anchor_command: chapter de
  associated_node: chapter de
+ section_directions:
+  next->pt_bR
+  prev->fr_FR
+  up->Multi language file
+ toplevel_directions:
+  next->pt_bR
+  prev->fr_FR
+  up->Multi language file
 6|pt_bR
  associated_anchor_command: chapter pt_BR
  associated_node: chapter pt_BR
+ section_directions:
+  prev->de
+  up->Multi language file
+ toplevel_directions:
+  prev->de
+  up->Multi language file
 ';
 
 $result_headings_list{'multiple_lang_chapters_texi2html'} = '';
diff --git a/tta/perl/t/results/languages/unknown_language.pl 
b/tta/perl/t/results/languages/unknown_language.pl
index cb90db071b..1a40cbe86a 100644
--- a/tta/perl/t/results/languages/unknown_language.pl
+++ b/tta/perl/t/results/languages/unknown_language.pl
@@ -48,7 +48,6 @@ $result_tree_text{'unknown_language'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -75,11 +74,9 @@ $result_tree_text{'unknown_language'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -192,9 +189,16 @@ $result_nodes_list{'unknown_language'} = '1|Top
 $result_sections_list{'unknown_language'} = '1|unknkown language
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->unknkown language
+ toplevel_directions:
+  prev->unknkown language
+  up->unknkown language
 ';
 
 $result_headings_list{'unknown_language'} = '';
diff --git a/tta/perl/t/results/latex_tests/anchor_before_top.pl 
b/tta/perl/t/results/latex_tests/anchor_before_top.pl
index 611f2b48b6..b55c0e4ce9 100644
--- a/tta/perl/t/results/latex_tests/anchor_before_top.pl
+++ b/tta/perl/t/results/latex_tests/anchor_before_top.pl
@@ -45,7 +45,6 @@ $result_tree_text{'anchor_before_top'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -72,11 +71,9 @@ $result_tree_text{'anchor_before_top'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,9 +134,16 @@ $result_nodes_list{'anchor_before_top'} = '1|Top
 $result_sections_list{'anchor_before_top'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'anchor_before_top'} = '';
diff --git a/tta/perl/t/results/latex_tests/anchor_in_copying.pl 
b/tta/perl/t/results/latex_tests/anchor_in_copying.pl
index 416ea1f82a..9315991834 100644
--- a/tta/perl/t/results/latex_tests/anchor_in_copying.pl
+++ b/tta/perl/t/results/latex_tests/anchor_in_copying.pl
@@ -64,7 +64,6 @@ $result_tree_text{'anchor_in_copying'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -91,11 +90,9 @@ $result_tree_text{'anchor_in_copying'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -157,9 +154,16 @@ $result_nodes_list{'anchor_in_copying'} = '1|Top
 $result_sections_list{'anchor_in_copying'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'anchor_in_copying'} = '';
diff --git 
a/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_chap.pl 
b/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_chap.pl
index 33a7c842c3..d82f037369 100644
--- a/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_chap.pl
+++ b/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_chap.pl
@@ -64,7 +64,6 @@ $result_tree_text{'anchor_in_copying_insertcopying_chap'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -91,11 +90,9 @@ $result_tree_text{'anchor_in_copying_insertcopying_chap'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -178,9 +175,16 @@ $result_nodes_list{'anchor_in_copying_insertcopying_chap'} 
= '1|Top
 $result_sections_list{'anchor_in_copying_insertcopying_chap'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'anchor_in_copying_insertcopying_chap'} = '';
diff --git 
a/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_titlepage.pl 
b/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_titlepage.pl
index d499fced1a..8f1694eaec 100644
--- 
a/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_titlepage.pl
+++ 
b/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_titlepage.pl
@@ -107,7 +107,6 @@ 
$result_tree_text{'anchor_in_copying_insertcopying_titlepage'} = '*document_root
   ||EXTRA
   ||section_childs:EC[E3]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -134,11 +133,9 @@ 
$result_tree_text{'anchor_in_copying_insertcopying_titlepage'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E3|up->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -218,9 +215,16 @@ 
$result_nodes_list{'anchor_in_copying_insertcopying_titlepage'} = '1|Top
 $result_sections_list{'anchor_in_copying_insertcopying_titlepage'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'anchor_in_copying_insertcopying_titlepage'} = '';
diff --git 
a/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_titlepage_chap.pl
 
b/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_titlepage_chap.pl
index 2e8e64db3b..b64b6208ae 100644
--- 
a/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_titlepage_chap.pl
+++ 
b/tta/perl/t/results/latex_tests/anchor_in_copying_insertcopying_titlepage_chap.pl
@@ -98,7 +98,6 @@ 
$result_tree_text{'anchor_in_copying_insertcopying_titlepage_chap'} = '*document
   ||EXTRA
   ||section_childs:EC[E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -125,11 +124,9 @@ 
$result_tree_text{'anchor_in_copying_insertcopying_titlepage_chap'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -220,9 +217,16 @@ 
$result_nodes_list{'anchor_in_copying_insertcopying_titlepage_chap'} = '1|Top
 $result_sections_list{'anchor_in_copying_insertcopying_titlepage_chap'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'anchor_in_copying_insertcopying_titlepage_chap'} = '';
diff --git 
a/tta/perl/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle.pl 
b/tta/perl/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle.pl
index e71edaa8d5..733aadcc10 100644
--- 
a/tta/perl/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle.pl
+++ 
b/tta/perl/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle.pl
@@ -60,7 +60,6 @@ 
$result_tree_text{'anchor_links_xref_xrefautomaticsectiontitle'} = '*document_ro
   ||EXTRA
   ||section_childs:EC[E3]
   ||section_level:{-1}
- |toplevel_directions:D[next->E8]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -122,11 +121,9 @@ 
$result_tree_text{'anchor_links_xref_xrefautomaticsectiontitle'} = '*document_ro
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E3|up->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -329,9 +326,16 @@ 
$result_nodes_list{'anchor_links_xref_xrefautomaticsectiontitle'} = '1|node befo
 $result_sections_list{'anchor_links_xref_xrefautomaticsectiontitle'} = '1|top 
sectionning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top sectionning
+ toplevel_directions:
+  prev->top sectionning
+  up->top sectionning
 ';
 
 $result_headings_list{'anchor_links_xref_xrefautomaticsectiontitle'} = '';
diff --git a/tta/perl/t/results/latex_tests/custom_heading_with_include.pl 
b/tta/perl/t/results/latex_tests/custom_heading_with_include.pl
index b507a78acd..12f05beb96 100644
--- a/tta/perl/t/results/latex_tests/custom_heading_with_include.pl
+++ b/tta/perl/t/results/latex_tests/custom_heading_with_include.pl
@@ -64,7 +64,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -96,11 +95,9 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -181,11 +178,9 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E8]
- |section_directions:D[next->E12|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E12|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -242,7 +237,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E11]
- |section_directions:D[up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -301,7 +295,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E8]
  |section_heading_number:{2.1.1}
  |section_level:{3}
  |section_number:{5}
@@ -389,11 +382,9 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E13]
- |section_directions:D[next->E15|prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E15|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -407,7 +398,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E14]
- |section_directions:D[up->E12]
  |section_heading_number:{3.1}
  |section_level:{2}
  |section_number:{7}
@@ -423,7 +413,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E13]
  |section_heading_number:{3.1.1}
  |section_level:{3}
  |section_number:{8}
@@ -482,11 +471,9 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E16]
- |section_directions:D[next->E18|prev->E12|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E18|prev->E12|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -500,7 +487,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E17]
- |section_directions:D[up->E15]
  |section_heading_number:{4.1}
  |section_level:{2}
  |section_number:{10}
@@ -516,7 +502,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E16]
  |section_heading_number:{4.1.1}
  |section_level:{3}
  |section_number:{11}
@@ -575,11 +560,9 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E19]
- |section_directions:D[next->E21|prev->E15|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[next->E21|prev->E15|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -593,7 +576,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E20]
- |section_directions:D[up->E18]
  |section_heading_number:{5.1}
  |section_level:{2}
  |section_number:{13}
@@ -609,7 +591,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E19]
  |section_heading_number:{5.1.1}
  |section_level:{3}
  |section_number:{14}
@@ -671,11 +652,9 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E22]
- |section_directions:D[next->E25|prev->E18|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{15}
- |toplevel_directions:D[next->E25|prev->E18|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -689,7 +668,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
   |{ }
  |EXTRA
  |section_childs:EC[E23]
- |section_directions:D[up->E21]
  |section_heading_number:{6.1}
  |section_level:{2}
  |section_number:{16}
@@ -705,7 +683,6 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E22]
  |section_heading_number:{6.1.1}
  |section_level:{3}
  |section_number:{17}
@@ -763,11 +740,9 @@ $result_tree_text{'custom_heading_with_include'} = 
'*document_root C25
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E21|up->E1]
  |section_heading_number:{7}
  |section_level:{1}
  |section_number:{18}
- |toplevel_directions:D[prev->E21|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -985,33 +960,108 @@ $result_nodes_list{'custom_heading_with_include'} = 
'1|Top
 $result_sections_list{'custom_heading_with_include'} = '1|top sectionning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap in main
 2|chap in main
  associated_anchor_command: in main
  associated_node: in main
+ section_directions:
+  next->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file
+  prev->top sectionning
+  up->top sectionning
 3|Chapter in included file
  associated_anchor_command: Chapter in included file
  associated_node: Chapter in included file
+ section_directions:
+  next->Chapter in included file
+  prev->chap in main
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file
+  prev->chap in main
+  up->top sectionning
 4|Section
  associated_anchor_command: Section
  associated_node: Section
+ section_directions:
+  up->Chapter in included file
 5|Subsection
  associated_anchor_command: Subsection
  associated_node: Subsection
+ section_directions:
+  up->Section
 6|Chapter in included file
+ section_directions:
+  next->Chapter in included file Include
+  prev->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file Include
+  prev->Chapter in included file
+  up->top sectionning
 7|Section
+ section_directions:
+  up->Chapter in included file
 8|Subsection
+ section_directions:
+  up->Section
 9|Chapter in included file Include
+ section_directions:
+  next->Chapter in included file
+  prev->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file
+  prev->Chapter in included file
+  up->top sectionning
 10|Section Include
+ section_directions:
+  up->Chapter in included file Include
 11|Subsection Include
+ section_directions:
+  up->Section Include
 12|Chapter in included file
+ section_directions:
+  next->Chapter in included file
+  prev->Chapter in included file Include
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file
+  prev->Chapter in included file Include
+  up->top sectionning
 13|Section
+ section_directions:
+  up->Chapter in included file
 14|Subsection
+ section_directions:
+  up->Section
 15|Chapter in included file
+ section_directions:
+  next->A last
+  prev->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  next->A last
+  prev->Chapter in included file
+  up->top sectionning
 16|Section
+ section_directions:
+  up->Chapter in included file
 17|Subsection
+ section_directions:
+  up->Section
 18|A last
  associated_anchor_command: last chap
  associated_node: last chap
+ section_directions:
+  prev->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  prev->Chapter in included file
+  up->top sectionning
 ';
 
 $result_headings_list{'custom_heading_with_include'} = '';
diff --git 
a/tta/perl/t/results/latex_tests/custom_heading_with_include_in_command.pl 
b/tta/perl/t/results/latex_tests/custom_heading_with_include_in_command.pl
index c5c0b5c22c..da1e2ff3c8 100644
--- a/tta/perl/t/results/latex_tests/custom_heading_with_include_in_command.pl
+++ b/tta/perl/t/results/latex_tests/custom_heading_with_include_in_command.pl
@@ -66,7 +66,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} = 
'*document_root C2
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -183,11 +180,9 @@ 
$result_tree_text{'custom_heading_with_include_in_command'} = '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E8]
- |section_directions:D[next->E12|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E12|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -244,7 +239,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E11]
- |section_directions:D[up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -303,7 +297,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E8]
  |section_heading_number:{2.1.1}
  |section_level:{3}
  |section_number:{5}
@@ -391,11 +384,9 @@ 
$result_tree_text{'custom_heading_with_include_in_command'} = '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E13]
- |section_directions:D[next->E15|prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E15|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -409,7 +400,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E14]
- |section_directions:D[up->E12]
  |section_heading_number:{3.1}
  |section_level:{2}
  |section_number:{7}
@@ -425,7 +415,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E13]
  |section_heading_number:{3.1.1}
  |section_level:{3}
  |section_number:{8}
@@ -484,11 +473,9 @@ 
$result_tree_text{'custom_heading_with_include_in_command'} = '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E16]
- |section_directions:D[next->E18|prev->E12|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E18|prev->E12|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -502,7 +489,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E17]
- |section_directions:D[up->E15]
  |section_heading_number:{4.1}
  |section_level:{2}
  |section_number:{10}
@@ -518,7 +504,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E16]
  |section_heading_number:{4.1.1}
  |section_level:{3}
  |section_number:{11}
@@ -577,11 +562,9 @@ 
$result_tree_text{'custom_heading_with_include_in_command'} = '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E19]
- |section_directions:D[next->E21|prev->E15|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[next->E21|prev->E15|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -595,7 +578,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E20]
- |section_directions:D[up->E18]
  |section_heading_number:{5.1}
  |section_level:{2}
  |section_number:{13}
@@ -611,7 +593,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E19]
  |section_heading_number:{5.1.1}
  |section_level:{3}
  |section_number:{14}
@@ -673,11 +654,9 @@ 
$result_tree_text{'custom_heading_with_include_in_command'} = '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E22]
- |section_directions:D[next->E25|prev->E18|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{15}
- |toplevel_directions:D[next->E25|prev->E18|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -691,7 +670,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
   |{ }
  |EXTRA
  |section_childs:EC[E23]
- |section_directions:D[up->E21]
  |section_heading_number:{6.1}
  |section_level:{2}
  |section_number:{16}
@@ -707,7 +685,6 @@ $result_tree_text{'custom_heading_with_include_in_command'} 
= '*document_root C2
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E22]
  |section_heading_number:{6.1.1}
  |section_level:{3}
  |section_number:{17}
@@ -765,11 +742,9 @@ 
$result_tree_text{'custom_heading_with_include_in_command'} = '*document_root C2
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E21|up->E1]
  |section_heading_number:{7}
  |section_level:{1}
  |section_number:{18}
- |toplevel_directions:D[prev->E21|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -987,33 +962,108 @@ 
$result_nodes_list{'custom_heading_with_include_in_command'} = '1|Top
 $result_sections_list{'custom_heading_with_include_in_command'} = '1|top 
sectionning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap in main
 2|chap in main
  associated_anchor_command: in main
  associated_node: in main
+ section_directions:
+  next->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file
+  prev->top sectionning
+  up->top sectionning
 3|Chapter in included file
  associated_anchor_command: Chapter in included file
  associated_node: Chapter in included file
+ section_directions:
+  next->Chapter in included file
+  prev->chap in main
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file
+  prev->chap in main
+  up->top sectionning
 4|Section
  associated_anchor_command: Section
  associated_node: Section
+ section_directions:
+  up->Chapter in included file
 5|Subsection
  associated_anchor_command: Subsection
  associated_node: Subsection
+ section_directions:
+  up->Section
 6|Chapter in included file
+ section_directions:
+  next->Chapter in included file Include
+  prev->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file Include
+  prev->Chapter in included file
+  up->top sectionning
 7|Section
+ section_directions:
+  up->Chapter in included file
 8|Subsection
+ section_directions:
+  up->Section
 9|Chapter in included file Include
+ section_directions:
+  next->Chapter in included file
+  prev->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file
+  prev->Chapter in included file
+  up->top sectionning
 10|Section Include
+ section_directions:
+  up->Chapter in included file Include
 11|Subsection Include
+ section_directions:
+  up->Section Include
 12|Chapter in included file
+ section_directions:
+  next->Chapter in included file
+  prev->Chapter in included file Include
+  up->top sectionning
+ toplevel_directions:
+  next->Chapter in included file
+  prev->Chapter in included file Include
+  up->top sectionning
 13|Section
+ section_directions:
+  up->Chapter in included file
 14|Subsection
+ section_directions:
+  up->Section
 15|Chapter in included file
+ section_directions:
+  next->A last
+  prev->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  next->A last
+  prev->Chapter in included file
+  up->top sectionning
 16|Section
+ section_directions:
+  up->Chapter in included file
 17|Subsection
+ section_directions:
+  up->Section
 18|A last
  associated_anchor_command: last chap
  associated_node: last chap
+ section_directions:
+  prev->Chapter in included file
+  up->top sectionning
+ toplevel_directions:
+  prev->Chapter in included file
+  up->top sectionning
 ';
 
 $result_headings_list{'custom_heading_with_include_in_command'} = '';
diff --git a/tta/perl/t/results/latex_tests/custom_headings.pl 
b/tta/perl/t/results/latex_tests/custom_headings.pl
index e0129fb332..696437ce5c 100644
--- a/tta/perl/t/results/latex_tests/custom_headings.pl
+++ b/tta/perl/t/results/latex_tests/custom_headings.pl
@@ -82,7 +82,6 @@ $result_tree_text{'custom_headings'} = '*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,11 +109,9 @@ $result_tree_text{'custom_headings'} = '*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -139,7 +136,6 @@ $result_tree_text{'custom_headings'} = '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -155,11 +151,9 @@ $result_tree_text{'custom_headings'} = '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E6|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -196,11 +190,9 @@ $result_tree_text{'custom_headings'} = '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -328,12 +320,37 @@ $result_nodes_list{'custom_headings'} = '1|Top
 $result_sections_list{'custom_headings'} = '1|top sectionning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ch--ap
 2|ch--ap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->chap 2
+  up->top sectionning
+ toplevel_directions:
+  next->chap 2
+  prev->top sectionning
+  up->top sectionning
 3|sec1
+ section_directions:
+  up->ch--ap
 4|chap 2
+ section_directions:
+  next->chap 3
+  prev->ch--ap
+  up->top sectionning
+ toplevel_directions:
+  next->chap 3
+  prev->ch--ap
+  up->top sectionning
 5|chap 3
+ section_directions:
+  prev->chap 2
+  up->top sectionning
+ toplevel_directions:
+  prev->chap 2
+  up->top sectionning
 ';
 
 $result_headings_list{'custom_headings'} = '';
diff --git a/tta/perl/t/results/latex_tests/custom_headings_and_comments.pl 
b/tta/perl/t/results/latex_tests/custom_headings_and_comments.pl
index b897b29000..3467c2727d 100644
--- a/tta/perl/t/results/latex_tests/custom_headings_and_comments.pl
+++ b/tta/perl/t/results/latex_tests/custom_headings_and_comments.pl
@@ -83,7 +83,6 @@ $result_tree_text{'custom_headings_and_comments'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -111,11 +110,9 @@ $result_tree_text{'custom_headings_and_comments'} = 
'*document_root C7
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -140,7 +137,6 @@ $result_tree_text{'custom_headings_and_comments'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -156,11 +152,9 @@ $result_tree_text{'custom_headings_and_comments'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -237,11 +231,28 @@ $result_nodes_list{'custom_headings_and_comments'} = 
'1|Top
 $result_sections_list{'custom_headings_and_comments'} = '1|top sectionning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->ch--ap
 2|ch--ap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->chap 2
+  up->top sectionning
+ toplevel_directions:
+  next->chap 2
+  prev->top sectionning
+  up->top sectionning
 3|sec1
+ section_directions:
+  up->ch--ap
 4|chap 2
+ section_directions:
+  prev->ch--ap
+  up->top sectionning
+ toplevel_directions:
+  prev->ch--ap
+  up->top sectionning
 ';
 
 $result_headings_list{'custom_headings_and_comments'} = '';
diff --git a/tta/perl/t/results/latex_tests/error_in_sectioning_command.pl 
b/tta/perl/t/results/latex_tests/error_in_sectioning_command.pl
index a24a9e4195..e5252022ae 100644
--- a/tta/perl/t/results/latex_tests/error_in_sectioning_command.pl
+++ b/tta/perl/t/results/latex_tests/error_in_sectioning_command.pl
@@ -40,7 +40,6 @@ $result_tree_text{'error_in_sectioning_command'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,11 +75,9 @@ $result_tree_text{'error_in_sectioning_command'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C4
    |INFO
@@ -146,9 +143,16 @@ $result_nodes_list{'error_in_sectioning_command'} = '1|Top
 $result_sections_list{'error_in_sectioning_command'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->@code{@@error@{@}} (@error{}): Indicating an Error Message
 2|@code{@@error@{@}} (@error{}): Indicating an Error Message
  associated_anchor_command: @code{@@error@{@}} (@error{}): Indicating an Error 
Message
  associated_node: @code{@@error@{@}} (@error{}): Indicating an Error Message
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'error_in_sectioning_command'} = '';
diff --git a/tta/perl/t/results/latex_tests/float_and_refs.pl 
b/tta/perl/t/results/latex_tests/float_and_refs.pl
index 18485383c9..08984b0187 100644
--- a/tta/perl/t/results/latex_tests/float_and_refs.pl
+++ b/tta/perl/t/results/latex_tests/float_and_refs.pl
@@ -35,7 +35,6 @@ $result_tree_text{'float_and_refs'} = '*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'float_and_refs'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -210,11 +207,9 @@ $result_tree_text{'float_and_refs'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -482,11 +477,9 @@ $result_tree_text{'float_and_refs'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -658,11 +651,34 @@ $result_nodes_list{'float_and_refs'} = '1|Top
 $result_sections_list{'float_and_refs'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->refs
+  up->top
+ toplevel_directions:
+  next->refs
+  prev->top
+  up->top
 3|refs
+ section_directions:
+  next->lists
+  prev->chapter
+  up->top
+ toplevel_directions:
+  next->lists
+  prev->chapter
+  up->top
 4|lists
+ section_directions:
+  prev->refs
+  up->top
+ toplevel_directions:
+  prev->refs
+  up->top
 ';
 
 $result_headings_list{'float_and_refs'} = '';
diff --git a/tta/perl/t/results/latex_tests/fonttextsize.pl 
b/tta/perl/t/results/latex_tests/fonttextsize.pl
index d9a5f5cdc3..1c358231d3 100644
--- a/tta/perl/t/results/latex_tests/fonttextsize.pl
+++ b/tta/perl/t/results/latex_tests/fonttextsize.pl
@@ -47,7 +47,6 @@ $result_tree_text{'fonttextsize'} = '*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -75,11 +74,9 @@ $result_tree_text{'fonttextsize'} = '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -93,7 +90,6 @@ $result_tree_text{'fonttextsize'} = '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E5|E6|E7|E8]
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -109,7 +105,6 @@ $result_tree_text{'fonttextsize'} = '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E4]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -138,7 +133,6 @@ $result_tree_text{'fonttextsize'} = '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E5|up->E4]
  |section_heading_number:{1.1.2}
  |section_level:{3}
  |section_number:{5}
@@ -166,7 +160,6 @@ $result_tree_text{'fonttextsize'} = '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E6|up->E4]
  |section_heading_number:{1.1.3}
  |section_level:{3}
  |section_number:{6}
@@ -194,7 +187,6 @@ $result_tree_text{'fonttextsize'} = '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E4]
  |section_heading_number:{1.1.4}
  |section_level:{3}
  |section_number:{7}
@@ -325,14 +317,37 @@ $result_nodes_list{'fonttextsize'} = '1|Top
 $result_sections_list{'fonttextsize'} = '1|section top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->section top
+ toplevel_directions:
+  prev->section top
+  up->section top
 3|section
+ section_directions:
+  up->Chapter
 4|Subsection 10pts
+ section_directions:
+  next->Subsection 11pts
+  up->section
 5|Subsection 11pts
+ section_directions:
+  next->Subsection 8pts
+  prev->Subsection 10pts
+  up->section
 6|Subsection 8pts
+ section_directions:
+  next->Subsection 15pts
+  prev->Subsection 11pts
+  up->section
 7|Subsection 15pts
+ section_directions:
+  prev->Subsection 8pts
+  up->section
 ';
 
 $result_headings_list{'fonttextsize'} = '';
diff --git a/tta/perl/t/results/latex_tests/indices.pl 
b/tta/perl/t/results/latex_tests/indices.pl
index ce2ec04cb1..2e7cd1d960 100644
--- a/tta/perl/t/results/latex_tests/indices.pl
+++ b/tta/perl/t/results/latex_tests/indices.pl
@@ -43,7 +43,6 @@ $result_tree_text{'indices'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -71,11 +70,9 @@ $result_tree_text{'indices'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -441,9 +438,16 @@ $result_nodes_list{'indices'} = '1|Top
 $result_sections_list{'indices'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Index
 2|Index
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'indices'} = '';
diff --git a/tta/perl/t/results/latex_tests/indices_disable_encoding.pl 
b/tta/perl/t/results/latex_tests/indices_disable_encoding.pl
index 930e0e0e5a..e75dee552f 100644
--- a/tta/perl/t/results/latex_tests/indices_disable_encoding.pl
+++ b/tta/perl/t/results/latex_tests/indices_disable_encoding.pl
@@ -43,7 +43,6 @@ $result_tree_text{'indices_disable_encoding'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -71,11 +70,9 @@ $result_tree_text{'indices_disable_encoding'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -441,9 +438,16 @@ $result_nodes_list{'indices_disable_encoding'} = '1|Top
 $result_sections_list{'indices_disable_encoding'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Index
 2|Index
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'indices_disable_encoding'} = '';
diff --git a/tta/perl/t/results/latex_tests/informative_commands_in_top_node.pl 
b/tta/perl/t/results/latex_tests/informative_commands_in_top_node.pl
index ef3b2a6a5e..1fc9f559a5 100644
--- a/tta/perl/t/results/latex_tests/informative_commands_in_top_node.pl
+++ b/tta/perl/t/results/latex_tests/informative_commands_in_top_node.pl
@@ -35,7 +35,6 @@ $result_tree_text{'informative_commands_in_top_node'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,11 +108,9 @@ $result_tree_text{'informative_commands_in_top_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,9 +168,16 @@ $result_nodes_list{'informative_commands_in_top_node'} = 
'1|Top
 $result_sections_list{'informative_commands_in_top_node'} = '1|top sectionning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: next node
  associated_node: next node
+ section_directions:
+  up->top sectionning
+ toplevel_directions:
+  prev->top sectionning
+  up->top sectionning
 ';
 
 $result_headings_list{'informative_commands_in_top_node'} = '';
diff --git a/tta/perl/t/results/latex_tests/node_before_top.pl 
b/tta/perl/t/results/latex_tests/node_before_top.pl
index 93bc3657b2..f9144fbee1 100644
--- a/tta/perl/t/results/latex_tests/node_before_top.pl
+++ b/tta/perl/t/results/latex_tests/node_before_top.pl
@@ -50,7 +50,6 @@ $result_tree_text{'node_before_top'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -77,11 +76,9 @@ $result_tree_text{'node_before_top'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -150,9 +147,16 @@ $result_nodes_list{'node_before_top'} = '1|before Top
 $result_sections_list{'node_before_top'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'node_before_top'} = '';
diff --git a/tta/perl/t/results/latex_tests/pagesizes.pl 
b/tta/perl/t/results/latex_tests/pagesizes.pl
index e3ec990d7a..45531c51bc 100644
--- a/tta/perl/t/results/latex_tests/pagesizes.pl
+++ b/tta/perl/t/results/latex_tests/pagesizes.pl
@@ -45,7 +45,6 @@ $result_tree_text{'pagesizes'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -72,11 +71,9 @@ $result_tree_text{'pagesizes'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E4|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -99,11 +96,9 @@ $result_tree_text{'pagesizes'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -206,10 +201,25 @@ $result_nodes_list{'pagesizes'} = '1|Top
 $result_sections_list{'pagesizes'} = '1|section top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->other pagesizes
+  up->section top
+ toplevel_directions:
+  next->other pagesizes
+  prev->section top
+  up->section top
 3|other pagesizes
+ section_directions:
+  prev->Chapter
+  up->section top
+ toplevel_directions:
+  prev->Chapter
+  up->section top
 ';
 
 $result_headings_list{'pagesizes'} = '';
diff --git a/tta/perl/t/results/latex_tests/pagetype.pl 
b/tta/perl/t/results/latex_tests/pagetype.pl
index 3bc5a41a10..d1c70b2bd5 100644
--- a/tta/perl/t/results/latex_tests/pagetype.pl
+++ b/tta/perl/t/results/latex_tests/pagetype.pl
@@ -41,7 +41,6 @@ $result_tree_text{'pagetype'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -68,11 +67,9 @@ $result_tree_text{'pagetype'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E4|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -100,11 +97,9 @@ $result_tree_text{'pagetype'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -197,10 +192,25 @@ $result_nodes_list{'pagetype'} = '1|Top
 $result_sections_list{'pagetype'} = '1|section top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->afourpaper reset
+  up->section top
+ toplevel_directions:
+  next->afourpaper reset
+  prev->section top
+  up->section top
 3|afourpaper reset
+ section_directions:
+  prev->Chapter
+  up->section top
+ toplevel_directions:
+  prev->Chapter
+  up->section top
 ';
 
 $result_headings_list{'pagetype'} = '';
diff --git a/tta/perl/t/results/latex_tests/shorttitlepage.pl 
b/tta/perl/t/results/latex_tests/shorttitlepage.pl
index 2912707d72..9522926f55 100644
--- a/tta/perl/t/results/latex_tests/shorttitlepage.pl
+++ b/tta/perl/t/results/latex_tests/shorttitlepage.pl
@@ -47,7 +47,6 @@ $result_tree_text{'shorttitlepage'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -74,11 +73,9 @@ $result_tree_text{'shorttitlepage'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -132,9 +129,16 @@ $result_nodes_list{'shorttitlepage'} = '1|Top
 $result_sections_list{'shorttitlepage'} = '1|section top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->section top
+ toplevel_directions:
+  prev->section top
+  up->section top
 ';
 
 $result_headings_list{'shorttitlepage'} = '';
diff --git a/tta/perl/t/results/latex_tests/titlepage_classical.pl 
b/tta/perl/t/results/latex_tests/titlepage_classical.pl
index 041a1e11f7..d4f9c067ba 100644
--- a/tta/perl/t/results/latex_tests/titlepage_classical.pl
+++ b/tta/perl/t/results/latex_tests/titlepage_classical.pl
@@ -139,7 +139,6 @@ $result_tree_text{'titlepage_classical'} = '*document_root 
C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -166,11 +165,9 @@ $result_tree_text{'titlepage_classical'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -244,9 +241,16 @@ $result_nodes_list{'titlepage_classical'} = '1|Top
 $result_sections_list{'titlepage_classical'} = '1|section top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->section top
+ toplevel_directions:
+  prev->section top
+  up->section top
 ';
 
 $result_headings_list{'titlepage_classical'} = '';
diff --git a/tta/perl/t/results/latex_tests/titlepage_in_top_node.pl 
b/tta/perl/t/results/latex_tests/titlepage_in_top_node.pl
index 9d7ad4328c..7f24d78bd1 100644
--- a/tta/perl/t/results/latex_tests/titlepage_in_top_node.pl
+++ b/tta/perl/t/results/latex_tests/titlepage_in_top_node.pl
@@ -35,7 +35,6 @@ $result_tree_text{'titlepage_in_top_node'} = '*document_root 
C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -92,11 +91,9 @@ $result_tree_text{'titlepage_in_top_node'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,9 +153,16 @@ $result_nodes_list{'titlepage_in_top_node'} = '1|Top
 $result_sections_list{'titlepage_in_top_node'} = '1|top sectionning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top sectionning
+ toplevel_directions:
+  prev->top sectionning
+  up->top sectionning
 ';
 
 $result_headings_list{'titlepage_in_top_node'} = '';
diff --git a/tta/perl/t/results/latex_tests/titlepage_long_title.pl 
b/tta/perl/t/results/latex_tests/titlepage_long_title.pl
index afc564f616..a85c4d14ca 100644
--- a/tta/perl/t/results/latex_tests/titlepage_long_title.pl
+++ b/tta/perl/t/results/latex_tests/titlepage_long_title.pl
@@ -65,7 +65,6 @@ $result_tree_text{'titlepage_long_title'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -92,11 +91,9 @@ $result_tree_text{'titlepage_long_title'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -153,9 +150,16 @@ $result_nodes_list{'titlepage_long_title'} = '1|Top
 $result_sections_list{'titlepage_long_title'} = '1|section top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->section top
+ toplevel_directions:
+  prev->section top
+  up->section top
 ';
 
 $result_headings_list{'titlepage_long_title'} = '';
diff --git a/tta/perl/t/results/latex_tests/titlepage_no_author.pl 
b/tta/perl/t/results/latex_tests/titlepage_no_author.pl
index b2ae9104ee..038e6d9ec3 100644
--- a/tta/perl/t/results/latex_tests/titlepage_no_author.pl
+++ b/tta/perl/t/results/latex_tests/titlepage_no_author.pl
@@ -62,7 +62,6 @@ $result_tree_text{'titlepage_no_author'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -89,11 +88,9 @@ $result_tree_text{'titlepage_no_author'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -149,9 +146,16 @@ $result_nodes_list{'titlepage_no_author'} = '1|Top
 $result_sections_list{'titlepage_no_author'} = '1|section top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->section top
+ toplevel_directions:
+  prev->section top
+  up->section top
 ';
 
 $result_headings_list{'titlepage_no_author'} = '';
diff --git a/tta/perl/t/results/latex_tests/titlepage_no_title.pl 
b/tta/perl/t/results/latex_tests/titlepage_no_title.pl
index 4dc0696db8..4742be5607 100644
--- a/tta/perl/t/results/latex_tests/titlepage_no_title.pl
+++ b/tta/perl/t/results/latex_tests/titlepage_no_title.pl
@@ -71,7 +71,6 @@ $result_tree_text{'titlepage_no_title'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ $result_tree_text{'titlepage_no_title'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -160,9 +157,16 @@ $result_nodes_list{'titlepage_no_title'} = '1|Top
 $result_sections_list{'titlepage_no_title'} = '1|section top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->section top
+ toplevel_directions:
+  prev->section top
+  up->section top
 ';
 
 $result_headings_list{'titlepage_no_title'} = '';
diff --git 
a/tta/perl/t/results/latex_tests/titlepage_with_commands_classical.pl 
b/tta/perl/t/results/latex_tests/titlepage_with_commands_classical.pl
index b139f9cd8b..34d68c729b 100644
--- a/tta/perl/t/results/latex_tests/titlepage_with_commands_classical.pl
+++ b/tta/perl/t/results/latex_tests/titlepage_with_commands_classical.pl
@@ -181,7 +181,6 @@ $result_tree_text{'titlepage_with_commands_classical'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -208,11 +207,9 @@ $result_tree_text{'titlepage_with_commands_classical'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -307,9 +304,16 @@ $result_nodes_list{'titlepage_with_commands_classical'} = 
'1|Top
 $result_sections_list{'titlepage_with_commands_classical'} = '1|section top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->section top
+ toplevel_directions:
+  prev->section top
+  up->section top
 ';
 
 $result_headings_list{'titlepage_with_commands_classical'} = '';
diff --git a/tta/perl/t/results/layout/navigation.pl 
b/tta/perl/t/results/layout/navigation.pl
index 96a5f6bca8..fbef1f6cd8 100644
--- a/tta/perl/t/results/layout/navigation.pl
+++ b/tta/perl/t/results/layout/navigation.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation'} = '*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation'} = '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation'} = '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation'} = '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation'} = '1|Top
 $result_sections_list{'navigation'} = '1|File used for navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation'} = '';
diff --git a/tta/perl/t/results/layout/navigation_chapter.pl 
b/tta/perl/t/results/layout/navigation_chapter.pl
index 254fb6d0ae..0469ac455a 100644
--- a/tta/perl/t/results/layout/navigation_chapter.pl
+++ b/tta/perl/t/results/layout/navigation_chapter.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_chapter'} = '*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_chapter'} = '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_chapter'} = '*document_root 
C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_chapter'} = '*document_root 
C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_chapter'} = '1|Top
 $result_sections_list{'navigation_chapter'} = '1|File used for navigation 
testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_chapter'} = '';
diff --git a/tta/perl/t/results/layout/navigation_chapter_no_header.pl 
b/tta/perl/t/results/layout/navigation_chapter_no_header.pl
index 5fcde329d6..94e51d9025 100644
--- a/tta/perl/t/results/layout/navigation_chapter_no_header.pl
+++ b/tta/perl/t/results/layout/navigation_chapter_no_header.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_chapter_no_header'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_chapter_no_header'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_chapter_no_header'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_chapter_no_header'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_chapter_no_header'} = 
'1|Top
 $result_sections_list{'navigation_chapter_no_header'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_chapter_no_header'} = '';
diff --git a/tta/perl/t/results/layout/navigation_chapter_no_header_vertical.pl 
b/tta/perl/t/results/layout/navigation_chapter_no_header_vertical.pl
index 2117446c7d..44cde771e7 100644
--- a/tta/perl/t/results/layout/navigation_chapter_no_header_vertical.pl
+++ b/tta/perl/t/results/layout/navigation_chapter_no_header_vertical.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_chapter_no_header_vertical'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_chapter_no_header_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_chapter_no_header_vertical'} 
= '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_chapter_no_header_vertical'} 
= '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ 
$result_nodes_list{'navigation_chapter_no_header_vertical'} = '1|Top
 $result_sections_list{'navigation_chapter_no_header_vertical'} = '1|File used 
for navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_chapter_no_header_vertical'} = '';
diff --git a/tta/perl/t/results/layout/navigation_chapter_vertical.pl 
b/tta/perl/t/results/layout/navigation_chapter_vertical.pl
index 87c9df8616..547da8cf25 100644
--- a/tta/perl/t/results/layout/navigation_chapter_vertical.pl
+++ b/tta/perl/t/results/layout/navigation_chapter_vertical.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_chapter_vertical'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_chapter_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_chapter_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_chapter_vertical'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_chapter_vertical'} = '1|Top
 $result_sections_list{'navigation_chapter_vertical'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_chapter_vertical'} = '';
diff --git a/tta/perl/t/results/layout/navigation_no_header.pl 
b/tta/perl/t/results/layout/navigation_no_header.pl
index 68ed1aca52..380b324a1d 100644
--- a/tta/perl/t/results/layout/navigation_no_header.pl
+++ b/tta/perl/t/results/layout/navigation_no_header.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_no_header'} = '*document_root 
C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_no_header'} = '*document_root 
C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_no_header'} = '*document_root 
C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_no_header'} = '*document_root 
C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_no_header'} = '1|Top
 $result_sections_list{'navigation_no_header'} = '1|File used for navigation 
testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_no_header'} = '';
diff --git a/tta/perl/t/results/layout/navigation_no_header_vertical.pl 
b/tta/perl/t/results/layout/navigation_no_header_vertical.pl
index 10209de5bc..9e96316c28 100644
--- a/tta/perl/t/results/layout/navigation_no_header_vertical.pl
+++ b/tta/perl/t/results/layout/navigation_no_header_vertical.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_no_header_vertical'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_no_header_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_no_header_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_no_header_vertical'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_no_header_vertical'} = 
'1|Top
 $result_sections_list{'navigation_no_header_vertical'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_no_header_vertical'} = '';
diff --git a/tta/perl/t/results/layout/navigation_node.pl 
b/tta/perl/t/results/layout/navigation_node.pl
index d571b75139..d31176568e 100644
--- a/tta/perl/t/results/layout/navigation_node.pl
+++ b/tta/perl/t/results/layout/navigation_node.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_node'} = '*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_node'} = '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_node'} = '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_node'} = '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_node'} = '1|Top
 $result_sections_list{'navigation_node'} = '1|File used for navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_node'} = '';
diff --git a/tta/perl/t/results/layout/navigation_node_no_header.pl 
b/tta/perl/t/results/layout/navigation_node_no_header.pl
index 37f6b601a9..4c516e2f3e 100644
--- a/tta/perl/t/results/layout/navigation_node_no_header.pl
+++ b/tta/perl/t/results/layout/navigation_node_no_header.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_node_no_header'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_node_no_header'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_node_no_header'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_node_no_header'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_node_no_header'} = '1|Top
 $result_sections_list{'navigation_node_no_header'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_node_no_header'} = '';
diff --git a/tta/perl/t/results/layout/navigation_node_no_header_vertical.pl 
b/tta/perl/t/results/layout/navigation_node_no_header_vertical.pl
index 1ad0b2465e..fcc1cfec9c 100644
--- a/tta/perl/t/results/layout/navigation_node_no_header_vertical.pl
+++ b/tta/perl/t/results/layout/navigation_node_no_header_vertical.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_node_no_header_vertical'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_node_no_header_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_node_no_header_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_node_no_header_vertical'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_node_no_header_vertical'} 
= '1|Top
 $result_sections_list{'navigation_node_no_header_vertical'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_node_no_header_vertical'} = '';
diff --git a/tta/perl/t/results/layout/navigation_node_vertical.pl 
b/tta/perl/t/results/layout/navigation_node_vertical.pl
index 6a31a4f343..aec5b5795e 100644
--- a/tta/perl/t/results/layout/navigation_node_vertical.pl
+++ b/tta/perl/t/results/layout/navigation_node_vertical.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_node_vertical'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_node_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_node_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_node_vertical'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_node_vertical'} = '1|Top
 $result_sections_list{'navigation_node_vertical'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_node_vertical'} = '';
diff --git a/tta/perl/t/results/layout/navigation_section.pl 
b/tta/perl/t/results/layout/navigation_section.pl
index 4b4b09c004..5aaf99722c 100644
--- a/tta/perl/t/results/layout/navigation_section.pl
+++ b/tta/perl/t/results/layout/navigation_section.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_section'} = '*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_section'} = '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_section'} = '*document_root 
C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_section'} = '*document_root 
C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_section'} = '1|Top
 $result_sections_list{'navigation_section'} = '1|File used for navigation 
testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_section'} = '';
diff --git a/tta/perl/t/results/layout/navigation_section_no_header.pl 
b/tta/perl/t/results/layout/navigation_section_no_header.pl
index 6ed33705a9..eda6fbe612 100644
--- a/tta/perl/t/results/layout/navigation_section_no_header.pl
+++ b/tta/perl/t/results/layout/navigation_section_no_header.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_section_no_header'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_section_no_header'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_section_no_header'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_section_no_header'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_section_no_header'} = 
'1|Top
 $result_sections_list{'navigation_section_no_header'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_section_no_header'} = '';
diff --git a/tta/perl/t/results/layout/navigation_section_no_header_vertical.pl 
b/tta/perl/t/results/layout/navigation_section_no_header_vertical.pl
index c7ff095d74..d349343ec9 100644
--- a/tta/perl/t/results/layout/navigation_section_no_header_vertical.pl
+++ b/tta/perl/t/results/layout/navigation_section_no_header_vertical.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_section_no_header_vertical'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_section_no_header_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_section_no_header_vertical'} 
= '*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_section_no_header_vertical'} 
= '*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ 
$result_nodes_list{'navigation_section_no_header_vertical'} = '1|Top
 $result_sections_list{'navigation_section_no_header_vertical'} = '1|File used 
for navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_section_no_header_vertical'} = '';
diff --git a/tta/perl/t/results/layout/navigation_section_vertical.pl 
b/tta/perl/t/results/layout/navigation_section_vertical.pl
index 0728f7cbd7..324b9f5bdb 100644
--- a/tta/perl/t/results/layout/navigation_section_vertical.pl
+++ b/tta/perl/t/results/layout/navigation_section_vertical.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_section_vertical'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_section_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_section_vertical'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_section_vertical'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_section_vertical'} = '1|Top
 $result_sections_list{'navigation_section_vertical'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_section_vertical'} = '';
diff --git a/tta/perl/t/results/layout/navigation_test_misc_file_collision.pl 
b/tta/perl/t/results/layout/navigation_test_misc_file_collision.pl
index d1d73d8d01..1b65d2849e 100644
--- a/tta/perl/t/results/layout/navigation_test_misc_file_collision.pl
+++ b/tta/perl/t/results/layout/navigation_test_misc_file_collision.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_test_misc_file_collision'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_test_misc_file_collision'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_test_misc_file_collision'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_test_misc_file_collision'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_test_misc_file_collision'} 
= '1|Top
 $result_sections_list{'navigation_test_misc_file_collision'} = '1|File used 
for navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_test_misc_file_collision'} = '';
diff --git a/tta/perl/t/results/layout/navigation_test_undef_top_buttons.pl 
b/tta/perl/t/results/layout/navigation_test_undef_top_buttons.pl
index aa49dd6208..1a969b5e1d 100644
--- a/tta/perl/t/results/layout/navigation_test_undef_top_buttons.pl
+++ b/tta/perl/t/results/layout/navigation_test_undef_top_buttons.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_test_undef_top_buttons'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_test_undef_top_buttons'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_test_undef_top_buttons'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_test_undef_top_buttons'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_test_undef_top_buttons'} = 
'1|Top
 $result_sections_list{'navigation_test_undef_top_buttons'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_test_undef_top_buttons'} = '';
diff --git a/tta/perl/t/results/layout/navigation_test_zero_top_buttons.pl 
b/tta/perl/t/results/layout/navigation_test_zero_top_buttons.pl
index 93da87f558..643086d063 100644
--- a/tta/perl/t/results/layout/navigation_test_zero_top_buttons.pl
+++ b/tta/perl/t/results/layout/navigation_test_zero_top_buttons.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_test_zero_top_buttons'} = 
'*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_test_zero_top_buttons'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_test_zero_top_buttons'} = 
'*document_root C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_test_zero_top_buttons'} = 
'*document_root C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_test_zero_top_buttons'} = 
'1|Top
 $result_sections_list{'navigation_test_zero_top_buttons'} = '1|File used for 
navigation testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_test_zero_top_buttons'} = '';
diff --git a/tta/perl/t/results/layout/navigation_vertical.pl 
b/tta/perl/t/results/layout/navigation_vertical.pl
index 2d10dc785e..1c05e6ff2e 100644
--- a/tta/perl/t/results/layout/navigation_vertical.pl
+++ b/tta/perl/t/results/layout/navigation_vertical.pl
@@ -38,7 +38,6 @@ $result_tree_text{'navigation_vertical'} = '*document_root C10
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,11 +94,9 @@ $result_tree_text{'navigation_vertical'} = '*document_root 
C10
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -156,7 +153,6 @@ $result_tree_text{'navigation_vertical'} = '*document_root 
C10
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -255,7 +251,6 @@ $result_tree_text{'navigation_vertical'} = '*document_root 
C10
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -424,15 +419,26 @@ $result_nodes_list{'navigation_vertical'} = '1|Top
 $result_sections_list{'navigation_vertical'} = '1|File used for navigation 
testing
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->First chapter
 2|First chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->File used for navigation testing
+ toplevel_directions:
+  prev->File used for navigation testing
+  up->File used for navigation testing
 3|Section in chapter
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->First chapter
 4|Sub section in section
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->Section in chapter
 ';
 
 $result_headings_list{'navigation_vertical'} = '';
diff --git a/tta/perl/t/results/layout/no_monolithic.pl 
b/tta/perl/t/results/layout/no_monolithic.pl
index 96c152a64d..b1f96cd117 100644
--- a/tta/perl/t/results/layout/no_monolithic.pl
+++ b/tta/perl/t/results/layout/no_monolithic.pl
@@ -38,7 +38,6 @@ $result_tree_text{'no_monolithic'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -119,11 +118,9 @@ $result_tree_text{'no_monolithic'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -225,9 +222,16 @@ $result_nodes_list{'no_monolithic'} = '1|Top
 $result_sections_list{'no_monolithic'} = '1|Not monolithic
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Not monolithic
+ toplevel_directions:
+  prev->Not monolithic
+  up->Not monolithic
 ';
 
 $result_headings_list{'no_monolithic'} = '';
diff --git a/tta/perl/t/results/layout/no_monolithic_only_toc_out.pl 
b/tta/perl/t/results/layout/no_monolithic_only_toc_out.pl
index 7eda3badf3..5bd4a686e3 100644
--- a/tta/perl/t/results/layout/no_monolithic_only_toc_out.pl
+++ b/tta/perl/t/results/layout/no_monolithic_only_toc_out.pl
@@ -38,7 +38,6 @@ $result_tree_text{'no_monolithic_only_toc_out'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -119,11 +118,9 @@ $result_tree_text{'no_monolithic_only_toc_out'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -225,9 +222,16 @@ $result_nodes_list{'no_monolithic_only_toc_out'} = '1|Top
 $result_sections_list{'no_monolithic_only_toc_out'} = '1|Not monolithic
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Not monolithic
+ toplevel_directions:
+  prev->Not monolithic
+  up->Not monolithic
 ';
 
 $result_headings_list{'no_monolithic_only_toc_out'} = '';
diff --git a/tta/perl/t/results/macro/bib_example.pl 
b/tta/perl/t/results/macro/bib_example.pl
index 1a39ed20e9..9c2adfc093 100644
--- a/tta/perl/t/results/macro/bib_example.pl
+++ b/tta/perl/t/results/macro/bib_example.pl
@@ -628,7 +628,6 @@ $result_tree_text{'bib_example'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -710,11 +709,9 @@ $result_tree_text{'bib_example'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -856,11 +853,9 @@ $result_tree_text{'bib_example'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1420,12 +1415,27 @@ $result_nodes_list{'bib_example'} = '1|Top
 $result_sections_list{'bib_example'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Introduction
 2|Introduction
  associated_anchor_command: Introduction
  associated_node: Introduction
+ section_directions:
+  next->References
+  up->Top
+ toplevel_directions:
+  next->References
+  prev->Top
+  up->Top
 3|References
  associated_anchor_command: References
  associated_node: References
+ section_directions:
+  prev->Introduction
+  up->Top
+ toplevel_directions:
+  prev->Introduction
+  up->Top
 ';
 
 $result_headings_list{'bib_example'} = '';
diff --git a/tta/perl/t/results/macro/glossary.pl 
b/tta/perl/t/results/macro/glossary.pl
index 912c4863f2..449fa1d7d4 100644
--- a/tta/perl/t/results/macro/glossary.pl
+++ b/tta/perl/t/results/macro/glossary.pl
@@ -126,7 +126,6 @@ $result_tree_text{'glossary'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -445,11 +444,9 @@ $result_tree_text{'glossary'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -672,9 +669,16 @@ $result_nodes_list{'glossary'} = '1|Top
 $result_sections_list{'glossary'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->glossary
 2|glossary
  associated_anchor_command: glossary
  associated_node: glossary
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 ';
 
 $result_headings_list{'glossary'} = '';
diff --git a/tta/perl/t/results/macro/macro_alias_definfoenclose_defindex.pl 
b/tta/perl/t/results/macro/macro_alias_definfoenclose_defindex.pl
index fe1bd65107..42d6270aa9 100644
--- a/tta/perl/t/results/macro/macro_alias_definfoenclose_defindex.pl
+++ b/tta/perl/t/results/macro/macro_alias_definfoenclose_defindex.pl
@@ -34,7 +34,6 @@ $result_tree_text{'macro_alias_definfoenclose_defindex'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'macro_alias_definfoenclose_defindex'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -545,9 +542,16 @@ $result_nodes_list{'macro_alias_definfoenclose_defindex'} 
= '1|Top
 $result_sections_list{'macro_alias_definfoenclose_defindex'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'macro_alias_definfoenclose_defindex'} = '';
diff --git a/tta/perl/t/results/macro/macro_in_misc_commands.pl 
b/tta/perl/t/results/macro/macro_in_misc_commands.pl
index f72476ada2..5c139c545b 100644
--- a/tta/perl/t/results/macro/macro_in_misc_commands.pl
+++ b/tta/perl/t/results/macro/macro_in_misc_commands.pl
@@ -80,7 +80,6 @@ $result_tree_text{'macro_in_misc_commands'} = '*document_root 
C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1539,11 +1538,9 @@ $result_tree_text{'macro_in_misc_commands'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
  >SOURCEMARKS
  >macro_expansion<end;51>
   *arguments_line C1
@@ -2066,9 +2063,16 @@ $result_nodes_list{'macro_in_misc_commands'} = '1|Top
 $result_sections_list{'macro_in_misc_commands'} = '1|top atext
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node atext
  associated_node: node atext
+ section_directions:
+  up->top atext
+ toplevel_directions:
+  prev->top atext
+  up->top atext
 ';
 
 $result_headings_list{'macro_in_misc_commands'} = '1|Comment like: atext
diff --git 
a/tta/perl/t/results/menu/appendix_and_associated_part_in_generated_menu.pl 
b/tta/perl/t/results/menu/appendix_and_associated_part_in_generated_menu.pl
index 1df7a6f9cc..c2ece9db76 100644
--- a/tta/perl/t/results/menu/appendix_and_associated_part_in_generated_menu.pl
+++ b/tta/perl/t/results/menu/appendix_and_associated_part_in_generated_menu.pl
@@ -27,7 +27,6 @@ 
$result_tree_text{'appendix_and_associated_part_in_generated_menu'} = '*document
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[next->E6]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -35,7 +34,6 @@ 
$result_tree_text{'appendix_and_associated_part_in_generated_menu'} = '*document
   ||EXTRA
   ||section_childs:EC[E1|E6|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -63,11 +61,9 @@ 
$result_tree_text{'appendix_and_associated_part_in_generated_menu'} = '*document
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E8|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,7 +90,6 @@ 
$result_tree_text{'appendix_and_associated_part_in_generated_menu'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -112,7 +107,6 @@ 
$result_tree_text{'appendix_and_associated_part_in_generated_menu'} = '*document
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E8]
- |section_directions:D[next->E9|prev->E1]
  |section_level:{0}
  |section_number:{4}
   *arguments_line C1
@@ -141,11 +135,9 @@ 
$result_tree_text{'appendix_and_associated_part_in_generated_menu'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E6]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E11|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -160,7 +152,6 @@ 
$result_tree_text{'appendix_and_associated_part_in_generated_menu'} = '*document
  |EXTRA
  |global_command_number:{2}
  |section_childs:EC[E11]
- |section_directions:D[prev->E6]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -189,11 +180,9 @@ 
$result_tree_text{'appendix_and_associated_part_in_generated_menu'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -286,26 +275,54 @@ 
$result_nodes_list{'appendix_and_associated_part_in_generated_menu'} = '1|Top
 $result_sections_list{'appendix_and_associated_part_in_generated_menu'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->P1
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->Chap 2
+  prev->top
+  up->top
 3|Sec
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  up->Chap
 4|P1
  part_associated_section: Chap 2
  part_following_node: chap2
+ section_directions:
+  next->Final
+  prev->top
 5|Chap 2
  associated_anchor_command: chap2
  associated_node: chap2
  associated_part: P1
+ section_directions:
+  up->P1
+ toplevel_directions:
+  next->GGG
+  prev->Chap
+  up->top
 6|Final
  part_associated_section: GGG
  part_following_node: app
+ section_directions:
+  prev->P1
 7|GGG
  associated_anchor_command: app
  associated_node: app
  associated_part: Final
+ section_directions:
+  up->Final
+ toplevel_directions:
+  prev->Chap 2
+  up->top
 ';
 
 $result_headings_list{'appendix_and_associated_part_in_generated_menu'} = '';
diff --git a/tta/perl/t/results/menu/commands_in_nodedescriptionblock.pl 
b/tta/perl/t/results/menu/commands_in_nodedescriptionblock.pl
index 718a1106ed..7664efe8a8 100644
--- a/tta/perl/t/results/menu/commands_in_nodedescriptionblock.pl
+++ b/tta/perl/t/results/menu/commands_in_nodedescriptionblock.pl
@@ -34,7 +34,6 @@ $result_tree_text{'commands_in_nodedescriptionblock'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -117,11 +116,9 @@ $result_tree_text{'commands_in_nodedescriptionblock'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -253,11 +250,9 @@ $result_tree_text{'commands_in_nodedescriptionblock'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -452,12 +447,27 @@ $result_nodes_list{'commands_in_nodedescriptionblock'} = 
'1|Top
 $result_sections_list{'commands_in_nodedescriptionblock'} = '1|test commands 
in nodedescriptionblock
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap1
 2|chap1
  associated_anchor_command: node1
  associated_node: node1
+ section_directions:
+  next->chap2
+  up->test commands in nodedescriptionblock
+ toplevel_directions:
+  next->chap2
+  prev->test commands in nodedescriptionblock
+  up->test commands in nodedescriptionblock
 3|chap2
  associated_anchor_command: node2
  associated_node: node2
+ section_directions:
+  prev->chap1
+  up->test commands in nodedescriptionblock
+ toplevel_directions:
+  prev->chap1
+  up->test commands in nodedescriptionblock
 ';
 
 $result_headings_list{'commands_in_nodedescriptionblock'} = '';
diff --git a/tta/perl/t/results/menu/detailmenu_on_subnodes.pl 
b/tta/perl/t/results/menu/detailmenu_on_subnodes.pl
index a2bf859816..bcdfbf470e 100644
--- a/tta/perl/t/results/menu/detailmenu_on_subnodes.pl
+++ b/tta/perl/t/results/menu/detailmenu_on_subnodes.pl
@@ -34,7 +34,6 @@ $result_tree_text{'detailmenu_on_subnodes'} = '*document_root 
C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -183,11 +182,9 @@ $result_tree_text{'detailmenu_on_subnodes'} = 
'*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[next->E9|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -243,7 +240,6 @@ $result_tree_text{'detailmenu_on_subnodes'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -274,11 +270,9 @@ $result_tree_text{'detailmenu_on_subnodes'} = 
'*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E12|E14]
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -345,7 +339,6 @@ $result_tree_text{'detailmenu_on_subnodes'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|up->E9]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{5}
@@ -375,7 +368,6 @@ $result_tree_text{'detailmenu_on_subnodes'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E12|up->E9]
  |section_level:{2}
  |section_number:{6}
   *arguments_line C1
@@ -531,21 +523,44 @@ $result_nodes_list{'detailmenu_on_subnodes'} = '1|Top
 $result_sections_list{'detailmenu_on_subnodes'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->chapter 2
+  up->top
+ toplevel_directions:
+  next->chapter 2
+  prev->top
+  up->top
 3|section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->chapter
 4|chapter 2
  associated_anchor_command: chapter 2
  associated_node: chapter 2
+ section_directions:
+  prev->chapter
+  up->top
+ toplevel_directions:
+  prev->chapter
+  up->top
 5|section chap 2
  associated_anchor_command: section chap 2
  associated_node: section chap 2
+ section_directions:
+  next->unnumberedsec
+  up->chapter 2
 6|unnumberedsec
  associated_anchor_command: unnumberedsec
  associated_node: unnumberedsec
+ section_directions:
+  prev->section chap 2
+  up->chapter 2
 ';
 
 $result_headings_list{'detailmenu_on_subnodes'} = '';
diff --git a/tta/perl/t/results/menu/format_menu_undef.pl 
b/tta/perl/t/results/menu/format_menu_undef.pl
index 8aaca3b470..65fb401161 100644
--- a/tta/perl/t/results/menu/format_menu_undef.pl
+++ b/tta/perl/t/results/menu/format_menu_undef.pl
@@ -34,7 +34,6 @@ $result_tree_text{'format_menu_undef'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'format_menu_undef'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,9 +106,16 @@ $result_nodes_list{'format_menu_undef'} = '1|Top
 $result_sections_list{'format_menu_undef'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'format_menu_undef'} = '';
diff --git a/tta/perl/t/results/menu/missing_detailmenu_on_subnodes.pl 
b/tta/perl/t/results/menu/missing_detailmenu_on_subnodes.pl
index 90b1157e5f..28788b4735 100644
--- a/tta/perl/t/results/menu/missing_detailmenu_on_subnodes.pl
+++ b/tta/perl/t/results/menu/missing_detailmenu_on_subnodes.pl
@@ -34,7 +34,6 @@ $result_tree_text{'missing_detailmenu_on_subnodes'} = 
'*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -143,11 +142,9 @@ $result_tree_text{'missing_detailmenu_on_subnodes'} = 
'*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[next->E9|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -203,7 +200,6 @@ $result_tree_text{'missing_detailmenu_on_subnodes'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -234,11 +230,9 @@ $result_tree_text{'missing_detailmenu_on_subnodes'} = 
'*document_root C13
   |{ }
  |EXTRA
  |section_childs:EC[E12|E14]
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -305,7 +299,6 @@ $result_tree_text{'missing_detailmenu_on_subnodes'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|up->E9]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{5}
@@ -335,7 +328,6 @@ $result_tree_text{'missing_detailmenu_on_subnodes'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E12|up->E9]
  |section_level:{2}
  |section_number:{6}
   *arguments_line C1
@@ -527,21 +519,44 @@ $result_nodes_list{'missing_detailmenu_on_subnodes'} = 
'1|Top
 $result_sections_list{'missing_detailmenu_on_subnodes'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->chapter 2
+  up->top
+ toplevel_directions:
+  next->chapter 2
+  prev->top
+  up->top
 3|section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->chapter
 4|chapter 2
  associated_anchor_command: chapter 2
  associated_node: chapter 2
+ section_directions:
+  prev->chapter
+  up->top
+ toplevel_directions:
+  prev->chapter
+  up->top
 5|section chap 2
  associated_anchor_command: section chap 2
  associated_node: section chap 2
+ section_directions:
+  next->unnumberedsec
+  up->chapter 2
 6|unnumberedsec
  associated_anchor_command: unnumberedsec
  associated_node: unnumberedsec
+ section_directions:
+  prev->section chap 2
+  up->chapter 2
 ';
 
 $result_headings_list{'missing_detailmenu_on_subnodes'} = '';
diff --git a/tta/perl/t/results/menu/nodedescription_descriptions.pl 
b/tta/perl/t/results/menu/nodedescription_descriptions.pl
index 06c6a75f34..4fd81a84cf 100644
--- a/tta/perl/t/results/menu/nodedescription_descriptions.pl
+++ b/tta/perl/t/results/menu/nodedescription_descriptions.pl
@@ -34,7 +34,6 @@ $result_tree_text{'nodedescription_descriptions'} = 
'*document_root C17
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -165,11 +164,9 @@ $result_tree_text{'nodedescription_descriptions'} = 
'*document_root C17
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -226,11 +223,9 @@ $result_tree_text{'nodedescription_descriptions'} = 
'*document_root C17
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E10|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -267,11 +262,9 @@ $result_tree_text{'nodedescription_descriptions'} = 
'*document_root C17
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E13|prev->E7|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E13|prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -308,11 +301,9 @@ $result_tree_text{'nodedescription_descriptions'} = 
'*document_root C17
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E10|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E16|prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -349,11 +340,9 @@ $result_tree_text{'nodedescription_descriptions'} = 
'*document_root C17
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E19|prev->E13|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E19|prev->E13|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -390,11 +379,9 @@ $result_tree_text{'nodedescription_descriptions'} = 
'*document_root C17
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E22|prev->E16|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E22|prev->E16|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -431,11 +418,9 @@ $result_tree_text{'nodedescription_descriptions'} = 
'*document_root C17
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E19|up->E1]
  |section_heading_number:{7}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[prev->E19|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -657,27 +642,82 @@ $result_nodes_list{'nodedescription_descriptions'} = 
'1|Top
 $result_sections_list{'nodedescription_descriptions'} = '1|test of 
nodedescription used in menu
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Toto
 2|Toto
  associated_anchor_command: toto
  associated_node: toto
+ section_directions:
+  next->Titi
+  up->test of nodedescription used in menu
+ toplevel_directions:
+  next->Titi
+  prev->test of nodedescription used in menu
+  up->test of nodedescription used in menu
 3|Titi
  associated_anchor_command: titi
  associated_node: titi
+ section_directions:
+  next->Other
+  prev->Toto
+  up->test of nodedescription used in menu
+ toplevel_directions:
+  next->Other
+  prev->Toto
+  up->test of nodedescription used in menu
 4|Other
  associated_anchor_command: other
  associated_node: other
+ section_directions:
+  next->Last
+  prev->Titi
+  up->test of nodedescription used in menu
+ toplevel_directions:
+  next->Last
+  prev->Titi
+  up->test of nodedescription used in menu
 5|Last
  associated_anchor_command: last
  associated_node: last
+ section_directions:
+  next->Somewhat long
+  prev->Other
+  up->test of nodedescription used in menu
+ toplevel_directions:
+  next->Somewhat long
+  prev->Other
+  up->test of nodedescription used in menu
 6|Somewhat long
  associated_anchor_command: a somewhat long node without description nor 
following space
  associated_node: a somewhat long node without description nor following space
+ section_directions:
+  next->Very long
+  prev->Last
+  up->test of nodedescription used in menu
+ toplevel_directions:
+  next->Very long
+  prev->Last
+  up->test of nodedescription used in menu
 7|Very long
  associated_anchor_command: a very long node without description with very 
little space left for
  associated_node: a very long node without description with very little space 
left for
+ section_directions:
+  next->Past max columns
+  prev->Somewhat long
+  up->test of nodedescription used in menu
+ toplevel_directions:
+  next->Past max columns
+  prev->Somewhat long
+  up->test of nodedescription used in menu
 8|Past max columns
  associated_anchor_command: very very long node extending past the max columns 
and without description
  associated_node: very very long node extending past the max columns and 
without description
+ section_directions:
+  prev->Very long
+  up->test of nodedescription used in menu
+ toplevel_directions:
+  prev->Very long
+  up->test of nodedescription used in menu
 ';
 
 $result_headings_list{'nodedescription_descriptions'} = '';
diff --git a/tta/perl/t/results/menu/nodedescriptionblock_descriptions.pl 
b/tta/perl/t/results/menu/nodedescriptionblock_descriptions.pl
index 658731efcc..9a431a15b6 100644
--- a/tta/perl/t/results/menu/nodedescriptionblock_descriptions.pl
+++ b/tta/perl/t/results/menu/nodedescriptionblock_descriptions.pl
@@ -34,7 +34,6 @@ $result_tree_text{'nodedescriptionblock_descriptions'} = 
'*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -140,11 +139,9 @@ $result_tree_text{'nodedescriptionblock_descriptions'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E8|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -221,11 +218,9 @@ $result_tree_text{'nodedescriptionblock_descriptions'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E11|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E11|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -272,11 +267,9 @@ $result_tree_text{'nodedescriptionblock_descriptions'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E8|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E14|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -346,11 +339,9 @@ $result_tree_text{'nodedescriptionblock_descriptions'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E18|prev->E11|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E18|prev->E11|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -407,11 +398,9 @@ $result_tree_text{'nodedescriptionblock_descriptions'} = 
'*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E14|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -654,21 +643,60 @@ $result_nodes_list{'nodedescriptionblock_descriptions'} = 
'1|Top
 $result_sections_list{'nodedescriptionblock_descriptions'} = '1|test of 
nodedescriptionblock used in menu
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Toto
 2|Toto
  associated_anchor_command: toto
  associated_node: toto
+ section_directions:
+  next->Titi
+  up->test of nodedescriptionblock used in menu
+ toplevel_directions:
+  next->Titi
+  prev->test of nodedescriptionblock used in menu
+  up->test of nodedescriptionblock used in menu
 3|Titi
  associated_anchor_command: titi
  associated_node: titi
+ section_directions:
+  next->Other
+  prev->Toto
+  up->test of nodedescriptionblock used in menu
+ toplevel_directions:
+  next->Other
+  prev->Toto
+  up->test of nodedescriptionblock used in menu
 4|Other
  associated_anchor_command: other
  associated_node: other
+ section_directions:
+  next->Somewhat long
+  prev->Titi
+  up->test of nodedescriptionblock used in menu
+ toplevel_directions:
+  next->Somewhat long
+  prev->Titi
+  up->test of nodedescriptionblock used in menu
 5|Somewhat long
  associated_anchor_command: a somewhat long node without description nor 
following space
  associated_node: a somewhat long node without description nor following space
+ section_directions:
+  next->test double
+  prev->Other
+  up->test of nodedescriptionblock used in menu
+ toplevel_directions:
+  next->test double
+  prev->Other
+  up->test of nodedescriptionblock used in menu
 6|test double
  associated_anchor_command: node double nodedescriptionblock
  associated_node: node double nodedescriptionblock
+ section_directions:
+  prev->Somewhat long
+  up->test of nodedescriptionblock used in menu
+ toplevel_directions:
+  prev->Somewhat long
+  up->test of nodedescriptionblock used in menu
 ';
 
 $result_headings_list{'nodedescriptionblock_descriptions'} = '';
diff --git a/tta/perl/t/results/menu/part_appendix_in_generated_menu.pl 
b/tta/perl/t/results/menu/part_appendix_in_generated_menu.pl
index 46a65f006f..50ba5a407d 100644
--- a/tta/perl/t/results/menu/part_appendix_in_generated_menu.pl
+++ b/tta/perl/t/results/menu/part_appendix_in_generated_menu.pl
@@ -27,7 +27,6 @@ $result_tree_text{'part_appendix_in_generated_menu'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[next->E6]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -35,7 +34,6 @@ $result_tree_text{'part_appendix_in_generated_menu'} = 
'*document_root C12
   ||EXTRA
   ||section_childs:EC[E1|E6|E10]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -64,11 +62,9 @@ $result_tree_text{'part_appendix_in_generated_menu'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E8|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,7 +91,6 @@ $result_tree_text{'part_appendix_in_generated_menu'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -113,7 +108,6 @@ $result_tree_text{'part_appendix_in_generated_menu'} = 
'*document_root C12
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E8]
- |section_directions:D[next->E10|prev->E1]
  |section_level:{0}
  |section_number:{4}
   *arguments_line C1
@@ -142,11 +136,9 @@ $result_tree_text{'part_appendix_in_generated_menu'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E6]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E10|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -173,11 +165,9 @@ $result_tree_text{'part_appendix_in_generated_menu'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -266,22 +256,48 @@ $result_nodes_list{'part_appendix_in_generated_menu'} = 
'1|Top
 $result_sections_list{'part_appendix_in_generated_menu'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->P1
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->Chap 2
+  prev->top
+  up->top
 3|Sec
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  up->Chap
 4|P1
  part_associated_section: Chap 2
  part_following_node: chap2
+ section_directions:
+  next->GGG
+  prev->top
 5|Chap 2
  associated_anchor_command: chap2
  associated_node: chap2
  associated_part: P1
+ section_directions:
+  up->P1
+ toplevel_directions:
+  next->GGG
+  prev->Chap
+  up->top
 6|GGG
  associated_anchor_command: app
  associated_node: app
+ section_directions:
+  prev->P1
+ toplevel_directions:
+  prev->Chap 2
+  up->top
 ';
 
 $result_headings_list{'part_appendix_in_generated_menu'} = '';
diff --git a/tta/perl/t/results/menu/space_and_commands_in_menu_node.pl 
b/tta/perl/t/results/menu/space_and_commands_in_menu_node.pl
index 11f1248b02..87a3a01dde 100644
--- a/tta/perl/t/results/menu/space_and_commands_in_menu_node.pl
+++ b/tta/perl/t/results/menu/space_and_commands_in_menu_node.pl
@@ -34,7 +34,6 @@ $result_tree_text{'space_and_commands_in_menu_node'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -203,11 +202,9 @@ $result_tree_text{'space_and_commands_in_menu_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ $result_nodes_list{'space_and_commands_in_menu_node'} = 
'1|Top
 $result_sections_list{'space_and_commands_in_menu_node'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap @: b
  associated_node: chap @: b
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'space_and_commands_in_menu_node'} = '';
diff --git 
a/tta/perl/t/results/misc_commands/codequoteundirected_codequotebacktick.pl 
b/tta/perl/t/results/misc_commands/codequoteundirected_codequotebacktick.pl
index 538f50b3c0..068b6e7180 100644
--- a/tta/perl/t/results/misc_commands/codequoteundirected_codequotebacktick.pl
+++ b/tta/perl/t/results/misc_commands/codequoteundirected_codequotebacktick.pl
@@ -406,7 +406,6 @@ $result_tree_text{'codequoteundirected_codequotebacktick'} 
= '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -433,11 +432,9 @@ $result_tree_text{'codequoteundirected_codequotebacktick'} 
= '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1319,9 +1316,16 @@ 
$result_nodes_list{'codequoteundirected_codequotebacktick'} = '1|Top
 $result_sections_list{'codequoteundirected_codequotebacktick'} = '1|test quotes
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->test quotes
+ toplevel_directions:
+  prev->test quotes
+  up->test quotes
 ';
 
 $result_headings_list{'codequoteundirected_codequotebacktick'} = '';
diff --git a/tta/perl/t/results/misc_commands/comment_space_command_on_line.pl 
b/tta/perl/t/results/misc_commands/comment_space_command_on_line.pl
index e5ef3ff0b9..0829bd5140 100644
--- a/tta/perl/t/results/misc_commands/comment_space_command_on_line.pl
+++ b/tta/perl/t/results/misc_commands/comment_space_command_on_line.pl
@@ -49,7 +49,6 @@ $result_tree_text{'comment_space_command_on_line'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -84,11 +83,9 @@ $result_tree_text{'comment_space_command_on_line'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -309,9 +306,16 @@ $result_nodes_list{'comment_space_command_on_line'} = 
'1|Top
 $result_sections_list{'comment_space_command_on_line'} = '1|top element@ 
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter@ 
 2|Chapter@ 
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top element@ 
+ toplevel_directions:
+  prev->top element@ 
+  up->top element@ 
 ';
 
 $result_headings_list{'comment_space_command_on_line'} = '1|Heading @ 
diff --git a/tta/perl/t/results/misc_commands/no_empty_line_between_headings.pl 
b/tta/perl/t/results/misc_commands/no_empty_line_between_headings.pl
index ad0b3d3043..75614e406a 100644
--- a/tta/perl/t/results/misc_commands/no_empty_line_between_headings.pl
+++ b/tta/perl/t/results/misc_commands/no_empty_line_between_headings.pl
@@ -20,7 +20,6 @@ $result_tree_text{'no_empty_line_between_headings'} = 
'*document_root C4
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -45,11 +44,9 @@ $result_tree_text{'no_empty_line_between_headings'} = 
'*document_root C4
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,7 +58,6 @@ $result_tree_text{'no_empty_line_between_headings'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -97,8 +93,17 @@ $result_errors{'no_empty_line_between_headings'} = [];
 $result_nodes_list{'no_empty_line_between_headings'} = '';
 
 $result_sections_list{'no_empty_line_between_headings'} = '1|Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 3|Section
+ section_directions:
+  up->Chapter
 ';
 
 $result_headings_list{'no_empty_line_between_headings'} = '1|Subheading
diff --git a/tta/perl/t/results/misc_commands/nodedescription.pl 
b/tta/perl/t/results/misc_commands/nodedescription.pl
index d994863665..3e0012cfe2 100644
--- a/tta/perl/t/results/misc_commands/nodedescription.pl
+++ b/tta/perl/t/results/misc_commands/nodedescription.pl
@@ -44,7 +44,6 @@ $result_tree_text{'nodedescription'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -71,11 +70,9 @@ $result_tree_text{'nodedescription'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -177,9 +174,16 @@ $result_nodes_list{'nodedescription'} = '1|Top
 $result_sections_list{'nodedescription'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'nodedescription'} = '';
diff --git a/tta/perl/t/results/misc_commands/ref_in_center.pl 
b/tta/perl/t/results/misc_commands/ref_in_center.pl
index 6584bca06f..f557d9368c 100644
--- a/tta/perl/t/results/misc_commands/ref_in_center.pl
+++ b/tta/perl/t/results/misc_commands/ref_in_center.pl
@@ -35,7 +35,6 @@ $result_tree_text{'ref_in_center'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'ref_in_center'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -167,9 +164,16 @@ $result_nodes_list{'ref_in_center'} = '1|Top
 $result_sections_list{'ref_in_center'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'ref_in_center'} = '';
diff --git a/tta/perl/t/results/moresectioning/anchor_in_footnote.pl 
b/tta/perl/t/results/moresectioning/anchor_in_footnote.pl
index 9ea88f3527..6f34b8ae89 100644
--- a/tta/perl/t/results/moresectioning/anchor_in_footnote.pl
+++ b/tta/perl/t/results/moresectioning/anchor_in_footnote.pl
@@ -34,7 +34,6 @@ $result_tree_text{'anchor_in_footnote'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -107,11 +106,9 @@ $result_tree_text{'anchor_in_footnote'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -184,9 +181,16 @@ $result_nodes_list{'anchor_in_footnote'} = '1|Top
 $result_sections_list{'anchor_in_footnote'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 ';
 
 $result_headings_list{'anchor_in_footnote'} = '';
diff --git a/tta/perl/t/results/moresectioning/anchor_in_footnote_separate.pl 
b/tta/perl/t/results/moresectioning/anchor_in_footnote_separate.pl
index 3215676e88..bd37174916 100644
--- a/tta/perl/t/results/moresectioning/anchor_in_footnote_separate.pl
+++ b/tta/perl/t/results/moresectioning/anchor_in_footnote_separate.pl
@@ -45,7 +45,6 @@ $result_tree_text{'anchor_in_footnote_separate'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -118,11 +117,9 @@ $result_tree_text{'anchor_in_footnote_separate'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -196,9 +193,16 @@ $result_nodes_list{'anchor_in_footnote_separate'} = '1|Top
 $result_sections_list{'anchor_in_footnote_separate'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 ';
 
 $result_headings_list{'anchor_in_footnote_separate'} = '';
diff --git 
a/tta/perl/t/results/moresectioning/anchor_in_footnote_separate_split_node.pl 
b/tta/perl/t/results/moresectioning/anchor_in_footnote_separate_split_node.pl
index b60d239eec..9503ab468d 100644
--- 
a/tta/perl/t/results/moresectioning/anchor_in_footnote_separate_split_node.pl
+++ 
b/tta/perl/t/results/moresectioning/anchor_in_footnote_separate_split_node.pl
@@ -46,7 +46,6 @@ $result_tree_text{'anchor_in_footnote_separate_split_node'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -119,11 +118,9 @@ 
$result_tree_text{'anchor_in_footnote_separate_split_node'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -197,9 +194,16 @@ 
$result_nodes_list{'anchor_in_footnote_separate_split_node'} = '1|Top
 $result_sections_list{'anchor_in_footnote_separate_split_node'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 ';
 
 $result_headings_list{'anchor_in_footnote_separate_split_node'} = '';
diff --git a/tta/perl/t/results/moresectioning/anchor_in_footnote_split_node.pl 
b/tta/perl/t/results/moresectioning/anchor_in_footnote_split_node.pl
index 04fcc8f58f..567fae42ca 100644
--- a/tta/perl/t/results/moresectioning/anchor_in_footnote_split_node.pl
+++ b/tta/perl/t/results/moresectioning/anchor_in_footnote_split_node.pl
@@ -35,7 +35,6 @@ $result_tree_text{'anchor_in_footnote_split_node'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -108,11 +107,9 @@ $result_tree_text{'anchor_in_footnote_split_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -185,9 +182,16 @@ $result_nodes_list{'anchor_in_footnote_split_node'} = 
'1|Top
 $result_sections_list{'anchor_in_footnote_split_node'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 ';
 
 $result_headings_list{'anchor_in_footnote_split_node'} = '';
diff --git a/tta/perl/t/results/moresectioning/chapter_sections.pl 
b/tta/perl/t/results/moresectioning/chapter_sections.pl
index d4d28b2335..3f74d1254e 100644
--- a/tta/perl/t/results/moresectioning/chapter_sections.pl
+++ b/tta/perl/t/results/moresectioning/chapter_sections.pl
@@ -18,7 +18,6 @@ Next: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -26,7 +25,6 @@ Next: [U1]
   ||EXTRA
   ||section_childs:EC[E0|E1|E3|E7]
   ||section_level:{0}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -50,11 +48,9 @@ Prev: [U0]
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[next->E3|prev->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E3|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,7 +72,6 @@ Up: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -103,11 +98,9 @@ Prev: [U1]
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[next->E7|prev->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E7|prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -130,7 +123,6 @@ Up: [U3]
   |{ }
  |EXTRA
  |section_childs:EC[E5|E6]
- |section_directions:D[up->E3]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{5}
@@ -156,7 +148,6 @@ Up: [U4]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E4]
  |section_heading_number:{2.1.1}
  |section_level:{3}
  |section_number:{6}
@@ -182,7 +173,6 @@ Up: [U4]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5|up->E4]
  |section_heading_number:{2.1.2}
  |section_level:{3}
  |section_number:{7}
@@ -205,11 +195,9 @@ Prev: [U3]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[prev->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -268,13 +256,43 @@ $result_errors{'chapter_sections'} = [];
 $result_nodes_list{'chapter_sections'} = '';
 
 $result_sections_list{'chapter_sections'} = '1|unnumbered
+ section_directions:
+  next->First chapter
+ toplevel_directions:
+  next->First chapter
 2|First chapter
+ section_directions:
+  next->Chapter
+  prev->unnumbered
+ toplevel_directions:
+  next->Chapter
+  prev->unnumbered
 3|second
+ section_directions:
+  up->First chapter
 4|Chapter
+ section_directions:
+  next->Chapter 2
+  prev->First chapter
+ toplevel_directions:
+  next->Chapter 2
+  prev->First chapter
 5|Section of chapter
+ section_directions:
+  up->Chapter
 6|subsection 1
+ section_directions:
+  next->subsection 2
+  up->Section of chapter
 7|subsection 2
+ section_directions:
+  prev->subsection 1
+  up->Section of chapter
 8|Chapter 2
+ section_directions:
+  prev->Chapter
+ toplevel_directions:
+  prev->Chapter
 ';
 
 $result_headings_list{'chapter_sections'} = '';
diff --git a/tta/perl/t/results/moresectioning/character_and_spaces_in_refs.pl 
b/tta/perl/t/results/moresectioning/character_and_spaces_in_refs.pl
index fc6abbf80f..8f4bc3d79b 100644
--- a/tta/perl/t/results/moresectioning/character_and_spaces_in_refs.pl
+++ b/tta/perl/t/results/moresectioning/character_and_spaces_in_refs.pl
@@ -35,7 +35,6 @@ $result_tree_text{'character_and_spaces_in_refs'} = 
'*document_root C11
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,11 +101,9 @@ $result_tree_text{'character_and_spaces_in_refs'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E8|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -289,11 +286,9 @@ $result_tree_text{'character_and_spaces_in_refs'} = 
'*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -600,12 +595,27 @@ $result_nodes_list{'character_and_spaces_in_refs'} = 
'1|Top
 $result_sections_list{'character_and_spaces_in_refs'} = '1|Test refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->first chapter
 2|first chapter
  associated_anchor_command: node to avoid DocBook or LaTeX ignored
  associated_node: node to avoid DocBook or LaTeX ignored
+ section_directions:
+  next->Chapter with nodes
+  up->Test refs
+ toplevel_directions:
+  next->Chapter with nodes
+  prev->Test refs
+  up->Test refs
 3|Chapter with nodes
  associated_anchor_command: other nodes
  associated_node: other nodes
+ section_directions:
+  prev->first chapter
+  up->Test refs
+ toplevel_directions:
+  prev->first chapter
+  up->Test refs
 ';
 
 $result_headings_list{'character_and_spaces_in_refs'} = '1|Testing distant 
nodes
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 41f8349a1f..3b19d40c92 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
@@ -42,7 +42,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -124,11 +123,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E8|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -325,11 +322,9 @@ NodeBack: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -670,12 +665,27 @@ $result_nodes_list{'character_and_spaces_in_refs_out'} = 
'1|Top
 $result_sections_list{'character_and_spaces_in_refs_out'} = '1|Test refs
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->first chapter
 2|first chapter
  associated_anchor_command: node to avoid DocBook or LaTeX ignored
  associated_node: node to avoid DocBook or LaTeX ignored
+ section_directions:
+  next->Chapter with nodes
+  up->Test refs
+ toplevel_directions:
+  next->Chapter with nodes
+  prev->Test refs
+  up->Test refs
 3|Chapter with nodes
  associated_anchor_command: other nodes
  associated_node: other nodes
+ section_directions:
+  prev->first chapter
+  up->Test refs
+ toplevel_directions:
+  prev->first chapter
+  up->Test refs
 ';
 
 $result_headings_list{'character_and_spaces_in_refs_out'} = '1|Testing distant 
nodes
diff --git a/tta/perl/t/results/moresectioning/complex.pl 
b/tta/perl/t/results/moresectioning/complex.pl
index 01b35ec5db..a4d83befa7 100644
--- a/tta/perl/t/results/moresectioning/complex.pl
+++ b/tta/perl/t/results/moresectioning/complex.pl
@@ -51,7 +51,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg
    |INFO
@@ -186,11 +185,9 @@ NodeBack: [U0]
   |{ }
  |EXTRA
  |section_childs:EC[E7|E18|E23]
- |section_directions:D[next->E26|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E26|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -288,7 +285,6 @@ NodeBack: [U1]
   |{ }
  |EXTRA
  |section_childs:EC[E10|E12|E14|E16]
- |section_directions:D[next->E18|up->E4]
  |section_level:{2}
  |section_number:{3}
   *arguments_line C1
@@ -393,7 +389,6 @@ NodeBack: [U2]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|up->E7]
  |section_level:{3}
  |section_number:{4}
   *arguments_line C1
@@ -438,7 +433,6 @@ NodeBack: [U3]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E10|up->E7]
  |section_level:{3}
  |section_number:{5}
   *arguments_line C1
@@ -483,7 +477,6 @@ NodeBack: [U4]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E12|up->E7]
  |section_level:{3}
  |section_number:{6}
   *arguments_line C1
@@ -526,7 +519,6 @@ NodeBack: [U5]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E7]
  |section_level:{3}
  |section_number:{7}
   *arguments_line C1
@@ -572,7 +564,6 @@ NodeBack: [U6]
   |{ }
  |EXTRA
  |section_childs:EC[E21]
- |section_directions:D[next->E23|prev->E7|up->E4]
  |section_level:{2}
  |section_number:{8}
   *arguments_line C1
@@ -642,7 +633,6 @@ NodeBack: [U7]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E18]
  |section_level:{3}
  |section_number:{9}
   *arguments_line C1
@@ -685,7 +675,6 @@ NodeBack: [U8]
  |spaces_before_argument:
   |{  }
  |EXTRA
- |section_directions:D[prev->E18|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{10}
@@ -769,11 +758,9 @@ NodeForward: [U11]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E28|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{11}
- |toplevel_directions:D[next->E28|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -819,10 +806,8 @@ NodeBack: [U10]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E30|prev->E26|up->E1]
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[next->E30|prev->E26|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -888,10 +873,8 @@ NodeBack: [U11]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E28|up->E1]
  |section_level:{1}
  |section_number:{13}
- |toplevel_directions:D[prev->E28|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1280,42 +1263,99 @@ $result_nodes_list{'complex'} = '1|Top
 $result_sections_list{'complex'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->first node chapter
 2|first node chapter
  associated_anchor_command: First node
  associated_node: First node
+ section_directions:
+  next->second node chapter
+  up->
+ toplevel_directions:
+  next->second node chapter
+  prev->
+  up->
 3|unnumbered section
  associated_anchor_command: unnumbered
  associated_node: unnumbered
+ section_directions:
+  next->unnumbered section2
+  up->first node chapter
 4|unnumbered subsection
  associated_anchor_command: unnumbered sub
  associated_node: unnumbered sub
+ section_directions:
+  next->numbered subsection
+  up->unnumbered section
 5|numbered subsection
  associated_anchor_command: numbered sub
  associated_node: numbered sub
+ section_directions:
+  next->unnumbered subsection2
+  prev->unnumbered subsection
+  up->unnumbered section
 6|unnumbered subsection2
  associated_anchor_command: unnumbered sub2
  associated_node: unnumbered sub2
+ section_directions:
+  next->numbered subsection2
+  prev->numbered subsection
+  up->unnumbered section
 7|numbered subsection2
  associated_anchor_command: numbered sub2
  associated_node: numbered sub2
+ section_directions:
+  prev->unnumbered subsection2
+  up->unnumbered section
 8|unnumbered section2
  associated_anchor_command: unnumbered2
  associated_node: unnumbered2
+ section_directions:
+  next->numbered section
+  prev->unnumbered section
+  up->first node chapter
 9|numbered subsection3
  associated_anchor_command: numbered sub3
  associated_node: numbered sub3
+ section_directions:
+  up->unnumbered section2
 10|numbered section
  associated_anchor_command: numbered
  associated_node: numbered
+ section_directions:
+  prev->unnumbered section2
+  up->first node chapter
 11|second node chapter
  associated_anchor_command: Second node
  associated_node: Second node
+ section_directions:
+  next->unnumbered chapter
+  prev->first node chapter
+  up->
+ toplevel_directions:
+  next->unnumbered chapter
+  prev->first node chapter
+  up->
 12|unnumbered chapter
  associated_anchor_command: Third node unnumbered
  associated_node: Third node unnumbered
+ section_directions:
+  next->unnumbered continuity
+  prev->second node chapter
+  up->
+ toplevel_directions:
+  next->unnumbered continuity
+  prev->second node chapter
+  up->
 13|unnumbered continuity
  associated_anchor_command: continuity
  associated_node: continuity
+ section_directions:
+  prev->unnumbered chapter
+  up->
+ toplevel_directions:
+  prev->unnumbered chapter
+  up->
 ';
 
 $result_headings_list{'complex'} = '';
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 efa21cb85d..ee473a48ff 100644
--- a/tta/perl/t/results/moresectioning/complex_split_at_node.pl
+++ b/tta/perl/t/results/moresectioning/complex_split_at_node.pl
@@ -51,7 +51,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg
    |INFO
@@ -186,11 +185,9 @@ NodeBack: [U0]
   |{ }
  |EXTRA
  |section_childs:EC[E7|E18|E23]
- |section_directions:D[next->E26|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E26|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -288,7 +285,6 @@ NodeBack: [U1]
   |{ }
  |EXTRA
  |section_childs:EC[E10|E12|E14|E16]
- |section_directions:D[next->E18|up->E4]
  |section_level:{2}
  |section_number:{3}
   *arguments_line C1
@@ -393,7 +389,6 @@ NodeBack: [U2]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|up->E7]
  |section_level:{3}
  |section_number:{4}
   *arguments_line C1
@@ -438,7 +433,6 @@ NodeBack: [U3]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E10|up->E7]
  |section_level:{3}
  |section_number:{5}
   *arguments_line C1
@@ -483,7 +477,6 @@ NodeBack: [U4]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E12|up->E7]
  |section_level:{3}
  |section_number:{6}
   *arguments_line C1
@@ -526,7 +519,6 @@ NodeBack: [U5]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E7]
  |section_level:{3}
  |section_number:{7}
   *arguments_line C1
@@ -572,7 +564,6 @@ NodeBack: [U6]
   |{ }
  |EXTRA
  |section_childs:EC[E21]
- |section_directions:D[next->E23|prev->E7|up->E4]
  |section_level:{2}
  |section_number:{8}
   *arguments_line C1
@@ -642,7 +633,6 @@ NodeBack: [U7]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E18]
  |section_level:{3}
  |section_number:{9}
   *arguments_line C1
@@ -685,7 +675,6 @@ NodeBack: [U8]
  |spaces_before_argument:
   |{  }
  |EXTRA
- |section_directions:D[prev->E18|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{10}
@@ -778,11 +767,9 @@ NodeForward: [U12]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E28|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{11}
- |toplevel_directions:D[next->E28|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -828,10 +815,8 @@ NodeBack: [U11]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E30|prev->E26|up->E1]
  |section_level:{1}
  |section_number:{12}
- |toplevel_directions:D[next->E30|prev->E26|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -898,10 +883,8 @@ NodeBack: [U12]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E28|up->E1]
  |section_level:{1}
  |section_number:{13}
- |toplevel_directions:D[prev->E28|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1298,42 +1281,99 @@ $result_nodes_list{'complex_split_at_node'} = '1|Top
 $result_sections_list{'complex_split_at_node'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->first node chapter
 2|first node chapter
  associated_anchor_command: First node
  associated_node: First node
+ section_directions:
+  next->second node chapter
+  up->
+ toplevel_directions:
+  next->second node chapter
+  prev->
+  up->
 3|unnumbered section
  associated_anchor_command: unnumbered
  associated_node: unnumbered
+ section_directions:
+  next->unnumbered section2
+  up->first node chapter
 4|unnumbered subsection
  associated_anchor_command: unnumbered sub
  associated_node: unnumbered sub
+ section_directions:
+  next->numbered subsection
+  up->unnumbered section
 5|numbered subsection
  associated_anchor_command: numbered sub
  associated_node: numbered sub
+ section_directions:
+  next->unnumbered subsection2
+  prev->unnumbered subsection
+  up->unnumbered section
 6|unnumbered subsection2
  associated_anchor_command: unnumbered sub2
  associated_node: unnumbered sub2
+ section_directions:
+  next->numbered subsection2
+  prev->numbered subsection
+  up->unnumbered section
 7|numbered subsection2
  associated_anchor_command: numbered sub2
  associated_node: numbered sub2
+ section_directions:
+  prev->unnumbered subsection2
+  up->unnumbered section
 8|unnumbered section2
  associated_anchor_command: unnumbered2
  associated_node: unnumbered2
+ section_directions:
+  next->numbered section
+  prev->unnumbered section
+  up->first node chapter
 9|numbered subsection3
  associated_anchor_command: numbered sub3
  associated_node: numbered sub3
+ section_directions:
+  up->unnumbered section2
 10|numbered section
  associated_anchor_command: numbered
  associated_node: numbered
+ section_directions:
+  prev->unnumbered section2
+  up->first node chapter
 11|second node chapter
  associated_anchor_command: Second node
  associated_node: Second node
+ section_directions:
+  next->unnumbered chapter
+  prev->first node chapter
+  up->
+ toplevel_directions:
+  next->unnumbered chapter
+  prev->first node chapter
+  up->
 12|unnumbered chapter
  associated_anchor_command: Third node unnumbered
  associated_node: Third node unnumbered
+ section_directions:
+  next->unnumbered continuity
+  prev->second node chapter
+  up->
+ toplevel_directions:
+  next->unnumbered continuity
+  prev->second node chapter
+  up->
 13|unnumbered continuity
  associated_anchor_command: continuity
  associated_node: continuity
+ section_directions:
+  prev->unnumbered chapter
+  up->
+ toplevel_directions:
+  prev->unnumbered chapter
+  up->
 ';
 
 $result_headings_list{'complex_split_at_node'} = '';
diff --git a/tta/perl/t/results/moresectioning/contents.pl 
b/tta/perl/t/results/moresectioning/contents.pl
index 6461feff9a..c47f4a7480 100644
--- a/tta/perl/t/results/moresectioning/contents.pl
+++ b/tta/perl/t/results/moresectioning/contents.pl
@@ -14,7 +14,6 @@ $result_tree_text{'contents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E1]
- |section_directions:D[next->E5]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -22,7 +21,6 @@ $result_tree_text{'contents'} = '*document_root C12
   ||EXTRA
   ||section_childs:EC[E0|E5|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -36,11 +34,9 @@ $result_tree_text{'contents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,7 +50,6 @@ $result_tree_text{'contents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -71,7 +66,6 @@ $result_tree_text{'contents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E2]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -87,7 +81,6 @@ $result_tree_text{'contents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -105,7 +98,6 @@ $result_tree_text{'contents'} = '*document_root C12
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E6|E7|E8]
- |section_directions:D[next->E9|prev->E0]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -120,11 +112,9 @@ $result_tree_text{'contents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E7|prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,11 +127,9 @@ $result_tree_text{'contents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E6|up->E5]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E8|prev->E6|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -154,10 +142,8 @@ $result_tree_text{'contents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E5]
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E9|prev->E7|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,11 +157,9 @@ $result_tree_text{'contents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[prev->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[prev->E8|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,7 +172,6 @@ $result_tree_text{'contents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{11}
@@ -273,18 +256,66 @@ $result_errors{'contents'} = [];
 $result_nodes_list{'contents'} = '';
 
 $result_sections_list{'contents'} = '1|top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->chapter in part
+  prev->top
+  up->top
 3|section
+ section_directions:
+  up->chapter
 4|subsection
+ section_directions:
+  up->section
 5|subsubsection
+ section_directions:
+  up->subsection
 6|part
  part_associated_section: chapter in part
+ section_directions:
+  next->appendix
+  prev->top
 7|chapter in part
  associated_part: part
+ section_directions:
+  next->second chapter in part
+  up->part
+ toplevel_directions:
+  next->second chapter in part
+  prev->chapter
+  up->top
 8|second chapter in part
+ section_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->part
+ toplevel_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->top
 9|unnumbered
+ section_directions:
+  prev->second chapter in part
+  up->part
+ toplevel_directions:
+  next->appendix
+  prev->second chapter in part
+  up->top
 10|appendix
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->unnumbered
+  up->top
 11|appendixsec
+ section_directions:
+  up->appendix
 ';
 
 $result_headings_list{'contents'} = '';
diff --git a/tta/perl/t/results/moresectioning/contents_and_shortcontents.pl 
b/tta/perl/t/results/moresectioning/contents_and_shortcontents.pl
index 0f9d5f72ba..d4cc80da5c 100644
--- a/tta/perl/t/results/moresectioning/contents_and_shortcontents.pl
+++ b/tta/perl/t/results/moresectioning/contents_and_shortcontents.pl
@@ -14,7 +14,6 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E1]
- |section_directions:D[next->E5]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -22,7 +21,6 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
   ||EXTRA
   ||section_childs:EC[E0|E5|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -36,11 +34,9 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,7 +50,6 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -71,7 +66,6 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E2]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -87,7 +81,6 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -105,7 +98,6 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E6|E7|E8]
- |section_directions:D[next->E9|prev->E0]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -120,11 +112,9 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E7|prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,11 +127,9 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E6|up->E5]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E8|prev->E6|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -154,10 +142,8 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E5]
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E9|prev->E7|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,11 +157,9 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[prev->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[prev->E8|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,7 +172,6 @@ $result_tree_text{'contents_and_shortcontents'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{11}
@@ -281,18 +264,66 @@ $result_errors{'contents_and_shortcontents'} = [];
 $result_nodes_list{'contents_and_shortcontents'} = '';
 
 $result_sections_list{'contents_and_shortcontents'} = '1|top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->chapter in part
+  prev->top
+  up->top
 3|section
+ section_directions:
+  up->chapter
 4|subsection
+ section_directions:
+  up->section
 5|subsubsection
+ section_directions:
+  up->subsection
 6|part
  part_associated_section: chapter in part
+ section_directions:
+  next->appendix
+  prev->top
 7|chapter in part
  associated_part: part
+ section_directions:
+  next->second chapter in part
+  up->part
+ toplevel_directions:
+  next->second chapter in part
+  prev->chapter
+  up->top
 8|second chapter in part
+ section_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->part
+ toplevel_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->top
 9|unnumbered
+ section_directions:
+  prev->second chapter in part
+  up->part
+ toplevel_directions:
+  next->appendix
+  prev->second chapter in part
+  up->top
 10|appendix
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->unnumbered
+  up->top
 11|appendixsec
+ section_directions:
+  up->appendix
 ';
 
 $result_headings_list{'contents_and_shortcontents'} = '';
diff --git 
a/tta/perl/t/results/moresectioning/contents_at_begin_chapter_without_node.pl 
b/tta/perl/t/results/moresectioning/contents_at_begin_chapter_without_node.pl
index 0b618b710e..b5d75af27f 100644
--- 
a/tta/perl/t/results/moresectioning/contents_at_begin_chapter_without_node.pl
+++ 
b/tta/perl/t/results/moresectioning/contents_at_begin_chapter_without_node.pl
@@ -39,7 +39,6 @@ $result_tree_text{'contents_at_begin_chapter_without_node'} = 
'*document_root C4
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -52,11 +51,9 @@ $result_tree_text{'contents_at_begin_chapter_without_node'} 
= '*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,7 +91,14 @@ $result_nodes_list{'contents_at_begin_chapter_without_node'} 
= '1|Top
 $result_sections_list{'contents_at_begin_chapter_without_node'} = '1|contents 
at document begin
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
+ section_directions:
+  up->contents at document begin
+ toplevel_directions:
+  prev->contents at document begin
+  up->contents at document begin
 ';
 
 $result_headings_list{'contents_at_begin_chapter_without_node'} = '';
diff --git a/tta/perl/t/results/moresectioning/contents_at_end_document.pl 
b/tta/perl/t/results/moresectioning/contents_at_end_document.pl
index 7e6773bd23..85327c9d4a 100644
--- a/tta/perl/t/results/moresectioning/contents_at_end_document.pl
+++ b/tta/perl/t/results/moresectioning/contents_at_end_document.pl
@@ -34,7 +34,6 @@ $result_tree_text{'contents_at_end_document'} = 
'*document_root C4
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -47,11 +46,9 @@ $result_tree_text{'contents_at_end_document'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,7 +91,14 @@ $result_nodes_list{'contents_at_end_document'} = '1|Top
 $result_sections_list{'contents_at_end_document'} = '1|contents at end document
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
+ section_directions:
+  up->contents at end document
+ toplevel_directions:
+  prev->contents at end document
+  up->contents at end document
 ';
 
 $result_headings_list{'contents_at_end_document'} = '';
diff --git 
a/tta/perl/t/results/moresectioning/contents_at_end_document_after_node.pl 
b/tta/perl/t/results/moresectioning/contents_at_end_document_after_node.pl
index 63a0792e30..0f47ccabda 100644
--- a/tta/perl/t/results/moresectioning/contents_at_end_document_after_node.pl
+++ b/tta/perl/t/results/moresectioning/contents_at_end_document_after_node.pl
@@ -34,7 +34,6 @@ $result_tree_text{'contents_at_end_document_after_node'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,11 +75,9 @@ $result_tree_text{'contents_at_end_document_after_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -163,7 +160,14 @@ $result_nodes_list{'contents_at_end_document_after_node'} 
= '1|Top
 $result_sections_list{'contents_at_end_document_after_node'} = '1|contents at 
end document after node
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
+ section_directions:
+  up->contents at end document after node
+ toplevel_directions:
+  prev->contents at end document after node
+  up->contents at end document after node
 ';
 
 $result_headings_list{'contents_at_end_document_after_node'} = '';
diff --git a/tta/perl/t/results/moresectioning/contents_in_document.pl 
b/tta/perl/t/results/moresectioning/contents_in_document.pl
index 03b97b77bb..f5ce1b5aa9 100644
--- a/tta/perl/t/results/moresectioning/contents_in_document.pl
+++ b/tta/perl/t/results/moresectioning/contents_in_document.pl
@@ -34,7 +34,6 @@ $result_tree_text{'contents_in_document'} = '*document_root C4
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -52,11 +51,9 @@ $result_tree_text{'contents_in_document'} = '*document_root 
C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,7 +91,14 @@ $result_nodes_list{'contents_in_document'} = '1|Top
 $result_sections_list{'contents_in_document'} = '1|contents in document
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
+ section_directions:
+  up->contents in document
+ toplevel_directions:
+  prev->contents in document
+  up->contents in document
 ';
 
 $result_headings_list{'contents_in_document'} = '';
diff --git a/tta/perl/t/results/moresectioning/lowered_subsubsection.pl 
b/tta/perl/t/results/moresectioning/lowered_subsubsection.pl
index e938586f3b..ccfe27d9d7 100644
--- a/tta/perl/t/results/moresectioning/lowered_subsubsection.pl
+++ b/tta/perl/t/results/moresectioning/lowered_subsubsection.pl
@@ -31,7 +31,6 @@ $result_tree_text{'lowered_subsubsection'} = '*document_root 
C16
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg
    |INFO
@@ -87,11 +86,9 @@ $result_tree_text{'lowered_subsubsection'} = '*document_root 
C16
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -148,7 +145,6 @@ $result_tree_text{'lowered_subsubsection'} = 
'*document_root C16
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -208,7 +204,6 @@ $result_tree_text{'lowered_subsubsection'} = 
'*document_root C16
   |{ }
  |EXTRA
  |section_childs:EC[E13|E15|E18]
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -278,7 +273,6 @@ $result_tree_text{'lowered_subsubsection'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E15|up->E10]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -311,7 +305,6 @@ $result_tree_text{'lowered_subsubsection'} = 
'*document_root C16
   |{ }
  |EXTRA
  |level_modifier:{-1}
- |section_directions:D[next->E18|prev->E13|up->E10]
  |section_heading_number:{1.1.1.2}
  |section_level:{4}
  |section_number:{6}
@@ -371,7 +364,6 @@ $result_tree_text{'lowered_subsubsection'} = 
'*document_root C16
   |{ }
  |EXTRA
  |level_modifier:{-1}
- |section_directions:D[prev->E15|up->E10]
  |section_heading_number:{1.1.1.3}
  |section_level:{4}
  |section_number:{7}
@@ -576,24 +568,45 @@ $result_nodes_list{'lowered_subsubsection'} = '1|Top
 $result_sections_list{'lowered_subsubsection'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  up->
+ toplevel_directions:
+  prev->
+  up->
 3|Section
  associated_anchor_command: Section
  associated_node: Section
+ section_directions:
+  up->Chapter
 4|Subsection
  associated_anchor_command: Subsection
  associated_node: Subsection
+ section_directions:
+  up->Section
 5|Subsubsection
  associated_anchor_command: Subsubsection
  associated_node: Subsubsection
+ section_directions:
+  next->Lowered subsec
+  up->Subsection
 6|Lowered subsec
  associated_anchor_command: Lowered subsec
  associated_node: Lowered subsec
+ section_directions:
+  next->Lowered subsubsection
+  prev->Subsubsection
+  up->Subsection
 7|Lowered subsubsection
  associated_anchor_command: Lowered subsubsection
  associated_node: Lowered subsubsection
+ section_directions:
+  prev->Lowered subsec
+  up->Subsection
 ';
 
 $result_headings_list{'lowered_subsubsection'} = '';
diff --git a/tta/perl/t/results/moresectioning/more_sections_than_nodes.pl 
b/tta/perl/t/results/moresectioning/more_sections_than_nodes.pl
index 393401a556..f6fb955918 100644
--- a/tta/perl/t/results/moresectioning/more_sections_than_nodes.pl
+++ b/tta/perl/t/results/moresectioning/more_sections_than_nodes.pl
@@ -34,7 +34,6 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -98,11 +97,9 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -130,11 +127,9 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
   |{ }
  |EXTRA
  |section_childs:EC[E6]
- |section_directions:D[next->E8|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -147,7 +142,6 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -201,11 +195,9 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
   |{ }
  |EXTRA
  |section_childs:EC[E10|E12|E13]
- |section_directions:D[next->E14|prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E14|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -247,7 +239,6 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|up->E8]
  |section_heading_number:{3.1}
  |section_level:{2}
  |section_number:{6}
@@ -277,7 +268,6 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E13|prev->E10|up->E8]
  |section_heading_number:{3.2}
  |section_level:{2}
  |section_number:{7}
@@ -293,7 +283,6 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E12|up->E8]
  |section_heading_number:{3.3}
  |section_level:{2}
  |section_number:{8}
@@ -310,11 +299,9 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
   |{ }
  |EXTRA
  |section_childs:EC[E15]
- |section_directions:D[next->E19|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E19|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -328,7 +315,6 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
   |{ }
  |EXTRA
  |section_childs:EC[E16|E18]
- |section_directions:D[up->E14]
  |section_heading_number:{4.1}
  |section_level:{2}
  |section_number:{10}
@@ -344,7 +330,6 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E18|up->E15]
  |section_heading_number:{4.1.1}
  |section_level:{3}
  |section_number:{11}
@@ -385,7 +370,6 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E16|up->E15]
  |section_heading_number:{4.1.2}
  |section_level:{3}
  |section_number:{12}
@@ -401,11 +385,9 @@ $result_tree_text{'more_sections_than_nodes'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{13}
- |toplevel_directions:D[prev->E14|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -560,26 +542,85 @@ $result_nodes_list{'more_sections_than_nodes'} = '1|Top
 $result_sections_list{'more_sections_than_nodes'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->c1
 2|c1
+ section_directions:
+  next->c2
+  up->top
+ toplevel_directions:
+  next->c2
+  prev->top
+  up->top
 3|c2
  associated_anchor_command: n c2
  associated_node: n c2
+ section_directions:
+  next->c3
+  prev->c1
+  up->top
+ toplevel_directions:
+  next->c3
+  prev->c1
+  up->top
 4|s1
+ section_directions:
+  up->c2
 5|c3
  associated_anchor_command: n c3
  associated_node: n c3
+ section_directions:
+  next->c4
+  prev->c2
+  up->top
+ toplevel_directions:
+  next->c4
+  prev->c2
+  up->top
 6|C3 s1
+ section_directions:
+  next->c3 s2
+  up->c3
 7|c3 s2
  associated_anchor_command: n c3 s 2
  associated_node: n c3 s 2
+ section_directions:
+  next->c3 s3
+  prev->C3 s1
+  up->c3
 8|c3 s3
+ section_directions:
+  prev->c3 s2
+  up->c3
 9|c4
+ section_directions:
+  next->appendix
+  prev->c3
+  up->top
+ toplevel_directions:
+  next->appendix
+  prev->c3
+  up->top
 10|c3 s1
+ section_directions:
+  up->c4
 11|c3 s1 s1
+ section_directions:
+  next->c3 s1 s2
+  up->c3 s1
 12|c3 s1 s2
  associated_anchor_command: n c3 s1 s2
  associated_node: n c3 s1 s2
+ section_directions:
+  prev->c3 s1 s1
+  up->c3 s1
 13|appendix
+ section_directions:
+  prev->c4
+  up->top
+ toplevel_directions:
+  prev->c4
+  up->top
 ';
 
 $result_headings_list{'more_sections_than_nodes'} = '';
diff --git 
a/tta/perl/t/results/moresectioning/more_sections_than_nodes_texi2html.pl 
b/tta/perl/t/results/moresectioning/more_sections_than_nodes_texi2html.pl
index 3244945332..c40b12d038 100644
--- a/tta/perl/t/results/moresectioning/more_sections_than_nodes_texi2html.pl
+++ b/tta/perl/t/results/moresectioning/more_sections_than_nodes_texi2html.pl
@@ -35,7 +35,6 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -99,11 +98,9 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -131,11 +128,9 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
   |{ }
  |EXTRA
  |section_childs:EC[E6]
- |section_directions:D[next->E8|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -148,7 +143,6 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E5]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{4}
@@ -202,11 +196,9 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
   |{ }
  |EXTRA
  |section_childs:EC[E10|E12|E13]
- |section_directions:D[next->E14|prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E14|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -248,7 +240,6 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|up->E8]
  |section_heading_number:{3.1}
  |section_level:{2}
  |section_number:{6}
@@ -278,7 +269,6 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E13|prev->E10|up->E8]
  |section_heading_number:{3.2}
  |section_level:{2}
  |section_number:{7}
@@ -294,7 +284,6 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E12|up->E8]
  |section_heading_number:{3.3}
  |section_level:{2}
  |section_number:{8}
@@ -311,11 +300,9 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
   |{ }
  |EXTRA
  |section_childs:EC[E15]
- |section_directions:D[next->E19|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E19|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -329,7 +316,6 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
   |{ }
  |EXTRA
  |section_childs:EC[E16|E18]
- |section_directions:D[up->E14]
  |section_heading_number:{4.1}
  |section_level:{2}
  |section_number:{10}
@@ -345,7 +331,6 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E18|up->E15]
  |section_heading_number:{4.1.1}
  |section_level:{3}
  |section_number:{11}
@@ -386,7 +371,6 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E16|up->E15]
  |section_heading_number:{4.1.2}
  |section_level:{3}
  |section_number:{12}
@@ -402,11 +386,9 @@ $result_tree_text{'more_sections_than_nodes_texi2html'} = 
'*document_root C19
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{13}
- |toplevel_directions:D[prev->E14|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -561,26 +543,85 @@ $result_nodes_list{'more_sections_than_nodes_texi2html'} 
= '1|Top
 $result_sections_list{'more_sections_than_nodes_texi2html'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->c1
 2|c1
+ section_directions:
+  next->c2
+  up->top
+ toplevel_directions:
+  next->c2
+  prev->top
+  up->top
 3|c2
  associated_anchor_command: n c2
  associated_node: n c2
+ section_directions:
+  next->c3
+  prev->c1
+  up->top
+ toplevel_directions:
+  next->c3
+  prev->c1
+  up->top
 4|s1
+ section_directions:
+  up->c2
 5|c3
  associated_anchor_command: n c3
  associated_node: n c3
+ section_directions:
+  next->c4
+  prev->c2
+  up->top
+ toplevel_directions:
+  next->c4
+  prev->c2
+  up->top
 6|C3 s1
+ section_directions:
+  next->c3 s2
+  up->c3
 7|c3 s2
  associated_anchor_command: n c3 s 2
  associated_node: n c3 s 2
+ section_directions:
+  next->c3 s3
+  prev->C3 s1
+  up->c3
 8|c3 s3
+ section_directions:
+  prev->c3 s2
+  up->c3
 9|c4
+ section_directions:
+  next->appendix
+  prev->c3
+  up->top
+ toplevel_directions:
+  next->appendix
+  prev->c3
+  up->top
 10|c3 s1
+ section_directions:
+  up->c4
 11|c3 s1 s1
+ section_directions:
+  next->c3 s1 s2
+  up->c3 s1
 12|c3 s1 s2
  associated_anchor_command: n c3 s1 s2
  associated_node: n c3 s1 s2
+ section_directions:
+  prev->c3 s1 s1
+  up->c3 s1
 13|appendix
+ section_directions:
+  prev->c4
+  up->top
+ toplevel_directions:
+  prev->c4
+  up->top
 ';
 
 $result_headings_list{'more_sections_than_nodes_texi2html'} = '';
diff --git a/tta/perl/t/results/moresectioning/nodes_before_after_top_xref.pl 
b/tta/perl/t/results/moresectioning/nodes_before_after_top_xref.pl
index c25b9ea09c..09f858d6f3 100644
--- a/tta/perl/t/results/moresectioning/nodes_before_after_top_xref.pl
+++ b/tta/perl/t/results/moresectioning/nodes_before_after_top_xref.pl
@@ -65,7 +65,6 @@ $result_tree_text{'nodes_before_after_top_xref'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -113,11 +112,9 @@ $result_tree_text{'nodes_before_after_top_xref'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -279,9 +276,16 @@ $result_nodes_list{'nodes_before_after_top_xref'} = 
'1|node before
 $result_sections_list{'nodes_before_after_top_xref'} = '1|top sectionning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top sectionning
+ toplevel_directions:
+  prev->top sectionning
+  up->top sectionning
 ';
 
 $result_headings_list{'nodes_before_after_top_xref'} = '';
diff --git a/tta/perl/t/results/moresectioning/only_special_spaces_node.pl 
b/tta/perl/t/results/moresectioning/only_special_spaces_node.pl
index 7af38f886d..0c30a52962 100644
--- a/tta/perl/t/results/moresectioning/only_special_spaces_node.pl
+++ b/tta/perl/t/results/moresectioning/only_special_spaces_node.pl
@@ -37,7 +37,6 @@ $result_tree_text{'only_special_spaces_node'} = 
'*document_root C16
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -64,11 +63,9 @@ $result_tree_text{'only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -87,11 +84,9 @@ $result_tree_text{'only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,11 +105,9 @@ $result_tree_text{'only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E9|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -141,11 +134,9 @@ $result_tree_text{'only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E11|prev->E7|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E11|prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -172,11 +163,9 @@ $result_tree_text{'only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E13|prev->E9|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E13|prev->E9|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -203,11 +192,9 @@ $result_tree_text{'only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E11|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[prev->E11|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -336,20 +323,67 @@ $result_nodes_list{'only_special_spaces_node'} = '1|Top
 $result_sections_list{'only_special_spaces_node'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->EN QUAD| | EM QUAD| | EN SPACE| |
 2|EN QUAD| | EM QUAD| | EN SPACE| |
  associated_anchor_command:    
  associated_node:    
+ section_directions:
+  next->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  up->top
+ toplevel_directions:
+  next->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  prev->top
+  up->top
 3|CHARACTER TABULATION|        | FORM FEED|| LINE TABULATION||
+ section_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  prev->EN QUAD| | EM QUAD| | EN SPACE| |
+  up->top
+ toplevel_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  prev->EN QUAD| | EM QUAD| | EN SPACE| |
+  up->top
 4|CARRIAGE RETURN|'."\r".'|
+ section_directions:
+  next->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  prev->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  up->top
+ toplevel_directions:
+  next->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  prev->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  up->top
 5|NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
  associated_anchor_command: …  
  associated_node: …  
+ section_directions:
+  next->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
+ toplevel_directions:
+  next->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
 6|MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
  associated_anchor_command: ᠎ 
  associated_node: ᠎ 
+ section_directions:
+  next->THREE-PER-EM SPACE| | FOUR-PER-EM SPACE| | SIX-PER-EM SPACE| | FIGURE 
SPACE| | PUNCTUATION SPACE| | THIN SPACE| | HAIR SPACE| | NARROW NO-BREAK 
SPACE| | MEDIUM MATHEMATICAL SPACE| | IDEOGRAPHIC SPACE| |
+  prev->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  up->top
+ toplevel_directions:
+  next->THREE-PER-EM SPACE| | FOUR-PER-EM SPACE| | SIX-PER-EM SPACE| | FIGURE 
SPACE| | PUNCTUATION SPACE| | THIN SPACE| | HAIR SPACE| | NARROW NO-BREAK 
SPACE| | MEDIUM MATHEMATICAL SPACE| | IDEOGRAPHIC SPACE| |
+  prev->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  up->top
 7|THREE-PER-EM SPACE| | FOUR-PER-EM SPACE| | SIX-PER-EM SPACE| | FIGURE SPACE| 
| PUNCTUATION SPACE| | THIN SPACE| | HAIR SPACE| | NARROW NO-BREAK SPACE| | 
MEDIUM MATHEMATICAL SPACE| | IDEOGRAPHIC SPACE| |
  associated_anchor_command:           
  associated_node:           
+ section_directions:
+  prev->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  up->top
+ toplevel_directions:
+  prev->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  up->top
 ';
 
 $result_headings_list{'only_special_spaces_node'} = '';
diff --git a/tta/perl/t/results/moresectioning/placed_things_before_node.pl 
b/tta/perl/t/results/moresectioning/placed_things_before_node.pl
index 148d4add8f..6b90cc08f9 100644
--- a/tta/perl/t/results/moresectioning/placed_things_before_node.pl
+++ b/tta/perl/t/results/moresectioning/placed_things_before_node.pl
@@ -175,7 +175,6 @@ $result_tree_text{'placed_things_before_node'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E5]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -202,11 +201,9 @@ $result_tree_text{'placed_things_before_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E5]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E5|up->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -341,9 +338,16 @@ $result_nodes_list{'placed_things_before_node'} = '1|Top
 $result_sections_list{'placed_things_before_node'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'placed_things_before_node'} = '';
diff --git a/tta/perl/t/results/moresectioning/raiselowersections.pl 
b/tta/perl/t/results/moresectioning/raiselowersections.pl
index 76270e3c85..7001dff911 100644
--- a/tta/perl/t/results/moresectioning/raiselowersections.pl
+++ b/tta/perl/t/results/moresectioning/raiselowersections.pl
@@ -36,7 +36,6 @@ $result_tree_text{'raiselowersections'} = '*document_root C14
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg
    |INFO
@@ -102,11 +101,9 @@ $result_tree_text{'raiselowersections'} = '*document_root 
C14
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[next->E15|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E15|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -258,7 +255,6 @@ $result_tree_text{'raiselowersections'} = '*document_root 
C14
  |EXTRA
  |level_modifier:{-1}
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -319,7 +315,6 @@ $result_tree_text{'raiselowersections'} = '*document_root 
C14
  |EXTRA
  |level_modifier:{-1}
  |section_childs:EC[E13]
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -379,7 +374,6 @@ $result_tree_text{'raiselowersections'} = '*document_root 
C14
   |{ }
  |EXTRA
  |level_modifier:{-1}
- |section_directions:D[up->E10]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -485,11 +479,9 @@ $result_tree_text{'raiselowersections'} = '*document_root 
C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -662,21 +654,42 @@ $result_nodes_list{'raiselowersections'} = '1|Top
 $result_sections_list{'raiselowersections'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  next->Second chapter
+  up->
+ toplevel_directions:
+  next->Second chapter
+  prev->
+  up->
 3|Chapter in included file
  associated_anchor_command: Chapter in included file
  associated_node: Chapter in included file
+ section_directions:
+  up->Chapter
 4|Section
  associated_anchor_command: Section
  associated_node: Section
+ section_directions:
+  up->Chapter in included file
 5|Subsection
  associated_anchor_command: Subsection
  associated_node: Subsection
+ section_directions:
+  up->Section
 6|Second chapter
  associated_anchor_command: Second chapter
  associated_node: Second chapter
+ section_directions:
+  prev->Chapter
+  up->
+ toplevel_directions:
+  prev->Chapter
+  up->
 ';
 
 $result_headings_list{'raiselowersections'} = '';
diff --git a/tta/perl/t/results/moresectioning/section_in_unnumbered_info.pl 
b/tta/perl/t/results/moresectioning/section_in_unnumbered_info.pl
index fbe22f01bb..cb5eb1ce76 100644
--- a/tta/perl/t/results/moresectioning/section_in_unnumbered_info.pl
+++ b/tta/perl/t/results/moresectioning/section_in_unnumbered_info.pl
@@ -37,7 +37,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -146,11 +145,9 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[next->E9|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -206,7 +203,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -237,10 +233,8 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E12]
- |section_directions:D[next->E14|prev->E4|up->E1]
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E14|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -296,7 +290,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_level:{2}
  |section_number:{5}
   *arguments_line C1
@@ -326,11 +319,9 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E17|E28]
- |section_directions:D[next->E33|prev->E9|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E33|prev->E9|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -398,7 +389,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E20|E22|E24|E26]
- |section_directions:D[next->E28|up->E14]
  |section_level:{2}
  |section_number:{7}
   *arguments_line C1
@@ -489,7 +479,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E22|up->E17]
  |section_level:{3}
  |section_number:{8}
   *arguments_line C1
@@ -518,7 +507,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E24|prev->E20|up->E17]
  |section_level:{3}
  |section_number:{9}
   *arguments_line C1
@@ -547,7 +535,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E26|prev->E22|up->E17]
  |section_level:{3}
  |section_number:{10}
   *arguments_line C1
@@ -576,7 +563,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E24|up->E17]
  |section_level:{3}
  |section_number:{11}
   *arguments_line C1
@@ -606,7 +592,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E31]
- |section_directions:D[prev->E17|up->E14]
  |section_level:{2}
  |section_number:{12}
   *arguments_line C1
@@ -664,7 +649,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E28]
  |section_level:{3}
  |section_number:{13}
   *arguments_line C1
@@ -695,11 +679,9 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E36|E47|E49|E54|E59]
- |section_directions:D[next->E64|prev->E14|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{14}
- |toplevel_directions:D[next->E64|prev->E14|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -800,7 +782,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E39|E41|E43|E45]
- |section_directions:D[next->E47|up->E33]
  |section_level:{2}
  |section_number:{15}
   *arguments_line C1
@@ -891,7 +872,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E41|up->E36]
  |section_level:{3}
  |section_number:{16}
   *arguments_line C1
@@ -920,7 +900,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E43|prev->E39|up->E36]
  |section_level:{3}
  |section_number:{17}
   *arguments_line C1
@@ -949,7 +928,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E45|prev->E41|up->E36]
  |section_level:{3}
  |section_number:{18}
   *arguments_line C1
@@ -978,7 +956,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E43|up->E36]
  |section_level:{3}
  |section_number:{19}
   *arguments_line C1
@@ -1007,7 +984,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E49|prev->E36|up->E33]
  |section_heading_number:{3.1}
  |section_level:{2}
  |section_number:{20}
@@ -1038,7 +1014,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E52]
- |section_directions:D[next->E54|prev->E47|up->E33]
  |section_level:{2}
  |section_number:{21}
   *arguments_line C1
@@ -1096,7 +1071,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E49]
  |section_level:{3}
  |section_number:{22}
   *arguments_line C1
@@ -1126,7 +1100,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E57]
- |section_directions:D[next->E59|prev->E49|up->E33]
  |section_heading_number:{3.2}
  |section_level:{2}
  |section_number:{23}
@@ -1185,7 +1158,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E54]
  |section_heading_number:{3.2.1}
  |section_level:{3}
  |section_number:{24}
@@ -1216,7 +1188,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E62]
- |section_directions:D[prev->E54|up->E33]
  |section_level:{2}
  |section_number:{25}
   *arguments_line C1
@@ -1274,7 +1245,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E59]
  |section_level:{3}
  |section_number:{26}
   *arguments_line C1
@@ -1304,10 +1274,8 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E67]
- |section_directions:D[prev->E33|up->E1]
  |section_level:{1}
  |section_number:{27}
- |toplevel_directions:D[prev->E33|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1364,7 +1332,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E70|E72|E74|E76]
- |section_directions:D[up->E64]
  |section_level:{2}
  |section_number:{28}
   *arguments_line C1
@@ -1455,7 +1422,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E72|up->E67]
  |section_level:{3}
  |section_number:{29}
   *arguments_line C1
@@ -1484,7 +1450,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E74|prev->E70|up->E67]
  |section_level:{3}
  |section_number:{30}
   *arguments_line C1
@@ -1513,7 +1478,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E76|prev->E72|up->E67]
  |section_level:{3}
  |section_number:{31}
   *arguments_line C1
@@ -1542,7 +1506,6 @@ $result_tree_text{'section_in_unnumbered_info'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E74|up->E67]
  |section_level:{3}
  |section_number:{32}
   *arguments_line C1
@@ -2220,99 +2183,218 @@ $result_nodes_list{'section_in_unnumbered_info'} = 
'1|Top
 $result_sections_list{'section_in_unnumbered_info'} = '1|Test section in 
unnumbered
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->unnumbered
+  up->Test section in unnumbered
+ toplevel_directions:
+  next->unnumbered
+  prev->Test section in unnumbered
+  up->Test section in unnumbered
 3|section in chapter
  associated_anchor_command: section in chapter
  associated_node: section in chapter
+ section_directions:
+  up->chapter
 4|unnumbered
  associated_anchor_command: unnumbered
  associated_node: unnumbered
+ section_directions:
+  next->chapter 2
+  prev->chapter
+  up->Test section in unnumbered
+ toplevel_directions:
+  next->chapter 2
+  prev->chapter
+  up->Test section in unnumbered
 5|section in unnumbered
  associated_anchor_command: section in unnumbered
  associated_node: section in unnumbered
+ section_directions:
+  up->unnumbered
 6|chapter 2
  associated_anchor_command: chapter 2
  associated_node: chapter 2
+ section_directions:
+  next->chapter 3
+  prev->unnumbered
+  up->Test section in unnumbered
+ toplevel_directions:
+  next->chapter 3
+  prev->unnumbered
+  up->Test section in unnumbered
 7|unnumbered section 2
  associated_anchor_command: unnumberedsec 2
  associated_node: unnumberedsec 2
+ section_directions:
+  next->unnumberedsec 2-1
+  up->chapter 2
 8|unnumbered subsection 2
  associated_anchor_command: unnumbered sub 2
  associated_node: unnumbered sub 2
+ section_directions:
+  next->numbered subsection 2
+  up->unnumbered section 2
 9|numbered subsection 2
  associated_anchor_command: numbered sub 2
  associated_node: numbered sub 2
+ section_directions:
+  next->unnumbered subsection2 2
+  prev->unnumbered subsection 2
+  up->unnumbered section 2
 10|unnumbered subsection2 2
  associated_anchor_command: unnumbered sub2 2
  associated_node: unnumbered sub2 2
+ section_directions:
+  next->numbered subsection2 2
+  prev->numbered subsection 2
+  up->unnumbered section 2
 11|numbered subsection2 2
  associated_anchor_command: numbered sub2 2
  associated_node: numbered sub2 2
+ section_directions:
+  prev->unnumbered subsection2 2
+  up->unnumbered section 2
 12|unnumberedsec 2-1
  associated_anchor_command: unnumberedsec 2-1
  associated_node: unnumberedsec 2-1
+ section_directions:
+  prev->unnumbered section 2
+  up->chapter 2
 13|numbered subsection 2-1
  associated_anchor_command: numbered sub 2-1
  associated_node: numbered sub 2-1
+ section_directions:
+  up->unnumberedsec 2-1
 14|chapter 3
  associated_anchor_command: chapter 3
  associated_node: chapter 3
+ section_directions:
+  next->unnumbered  4
+  prev->chapter 2
+  up->Test section in unnumbered
+ toplevel_directions:
+  next->unnumbered  4
+  prev->chapter 2
+  up->Test section in unnumbered
 15|unnumbered section 3
  associated_anchor_command: unnumberedsec 3
  associated_node: unnumberedsec 3
+ section_directions:
+  next->section 3-1
+  up->chapter 3
 16|unnumbered subsection 3
  associated_anchor_command: unnumbered sub 3
  associated_node: unnumbered sub 3
+ section_directions:
+  next->numbered subsection 3
+  up->unnumbered section 3
 17|numbered subsection 3
  associated_anchor_command: numbered sub 3
  associated_node: numbered sub 3
+ section_directions:
+  next->unnumbered subsection2 3
+  prev->unnumbered subsection 3
+  up->unnumbered section 3
 18|unnumbered subsection2 3
  associated_anchor_command: unnumbered sub2 3
  associated_node: unnumbered sub2 3
+ section_directions:
+  next->numbered subsection2 3
+  prev->numbered subsection 3
+  up->unnumbered section 3
 19|numbered subsection2 3
  associated_anchor_command: numbered sub2 3
  associated_node: numbered sub2 3
+ section_directions:
+  prev->unnumbered subsection2 3
+  up->unnumbered section 3
 20|section 3-1
  associated_anchor_command: section 3-1
  associated_node: section 3-1
+ section_directions:
+  next->unnumberedsec 3-2
+  prev->unnumbered section 3
+  up->chapter 3
 21|unnumberedsec 3-2
  associated_anchor_command: unnumberedsec 3-2
  associated_node: unnumberedsec 3-2
+ section_directions:
+  next->section 3-3
+  prev->section 3-1
+  up->chapter 3
 22|numbered subsection 3-2
  associated_anchor_command: numbered sub 3-2
  associated_node: numbered sub 3-2
+ section_directions:
+  up->unnumberedsec 3-2
 23|section 3-3
  associated_anchor_command: section 3-3
  associated_node: section 3-3
+ section_directions:
+  next->unnumberedsec 3-4
+  prev->unnumberedsec 3-2
+  up->chapter 3
 24|subsection 3-3
  associated_anchor_command: subsection 3-3
  associated_node: subsection 3-3
+ section_directions:
+  up->section 3-3
 25|unnumberedsec 3-4
  associated_anchor_command: unnumberedsec 3-4
  associated_node: unnumberedsec 3-4
+ section_directions:
+  prev->section 3-3
+  up->chapter 3
 26|numbered subsection 3-4
  associated_anchor_command: numbered sub 3-4
  associated_node: numbered sub 3-4
+ section_directions:
+  up->unnumberedsec 3-4
 27|unnumbered  4
  associated_anchor_command: unnumbered 4
  associated_node: unnumbered 4
+ section_directions:
+  prev->chapter 3
+  up->Test section in unnumbered
+ toplevel_directions:
+  prev->chapter 3
+  up->Test section in unnumbered
 28|unnumbered section 4
  associated_anchor_command: unnumberedsec 4
  associated_node: unnumberedsec 4
+ section_directions:
+  up->unnumbered  4
 29|unnumbered subsection 4
  associated_anchor_command: unnumbered sub 4
  associated_node: unnumbered sub 4
+ section_directions:
+  next->numbered subsection 4
+  up->unnumbered section 4
 30|numbered subsection 4
  associated_anchor_command: numbered sub 4
  associated_node: numbered sub 4
+ section_directions:
+  next->unnumbered subsection2 4
+  prev->unnumbered subsection 4
+  up->unnumbered section 4
 31|unnumbered subsection2 4
  associated_anchor_command: unnumbered sub2 4
  associated_node: unnumbered sub2 4
+ section_directions:
+  next->numbered subsection2 4
+  prev->numbered subsection 4
+  up->unnumbered section 4
 32|numbered subsection2 4
  associated_anchor_command: numbered sub2 4
  associated_node: numbered sub2 4
+ section_directions:
+  prev->unnumbered subsection2 4
+  up->unnumbered section 4
 ';
 
 $result_headings_list{'section_in_unnumbered_info'} = '';
diff --git 
a/tta/perl/t/results/moresectioning/section_in_unnumbered_plaintext.pl 
b/tta/perl/t/results/moresectioning/section_in_unnumbered_plaintext.pl
index 032360edf1..5634f17e61 100644
--- a/tta/perl/t/results/moresectioning/section_in_unnumbered_plaintext.pl
+++ b/tta/perl/t/results/moresectioning/section_in_unnumbered_plaintext.pl
@@ -37,7 +37,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -146,11 +145,9 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[next->E9|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E9|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -206,7 +203,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -237,10 +233,8 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E12]
- |section_directions:D[next->E14|prev->E4|up->E1]
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E14|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -296,7 +290,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_level:{2}
  |section_number:{5}
   *arguments_line C1
@@ -326,11 +319,9 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E17|E28]
- |section_directions:D[next->E33|prev->E9|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E33|prev->E9|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -398,7 +389,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E20|E22|E24|E26]
- |section_directions:D[next->E28|up->E14]
  |section_level:{2}
  |section_number:{7}
   *arguments_line C1
@@ -489,7 +479,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E22|up->E17]
  |section_level:{3}
  |section_number:{8}
   *arguments_line C1
@@ -518,7 +507,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E24|prev->E20|up->E17]
  |section_level:{3}
  |section_number:{9}
   *arguments_line C1
@@ -547,7 +535,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E26|prev->E22|up->E17]
  |section_level:{3}
  |section_number:{10}
   *arguments_line C1
@@ -576,7 +563,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E24|up->E17]
  |section_level:{3}
  |section_number:{11}
   *arguments_line C1
@@ -606,7 +592,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E31]
- |section_directions:D[prev->E17|up->E14]
  |section_level:{2}
  |section_number:{12}
   *arguments_line C1
@@ -664,7 +649,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E28]
  |section_level:{3}
  |section_number:{13}
   *arguments_line C1
@@ -695,11 +679,9 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E36|E47|E49|E54|E59]
- |section_directions:D[next->E64|prev->E14|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{14}
- |toplevel_directions:D[next->E64|prev->E14|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -800,7 +782,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E39|E41|E43|E45]
- |section_directions:D[next->E47|up->E33]
  |section_level:{2}
  |section_number:{15}
   *arguments_line C1
@@ -891,7 +872,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E41|up->E36]
  |section_level:{3}
  |section_number:{16}
   *arguments_line C1
@@ -920,7 +900,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E43|prev->E39|up->E36]
  |section_level:{3}
  |section_number:{17}
   *arguments_line C1
@@ -949,7 +928,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E45|prev->E41|up->E36]
  |section_level:{3}
  |section_number:{18}
   *arguments_line C1
@@ -978,7 +956,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E43|up->E36]
  |section_level:{3}
  |section_number:{19}
   *arguments_line C1
@@ -1007,7 +984,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E49|prev->E36|up->E33]
  |section_heading_number:{3.1}
  |section_level:{2}
  |section_number:{20}
@@ -1038,7 +1014,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E52]
- |section_directions:D[next->E54|prev->E47|up->E33]
  |section_level:{2}
  |section_number:{21}
   *arguments_line C1
@@ -1096,7 +1071,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E49]
  |section_level:{3}
  |section_number:{22}
   *arguments_line C1
@@ -1126,7 +1100,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E57]
- |section_directions:D[next->E59|prev->E49|up->E33]
  |section_heading_number:{3.2}
  |section_level:{2}
  |section_number:{23}
@@ -1185,7 +1158,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E54]
  |section_heading_number:{3.2.1}
  |section_level:{3}
  |section_number:{24}
@@ -1216,7 +1188,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E62]
- |section_directions:D[prev->E54|up->E33]
  |section_level:{2}
  |section_number:{25}
   *arguments_line C1
@@ -1274,7 +1245,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E59]
  |section_level:{3}
  |section_number:{26}
   *arguments_line C1
@@ -1304,10 +1274,8 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E67]
- |section_directions:D[prev->E33|up->E1]
  |section_level:{1}
  |section_number:{27}
- |toplevel_directions:D[prev->E33|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -1364,7 +1332,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
   |{ }
  |EXTRA
  |section_childs:EC[E70|E72|E74|E76]
- |section_directions:D[up->E64]
  |section_level:{2}
  |section_number:{28}
   *arguments_line C1
@@ -1455,7 +1422,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E72|up->E67]
  |section_level:{3}
  |section_number:{29}
   *arguments_line C1
@@ -1484,7 +1450,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E74|prev->E70|up->E67]
  |section_level:{3}
  |section_number:{30}
   *arguments_line C1
@@ -1513,7 +1478,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E76|prev->E72|up->E67]
  |section_level:{3}
  |section_number:{31}
   *arguments_line C1
@@ -1542,7 +1506,6 @@ $result_tree_text{'section_in_unnumbered_plaintext'} = 
'*document_root C65
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E74|up->E67]
  |section_level:{3}
  |section_number:{32}
   *arguments_line C1
@@ -2220,99 +2183,218 @@ $result_nodes_list{'section_in_unnumbered_plaintext'} 
= '1|Top
 $result_sections_list{'section_in_unnumbered_plaintext'} = '1|Test section in 
unnumbered
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  next->unnumbered
+  up->Test section in unnumbered
+ toplevel_directions:
+  next->unnumbered
+  prev->Test section in unnumbered
+  up->Test section in unnumbered
 3|section in chapter
  associated_anchor_command: section in chapter
  associated_node: section in chapter
+ section_directions:
+  up->chapter
 4|unnumbered
  associated_anchor_command: unnumbered
  associated_node: unnumbered
+ section_directions:
+  next->chapter 2
+  prev->chapter
+  up->Test section in unnumbered
+ toplevel_directions:
+  next->chapter 2
+  prev->chapter
+  up->Test section in unnumbered
 5|section in unnumbered
  associated_anchor_command: section in unnumbered
  associated_node: section in unnumbered
+ section_directions:
+  up->unnumbered
 6|chapter 2
  associated_anchor_command: chapter 2
  associated_node: chapter 2
+ section_directions:
+  next->chapter 3
+  prev->unnumbered
+  up->Test section in unnumbered
+ toplevel_directions:
+  next->chapter 3
+  prev->unnumbered
+  up->Test section in unnumbered
 7|unnumbered section 2
  associated_anchor_command: unnumberedsec 2
  associated_node: unnumberedsec 2
+ section_directions:
+  next->unnumberedsec 2-1
+  up->chapter 2
 8|unnumbered subsection 2
  associated_anchor_command: unnumbered sub 2
  associated_node: unnumbered sub 2
+ section_directions:
+  next->numbered subsection 2
+  up->unnumbered section 2
 9|numbered subsection 2
  associated_anchor_command: numbered sub 2
  associated_node: numbered sub 2
+ section_directions:
+  next->unnumbered subsection2 2
+  prev->unnumbered subsection 2
+  up->unnumbered section 2
 10|unnumbered subsection2 2
  associated_anchor_command: unnumbered sub2 2
  associated_node: unnumbered sub2 2
+ section_directions:
+  next->numbered subsection2 2
+  prev->numbered subsection 2
+  up->unnumbered section 2
 11|numbered subsection2 2
  associated_anchor_command: numbered sub2 2
  associated_node: numbered sub2 2
+ section_directions:
+  prev->unnumbered subsection2 2
+  up->unnumbered section 2
 12|unnumberedsec 2-1
  associated_anchor_command: unnumberedsec 2-1
  associated_node: unnumberedsec 2-1
+ section_directions:
+  prev->unnumbered section 2
+  up->chapter 2
 13|numbered subsection 2-1
  associated_anchor_command: numbered sub 2-1
  associated_node: numbered sub 2-1
+ section_directions:
+  up->unnumberedsec 2-1
 14|chapter 3
  associated_anchor_command: chapter 3
  associated_node: chapter 3
+ section_directions:
+  next->unnumbered  4
+  prev->chapter 2
+  up->Test section in unnumbered
+ toplevel_directions:
+  next->unnumbered  4
+  prev->chapter 2
+  up->Test section in unnumbered
 15|unnumbered section 3
  associated_anchor_command: unnumberedsec 3
  associated_node: unnumberedsec 3
+ section_directions:
+  next->section 3-1
+  up->chapter 3
 16|unnumbered subsection 3
  associated_anchor_command: unnumbered sub 3
  associated_node: unnumbered sub 3
+ section_directions:
+  next->numbered subsection 3
+  up->unnumbered section 3
 17|numbered subsection 3
  associated_anchor_command: numbered sub 3
  associated_node: numbered sub 3
+ section_directions:
+  next->unnumbered subsection2 3
+  prev->unnumbered subsection 3
+  up->unnumbered section 3
 18|unnumbered subsection2 3
  associated_anchor_command: unnumbered sub2 3
  associated_node: unnumbered sub2 3
+ section_directions:
+  next->numbered subsection2 3
+  prev->numbered subsection 3
+  up->unnumbered section 3
 19|numbered subsection2 3
  associated_anchor_command: numbered sub2 3
  associated_node: numbered sub2 3
+ section_directions:
+  prev->unnumbered subsection2 3
+  up->unnumbered section 3
 20|section 3-1
  associated_anchor_command: section 3-1
  associated_node: section 3-1
+ section_directions:
+  next->unnumberedsec 3-2
+  prev->unnumbered section 3
+  up->chapter 3
 21|unnumberedsec 3-2
  associated_anchor_command: unnumberedsec 3-2
  associated_node: unnumberedsec 3-2
+ section_directions:
+  next->section 3-3
+  prev->section 3-1
+  up->chapter 3
 22|numbered subsection 3-2
  associated_anchor_command: numbered sub 3-2
  associated_node: numbered sub 3-2
+ section_directions:
+  up->unnumberedsec 3-2
 23|section 3-3
  associated_anchor_command: section 3-3
  associated_node: section 3-3
+ section_directions:
+  next->unnumberedsec 3-4
+  prev->unnumberedsec 3-2
+  up->chapter 3
 24|subsection 3-3
  associated_anchor_command: subsection 3-3
  associated_node: subsection 3-3
+ section_directions:
+  up->section 3-3
 25|unnumberedsec 3-4
  associated_anchor_command: unnumberedsec 3-4
  associated_node: unnumberedsec 3-4
+ section_directions:
+  prev->section 3-3
+  up->chapter 3
 26|numbered subsection 3-4
  associated_anchor_command: numbered sub 3-4
  associated_node: numbered sub 3-4
+ section_directions:
+  up->unnumberedsec 3-4
 27|unnumbered  4
  associated_anchor_command: unnumbered 4
  associated_node: unnumbered 4
+ section_directions:
+  prev->chapter 3
+  up->Test section in unnumbered
+ toplevel_directions:
+  prev->chapter 3
+  up->Test section in unnumbered
 28|unnumbered section 4
  associated_anchor_command: unnumberedsec 4
  associated_node: unnumberedsec 4
+ section_directions:
+  up->unnumbered  4
 29|unnumbered subsection 4
  associated_anchor_command: unnumbered sub 4
  associated_node: unnumbered sub 4
+ section_directions:
+  next->numbered subsection 4
+  up->unnumbered section 4
 30|numbered subsection 4
  associated_anchor_command: numbered sub 4
  associated_node: numbered sub 4
+ section_directions:
+  next->unnumbered subsection2 4
+  prev->unnumbered subsection 4
+  up->unnumbered section 4
 31|unnumbered subsection2 4
  associated_anchor_command: unnumbered sub2 4
  associated_node: unnumbered sub2 4
+ section_directions:
+  next->numbered subsection2 4
+  prev->numbered subsection 4
+  up->unnumbered section 4
 32|numbered subsection2 4
  associated_anchor_command: numbered sub2 4
  associated_node: numbered sub2 4
+ section_directions:
+  prev->unnumbered subsection2 4
+  up->unnumbered section 4
 ';
 
 $result_headings_list{'section_in_unnumbered_plaintext'} = '';
diff --git a/tta/perl/t/results/moresectioning/sectioning_part_appendix.pl 
b/tta/perl/t/results/moresectioning/sectioning_part_appendix.pl
index dedbec39b1..28373a30db 100644
--- a/tta/perl/t/results/moresectioning/sectioning_part_appendix.pl
+++ b/tta/perl/t/results/moresectioning/sectioning_part_appendix.pl
@@ -19,7 +19,6 @@ Next: [U5]
   |{ }
  |EXTRA
  |section_childs:EC[E1]
- |section_directions:D[next->E5]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -27,7 +26,6 @@ Next: [U5]
   ||EXTRA
   ||section_childs:EC[E0|E5|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -50,11 +48,9 @@ Up: [U0]
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -77,7 +73,6 @@ Up: [U1]
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -103,7 +98,6 @@ Up: [U2]
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E2]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -128,7 +122,6 @@ Up: [U3]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -155,7 +148,6 @@ Next: [U6]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E6|E7|E8]
- |section_directions:D[next->E9|prev->E0]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -170,11 +162,9 @@ Next: [U6]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E7|prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -198,11 +188,9 @@ Up: [U5]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E6|up->E5]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E8|prev->E6|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -225,10 +213,8 @@ Up: [U5]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E5]
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E9|prev->E7|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -250,11 +236,9 @@ Prev: [U5]
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[prev->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[prev->E8|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -274,7 +258,6 @@ Up: [U8]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{11}
@@ -351,18 +334,66 @@ $result_errors{'sectioning_part_appendix'} = [];
 $result_nodes_list{'sectioning_part_appendix'} = '';
 
 $result_sections_list{'sectioning_part_appendix'} = '1|top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->chapter in part
+  prev->top
+  up->top
 3|section
+ section_directions:
+  up->chapter
 4|subsection
+ section_directions:
+  up->section
 5|subsubsection
+ section_directions:
+  up->subsection
 6|part
  part_associated_section: chapter in part
+ section_directions:
+  next->appendix
+  prev->top
 7|chapter in part
  associated_part: part
+ section_directions:
+  next->second chapter in part
+  up->part
+ toplevel_directions:
+  next->second chapter in part
+  prev->chapter
+  up->top
 8|second chapter in part
+ section_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->part
+ toplevel_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->top
 9|unnumbered
+ section_directions:
+  prev->second chapter in part
+  up->part
+ toplevel_directions:
+  next->appendix
+  prev->second chapter in part
+  up->top
 10|appendix
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->unnumbered
+  up->top
 11|appendixsec
+ section_directions:
+  up->appendix
 ';
 
 $result_headings_list{'sectioning_part_appendix'} = '';
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 634318b0d4..cd8c1c2644 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
@@ -26,7 +26,6 @@ FastForward: [U4]
   ||EXTRA
   ||section_childs:EC[E0|E4|E8]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -49,7 +48,6 @@ Up: [U0]
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{2}
@@ -75,7 +73,6 @@ Up: [U1]
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{3}
@@ -100,7 +97,6 @@ Up: [U2]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{4}
@@ -127,7 +123,6 @@ Next: [U5]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E5|E6|E7]
- |section_directions:D[next->E8]
  |section_level:{0}
  |section_number:{5}
   *arguments_line C1
@@ -142,11 +137,9 @@ Next: [U5]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E4]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E6|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -170,11 +163,9 @@ Up: [U4]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E5|up->E4]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E7|prev->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -197,10 +188,8 @@ Up: [U4]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E4]
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E8|prev->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -222,11 +211,9 @@ Prev: [U4]
   |{ }
  |EXTRA
  |section_childs:EC[E9]
- |section_directions:D[prev->E4]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[prev->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -246,7 +233,6 @@ Up: [U7]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E8]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{10}
@@ -318,17 +304,52 @@ $result_errors{'sectioning_part_appendix_no_top'} = [];
 $result_nodes_list{'sectioning_part_appendix_no_top'} = '';
 
 $result_sections_list{'sectioning_part_appendix_no_top'} = '1|chapter
+ toplevel_directions:
+  next->chapter in part
 2|section
+ section_directions:
+  up->chapter
 3|subsection
+ section_directions:
+  up->section
 4|subsubsection
+ section_directions:
+  up->subsection
 5|part
  part_associated_section: chapter in part
+ section_directions:
+  next->appendix
 6|chapter in part
  associated_part: part
+ section_directions:
+  next->second chapter in part
+  up->part
+ toplevel_directions:
+  next->second chapter in part
+  prev->chapter
 7|second chapter in part
+ section_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->part
+ toplevel_directions:
+  next->unnumbered
+  prev->chapter in part
 8|unnumbered
+ section_directions:
+  prev->second chapter in part
+  up->part
+ toplevel_directions:
+  next->appendix
+  prev->second chapter in part
 9|appendix
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->unnumbered
 10|appendixsec
+ section_directions:
+  up->appendix
 ';
 
 $result_headings_list{'sectioning_part_appendix_no_top'} = '';
diff --git 
a/tta/perl/t/results/moresectioning/sectioning_part_appendix_texi2html_chapter.pl
 
b/tta/perl/t/results/moresectioning/sectioning_part_appendix_texi2html_chapter.pl
index 2d911666f9..2262ec84dd 100644
--- 
a/tta/perl/t/results/moresectioning/sectioning_part_appendix_texi2html_chapter.pl
+++ 
b/tta/perl/t/results/moresectioning/sectioning_part_appendix_texi2html_chapter.pl
@@ -14,7 +14,6 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
   |{ }
  |EXTRA
  |section_childs:EC[E1]
- |section_directions:D[next->E5]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -22,7 +21,6 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
   ||EXTRA
   ||section_childs:EC[E0|E5|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -36,11 +34,9 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,7 +50,6 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -71,7 +66,6 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E2]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -87,7 +81,6 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -105,7 +98,6 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E6|E7|E8]
- |section_directions:D[next->E9|prev->E0]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -120,11 +112,9 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E7|prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,11 +127,9 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E6|up->E5]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E8|prev->E6|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -154,10 +142,8 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E5]
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E9|prev->E7|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,11 +157,9 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[prev->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[prev->E8|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,7 +172,6 @@ 
$result_tree_text{'sectioning_part_appendix_texi2html_chapter'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{11}
@@ -265,18 +248,66 @@ 
$result_errors{'sectioning_part_appendix_texi2html_chapter'} = [];
 $result_nodes_list{'sectioning_part_appendix_texi2html_chapter'} = '';
 
 $result_sections_list{'sectioning_part_appendix_texi2html_chapter'} = '1|top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->chapter in part
+  prev->top
+  up->top
 3|section
+ section_directions:
+  up->chapter
 4|subsection
+ section_directions:
+  up->section
 5|subsubsection
+ section_directions:
+  up->subsection
 6|part
  part_associated_section: chapter in part
+ section_directions:
+  next->appendix
+  prev->top
 7|chapter in part
  associated_part: part
+ section_directions:
+  next->second chapter in part
+  up->part
+ toplevel_directions:
+  next->second chapter in part
+  prev->chapter
+  up->top
 8|second chapter in part
+ section_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->part
+ toplevel_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->top
 9|unnumbered
+ section_directions:
+  prev->second chapter in part
+  up->part
+ toplevel_directions:
+  next->appendix
+  prev->second chapter in part
+  up->top
 10|appendix
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->unnumbered
+  up->top
 11|appendixsec
+ section_directions:
+  up->appendix
 ';
 
 $result_headings_list{'sectioning_part_appendix_texi2html_chapter'} = '';
diff --git a/tta/perl/t/results/moresectioning/sections_test.pl 
b/tta/perl/t/results/moresectioning/sections_test.pl
index ea73a79415..1f594dbb7d 100644
--- a/tta/perl/t/results/moresectioning/sections_test.pl
+++ b/tta/perl/t/results/moresectioning/sections_test.pl
@@ -14,7 +14,6 @@ $result_tree_text{'sections_test'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E1]
- |section_directions:D[next->E5]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -22,7 +21,6 @@ $result_tree_text{'sections_test'} = '*document_root C12
   ||EXTRA
   ||section_childs:EC[E0|E5|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -36,11 +34,9 @@ $result_tree_text{'sections_test'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,7 +50,6 @@ $result_tree_text{'sections_test'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -71,7 +66,6 @@ $result_tree_text{'sections_test'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E2]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -87,7 +81,6 @@ $result_tree_text{'sections_test'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -105,7 +98,6 @@ $result_tree_text{'sections_test'} = '*document_root C12
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E6|E7|E8]
- |section_directions:D[next->E9|prev->E0]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -120,11 +112,9 @@ $result_tree_text{'sections_test'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E7|prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,11 +127,9 @@ $result_tree_text{'sections_test'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E6|up->E5]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E8|prev->E6|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -154,10 +142,8 @@ $result_tree_text{'sections_test'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E5]
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E9|prev->E7|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,11 +157,9 @@ $result_tree_text{'sections_test'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[prev->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[prev->E8|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,7 +172,6 @@ $result_tree_text{'sections_test'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{11}
@@ -265,18 +248,66 @@ $result_errors{'sections_test'} = [];
 $result_nodes_list{'sections_test'} = '';
 
 $result_sections_list{'sections_test'} = '1|top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->chapter in part
+  prev->top
+  up->top
 3|section
+ section_directions:
+  up->chapter
 4|subsection
+ section_directions:
+  up->section
 5|subsubsection
+ section_directions:
+  up->subsection
 6|part
  part_associated_section: chapter in part
+ section_directions:
+  next->appendix
+  prev->top
 7|chapter in part
  associated_part: part
+ section_directions:
+  next->second chapter in part
+  up->part
+ toplevel_directions:
+  next->second chapter in part
+  prev->chapter
+  up->top
 8|second chapter in part
+ section_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->part
+ toplevel_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->top
 9|unnumbered
+ section_directions:
+  prev->second chapter in part
+  up->part
+ toplevel_directions:
+  next->appendix
+  prev->second chapter in part
+  up->top
 10|appendix
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->unnumbered
+  up->top
 11|appendixsec
+ section_directions:
+  up->appendix
 ';
 
 $result_headings_list{'sections_test'} = '';
diff --git a/tta/perl/t/results/moresectioning/sections_test_no_use_nodes.pl 
b/tta/perl/t/results/moresectioning/sections_test_no_use_nodes.pl
index 860dac4243..3909638b38 100644
--- a/tta/perl/t/results/moresectioning/sections_test_no_use_nodes.pl
+++ b/tta/perl/t/results/moresectioning/sections_test_no_use_nodes.pl
@@ -14,7 +14,6 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E1]
- |section_directions:D[next->E5]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -22,7 +21,6 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
   ||EXTRA
   ||section_childs:EC[E0|E5|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -36,11 +34,9 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,7 +50,6 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -71,7 +66,6 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E2]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -87,7 +81,6 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -105,7 +98,6 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E6|E7|E8]
- |section_directions:D[next->E9|prev->E0]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -120,11 +112,9 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E7|prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,11 +127,9 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E6|up->E5]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E8|prev->E6|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -154,10 +142,8 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E5]
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E9|prev->E7|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,11 +157,9 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[prev->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[prev->E8|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,7 +172,6 @@ $result_tree_text{'sections_test_no_use_nodes'} = 
'*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{11}
@@ -265,18 +248,66 @@ $result_errors{'sections_test_no_use_nodes'} = [];
 $result_nodes_list{'sections_test_no_use_nodes'} = '';
 
 $result_sections_list{'sections_test_no_use_nodes'} = '1|top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->chapter in part
+  prev->top
+  up->top
 3|section
+ section_directions:
+  up->chapter
 4|subsection
+ section_directions:
+  up->section
 5|subsubsection
+ section_directions:
+  up->subsection
 6|part
  part_associated_section: chapter in part
+ section_directions:
+  next->appendix
+  prev->top
 7|chapter in part
  associated_part: part
+ section_directions:
+  next->second chapter in part
+  up->part
+ toplevel_directions:
+  next->second chapter in part
+  prev->chapter
+  up->top
 8|second chapter in part
+ section_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->part
+ toplevel_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->top
 9|unnumbered
+ section_directions:
+  prev->second chapter in part
+  up->part
+ toplevel_directions:
+  next->appendix
+  prev->second chapter in part
+  up->top
 10|appendix
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->unnumbered
+  up->top
 11|appendixsec
+ section_directions:
+  up->appendix
 ';
 
 $result_headings_list{'sections_test_no_use_nodes'} = '';
diff --git 
a/tta/perl/t/results/moresectioning/sections_test_no_use_nodes_use_node_directions.pl
 
b/tta/perl/t/results/moresectioning/sections_test_no_use_nodes_use_node_directions.pl
index 3f0967ef32..d249fcbd45 100644
--- 
a/tta/perl/t/results/moresectioning/sections_test_no_use_nodes_use_node_directions.pl
+++ 
b/tta/perl/t/results/moresectioning/sections_test_no_use_nodes_use_node_directions.pl
@@ -14,7 +14,6 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
   |{ }
  |EXTRA
  |section_childs:EC[E1]
- |section_directions:D[next->E5]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -22,7 +21,6 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
   ||EXTRA
   ||section_childs:EC[E0|E5|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -36,11 +34,9 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,7 +50,6 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -71,7 +66,6 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E2]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -87,7 +81,6 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -105,7 +98,6 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E6|E7|E8]
- |section_directions:D[next->E9|prev->E0]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -120,11 +112,9 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E7|prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,11 +127,9 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E6|up->E5]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E8|prev->E6|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -154,10 +142,8 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E5]
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E9|prev->E7|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,11 +157,9 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[prev->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[prev->E8|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,7 +172,6 @@ 
$result_tree_text{'sections_test_no_use_nodes_use_node_directions'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{11}
@@ -265,18 +248,66 @@ 
$result_errors{'sections_test_no_use_nodes_use_node_directions'} = [];
 $result_nodes_list{'sections_test_no_use_nodes_use_node_directions'} = '';
 
 $result_sections_list{'sections_test_no_use_nodes_use_node_directions'} = 
'1|top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->chapter in part
+  prev->top
+  up->top
 3|section
+ section_directions:
+  up->chapter
 4|subsection
+ section_directions:
+  up->section
 5|subsubsection
+ section_directions:
+  up->subsection
 6|part
  part_associated_section: chapter in part
+ section_directions:
+  next->appendix
+  prev->top
 7|chapter in part
  associated_part: part
+ section_directions:
+  next->second chapter in part
+  up->part
+ toplevel_directions:
+  next->second chapter in part
+  prev->chapter
+  up->top
 8|second chapter in part
+ section_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->part
+ toplevel_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->top
 9|unnumbered
+ section_directions:
+  prev->second chapter in part
+  up->part
+ toplevel_directions:
+  next->appendix
+  prev->second chapter in part
+  up->top
 10|appendix
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->unnumbered
+  up->top
 11|appendixsec
+ section_directions:
+  up->appendix
 ';
 
 $result_headings_list{'sections_test_no_use_nodes_use_node_directions'} = '';
diff --git a/tta/perl/t/results/moresectioning/shortcontents.pl 
b/tta/perl/t/results/moresectioning/shortcontents.pl
index 9256ee35e2..3c0a5c4441 100644
--- a/tta/perl/t/results/moresectioning/shortcontents.pl
+++ b/tta/perl/t/results/moresectioning/shortcontents.pl
@@ -14,7 +14,6 @@ $result_tree_text{'shortcontents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E1]
- |section_directions:D[next->E5]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -22,7 +21,6 @@ $result_tree_text{'shortcontents'} = '*document_root C12
   ||EXTRA
   ||section_childs:EC[E0|E5|E9]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -36,11 +34,9 @@ $result_tree_text{'shortcontents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -54,7 +50,6 @@ $result_tree_text{'shortcontents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -71,7 +66,6 @@ $result_tree_text{'shortcontents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E2]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -87,7 +81,6 @@ $result_tree_text{'shortcontents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1.1.1}
  |section_level:{4}
  |section_number:{5}
@@ -105,7 +98,6 @@ $result_tree_text{'shortcontents'} = '*document_root C12
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E6|E7|E8]
- |section_directions:D[next->E9|prev->E0]
  |section_level:{0}
  |section_number:{6}
   *arguments_line C1
@@ -120,11 +112,9 @@ $result_tree_text{'shortcontents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E5]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[next->E7|prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -137,11 +127,9 @@ $result_tree_text{'shortcontents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E6|up->E5]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{8}
- |toplevel_directions:D[next->E8|prev->E6|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -154,10 +142,8 @@ $result_tree_text{'shortcontents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E5]
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[next->E9|prev->E7|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,11 +157,9 @@ $result_tree_text{'shortcontents'} = '*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[prev->E5]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[prev->E8|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,7 +172,6 @@ $result_tree_text{'shortcontents'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E9]
  |section_heading_number:{A.1}
  |section_level:{2}
  |section_number:{11}
@@ -273,18 +256,66 @@ $result_errors{'shortcontents'} = [];
 $result_nodes_list{'shortcontents'} = '';
 
 $result_sections_list{'shortcontents'} = '1|top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->chapter in part
+  prev->top
+  up->top
 3|section
+ section_directions:
+  up->chapter
 4|subsection
+ section_directions:
+  up->section
 5|subsubsection
+ section_directions:
+  up->subsection
 6|part
  part_associated_section: chapter in part
+ section_directions:
+  next->appendix
+  prev->top
 7|chapter in part
  associated_part: part
+ section_directions:
+  next->second chapter in part
+  up->part
+ toplevel_directions:
+  next->second chapter in part
+  prev->chapter
+  up->top
 8|second chapter in part
+ section_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->part
+ toplevel_directions:
+  next->unnumbered
+  prev->chapter in part
+  up->top
 9|unnumbered
+ section_directions:
+  prev->second chapter in part
+  up->part
+ toplevel_directions:
+  next->appendix
+  prev->second chapter in part
+  up->top
 10|appendix
+ section_directions:
+  prev->part
+ toplevel_directions:
+  prev->unnumbered
+  up->top
 11|appendixsec
+ section_directions:
+  up->appendix
 ';
 
 $result_headings_list{'shortcontents'} = '';
diff --git a/tta/perl/t/results/moresectioning/special_spaces_in_nodes.pl 
b/tta/perl/t/results/moresectioning/special_spaces_in_nodes.pl
index 4a61c54eb0..d9b2d8efda 100644
--- a/tta/perl/t/results/moresectioning/special_spaces_in_nodes.pl
+++ b/tta/perl/t/results/moresectioning/special_spaces_in_nodes.pl
@@ -37,7 +37,6 @@ $result_tree_text{'special_spaces_in_nodes'} = 
'*document_root C14
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -64,11 +63,9 @@ $result_tree_text{'special_spaces_in_nodes'} = 
'*document_root C14
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -481,9 +478,16 @@ $result_nodes_list{'special_spaces_in_nodes'} = '1|Top 
 $result_sections_list{'special_spaces_in_nodes'} = '1|top
  associated_anchor_command: Top 
  associated_node: Top 
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: EN QUAD| | EM QUAD| | EN SPACE| |
  associated_node: EN QUAD| | EM QUAD| | EN SPACE| |
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'special_spaces_in_nodes'} = '';
diff --git a/tta/perl/t/results/moresectioning/top_chapter_sections.pl 
b/tta/perl/t/results/moresectioning/top_chapter_sections.pl
index 23256769fe..992eb768e1 100644
--- a/tta/perl/t/results/moresectioning/top_chapter_sections.pl
+++ b/tta/perl/t/results/moresectioning/top_chapter_sections.pl
@@ -25,7 +25,6 @@ FastForward: [U1]
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -48,10 +47,8 @@ Up: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2|up->E0]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E2|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,11 +73,9 @@ Up: [U0]
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[next->E4|prev->E1|up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E4|prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,7 +97,6 @@ Up: [U2]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{4}
@@ -130,11 +124,9 @@ Up: [U0]
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[next->E8|prev->E2|up->E0]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E8|prev->E2|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -157,7 +149,6 @@ Up: [U4]
   |{ }
  |EXTRA
  |section_childs:EC[E6|E7]
- |section_directions:D[up->E4]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{6}
@@ -183,7 +174,6 @@ Up: [U5]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E5]
  |section_heading_number:{2.1.1}
  |section_level:{3}
  |section_number:{7}
@@ -209,7 +199,6 @@ Up: [U5]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E5]
  |section_heading_number:{2.1.2}
  |section_level:{3}
  |section_number:{8}
@@ -233,11 +222,9 @@ Up: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E0]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{9}
- |toplevel_directions:D[prev->E4|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -301,14 +288,55 @@ $result_errors{'top_chapter_sections'} = [];
 $result_nodes_list{'top_chapter_sections'} = '';
 
 $result_sections_list{'top_chapter_sections'} = '1|top
+ toplevel_directions:
+  next->unnumbered
 2|unnumbered
+ section_directions:
+  next->First chapter
+  up->top
+ toplevel_directions:
+  next->First chapter
+  prev->top
+  up->top
 3|First chapter
+ section_directions:
+  next->Chapter
+  prev->unnumbered
+  up->top
+ toplevel_directions:
+  next->Chapter
+  prev->unnumbered
+  up->top
 4|second
+ section_directions:
+  up->First chapter
 5|Chapter
+ section_directions:
+  next->Chapter 2
+  prev->First chapter
+  up->top
+ toplevel_directions:
+  next->Chapter 2
+  prev->First chapter
+  up->top
 6|Section of chapter
+ section_directions:
+  up->Chapter
 7|subsection 1
+ section_directions:
+  next->subsection 2
+  up->Section of chapter
 8|subsection 2
+ section_directions:
+  prev->subsection 1
+  up->Section of chapter
 9|Chapter 2
+ section_directions:
+  prev->Chapter
+  up->top
+ toplevel_directions:
+  prev->Chapter
+  up->top
 ';
 
 $result_headings_list{'top_chapter_sections'} = '';
diff --git a/tta/perl/t/results/moresectioning/topic_guide.pl 
b/tta/perl/t/results/moresectioning/topic_guide.pl
index 75471245b4..f0b12064f2 100644
--- a/tta/perl/t/results/moresectioning/topic_guide.pl
+++ b/tta/perl/t/results/moresectioning/topic_guide.pl
@@ -38,7 +38,6 @@ $result_tree_text{'topic_guide'} = '*document_root C13
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,11 +108,9 @@ $result_tree_text{'topic_guide'} = '*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E17|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E17|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -497,11 +494,9 @@ $result_tree_text{'topic_guide'} = '*document_root C13
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -792,12 +787,27 @@ $result_nodes_list{'topic_guide'} = '1|Top
 $result_sections_list{'topic_guide'} = '1|A example quide topic collection
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->guide 1
 2|guide 1
  associated_anchor_command: guide1
  associated_node: guide1
+ section_directions:
+  next->guide 2
+  up->A example quide topic collection
+ toplevel_directions:
+  next->guide 2
+  prev->A example quide topic collection
+  up->A example quide topic collection
 3|guide 2
  associated_anchor_command: guide2
  associated_node: guide2
+ section_directions:
+  prev->guide 1
+  up->A example quide topic collection
+ toplevel_directions:
+  prev->guide 1
+  up->A example quide topic collection
 ';
 
 $result_headings_list{'topic_guide'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/cartouche_and_paragraph_indentation.pl 
b/tta/perl/t/results/plaintext_tests/cartouche_and_paragraph_indentation.pl
index 2589bb7090..f908b8589b 100644
--- a/tta/perl/t/results/plaintext_tests/cartouche_and_paragraph_indentation.pl
+++ b/tta/perl/t/results/plaintext_tests/cartouche_and_paragraph_indentation.pl
@@ -34,7 +34,6 @@ $result_tree_text{'cartouche_and_paragraph_indentation'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'cartouche_and_paragraph_indentation'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -127,11 +124,9 @@ $result_tree_text{'cartouche_and_paragraph_indentation'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -265,12 +260,27 @@ $result_nodes_list{'cartouche_and_paragraph_indentation'} 
= '1|top
 $result_sections_list{'cartouche_and_paragraph_indentation'} = '1|top
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->c2
+  up->top
+ toplevel_directions:
+  next->c2
+  prev->top
+  up->top
 3|c2
  associated_anchor_command: chap2
  associated_node: chap2
+ section_directions:
+  prev->chap
+  up->top
+ toplevel_directions:
+  prev->chap
+  up->top
 ';
 
 $result_headings_list{'cartouche_and_paragraph_indentation'} = '';
diff --git a/tta/perl/t/results/plaintext_tests/chinese_mixed_with_en.pl 
b/tta/perl/t/results/plaintext_tests/chinese_mixed_with_en.pl
index a3a5af9f47..b062011690 100644
--- a/tta/perl/t/results/plaintext_tests/chinese_mixed_with_en.pl
+++ b/tta/perl/t/results/plaintext_tests/chinese_mixed_with_en.pl
@@ -60,7 +60,6 @@ $result_tree_text{'chinese_mixed_with_en'} = '*document_root 
C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -90,11 +89,9 @@ $result_tree_text{'chinese_mixed_with_en'} = '*document_root 
C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -239,9 +236,16 @@ $result_nodes_list{'chinese_mixed_with_en'} = '1|Top
 $result_sections_list{'chinese_mixed_with_en'} = '1|Mixed chinese and english
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Mixed english and chinese
 2|Mixed english and chinese
  associated_anchor_command: Mixed english and chinese
  associated_node: Mixed english and chinese
+ section_directions:
+  up->Mixed chinese and english
+ toplevel_directions:
+  prev->Mixed chinese and english
+  up->Mixed chinese and english
 ';
 
 $result_headings_list{'chinese_mixed_with_en'} = '';
diff --git a/tta/perl/t/results/plaintext_tests/japanese_utf8.pl 
b/tta/perl/t/results/plaintext_tests/japanese_utf8.pl
index f2fc4377c4..5ba9fbe721 100644
--- a/tta/perl/t/results/plaintext_tests/japanese_utf8.pl
+++ b/tta/perl/t/results/plaintext_tests/japanese_utf8.pl
@@ -85,7 +85,6 @@ $result_tree_text{'japanese_utf8'} = '*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -194,11 +193,9 @@ $result_tree_text{'japanese_utf8'} = '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -229,11 +226,9 @@ $result_tree_text{'japanese_utf8'} = '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -353,12 +348,27 @@ $result_nodes_list{'japanese_utf8'} = '1|Top
 $result_sections_list{'japanese_utf8'} = '1|GNU LilyPond --- 学習マニュアル
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Preface
 2|Preface
  associated_anchor_command: Preface
  associated_node: Preface
+ section_directions:
+  next->Introduction
+  up->GNU LilyPond --- 学習マニュアル
+ toplevel_directions:
+  next->Introduction
+  prev->GNU LilyPond --- 学習マニュアル
+  up->GNU LilyPond --- 学習マニュアル
 3|Introduction
  associated_anchor_command: Introduction
  associated_node: Introduction
+ section_directions:
+  prev->Preface
+  up->GNU LilyPond --- 学習マニュアル
+ toplevel_directions:
+  prev->Preface
+  up->GNU LilyPond --- 学習マニュアル
 ';
 
 $result_headings_list{'japanese_utf8'} = '';
diff --git a/tta/perl/t/results/plaintext_tests/no_empty_line_after_section.pl 
b/tta/perl/t/results/plaintext_tests/no_empty_line_after_section.pl
index 831b574143..39bf8cc38a 100644
--- a/tta/perl/t/results/plaintext_tests/no_empty_line_after_section.pl
+++ b/tta/perl/t/results/plaintext_tests/no_empty_line_after_section.pl
@@ -22,7 +22,6 @@ $result_tree_text{'no_empty_line_after_section'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -38,11 +37,9 @@ $result_tree_text{'no_empty_line_after_section'} = 
'*document_root C5
   |{ }
  |EXTRA
  |section_childs:EC[E2|E3]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,7 +58,6 @@ $result_tree_text{'no_empty_line_after_section'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3|up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -93,7 +89,6 @@ $result_tree_text{'no_empty_line_after_section'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E2|up->E1]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -161,9 +156,22 @@ $result_errors{'no_empty_line_after_section'} = [];
 $result_nodes_list{'no_empty_line_after_section'} = '';
 
 $result_sections_list{'no_empty_line_after_section'} = '1|top
+ toplevel_directions:
+  next->chap
 2|chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|sec
+ section_directions:
+  next->after sp
+  up->chap
 4|after sp
+ section_directions:
+  prev->sec
+  up->chap
 ';
 
 $result_headings_list{'no_empty_line_after_section'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph.pl 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph.pl
index 6b3ba3fc39..b2a63478a4 100644
--- a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph.pl
+++ b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph.pl
@@ -38,7 +38,6 @@ $result_tree_text{'punctuation_sc_accents_ascii_glyph'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ $result_tree_text{'punctuation_sc_accents_ascii_glyph'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -321,9 +318,16 @@ $result_nodes_list{'punctuation_sc_accents_ascii_glyph'} = 
'1|top
 $result_sections_list{'punctuation_sc_accents_ascii_glyph'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_ascii_glyph'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph_latin1.pl
 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph_latin1.pl
index c0d73d78e1..bfb10d5a86 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph_latin1.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph_latin1.pl
@@ -52,7 +52,6 @@ 
$result_tree_text{'punctuation_sc_accents_ascii_glyph_latin1'} = '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ 
$result_tree_text{'punctuation_sc_accents_ascii_glyph_latin1'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ 
$result_nodes_list{'punctuation_sc_accents_ascii_glyph_latin1'} = '1|top
 $result_sections_list{'punctuation_sc_accents_ascii_glyph_latin1'} = '1|top 
section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_ascii_glyph_latin1'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph_usascii.pl
 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph_usascii.pl
index 1290c09525..101fc445ec 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph_usascii.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_ascii_glyph_usascii.pl
@@ -52,7 +52,6 @@ 
$result_tree_text{'punctuation_sc_accents_ascii_glyph_usascii'} = '*document_roo
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ 
$result_tree_text{'punctuation_sc_accents_ascii_glyph_usascii'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -342,9 +339,16 @@ 
$result_nodes_list{'punctuation_sc_accents_ascii_glyph_usascii'} = '1|top
 $result_sections_list{'punctuation_sc_accents_ascii_glyph_usascii'} = '1|top 
section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_ascii_glyph_usascii'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default.pl 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default.pl
index 7b396773af..71b7d1080f 100644
--- a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default.pl
+++ b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default.pl
@@ -38,7 +38,6 @@ $result_tree_text{'punctuation_sc_accents_default'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ $result_tree_text{'punctuation_sc_accents_default'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -321,9 +318,16 @@ $result_nodes_list{'punctuation_sc_accents_default'} = 
'1|top
 $result_sections_list{'punctuation_sc_accents_default'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_default'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default_latin1.pl 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default_latin1.pl
index 7088defdaf..bf04a6c02a 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default_latin1.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default_latin1.pl
@@ -52,7 +52,6 @@ $result_tree_text{'punctuation_sc_accents_default_latin1'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'punctuation_sc_accents_default_latin1'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ 
$result_nodes_list{'punctuation_sc_accents_default_latin1'} = '1|top
 $result_sections_list{'punctuation_sc_accents_default_latin1'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_default_latin1'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default_usascii.pl 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default_usascii.pl
index bb887939ab..c98a5570d0 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default_usascii.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_default_usascii.pl
@@ -52,7 +52,6 @@ $result_tree_text{'punctuation_sc_accents_default_usascii'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'punctuation_sc_accents_default_usascii'} 
= '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -342,9 +339,16 @@ 
$result_nodes_list{'punctuation_sc_accents_default_usascii'} = '1|top
 $result_sections_list{'punctuation_sc_accents_default_usascii'} = '1|top 
section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_default_usascii'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding.pl 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding.pl
index a3a258ae91..3d436091eb 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding.pl
@@ -38,7 +38,6 @@ $result_tree_text{'punctuation_sc_accents_disable_encoding'} 
= '*document_root C
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ $result_tree_text{'punctuation_sc_accents_disable_encoding'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -321,9 +318,16 @@ 
$result_nodes_list{'punctuation_sc_accents_disable_encoding'} = '1|top
 $result_sections_list{'punctuation_sc_accents_disable_encoding'} = '1|top 
section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_disable_encoding'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding_latin1.pl
 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding_latin1.pl
index f504906ef6..5bd581b810 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding_latin1.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding_latin1.pl
@@ -52,7 +52,6 @@ 
$result_tree_text{'punctuation_sc_accents_disable_encoding_latin1'} = '*document
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ 
$result_tree_text{'punctuation_sc_accents_disable_encoding_latin1'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ 
$result_nodes_list{'punctuation_sc_accents_disable_encoding_latin1'} = '1|top
 $result_sections_list{'punctuation_sc_accents_disable_encoding_latin1'} = 
'1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_disable_encoding_latin1'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding_usascii.pl
 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding_usascii.pl
index 1bd3f937fb..81f0bf8de5 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding_usascii.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_disable_encoding_usascii.pl
@@ -52,7 +52,6 @@ 
$result_tree_text{'punctuation_sc_accents_disable_encoding_usascii'} = '*documen
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ 
$result_tree_text{'punctuation_sc_accents_disable_encoding_usascii'} = '*documen
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -342,9 +339,16 @@ 
$result_nodes_list{'punctuation_sc_accents_disable_encoding_usascii'} = '1|top
 $result_sections_list{'punctuation_sc_accents_disable_encoding_usascii'} = 
'1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_disable_encoding_usascii'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_ascii_glyph_latin1.pl
 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_ascii_glyph_latin1.pl
index a385e2adb9..a0b56d9e4f 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_ascii_glyph_latin1.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_ascii_glyph_latin1.pl
@@ -52,7 +52,6 @@ 
$result_tree_text{'punctuation_sc_accents_to_utf8_ascii_glyph_latin1'} = '*docum
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ 
$result_tree_text{'punctuation_sc_accents_to_utf8_ascii_glyph_latin1'} = '*docum
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ 
$result_nodes_list{'punctuation_sc_accents_to_utf8_ascii_glyph_latin1'} = '1|top
 $result_sections_list{'punctuation_sc_accents_to_utf8_ascii_glyph_latin1'} = 
'1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_to_utf8_ascii_glyph_latin1'} = 
'';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_ascii_glyph_usascii.pl
 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_ascii_glyph_usascii.pl
index 580121d67f..6036eebbcf 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_ascii_glyph_usascii.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_ascii_glyph_usascii.pl
@@ -52,7 +52,6 @@ 
$result_tree_text{'punctuation_sc_accents_to_utf8_ascii_glyph_usascii'} = '*docu
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ 
$result_tree_text{'punctuation_sc_accents_to_utf8_ascii_glyph_usascii'} = '*docu
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -342,9 +339,16 @@ 
$result_nodes_list{'punctuation_sc_accents_to_utf8_ascii_glyph_usascii'} = '1|to
 $result_sections_list{'punctuation_sc_accents_to_utf8_ascii_glyph_usascii'} = 
'1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_to_utf8_ascii_glyph_usascii'} = 
'';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_latin1.pl 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_latin1.pl
index de2f0bfcd2..6f3208da0c 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_latin1.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_latin1.pl
@@ -52,7 +52,6 @@ $result_tree_text{'punctuation_sc_accents_to_utf8_latin1'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'punctuation_sc_accents_to_utf8_latin1'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -338,9 +335,16 @@ 
$result_nodes_list{'punctuation_sc_accents_to_utf8_latin1'} = '1|top
 $result_sections_list{'punctuation_sc_accents_to_utf8_latin1'} = '1|top section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_to_utf8_latin1'} = '';
diff --git 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_usascii.pl 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_usascii.pl
index 00bf2c0767..06af6e28c7 100644
--- 
a/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_usascii.pl
+++ 
b/tta/perl/t/results/plaintext_tests/punctuation_sc_accents_to_utf8_usascii.pl
@@ -52,7 +52,6 @@ $result_tree_text{'punctuation_sc_accents_to_utf8_usascii'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'punctuation_sc_accents_to_utf8_usascii'} 
= '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -342,9 +339,16 @@ 
$result_nodes_list{'punctuation_sc_accents_to_utf8_usascii'} = '1|top
 $result_sections_list{'punctuation_sc_accents_to_utf8_usascii'} = '1|top 
section
  associated_anchor_command: top
  associated_node: top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: node chap
  associated_node: node chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'punctuation_sc_accents_to_utf8_usascii'} = '';
diff --git a/tta/perl/t/results/plaintext_tests/quote_node_names.pl 
b/tta/perl/t/results/plaintext_tests/quote_node_names.pl
index b47b8200c0..c8ea4c1801 100644
--- a/tta/perl/t/results/plaintext_tests/quote_node_names.pl
+++ b/tta/perl/t/results/plaintext_tests/quote_node_names.pl
@@ -32,7 +32,6 @@ $result_tree_text{'quote_node_names'} = '*document_root C12
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg
    |INFO
@@ -405,11 +404,9 @@ $result_tree_text{'quote_node_names'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -439,11 +436,9 @@ $result_tree_text{'quote_node_names'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -511,11 +506,9 @@ $result_tree_text{'quote_node_names'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -544,11 +537,9 @@ $result_tree_text{'quote_node_names'} = '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -792,18 +783,49 @@ $result_nodes_list{'quote_node_names'} = '1|Top
 $result_sections_list{'quote_node_names'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->blah:blah
 2|blah:blah
  associated_anchor_command: blah:blah
  associated_node: blah:blah
+ section_directions:
+  next->blumpty.fump
+  up->
+ toplevel_directions:
+  next->blumpty.fump
+  prev->
+  up->
 3|blumpty.fump
  associated_anchor_command: blumpty.fump
  associated_node: blumpty.fump
+ section_directions:
+  next->normal node
+  prev->blah:blah
+  up->
+ toplevel_directions:
+  next->normal node
+  prev->blah:blah
+  up->
 4|normal node
  associated_anchor_command: normal node
  associated_node: normal node
+ section_directions:
+  next->@asis{secret,node}
+  prev->blumpty.fump
+  up->
+ toplevel_directions:
+  next->@asis{secret,node}
+  prev->blumpty.fump
+  up->
 5|@asis{secret,node}
  associated_anchor_command: @asis{secret,node}
  associated_node: @asis{secret,node}
+ section_directions:
+  prev->normal node
+  up->
+ toplevel_directions:
+  prev->normal node
+  up->
 ';
 
 $result_headings_list{'quote_node_names'} = '';
diff --git a/tta/perl/t/results/regions/anchor_in_titlepage.pl 
b/tta/perl/t/results/regions/anchor_in_titlepage.pl
index 6c7673f9ad..cc8d04ea81 100644
--- a/tta/perl/t/results/regions/anchor_in_titlepage.pl
+++ b/tta/perl/t/results/regions/anchor_in_titlepage.pl
@@ -49,7 +49,6 @@ $result_tree_text{'anchor_in_titlepage'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,11 +75,9 @@ $result_tree_text{'anchor_in_titlepage'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -160,9 +157,16 @@ $result_nodes_list{'anchor_in_titlepage'} = '1|Top
 ';
 
 $result_sections_list{'anchor_in_titlepage'} = '1|top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'anchor_in_titlepage'} = '';
diff --git a/tta/perl/t/results/regions/anchor_in_titlepage_titlepage.pl 
b/tta/perl/t/results/regions/anchor_in_titlepage_titlepage.pl
index b95365f5c9..b59b747d96 100644
--- a/tta/perl/t/results/regions/anchor_in_titlepage_titlepage.pl
+++ b/tta/perl/t/results/regions/anchor_in_titlepage_titlepage.pl
@@ -49,7 +49,6 @@ $result_tree_text{'anchor_in_titlepage_titlepage'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,11 +75,9 @@ $result_tree_text{'anchor_in_titlepage_titlepage'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -160,9 +157,16 @@ $result_nodes_list{'anchor_in_titlepage_titlepage'} = 
'1|Top
 ';
 
 $result_sections_list{'anchor_in_titlepage_titlepage'} = '1|top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'anchor_in_titlepage_titlepage'} = '';
diff --git a/tta/perl/t/results/regions/ref_in_copying.pl 
b/tta/perl/t/results/regions/ref_in_copying.pl
index f32fbe1db2..900a4ea3af 100644
--- a/tta/perl/t/results/regions/ref_in_copying.pl
+++ b/tta/perl/t/results/regions/ref_in_copying.pl
@@ -61,7 +61,6 @@ $result_tree_text{'ref_in_copying'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -122,11 +121,9 @@ $result_tree_text{'ref_in_copying'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -191,9 +188,16 @@ $result_nodes_list{'ref_in_copying'} = '1|Top
 $result_sections_list{'ref_in_copying'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->GFDL
 2|GFDL
  associated_anchor_command: GFDL
  associated_node: GFDL
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'ref_in_copying'} = '';
diff --git a/tta/perl/t/results/regions/ref_in_copying_insert_in_chapter.pl 
b/tta/perl/t/results/regions/ref_in_copying_insert_in_chapter.pl
index d5887a2226..19bf79815f 100644
--- a/tta/perl/t/results/regions/ref_in_copying_insert_in_chapter.pl
+++ b/tta/perl/t/results/regions/ref_in_copying_insert_in_chapter.pl
@@ -61,7 +61,6 @@ $result_tree_text{'ref_in_copying_insert_in_chapter'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -89,11 +88,9 @@ $result_tree_text{'ref_in_copying_insert_in_chapter'} = 
'*document_root C7
   |{ }
  |EXTRA
  |section_childs:EC[E6]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -154,7 +151,6 @@ $result_tree_text{'ref_in_copying_insert_in_chapter'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -233,12 +229,21 @@ $result_nodes_list{'ref_in_copying_insert_in_chapter'} = 
'1|Top
 $result_sections_list{'ref_in_copying_insert_in_chapter'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Introduction
 2|Introduction
  associated_anchor_command: Intro
  associated_node: Intro
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|GFDL
  associated_anchor_command: GFDL
  associated_node: GFDL
+ section_directions:
+  up->Introduction
 ';
 
 $result_headings_list{'ref_in_copying_insert_in_chapter'} = '';
diff --git a/tta/perl/t/results/sectioning/automatic_menu_referencing_node.pl 
b/tta/perl/t/results/sectioning/automatic_menu_referencing_node.pl
index 26678c55f6..afe7eea185 100644
--- a/tta/perl/t/results/sectioning/automatic_menu_referencing_node.pl
+++ b/tta/perl/t/results/sectioning/automatic_menu_referencing_node.pl
@@ -34,7 +34,6 @@ $result_tree_text{'automatic_menu_referencing_node'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'automatic_menu_referencing_node'} = 
'*document_root C7
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -93,7 +90,6 @@ $result_tree_text{'automatic_menu_referencing_node'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -151,12 +147,21 @@ $result_nodes_list{'automatic_menu_referencing_node'} = 
'1|Top
 $result_sections_list{'automatic_menu_referencing_node'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: Chapter
  associated_node: Chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|sec
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->chap
 ';
 
 $result_headings_list{'automatic_menu_referencing_node'} = '';
diff --git a/tta/perl/t/results/sectioning/automatic_menu_with_heading.pl 
b/tta/perl/t/results/sectioning/automatic_menu_with_heading.pl
index d48b46c2e6..1136ce7cd3 100644
--- a/tta/perl/t/results/sectioning/automatic_menu_with_heading.pl
+++ b/tta/perl/t/results/sectioning/automatic_menu_with_heading.pl
@@ -34,7 +34,6 @@ $result_tree_text{'automatic_menu_with_heading'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -96,11 +95,9 @@ $result_tree_text{'automatic_menu_with_heading'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -159,8 +156,15 @@ $result_nodes_list{'automatic_menu_with_heading'} = '1|Top
 $result_sections_list{'automatic_menu_with_heading'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_node: heading or chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'automatic_menu_with_heading'} = '1|Heading
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 18b5802c6a..b59bcc66a6 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
@@ -26,7 +26,6 @@ FastForward: [U1]
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ FastBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -107,10 +104,16 @@ $result_errors{'chapter_before_and_after_part'} = [];
 $result_nodes_list{'chapter_before_and_after_part'} = '';
 
 $result_sections_list{'chapter_before_and_after_part'} = '1|chapter
+ toplevel_directions:
+  next->chapter 2
 2|part
  part_associated_section: chapter 2
 3|chapter 2
  associated_part: part
+ section_directions:
+  up->part
+ toplevel_directions:
+  prev->chapter
 ';
 
 $result_headings_list{'chapter_before_and_after_part'} = '';
diff --git a/tta/perl/t/results/sectioning/chapter_between_nodes.pl 
b/tta/perl/t/results/sectioning/chapter_between_nodes.pl
index f380168e40..2f1ae238c9 100644
--- a/tta/perl/t/results/sectioning/chapter_between_nodes.pl
+++ b/tta/perl/t/results/sectioning/chapter_between_nodes.pl
@@ -35,7 +35,6 @@ $result_tree_text{'chapter_between_nodes'} = '*document_root 
C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -80,11 +79,9 @@ $result_tree_text{'chapter_between_nodes'} = '*document_root 
C6
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -121,7 +118,6 @@ $result_tree_text{'chapter_between_nodes'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -203,10 +199,19 @@ $result_nodes_list{'chapter_between_nodes'} = '1|Top
 $result_sections_list{'chapter_between_nodes'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 3|section
  associated_anchor_command: section node
  associated_node: section node
+ section_directions:
+  up->Chapter
 ';
 
 $result_headings_list{'chapter_between_nodes'} = '';
diff --git a/tta/perl/t/results/sectioning/chapter_between_nodes_texi2html.pl 
b/tta/perl/t/results/sectioning/chapter_between_nodes_texi2html.pl
index 432554de47..c40c8ea8d7 100644
--- a/tta/perl/t/results/sectioning/chapter_between_nodes_texi2html.pl
+++ b/tta/perl/t/results/sectioning/chapter_between_nodes_texi2html.pl
@@ -34,7 +34,6 @@ $result_tree_text{'chapter_between_nodes_texi2html'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,11 +78,9 @@ $result_tree_text{'chapter_between_nodes_texi2html'} = 
'*document_root C6
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -120,7 +117,6 @@ $result_tree_text{'chapter_between_nodes_texi2html'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -202,10 +198,19 @@ $result_nodes_list{'chapter_between_nodes_texi2html'} = 
'1|Top
 $result_sections_list{'chapter_between_nodes_texi2html'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 3|section
  associated_anchor_command: section node
  associated_node: section node
+ section_directions:
+  up->Chapter
 ';
 
 $result_headings_list{'chapter_between_nodes_texi2html'} = '';
diff --git 
a/tta/perl/t/results/sectioning/chapter_between_nodes_with_appendix.pl 
b/tta/perl/t/results/sectioning/chapter_between_nodes_with_appendix.pl
index e5fbac80f0..3ce6a15f8c 100644
--- a/tta/perl/t/results/sectioning/chapter_between_nodes_with_appendix.pl
+++ b/tta/perl/t/results/sectioning/chapter_between_nodes_with_appendix.pl
@@ -34,7 +34,6 @@ $result_tree_text{'chapter_between_nodes_with_appendix'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -46,11 +45,9 @@ $result_tree_text{'chapter_between_nodes_with_appendix'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -108,11 +105,9 @@ $result_tree_text{'chapter_between_nodes_with_appendix'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E2|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E2|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -171,10 +166,25 @@ $result_nodes_list{'chapter_between_nodes_with_appendix'} 
= '1|Top
 $result_sections_list{'chapter_between_nodes_with_appendix'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Main
 2|Main
+ section_directions:
+  next->Annex
+  up->top section
+ toplevel_directions:
+  next->Annex
+  prev->top section
+  up->top section
 3|Annex
  associated_anchor_command: Additional
  associated_node: Additional
+ section_directions:
+  prev->Main
+  up->top section
+ toplevel_directions:
+  prev->Main
+  up->top section
 ';
 
 $result_headings_list{'chapter_between_nodes_with_appendix'} = '';
diff --git 
a/tta/perl/t/results/sectioning/chapter_between_nodes_with_appendix_nomenu.pl 
b/tta/perl/t/results/sectioning/chapter_between_nodes_with_appendix_nomenu.pl
index 5db6916471..ec3c12b291 100644
--- 
a/tta/perl/t/results/sectioning/chapter_between_nodes_with_appendix_nomenu.pl
+++ 
b/tta/perl/t/results/sectioning/chapter_between_nodes_with_appendix_nomenu.pl
@@ -34,7 +34,6 @@ 
$result_tree_text{'chapter_between_nodes_with_appendix_nomenu'} = '*document_roo
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -46,11 +45,9 @@ 
$result_tree_text{'chapter_between_nodes_with_appendix_nomenu'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -108,11 +105,9 @@ 
$result_tree_text{'chapter_between_nodes_with_appendix_nomenu'} = '*document_roo
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E2|up->E1]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E2|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -168,10 +163,25 @@ 
$result_nodes_list{'chapter_between_nodes_with_appendix_nomenu'} = '1|Top
 $result_sections_list{'chapter_between_nodes_with_appendix_nomenu'} = '1|top 
section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Main
 2|Main
+ section_directions:
+  next->Annex
+  up->top section
+ toplevel_directions:
+  next->Annex
+  prev->top section
+  up->top section
 3|Annex
  associated_anchor_command: Additional
  associated_node: Additional
+ section_directions:
+  prev->Main
+  up->top section
+ toplevel_directions:
+  prev->Main
+  up->top section
 ';
 
 $result_headings_list{'chapter_between_nodes_with_appendix_nomenu'} = '';
diff --git 
a/tta/perl/t/results/sectioning/chapter_node_before_and_after_part.pl 
b/tta/perl/t/results/sectioning/chapter_node_before_and_after_part.pl
index 8c1adb500f..ef89b2bc15 100644
--- a/tta/perl/t/results/sectioning/chapter_node_before_and_after_part.pl
+++ b/tta/perl/t/results/sectioning/chapter_node_before_and_after_part.pl
@@ -35,7 +35,6 @@ $result_tree_text{'chapter_node_before_and_after_part'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1|E3]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -107,11 +106,9 @@ $result_tree_text{'chapter_node_before_and_after_part'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -189,6 +186,8 @@ $result_nodes_list{'chapter_node_before_and_after_part'} = 
'1|Top
 $result_sections_list{'chapter_node_before_and_after_part'} = '1|chapter
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter 2
 2|part
  part_associated_section: chapter 2
  part_following_node: after
@@ -196,6 +195,10 @@ 
$result_sections_list{'chapter_node_before_and_after_part'} = '1|chapter
  associated_anchor_command: after
  associated_node: after
  associated_part: part
+ section_directions:
+  up->part
+ toplevel_directions:
+  prev->chapter
 ';
 
 $result_headings_list{'chapter_node_before_and_after_part'} = '';
diff --git a/tta/perl/t/results/sectioning/contents_and_parts.pl 
b/tta/perl/t/results/sectioning/contents_and_parts.pl
index f403633ea0..e7de268a5c 100644
--- a/tta/perl/t/results/sectioning/contents_and_parts.pl
+++ b/tta/perl/t/results/sectioning/contents_and_parts.pl
@@ -27,7 +27,6 @@ $result_tree_text{'contents_and_parts'} = '*document_root C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -35,7 +34,6 @@ $result_tree_text{'contents_and_parts'} = '*document_root C11
   ||EXTRA
   ||section_childs:EC[E1|E3|E8]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -101,7 +99,6 @@ $result_tree_text{'contents_and_parts'} = '*document_root C11
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E5|E7]
- |section_directions:D[next->E8|prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -130,11 +127,9 @@ $result_tree_text{'contents_and_parts'} = '*document_root 
C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -161,11 +156,9 @@ $result_tree_text{'contents_and_parts'} = '*document_root 
C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5|up->E3]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -180,7 +173,6 @@ $result_tree_text{'contents_and_parts'} = '*document_root 
C11
  |EXTRA
  |global_command_number:{2}
  |section_childs:EC[E10]
- |section_directions:D[prev->E3]
  |section_level:{0}
  |section_number:{5}
   *arguments_line C1
@@ -209,11 +201,9 @@ $result_tree_text{'contents_and_parts'} = '*document_root 
C11
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E8]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[prev->E7|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -332,23 +322,51 @@ $result_nodes_list{'contents_and_parts'} = '1|Top
 $result_sections_list{'contents_and_parts'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->part 1: part 1
+ toplevel_directions:
+  next->chapter 1
 2|part 1: part 1
  part_associated_section: chapter 1
  part_following_node: chapter 1 node
+ section_directions:
+  next->part2: part2
+  prev->top
 3|chapter 1
  associated_anchor_command: chapter 1 node
  associated_node: chapter 1 node
  associated_part: part 1: part 1
+ section_directions:
+  next->chapter 2
+  up->part 1: part 1
+ toplevel_directions:
+  next->chapter 2
+  prev->top
+  up->top
 4|chapter 2
  associated_anchor_command: chapter 2 node
  associated_node: chapter 2 node
+ section_directions:
+  prev->chapter 1
+  up->part 1: part 1
+ toplevel_directions:
+  next->chapter 3
+  prev->chapter 1
+  up->top
 5|part2: part2
  part_associated_section: chapter 3
  part_following_node: chapter 3 node
+ section_directions:
+  prev->part 1: part 1
 6|chapter 3
  associated_anchor_command: chapter 3 node
  associated_node: chapter 3 node
  associated_part: part2: part2
+ section_directions:
+  up->part2: part2
+ toplevel_directions:
+  prev->chapter 2
+  up->top
 ';
 
 $result_headings_list{'contents_and_parts'} = '';
diff --git a/tta/perl/t/results/sectioning/contents_in_html_text.pl 
b/tta/perl/t/results/sectioning/contents_in_html_text.pl
index 164be796e9..a0a6fa3d0f 100644
--- a/tta/perl/t/results/sectioning/contents_in_html_text.pl
+++ b/tta/perl/t/results/sectioning/contents_in_html_text.pl
@@ -20,7 +20,6 @@ $result_tree_text{'contents_in_html_text'} = '*document_root 
C5
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -34,11 +33,9 @@ $result_tree_text{'contents_in_html_text'} = '*document_root 
C5
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[next->E3|up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E3|prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -51,7 +48,6 @@ $result_tree_text{'contents_in_html_text'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -67,11 +63,9 @@ $result_tree_text{'contents_in_html_text'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E1|up->E0]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E1|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -123,9 +117,26 @@ $result_errors{'contents_in_html_text'} = [];
 $result_nodes_list{'contents_in_html_text'} = '';
 
 $result_sections_list{'contents_in_html_text'} = '1|top
+ toplevel_directions:
+  next->Chap1
 2|Chap1
+ section_directions:
+  next->Chap2
+  up->top
+ toplevel_directions:
+  next->Chap2
+  prev->top
+  up->top
 3|Sec 1
+ section_directions:
+  up->Chap1
 4|Chap2
+ section_directions:
+  prev->Chap1
+  up->top
+ toplevel_directions:
+  prev->Chap1
+  up->top
 ';
 
 $result_headings_list{'contents_in_html_text'} = '';
diff --git a/tta/perl/t/results/sectioning/double_part.pl 
b/tta/perl/t/results/sectioning/double_part.pl
index eb260524cc..af9d83fe3d 100644
--- a/tta/perl/t/results/sectioning/double_part.pl
+++ b/tta/perl/t/results/sectioning/double_part.pl
@@ -35,7 +35,6 @@ NodeForward: [U2]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -43,7 +42,6 @@ NodeForward: [U2]
   ||EXTRA
   ||section_childs:EC[E1|E3|E4]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,7 +93,6 @@ Prev: [U0]
   |{ }
  |EXTRA
  |global_command_number:{1}
- |section_directions:D[next->E4|prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -123,7 +120,6 @@ NodeBack: [U0]
  |EXTRA
  |global_command_number:{2}
  |section_childs:EC[E6]
- |section_directions:D[prev->E3]
  |section_level:{0}
  |section_number:{3}
   *arguments_line C1
@@ -154,11 +150,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -252,14 +246,28 @@ $result_nodes_list{'double_part'} = '1|Top
 $result_sections_list{'double_part'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->part first
+ toplevel_directions:
+  next->chapter after 2 parts
 2|part first
+ section_directions:
+  next->part second
+  prev->top
 3|part second
  part_associated_section: chapter after 2 parts
  part_following_node: node chapter
+ section_directions:
+  prev->part first
 4|chapter after 2 parts
  associated_anchor_command: node chapter
  associated_node: node chapter
  associated_part: part second
+ section_directions:
+  up->part second
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'double_part'} = '';
diff --git 
a/tta/perl/t/results/sectioning/double_recursive_self_section_node_reference.pl 
b/tta/perl/t/results/sectioning/double_recursive_self_section_node_reference.pl
index c93474e365..32b780011e 100644
--- 
a/tta/perl/t/results/sectioning/double_recursive_self_section_node_reference.pl
+++ 
b/tta/perl/t/results/sectioning/double_recursive_self_section_node_reference.pl
@@ -35,7 +35,6 @@ 
$result_tree_text{'double_recursive_self_section_node_reference'} = '*document_r
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ 
$result_tree_text{'double_recursive_self_section_node_reference'} = '*document_r
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -162,9 +159,16 @@ 
$result_nodes_list{'double_recursive_self_section_node_reference'} = '1|Top
 $result_sections_list{'double_recursive_self_section_node_reference'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->@ref{to node1}
 2|@ref{to node1}
  associated_anchor_command: node1
  associated_node: node1
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'double_recursive_self_section_node_reference'} = '';
diff --git 
a/tta/perl/t/results/sectioning/double_recursive_self_section_node_reference_no_use_node.pl
 
b/tta/perl/t/results/sectioning/double_recursive_self_section_node_reference_no_use_node.pl
index 673f01d834..c847a35ed4 100644
--- 
a/tta/perl/t/results/sectioning/double_recursive_self_section_node_reference_no_use_node.pl
+++ 
b/tta/perl/t/results/sectioning/double_recursive_self_section_node_reference_no_use_node.pl
@@ -35,7 +35,6 @@ 
$result_tree_text{'double_recursive_self_section_node_reference_no_use_node'} =
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ 
$result_tree_text{'double_recursive_self_section_node_reference_no_use_node'} =
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -162,9 +159,16 @@ 
$result_nodes_list{'double_recursive_self_section_node_reference_no_use_node'} =
 
$result_sections_list{'double_recursive_self_section_node_reference_no_use_node'}
 = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->@ref{to node1}
 2|@ref{to node1}
  associated_anchor_command: node1
  associated_node: node1
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 
$result_headings_list{'double_recursive_self_section_node_reference_no_use_node'}
 = '';
diff --git 
a/tta/perl/t/results/sectioning/double_recursive_self_section_reference.pl 
b/tta/perl/t/results/sectioning/double_recursive_self_section_reference.pl
index 44b0acc33f..1c4ba4f20f 100644
--- a/tta/perl/t/results/sectioning/double_recursive_self_section_reference.pl
+++ b/tta/perl/t/results/sectioning/double_recursive_self_section_reference.pl
@@ -27,7 +27,6 @@ $result_tree_text{'double_recursive_self_section_reference'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{1}
@@ -36,7 +35,6 @@ $result_tree_text{'double_recursive_self_section_reference'} 
= '*document_root C
   ||EXTRA
   ||section_childs:EC[E1|E3]
   ||section_level:{0}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -68,11 +66,9 @@ $result_tree_text{'double_recursive_self_section_reference'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -120,9 +116,17 @@ 
$result_nodes_list{'double_recursive_self_section_reference'} = '1|n1
 $result_sections_list{'double_recursive_self_section_reference'} = '1|@ref{n2}
  associated_anchor_command: n1
  associated_node: n1
+ section_directions:
+  next->@ref{n1}
+ toplevel_directions:
+  next->@ref{n1}
 2|@ref{n1}
  associated_anchor_command: n2
  associated_node: n2
+ section_directions:
+  prev->@ref{n2}
+ toplevel_directions:
+  prev->@ref{n2}
 ';
 
 $result_headings_list{'double_recursive_self_section_reference'} = '';
diff --git a/tta/perl/t/results/sectioning/double_top_section.pl 
b/tta/perl/t/results/sectioning/double_top_section.pl
index 3299bc441e..01f891f5b6 100644
--- a/tta/perl/t/results/sectioning/double_top_section.pl
+++ b/tta/perl/t/results/sectioning/double_top_section.pl
@@ -12,7 +12,6 @@ $result_tree_text{'double_top_section'} = '*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -20,7 +19,6 @@ $result_tree_text{'double_top_section'} = '*document_root C3
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -36,10 +34,8 @@ $result_tree_text{'double_top_section'} = '*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_level:{0}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -87,7 +83,16 @@ $result_errors{'double_top_section'} = [
 $result_nodes_list{'double_top_section'} = '';
 
 $result_sections_list{'double_top_section'} = '1|First top
+ section_directions:
+  next->Second top
+ toplevel_directions:
+  next->Second top
 2|Second top
+ section_directions:
+  prev->First top
+ toplevel_directions:
+  prev->First top
+  up->First top
 ';
 
 $result_headings_list{'double_top_section'} = '';
diff --git a/tta/perl/t/results/sectioning/empty_section_in_chapter.pl 
b/tta/perl/t/results/sectioning/empty_section_in_chapter.pl
index c3fb6971b8..76ee52f0a1 100644
--- a/tta/perl/t/results/sectioning/empty_section_in_chapter.pl
+++ b/tta/perl/t/results/sectioning/empty_section_in_chapter.pl
@@ -31,7 +31,6 @@ $result_tree_text{'empty_section_in_chapter'} = 
'*document_root C3
   {empty_line:\\n}
  *1 @section C1 l3
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{2}
@@ -71,6 +70,8 @@ $result_nodes_list{'empty_section_in_chapter'} = '';
 
 $result_sections_list{'empty_section_in_chapter'} = '1|chap
 2
+ section_directions:
+  up->chap
 ';
 
 $result_headings_list{'empty_section_in_chapter'} = '';
diff --git a/tta/perl/t/results/sectioning/external_node_in_menu.pl 
b/tta/perl/t/results/sectioning/external_node_in_menu.pl
index d3a67fdcf3..c06f24a1c4 100644
--- a/tta/perl/t/results/sectioning/external_node_in_menu.pl
+++ b/tta/perl/t/results/sectioning/external_node_in_menu.pl
@@ -34,7 +34,6 @@ $result_tree_text{'external_node_in_menu'} = '*document_root 
C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -116,11 +115,9 @@ $result_tree_text{'external_node_in_menu'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -147,11 +144,9 @@ $result_tree_text{'external_node_in_menu'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -228,12 +223,27 @@ $result_nodes_list{'external_node_in_menu'} = '1|Top
 $result_sections_list{'external_node_in_menu'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap1
 2|chap1
  associated_anchor_command: nchapter1
  associated_node: nchapter1
+ section_directions:
+  next->chap2
+  up->top
+ toplevel_directions:
+  next->chap2
+  prev->top
+  up->top
 3|chap2
  associated_anchor_command: nchapter2
  associated_node: nchapter2
+ section_directions:
+  prev->chap1
+  up->top
+ toplevel_directions:
+  prev->chap1
+  up->top
 ';
 
 $result_headings_list{'external_node_in_menu'} = '';
diff --git a/tta/perl/t/results/sectioning/hole_in_sectioning.pl 
b/tta/perl/t/results/sectioning/hole_in_sectioning.pl
index 50f0c4fb00..4a77168a80 100644
--- a/tta/perl/t/results/sectioning/hole_in_sectioning.pl
+++ b/tta/perl/t/results/sectioning/hole_in_sectioning.pl
@@ -20,7 +20,6 @@ $result_tree_text{'hole_in_sectioning'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -34,11 +33,9 @@ $result_tree_text{'hole_in_sectioning'} = '*document_root C6
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -52,7 +49,6 @@ $result_tree_text{'hole_in_sectioning'} = '*document_root C6
   |{ }
  |EXTRA
  |section_childs:EC[E3|E4]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -68,7 +64,6 @@ $result_tree_text{'hole_in_sectioning'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|up->E2]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -84,7 +79,6 @@ $result_tree_text{'hole_in_sectioning'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E2]
  |section_heading_number:{1.1.2}
  |section_level:{3}
  |section_number:{5}
@@ -139,10 +133,25 @@ $result_errors{'hole_in_sectioning'} = [
 $result_nodes_list{'hole_in_sectioning'} = '';
 
 $result_sections_list{'hole_in_sectioning'} = '1|Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 3|section
+ section_directions:
+  up->Chapter
 4|subsubsection with no subsection above
+ section_directions:
+  next->the subsection
+  up->section
 5|the subsection
+ section_directions:
+  prev->subsubsection with no subsection above
+  up->section
 ';
 
 $result_headings_list{'hole_in_sectioning'} = '';
diff --git 
a/tta/perl/t/results/sectioning/in_menu_only_special_ascii_spaces_node.pl 
b/tta/perl/t/results/sectioning/in_menu_only_special_ascii_spaces_node.pl
index c5b5c8743f..dbe6b1ce84 100644
--- a/tta/perl/t/results/sectioning/in_menu_only_special_ascii_spaces_node.pl
+++ b/tta/perl/t/results/sectioning/in_menu_only_special_ascii_spaces_node.pl
@@ -35,7 +35,6 @@ $result_tree_text{'in_menu_only_special_ascii_spaces_node'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -86,11 +85,9 @@ $result_tree_text{'in_menu_only_special_ascii_spaces_node'} 
= '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,11 +106,9 @@ 
$result_tree_text{'in_menu_only_special_ascii_spaces_node'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -202,8 +197,23 @@ 
$result_nodes_list{'in_menu_only_special_ascii_spaces_node'} = '1|Top
 $result_sections_list{'in_menu_only_special_ascii_spaces_node'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->CARRIAGE RETURN|'."\r".'|
 2|CARRIAGE RETURN|'."\r".'|
+ section_directions:
+  next->CHARACTER TABULATION|  | FORM FEED||
+  up->top
+ toplevel_directions:
+  next->CHARACTER TABULATION|  | FORM FEED||
+  prev->top
+  up->top
 3|CHARACTER TABULATION|        | FORM FEED||
+ section_directions:
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
+ toplevel_directions:
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
 ';
 
 $result_headings_list{'in_menu_only_special_ascii_spaces_node'} = '';
diff --git 
a/tta/perl/t/results/sectioning/in_menu_only_special_ascii_spaces_node_menu.pl 
b/tta/perl/t/results/sectioning/in_menu_only_special_ascii_spaces_node_menu.pl
index 3ef6d25ba2..8da974c73f 100644
--- 
a/tta/perl/t/results/sectioning/in_menu_only_special_ascii_spaces_node_menu.pl
+++ 
b/tta/perl/t/results/sectioning/in_menu_only_special_ascii_spaces_node_menu.pl
@@ -35,7 +35,6 @@ 
$result_tree_text{'in_menu_only_special_ascii_spaces_node_menu'} = '*document_ro
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -86,11 +85,9 @@ 
$result_tree_text{'in_menu_only_special_ascii_spaces_node_menu'} = '*document_ro
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,11 +106,9 @@ 
$result_tree_text{'in_menu_only_special_ascii_spaces_node_menu'} = '*document_ro
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -202,8 +197,23 @@ 
$result_nodes_list{'in_menu_only_special_ascii_spaces_node_menu'} = '1|Top
 $result_sections_list{'in_menu_only_special_ascii_spaces_node_menu'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->CARRIAGE RETURN|'."\r".'|
 2|CARRIAGE RETURN|'."\r".'|
+ section_directions:
+  next->CHARACTER TABULATION|  | FORM FEED||
+  up->top
+ toplevel_directions:
+  next->CHARACTER TABULATION|  | FORM FEED||
+  prev->top
+  up->top
 3|CHARACTER TABULATION|        | FORM FEED||
+ section_directions:
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
+ toplevel_directions:
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
 ';
 
 $result_headings_list{'in_menu_only_special_ascii_spaces_node_menu'} = '';
diff --git a/tta/perl/t/results/sectioning/in_menu_only_special_spaces_node.pl 
b/tta/perl/t/results/sectioning/in_menu_only_special_spaces_node.pl
index ffbf785a22..3656a91e76 100644
--- a/tta/perl/t/results/sectioning/in_menu_only_special_spaces_node.pl
+++ b/tta/perl/t/results/sectioning/in_menu_only_special_spaces_node.pl
@@ -37,7 +37,6 @@ $result_tree_text{'in_menu_only_special_spaces_node'} = 
'*document_root C16
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -143,11 +142,9 @@ $result_tree_text{'in_menu_only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -166,11 +163,9 @@ $result_tree_text{'in_menu_only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -189,11 +184,9 @@ $result_tree_text{'in_menu_only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -220,11 +213,9 @@ $result_tree_text{'in_menu_only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -251,11 +242,9 @@ $result_tree_text{'in_menu_only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E14|prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -282,11 +271,9 @@ $result_tree_text{'in_menu_only_special_spaces_node'} = 
'*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E12|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[prev->E12|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -469,20 +456,67 @@ $result_nodes_list{'in_menu_only_special_spaces_node'} = 
'1|Top
 $result_sections_list{'in_menu_only_special_spaces_node'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->EN QUAD| | EM QUAD| | EN SPACE| |
 2|EN QUAD| | EM QUAD| | EN SPACE| |
  associated_anchor_command:    
  associated_node:    
+ section_directions:
+  next->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  up->top
+ toplevel_directions:
+  next->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  prev->top
+  up->top
 3|CHARACTER TABULATION|        | FORM FEED|| LINE TABULATION||
+ section_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  prev->EN QUAD| | EM QUAD| | EN SPACE| |
+  up->top
+ toplevel_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  prev->EN QUAD| | EM QUAD| | EN SPACE| |
+  up->top
 4|CARRIAGE RETURN|'."\r".'|
+ section_directions:
+  next->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  prev->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  up->top
+ toplevel_directions:
+  next->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  prev->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  up->top
 5|NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
  associated_anchor_command: …  
  associated_node: …  
+ section_directions:
+  next->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
+ toplevel_directions:
+  next->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
 6|MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
  associated_anchor_command: ᠎ 
  associated_node: ᠎ 
+ section_directions:
+  next->THREE-PER-EM SPACE| | FOUR-PER-EM SPACE| | SIX-PER-EM SPACE| | FIGURE 
SPACE| | PUNCTUATION SPACE| | THIN SPACE| | HAIR SPACE| | NARROW NO-BREAK 
SPACE| | MEDIUM MATHEMATICAL SPACE| | IDEOGRAPHIC SPACE| |
+  prev->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  up->top
+ toplevel_directions:
+  next->THREE-PER-EM SPACE| | FOUR-PER-EM SPACE| | SIX-PER-EM SPACE| | FIGURE 
SPACE| | PUNCTUATION SPACE| | THIN SPACE| | HAIR SPACE| | NARROW NO-BREAK 
SPACE| | MEDIUM MATHEMATICAL SPACE| | IDEOGRAPHIC SPACE| |
+  prev->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  up->top
 7|THREE-PER-EM SPACE| | FOUR-PER-EM SPACE| | SIX-PER-EM SPACE| | FIGURE SPACE| 
| PUNCTUATION SPACE| | THIN SPACE| | HAIR SPACE| | NARROW NO-BREAK SPACE| | 
MEDIUM MATHEMATICAL SPACE| | IDEOGRAPHIC SPACE| |
  associated_anchor_command:           
  associated_node:           
+ section_directions:
+  prev->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  up->top
+ toplevel_directions:
+  prev->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  up->top
 ';
 
 $result_headings_list{'in_menu_only_special_spaces_node'} = '';
diff --git 
a/tta/perl/t/results/sectioning/in_menu_only_special_spaces_node_menu.pl 
b/tta/perl/t/results/sectioning/in_menu_only_special_spaces_node_menu.pl
index 07441b6b63..9fe9ac7690 100644
--- a/tta/perl/t/results/sectioning/in_menu_only_special_spaces_node_menu.pl
+++ b/tta/perl/t/results/sectioning/in_menu_only_special_spaces_node_menu.pl
@@ -37,7 +37,6 @@ $result_tree_text{'in_menu_only_special_spaces_node_menu'} = 
'*document_root C16
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -143,11 +142,9 @@ $result_tree_text{'in_menu_only_special_spaces_node_menu'} 
= '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -166,11 +163,9 @@ $result_tree_text{'in_menu_only_special_spaces_node_menu'} 
= '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -189,11 +184,9 @@ $result_tree_text{'in_menu_only_special_spaces_node_menu'} 
= '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E10|prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[next->E10|prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -220,11 +213,9 @@ $result_tree_text{'in_menu_only_special_spaces_node_menu'} 
= '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|prev->E8|up->E1]
  |section_heading_number:{4}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[next->E12|prev->E8|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -251,11 +242,9 @@ $result_tree_text{'in_menu_only_special_spaces_node_menu'} 
= '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|prev->E10|up->E1]
  |section_heading_number:{5}
  |section_level:{1}
  |section_number:{6}
- |toplevel_directions:D[next->E14|prev->E10|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -282,11 +271,9 @@ $result_tree_text{'in_menu_only_special_spaces_node_menu'} 
= '*document_root C16
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E12|up->E1]
  |section_heading_number:{6}
  |section_level:{1}
  |section_number:{7}
- |toplevel_directions:D[prev->E12|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -469,20 +456,67 @@ 
$result_nodes_list{'in_menu_only_special_spaces_node_menu'} = '1|Top
 $result_sections_list{'in_menu_only_special_spaces_node_menu'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->EN QUAD| | EM QUAD| | EN SPACE| |
 2|EN QUAD| | EM QUAD| | EN SPACE| |
  associated_anchor_command:    
  associated_node:    
+ section_directions:
+  next->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  up->top
+ toplevel_directions:
+  next->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  prev->top
+  up->top
 3|CHARACTER TABULATION|        | FORM FEED|| LINE TABULATION||
+ section_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  prev->EN QUAD| | EM QUAD| | EN SPACE| |
+  up->top
+ toplevel_directions:
+  next->CARRIAGE RETURN|'."\r".'|
+  prev->EN QUAD| | EM QUAD| | EN SPACE| |
+  up->top
 4|CARRIAGE RETURN|'."\r".'|
+ section_directions:
+  next->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  prev->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  up->top
+ toplevel_directions:
+  next->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  prev->CHARACTER TABULATION|  | FORM FEED|| LINE TABULATION||
+  up->top
 5|NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
  associated_anchor_command: …  
  associated_node: …  
+ section_directions:
+  next->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
+ toplevel_directions:
+  next->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  prev->CARRIAGE RETURN|'."\r".'|
+  up->top
 6|MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
  associated_anchor_command: ᠎ 
  associated_node: ᠎ 
+ section_directions:
+  next->THREE-PER-EM SPACE| | FOUR-PER-EM SPACE| | SIX-PER-EM SPACE| | FIGURE 
SPACE| | PUNCTUATION SPACE| | THIN SPACE| | HAIR SPACE| | NARROW NO-BREAK 
SPACE| | MEDIUM MATHEMATICAL SPACE| | IDEOGRAPHIC SPACE| |
+  prev->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  up->top
+ toplevel_directions:
+  next->THREE-PER-EM SPACE| | FOUR-PER-EM SPACE| | SIX-PER-EM SPACE| | FIGURE 
SPACE| | PUNCTUATION SPACE| | THIN SPACE| | HAIR SPACE| | NARROW NO-BREAK 
SPACE| | MEDIUM MATHEMATICAL SPACE| | IDEOGRAPHIC SPACE| |
+  prev->NEXT LINE (NEL)|…| NO-BREAK SPACE| | OGHAM SPACE MARK| |
+  up->top
 7|THREE-PER-EM SPACE| | FOUR-PER-EM SPACE| | SIX-PER-EM SPACE| | FIGURE SPACE| 
| PUNCTUATION SPACE| | THIN SPACE| | HAIR SPACE| | NARROW NO-BREAK SPACE| | 
MEDIUM MATHEMATICAL SPACE| | IDEOGRAPHIC SPACE| |
  associated_anchor_command:           
  associated_node:           
+ section_directions:
+  prev->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  up->top
+ toplevel_directions:
+  prev->MONGOLIAN VOWEL SEPARATOR|᠎| EM SPACE| |
+  up->top
 ';
 
 $result_headings_list{'in_menu_only_special_spaces_node_menu'} = '';
diff --git a/tta/perl/t/results/sectioning/menutextorder.pl 
b/tta/perl/t/results/sectioning/menutextorder.pl
index c3cabebd2a..e15f890e37 100644
--- a/tta/perl/t/results/sectioning/menutextorder.pl
+++ b/tta/perl/t/results/sectioning/menutextorder.pl
@@ -67,7 +67,6 @@ $result_tree_text{'menutextorder'} = '*document_root C15
   |{ }
  |EXTRA
  |section_childs:EC[E5|E7]
- |section_directions:D[next->E9]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{1}
@@ -76,7 +75,6 @@ $result_tree_text{'menutextorder'} = '*document_root C15
   ||EXTRA
   ||section_childs:EC[E2|E9]
   ||section_level:{0}
- |toplevel_directions:D[next->E9]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -132,7 +130,6 @@ $result_tree_text{'menutextorder'} = '*document_root C15
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E2]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{2}
@@ -162,7 +159,6 @@ $result_tree_text{'menutextorder'} = '*document_root C15
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5|up->E2]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{3}
@@ -194,11 +190,9 @@ $result_tree_text{'menutextorder'} = '*document_root C15
   |{ }
  |EXTRA
  |section_childs:EC[E12|E14|E16]
- |section_directions:D[prev->E2]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -276,7 +270,6 @@ $result_tree_text{'menutextorder'} = '*document_root C15
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E14|up->E9]
  |section_heading_number:{2.1}
  |section_level:{2}
  |section_number:{5}
@@ -306,7 +299,6 @@ $result_tree_text{'menutextorder'} = '*document_root C15
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E12|up->E9]
  |section_heading_number:{2.2}
  |section_level:{2}
  |section_number:{6}
@@ -336,7 +328,6 @@ $result_tree_text{'menutextorder'} = '*document_root C15
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E9]
  |section_heading_number:{2.3}
  |section_level:{2}
  |section_number:{7}
@@ -552,24 +543,48 @@ $result_nodes_list{'menutextorder'} = '1|bar
 $result_sections_list{'menutextorder'} = '1|bar
  associated_anchor_command: bar
  associated_node: bar
+ section_directions:
+  next->foo
+ toplevel_directions:
+  next->foo
 2|One sub 1
  associated_anchor_command: onesub1
  associated_node: onesub1
+ section_directions:
+  next->One sub 2
+  up->bar
 3|One sub 2
  associated_anchor_command: onesub2
  associated_node: onesub2
+ section_directions:
+  prev->One sub 1
+  up->bar
 4|foo
  associated_anchor_command: foo
  associated_node: foo
+ section_directions:
+  prev->bar
+ toplevel_directions:
+  prev->bar
 5|Sub1
  associated_anchor_command: sub1
  associated_node: sub1
+ section_directions:
+  next->Sub2
+  up->foo
 6|Sub2
  associated_anchor_command: sub2
  associated_node: sub2
+ section_directions:
+  next->Sub3
+  prev->Sub1
+  up->foo
 7|Sub3
  associated_anchor_command: sub3
  associated_node: sub3
+ section_directions:
+  prev->Sub2
+  up->foo
 ';
 
 $result_headings_list{'menutextorder'} = '';
diff --git a/tta/perl/t/results/sectioning/next_in_menu_is_below.pl 
b/tta/perl/t/results/sectioning/next_in_menu_is_below.pl
index 531a66004d..bf2acb2d6c 100644
--- a/tta/perl/t/results/sectioning/next_in_menu_is_below.pl
+++ b/tta/perl/t/results/sectioning/next_in_menu_is_below.pl
@@ -34,7 +34,6 @@ $result_tree_text{'next_in_menu_is_below'} = '*document_root 
C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -91,11 +90,9 @@ $result_tree_text{'next_in_menu_is_below'} = '*document_root 
C9
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -163,7 +160,6 @@ $result_tree_text{'next_in_menu_is_below'} = 
'*document_root C9
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -222,7 +218,6 @@ $result_tree_text{'next_in_menu_is_below'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -343,15 +338,26 @@ $result_nodes_list{'next_in_menu_is_below'} = '1|Top
 $result_sections_list{'next_in_menu_is_below'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|section
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->chapter
 4|subsection
  associated_anchor_command: subsection
  associated_node: subsection
+ section_directions:
+  up->section
 ';
 
 $result_headings_list{'next_in_menu_is_below'} = '';
diff --git a/tta/perl/t/results/sectioning/no_argument_and_contents.pl 
b/tta/perl/t/results/sectioning/no_argument_and_contents.pl
index 5169e917f7..e8f30d6b07 100644
--- a/tta/perl/t/results/sectioning/no_argument_and_contents.pl
+++ b/tta/perl/t/results/sectioning/no_argument_and_contents.pl
@@ -26,7 +26,6 @@ $result_tree_text{'no_argument_and_contents'} = 
'*document_root C3
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -39,11 +38,9 @@ $result_tree_text{'no_argument_and_contents'} = 
'*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -79,7 +76,14 @@ $result_errors{'no_argument_and_contents'} = [];
 $result_nodes_list{'no_argument_and_contents'} = '';
 
 $result_sections_list{'no_argument_and_contents'} = '1|for example
+ toplevel_directions:
+  next->@asis{}
 2|@asis{}
+ section_directions:
+  up->for example
+ toplevel_directions:
+  prev->for example
+  up->for example
 ';
 
 $result_headings_list{'no_argument_and_contents'} = '';
diff --git a/tta/perl/t/results/sectioning/no_menu.pl 
b/tta/perl/t/results/sectioning/no_menu.pl
index 19e073ee83..833b25359a 100644
--- a/tta/perl/t/results/sectioning/no_menu.pl
+++ b/tta/perl/t/results/sectioning/no_menu.pl
@@ -31,7 +31,6 @@ $result_tree_text{'no_menu'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg
    |INFO
@@ -57,11 +56,9 @@ $result_tree_text{'no_menu'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -88,11 +85,9 @@ $result_tree_text{'no_menu'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -119,11 +114,9 @@ $result_tree_text{'no_menu'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E5|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -191,15 +184,38 @@ $result_nodes_list{'no_menu'} = '1|Top
 $result_sections_list{'no_menu'} = '1
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->c1
 2|c1
  associated_anchor_command: c1
  associated_node: c1
+ section_directions:
+  next->c2
+  up->
+ toplevel_directions:
+  next->c2
+  prev->
+  up->
 3|c2
  associated_anchor_command: c2
  associated_node: c2
+ section_directions:
+  next->c3
+  prev->c1
+  up->
+ toplevel_directions:
+  next->c3
+  prev->c1
+  up->
 4|c3
  associated_anchor_command: c3
  associated_node: c3
+ section_directions:
+  prev->c2
+  up->
+ toplevel_directions:
+  prev->c2
+  up->
 ';
 
 $result_headings_list{'no_menu'} = '';
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 67993af3e0..bc2be2aca5 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
@@ -35,7 +35,6 @@ NodeForward: [U1]
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[next->E6]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -43,7 +42,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1|E6]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -125,11 +123,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -167,7 +163,6 @@ NodeBack: [U1]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E7]
- |section_directions:D[prev->E1]
  |section_level:{0}
  |section_number:{3}
   *arguments_line C1
@@ -182,11 +177,9 @@ NodeBack: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E6]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -283,15 +276,32 @@ $result_nodes_list{'node_part_chapter_after_chapter'} = 
'1|Top
 $result_sections_list{'node_part_chapter_after_chapter'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter node
 2|chapter node
  associated_anchor_command: chapter node
  associated_node: chapter node
+ section_directions:
+  up->top
+ toplevel_directions:
+  next->chapter with part node
+  prev->top
+  up->top
 3|part
  part_associated_section: chapter with part node
+ section_directions:
+  prev->top
 4|chapter with part node
  associated_anchor_command: part chapter node
  associated_node: part chapter node
  associated_part: part
+ section_directions:
+  up->part
+ toplevel_directions:
+  prev->chapter node
+  up->top
 ';
 
 $result_headings_list{'node_part_chapter_after_chapter'} = '';
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 7184202102..1ae90d417f 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
@@ -34,7 +34,6 @@ NodeForward: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -42,7 +41,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1|E4]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,7 +107,6 @@ NodeBack: [U0]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E5]
- |section_directions:D[prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -124,11 +121,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -195,12 +190,23 @@ $result_nodes_list{'node_part_chapter_after_top'} = '1|Top
 $result_sections_list{'node_part_chapter_after_top'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|part
  part_associated_section: chapter
+ section_directions:
+  prev->top
 3|chapter
  associated_anchor_command: chapter node
  associated_node: chapter node
  associated_part: part
+ section_directions:
+  up->part
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'node_part_chapter_after_top'} = '';
diff --git 
a/tta/perl/t/results/sectioning/node_sectop_before_chapter_no_node.pl 
b/tta/perl/t/results/sectioning/node_sectop_before_chapter_no_node.pl
index 32d23532d0..af58b84750 100644
--- a/tta/perl/t/results/sectioning/node_sectop_before_chapter_no_node.pl
+++ b/tta/perl/t/results/sectioning/node_sectop_before_chapter_no_node.pl
@@ -35,7 +35,6 @@ $result_tree_text{'node_sectop_before_chapter_no_node'} = 
'*document_root C4
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -48,11 +47,9 @@ $result_tree_text{'node_sectop_before_chapter_no_node'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -87,7 +84,14 @@ $result_nodes_list{'node_sectop_before_chapter_no_node'} = 
'1|Top
 $result_sections_list{'node_sectop_before_chapter_no_node'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'node_sectop_before_chapter_no_node'} = '';
diff --git a/tta/perl/t/results/sectioning/node_sectop_before_lone_node_Top.pl 
b/tta/perl/t/results/sectioning/node_sectop_before_lone_node_Top.pl
index 02e933e4ee..ff4bff3eb0 100644
--- a/tta/perl/t/results/sectioning/node_sectop_before_lone_node_Top.pl
+++ b/tta/perl/t/results/sectioning/node_sectop_before_lone_node_Top.pl
@@ -35,7 +35,6 @@ $result_tree_text{'node_sectop_before_lone_node_Top'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -83,11 +82,9 @@ $result_tree_text{'node_sectop_before_lone_node_Top'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -151,9 +148,16 @@ $result_nodes_list{'node_sectop_before_lone_node_Top'} = 
'1|node before
 $result_sections_list{'node_sectop_before_lone_node_Top'} = '1|top sectionning
  associated_anchor_command: node before
  associated_node: node before
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top sectionning
+ toplevel_directions:
+  prev->top sectionning
+  up->top sectionning
 ';
 
 $result_headings_list{'node_sectop_before_lone_node_Top'} = '';
diff --git a/tta/perl/t/results/sectioning/nodename_parentheses.pl 
b/tta/perl/t/results/sectioning/nodename_parentheses.pl
index 78a4dac163..5025bac2fb 100644
--- a/tta/perl/t/results/sectioning/nodename_parentheses.pl
+++ b/tta/perl/t/results/sectioning/nodename_parentheses.pl
@@ -34,7 +34,6 @@ $result_tree_text{'nodename_parentheses'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -116,11 +115,9 @@ $result_tree_text{'nodename_parentheses'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -150,11 +147,9 @@ $result_tree_text{'nodename_parentheses'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -204,11 +199,9 @@ $result_tree_text{'nodename_parentheses'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E6|up->E1]
  |section_heading_number:{3}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E6|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -370,15 +363,38 @@ $result_nodes_list{'nodename_parentheses'} = '1|Top
 $result_sections_list{'nodename_parentheses'} = '1|The top node
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Section (nodename with parentheses)
 2|Section (nodename with parentheses)
  associated_anchor_command: Node (with parentheses)
  associated_node: Node (with parentheses)
+ section_directions:
+  next->Section (nodename without parentheses)
+  up->The top node
+ toplevel_directions:
+  next->Section (nodename without parentheses)
+  prev->The top node
+  up->The top node
 3|Section (nodename without parentheses)
  associated_anchor_command: Other node
  associated_node: Other node
+ section_directions:
+  next->(manual)node
+  prev->Section (nodename with parentheses)
+  up->The top node
+ toplevel_directions:
+  next->(manual)node
+  prev->Section (nodename with parentheses)
+  up->The top node
 4|(manual)node
  associated_anchor_command: (manual)node
  associated_node: (manual)node
+ section_directions:
+  prev->Section (nodename without parentheses)
+  up->The top node
+ toplevel_directions:
+  prev->Section (nodename without parentheses)
+  up->The top node
 ';
 
 $result_headings_list{'nodename_parentheses'} = '';
diff --git a/tta/perl/t/results/sectioning/nodes_before_after_top.pl 
b/tta/perl/t/results/sectioning/nodes_before_after_top.pl
index d8b294da0d..54c26095de 100644
--- a/tta/perl/t/results/sectioning/nodes_before_after_top.pl
+++ b/tta/perl/t/results/sectioning/nodes_before_after_top.pl
@@ -53,7 +53,6 @@ $result_tree_text{'nodes_before_after_top'} = '*document_root 
C7
   ||EXTRA
   ||section_childs:EC[E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -101,11 +100,9 @@ $result_tree_text{'nodes_before_after_top'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -191,9 +188,16 @@ $result_nodes_list{'nodes_before_after_top'} = '1|node 
before
 $result_sections_list{'nodes_before_after_top'} = '1|top sectionning
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top sectionning
+ toplevel_directions:
+  prev->top sectionning
+  up->top sectionning
 ';
 
 $result_headings_list{'nodes_before_after_top'} = '';
diff --git a/tta/perl/t/results/sectioning/nodes_before_top.pl 
b/tta/perl/t/results/sectioning/nodes_before_top.pl
index 4302a53a7e..e53804b541 100644
--- a/tta/perl/t/results/sectioning/nodes_before_top.pl
+++ b/tta/perl/t/results/sectioning/nodes_before_top.pl
@@ -125,7 +125,6 @@ $result_tree_text{'nodes_before_top'} = '*document_root C7
   ||EXTRA
   ||section_childs:EC[E4]
   ||section_level:{-1}
- |toplevel_directions:D[next->E7]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -181,11 +180,9 @@ $result_tree_text{'nodes_before_top'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E4|up->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -270,9 +267,16 @@ $result_nodes_list{'nodes_before_top'} = '1|first
 $result_sections_list{'nodes_before_top'} = '1|top section
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->a chapter
 2|a chapter
  associated_anchor_command: second node
  associated_node: second node
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'nodes_before_top'} = '';
diff --git a/tta/perl/t/results/sectioning/part_before_chapter.pl 
b/tta/perl/t/results/sectioning/part_before_chapter.pl
index d67c3e3b34..f2f7f00d6a 100644
--- a/tta/perl/t/results/sectioning/part_before_chapter.pl
+++ b/tta/perl/t/results/sectioning/part_before_chapter.pl
@@ -36,7 +36,6 @@ This: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
@@ -71,6 +70,8 @@ $result_sections_list{'part_before_chapter'} = '1|part
  part_associated_section: chapter
 2|chapter
  associated_part: part
+ section_directions:
+  up->part
 ';
 
 $result_headings_list{'part_before_chapter'} = '';
diff --git a/tta/perl/t/results/sectioning/part_before_section.pl 
b/tta/perl/t/results/sectioning/part_before_section.pl
index 4a5fb6b8a0..6d70aeef9b 100644
--- a/tta/perl/t/results/sectioning/part_before_section.pl
+++ b/tta/perl/t/results/sectioning/part_before_section.pl
@@ -35,7 +35,6 @@ This: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
@@ -78,6 +77,8 @@ $result_sections_list{'part_before_section'} = '1|part
  part_associated_section: section
 2|section
  associated_part: part
+ section_directions:
+  up->part
 ';
 
 $result_headings_list{'part_before_section'} = '';
diff --git a/tta/perl/t/results/sectioning/part_before_top.pl 
b/tta/perl/t/results/sectioning/part_before_top.pl
index bcdb6b96c5..f33a535e19 100644
--- a/tta/perl/t/results/sectioning/part_before_top.pl
+++ b/tta/perl/t/results/sectioning/part_before_top.pl
@@ -16,7 +16,6 @@ This: [U0]
   |{ }
  |EXTRA
  |global_command_number:{1}
- |section_directions:D[next->E1]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -36,7 +35,6 @@ This: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -76,8 +74,12 @@ $result_nodes_list{'part_before_top'} = '';
 
 $result_sections_list{'part_before_top'} = '1|part
  part_associated_section: top
+ section_directions:
+  next->top
 2|top
  associated_part: part
+ section_directions:
+  prev->part
 ';
 
 $result_headings_list{'part_before_top'} = '';
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 4053724876..a68b3561e9 100644
--- a/tta/perl/t/results/sectioning/part_chapter_after_top.pl
+++ b/tta/perl/t/results/sectioning/part_chapter_after_top.pl
@@ -34,7 +34,6 @@ NodeForward: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -42,7 +41,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1|E3]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -95,7 +93,6 @@ NodeBack: [U0]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E5]
- |section_directions:D[prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -124,11 +121,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -188,13 +183,24 @@ $result_nodes_list{'part_chapter_after_top'} = '1|Top
 $result_sections_list{'part_chapter_after_top'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|part
  part_associated_section: chapter
  part_following_node: chapter
+ section_directions:
+  prev->top
 3|chapter
  associated_anchor_command: chapter
  associated_node: chapter
  associated_part: part
+ section_directions:
+  up->part
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'part_chapter_after_top'} = '';
diff --git a/tta/perl/t/results/sectioning/part_chapter_appendix.pl 
b/tta/perl/t/results/sectioning/part_chapter_appendix.pl
index b5afdc450c..c36875b26c 100644
--- a/tta/perl/t/results/sectioning/part_chapter_appendix.pl
+++ b/tta/perl/t/results/sectioning/part_chapter_appendix.pl
@@ -15,7 +15,6 @@ $result_tree_text{'part_chapter_appendix'} = '*document_root 
C4
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E1]
- |section_directions:D[next->E2]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -35,11 +34,9 @@ $result_tree_text{'part_chapter_appendix'} = '*document_root 
C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -52,11 +49,9 @@ $result_tree_text{'part_chapter_appendix'} = '*document_root 
C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -93,9 +88,19 @@ $result_nodes_list{'part_chapter_appendix'} = '';
 
 $result_sections_list{'part_chapter_appendix'} = '1|Part 1
  part_associated_section: chapter
+ section_directions:
+  next->Appendix
 2|chapter
  associated_part: Part 1
+ section_directions:
+  up->Part 1
+ toplevel_directions:
+  next->Appendix
 3|Appendix
+ section_directions:
+  prev->Part 1
+ toplevel_directions:
+  prev->chapter
 ';
 
 $result_headings_list{'part_chapter_appendix'} = '';
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 54a76f030a..851cf7b74d 100644
--- a/tta/perl/t/results/sectioning/part_node_after_top.pl
+++ b/tta/perl/t/results/sectioning/part_node_after_top.pl
@@ -35,7 +35,6 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -106,7 +105,6 @@ Prev: [U0]
   |{ }
  |EXTRA
  |global_command_number:{1}
- |section_directions:D[prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -175,7 +173,11 @@ $result_nodes_list{'part_node_after_top'} = '1|Top
 $result_sections_list{'part_node_after_top'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->part
 2|part
+ section_directions:
+  prev->top
 ';
 
 $result_headings_list{'part_node_after_top'} = '';
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 eee240a1cd..d5bee8f6a2 100644
--- a/tta/perl/t/results/sectioning/part_node_before_top.pl
+++ b/tta/perl/t/results/sectioning/part_node_before_top.pl
@@ -46,7 +46,6 @@ NodeBack: [U0]
   |{ }
  |EXTRA
  |global_command_number:{1}
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -80,7 +79,6 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -179,10 +177,14 @@ $result_nodes_list{'part_node_before_top'} = '1|part node 
before top
 $result_sections_list{'part_node_before_top'} = '1|part
  part_associated_section: top
  part_following_node: Top
+ section_directions:
+  next->top
 2|top
  associated_anchor_command: Top
  associated_node: Top
  associated_part: part
+ section_directions:
+  prev->part
 ';
 
 $result_headings_list{'part_node_before_top'} = '';
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 afc57e3cef..452f0a1d97 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
@@ -34,7 +34,6 @@ NodeForward: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -42,7 +41,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1|E3]
   ||section_level:{-1}
- |toplevel_directions:D[next->E6]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -107,7 +105,6 @@ NodeBack: [U0]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E6]
- |section_directions:D[prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -192,11 +189,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -274,13 +269,24 @@ $result_nodes_list{'part_node_chapter_after_top'} = '1|Top
 $result_sections_list{'part_node_chapter_after_top'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|part
  part_associated_section: chapter
  part_following_node: chapter
+ section_directions:
+  prev->top
 3|chapter
  associated_anchor_command: chapter
  associated_node: chapter
  associated_part: part
+ section_directions:
+  up->part
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'part_node_chapter_after_top'} = '';
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 467018dae8..1655f872c7 100644
--- a/tta/perl/t/results/sectioning/part_node_chapter_appendix.pl
+++ b/tta/perl/t/results/sectioning/part_node_chapter_appendix.pl
@@ -34,7 +34,6 @@ NodeForward: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -42,7 +41,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1|E3|E6]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,7 +95,6 @@ NodeBack: [U0]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E5]
- |section_directions:D[next->E6|prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -126,11 +123,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E6|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -150,11 +145,9 @@ Prev: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -219,14 +212,32 @@ $result_nodes_list{'part_node_chapter_appendix'} = '1|Top
 $result_sections_list{'part_node_chapter_appendix'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->Part 1
+ toplevel_directions:
+  next->chapter
 2|Part 1
  part_associated_section: chapter
  part_following_node: chapter node
+ section_directions:
+  next->Appendix
+  prev->top
 3|chapter
  associated_anchor_command: chapter node
  associated_node: chapter node
  associated_part: Part 1
+ section_directions:
+  up->Part 1
+ toplevel_directions:
+  next->Appendix
+  prev->top
+  up->top
 4|Appendix
+ section_directions:
+  prev->Part 1
+ toplevel_directions:
+  prev->chapter
+  up->top
 ';
 
 $result_headings_list{'part_node_chapter_appendix'} = '';
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 022d8cfbfa..38bf681989 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
@@ -34,7 +34,6 @@ NodeForward: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -42,7 +41,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1|E3|E7]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,7 +108,6 @@ NodeBack: [U0]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E5]
- |section_directions:D[next->E7|prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -139,11 +136,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -180,11 +175,9 @@ NodeBack: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -264,16 +257,34 @@ $result_nodes_list{'part_node_chapter_node_appendix'} = 
'1|Top
 $result_sections_list{'part_node_chapter_node_appendix'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->Part 1
+ toplevel_directions:
+  next->chapter
 2|Part 1
  part_associated_section: chapter
  part_following_node: chapter node
+ section_directions:
+  next->Appendix
+  prev->top
 3|chapter
  associated_anchor_command: chapter node
  associated_node: chapter node
  associated_part: Part 1
+ section_directions:
+  up->Part 1
+ toplevel_directions:
+  next->Appendix
+  prev->top
+  up->top
 4|Appendix
  associated_anchor_command: appendix node
  associated_node: appendix node
+ section_directions:
+  prev->Part 1
+ toplevel_directions:
+  prev->chapter
+  up->top
 ';
 
 $result_headings_list{'part_node_chapter_node_appendix'} = '';
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 540cb54f30..a7de8586c7 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
@@ -34,7 +34,6 @@ NodeForward: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -42,7 +41,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1|E3|E7]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,7 +108,6 @@ NodeBack: [U0]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E5]
- |section_directions:D[next->E7|prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -139,11 +136,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -181,7 +176,6 @@ NodeBack: [U1]
  |EXTRA
  |global_command_number:{2}
  |section_childs:EC[E8]
- |section_directions:D[prev->E3]
  |section_level:{0}
  |section_number:{4}
   *arguments_line C1
@@ -196,11 +190,9 @@ NodeBack: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -293,19 +285,39 @@ $result_nodes_list{'part_node_node_part_appendix'} = 
'1|Top
 $result_sections_list{'part_node_node_part_appendix'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->Part 1
+ toplevel_directions:
+  next->chapter
 2|Part 1
  part_associated_section: chapter
  part_following_node: chapter node
+ section_directions:
+  next->Part Appendix
+  prev->top
 3|chapter
  associated_anchor_command: chapter node
  associated_node: chapter node
  associated_part: Part 1
+ section_directions:
+  up->Part 1
+ toplevel_directions:
+  next->Appendix
+  prev->top
+  up->top
 4|Part Appendix
  part_associated_section: Appendix
+ section_directions:
+  prev->Part 1
 5|Appendix
  associated_anchor_command: appendix part
  associated_node: appendix part
  associated_part: Part Appendix
+ section_directions:
+  up->Part Appendix
+ toplevel_directions:
+  prev->chapter
+  up->top
 ';
 
 $result_headings_list{'part_node_node_part_appendix'} = '';
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 23631d53f7..2a97be72a5 100644
--- a/tta/perl/t/results/sectioning/part_node_part_appendix.pl
+++ b/tta/perl/t/results/sectioning/part_node_part_appendix.pl
@@ -34,7 +34,6 @@ NodeForward: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -42,7 +41,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1|E3|E6]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -97,7 +95,6 @@ NodeBack: [U0]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E5]
- |section_directions:D[next->E6|prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -126,11 +123,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -151,7 +146,6 @@ FastBack: [U1]
  |EXTRA
  |global_command_number:{2}
  |section_childs:EC[E7]
- |section_directions:D[prev->E3]
  |section_level:{0}
  |section_number:{4}
   *arguments_line C1
@@ -166,11 +160,9 @@ FastBack: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E6]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -240,17 +232,37 @@ $result_nodes_list{'part_node_part_appendix'} = '1|Top
 $result_sections_list{'part_node_part_appendix'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->Part 1
+ toplevel_directions:
+  next->chapter
 2|Part 1
  part_associated_section: chapter
  part_following_node: chapter node
+ section_directions:
+  next->Part Appendix
+  prev->top
 3|chapter
  associated_anchor_command: chapter node
  associated_node: chapter node
  associated_part: Part 1
+ section_directions:
+  up->Part 1
+ toplevel_directions:
+  next->Appendix
+  prev->top
+  up->top
 4|Part Appendix
  part_associated_section: Appendix
+ section_directions:
+  prev->Part 1
 5|Appendix
  associated_part: Part Appendix
+ section_directions:
+  up->Part Appendix
+ toplevel_directions:
+  prev->chapter
+  up->top
 ';
 
 $result_headings_list{'part_node_part_appendix'} = '';
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 4ca8aa35b5..d35e37e3fe 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
@@ -34,7 +34,6 @@ NodeForward: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -42,7 +41,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1|E3|E6]
   ||section_level:{-1}
- |toplevel_directions:D[next->E5]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -110,7 +108,6 @@ NodeBack: [U0]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E5]
- |section_directions:D[next->E6|prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -139,11 +136,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E8|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -167,7 +162,6 @@ NodeBack: [U1]
  |EXTRA
  |global_command_number:{2}
  |section_childs:EC[E8]
- |section_directions:D[prev->E3]
  |section_level:{0}
  |section_number:{4}
   *arguments_line C1
@@ -196,11 +190,9 @@ NodeBack: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E6]
  |section_heading_number:{A}
  |section_level:{1}
  |section_number:{5}
- |toplevel_directions:D[prev->E5|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -286,20 +278,40 @@ $result_nodes_list{'part_node_part_node_appendix'} = 
'1|Top
 $result_sections_list{'part_node_part_node_appendix'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->Part 1
+ toplevel_directions:
+  next->chapter
 2|Part 1
  part_associated_section: chapter
  part_following_node: chapter node
+ section_directions:
+  next->Part Appendix
+  prev->top
 3|chapter
  associated_anchor_command: chapter node
  associated_node: chapter node
  associated_part: Part 1
+ section_directions:
+  up->Part 1
+ toplevel_directions:
+  next->Appendix
+  prev->top
+  up->top
 4|Part Appendix
  part_associated_section: Appendix
  part_following_node: appendix node
+ section_directions:
+  prev->Part 1
 5|Appendix
  associated_anchor_command: appendix node
  associated_node: appendix node
  associated_part: Part Appendix
+ section_directions:
+  up->Part Appendix
+ toplevel_directions:
+  prev->chapter
+  up->top
 ';
 
 $result_headings_list{'part_node_part_node_appendix'} = '';
diff --git a/tta/perl/t/results/sectioning/part_section_part.pl 
b/tta/perl/t/results/sectioning/part_section_part.pl
index ebf6db29c9..2fc98a281d 100644
--- a/tta/perl/t/results/sectioning/part_section_part.pl
+++ b/tta/perl/t/results/sectioning/part_section_part.pl
@@ -14,7 +14,6 @@ $result_tree_text{'part_section_part'} = '*document_root C4
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E1]
- |section_directions:D[next->E2]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -34,7 +33,6 @@ $result_tree_text{'part_section_part'} = '*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
@@ -51,7 +49,6 @@ $result_tree_text{'part_section_part'} = '*document_root C4
   |{ }
  |EXTRA
  |global_command_number:{2}
- |section_directions:D[prev->E0]
  |section_level:{0}
  |section_number:{3}
   *arguments_line C1
@@ -103,9 +100,15 @@ $result_nodes_list{'part_section_part'} = '';
 
 $result_sections_list{'part_section_part'} = '1|Part1
  part_associated_section: section 1
+ section_directions:
+  next->Part 2
 2|section 1
  associated_part: Part1
+ section_directions:
+  up->Part1
 3|Part 2
+ section_directions:
+  prev->Part1
 ';
 
 $result_headings_list{'part_section_part'} = '';
diff --git 
a/tta/perl/t/results/sectioning/reference_to_only_special_spaces_node.pl 
b/tta/perl/t/results/sectioning/reference_to_only_special_spaces_node.pl
index 742d7137ac..37c0191f5d 100644
--- a/tta/perl/t/results/sectioning/reference_to_only_special_spaces_node.pl
+++ b/tta/perl/t/results/sectioning/reference_to_only_special_spaces_node.pl
@@ -37,7 +37,6 @@ $result_tree_text{'reference_to_only_special_spaces_node'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -64,11 +63,9 @@ $result_tree_text{'reference_to_only_special_spaces_node'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -113,11 +110,9 @@ $result_tree_text{'reference_to_only_special_spaces_node'} 
= '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -238,12 +233,27 @@ 
$result_nodes_list{'reference_to_only_special_spaces_node'} = '1|Top
 $result_sections_list{'reference_to_only_special_spaces_node'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->EN QUAD| | EM QUAD| | EN SPACE| |
 2|EN QUAD| | EM QUAD| | EN SPACE| |
  associated_anchor_command:    
  associated_node:    
+ section_directions:
+  next->@code{EN QUAD| | EM QUAD| | EN SPACE| |}
+  up->top
+ toplevel_directions:
+  next->@code{EN QUAD| | EM QUAD| | EN SPACE| |}
+  prev->top
+  up->top
 3|@code{EN QUAD| | EM QUAD| | EN SPACE| |}
  associated_anchor_command: @code{   }
  associated_node: @code{   }
+ section_directions:
+  prev->EN QUAD| | EM QUAD| | EN SPACE| |
+  up->top
+ toplevel_directions:
+  prev->EN QUAD| | EM QUAD| | EN SPACE| |
+  up->top
 ';
 
 $result_headings_list{'reference_to_only_special_spaces_node'} = '';
diff --git a/tta/perl/t/results/sectioning/section_before_after_top_node.pl 
b/tta/perl/t/results/sectioning/section_before_after_top_node.pl
index 86b9d286e1..06e4aaf964 100644
--- a/tta/perl/t/results/sectioning/section_before_after_top_node.pl
+++ b/tta/perl/t/results/sectioning/section_before_after_top_node.pl
@@ -13,7 +13,6 @@ $result_tree_text{'section_before_after_top_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -21,7 +20,6 @@ $result_tree_text{'section_before_after_top_node'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E0|E2|E3]
   ||section_level:{0}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -48,10 +46,8 @@ $result_tree_text{'section_before_after_top_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3|prev->E0]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E3|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -64,11 +60,9 @@ $result_tree_text{'section_before_after_top_node'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -121,10 +115,25 @@ $result_nodes_list{'section_before_after_top_node'} = 
'1|Top
 ';
 
 $result_sections_list{'section_before_after_top_node'} = '1|before
+ section_directions:
+  next->top section
+ toplevel_directions:
+  next->top section
 2|top section
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->Chapter
+  prev->before
+ toplevel_directions:
+  next->Chapter
+  prev->before
 3|Chapter
+ section_directions:
+  prev->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'section_before_after_top_node'} = '';
diff --git 
a/tta/perl/t/results/sectioning/section_before_after_top_node_last_node.pl 
b/tta/perl/t/results/sectioning/section_before_after_top_node_last_node.pl
index f071f88c9a..13519d0930 100644
--- a/tta/perl/t/results/sectioning/section_before_after_top_node_last_node.pl
+++ b/tta/perl/t/results/sectioning/section_before_after_top_node_last_node.pl
@@ -13,7 +13,6 @@ $result_tree_text{'section_before_after_top_node_last_node'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -21,7 +20,6 @@ $result_tree_text{'section_before_after_top_node_last_node'} 
= '*document_root C
   ||EXTRA
   ||section_childs:EC[E0|E2|E3]
   ||section_level:{0}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -48,10 +46,8 @@ $result_tree_text{'section_before_after_top_node_last_node'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3|prev->E0]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E3|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -64,11 +60,9 @@ $result_tree_text{'section_before_after_top_node_last_node'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -151,10 +145,25 @@ 
$result_nodes_list{'section_before_after_top_node_last_node'} = '1|Top
 ';
 
 $result_sections_list{'section_before_after_top_node_last_node'} = '1|before
+ section_directions:
+  next->top section
+ toplevel_directions:
+  next->top section
 2|top section
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  next->Chapter
+  prev->before
+ toplevel_directions:
+  next->Chapter
+  prev->before
 3|Chapter
+ section_directions:
+  prev->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'section_before_after_top_node_last_node'} = '';
diff --git a/tta/perl/t/results/sectioning/section_before_chapter.pl 
b/tta/perl/t/results/sectioning/section_before_chapter.pl
index 997750c393..ec0116c06a 100644
--- a/tta/perl/t/results/sectioning/section_before_chapter.pl
+++ b/tta/perl/t/results/sectioning/section_before_chapter.pl
@@ -12,7 +12,6 @@ $result_tree_text{'section_before_chapter'} = '*document_root 
C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -21,7 +20,6 @@ $result_tree_text{'section_before_chapter'} = '*document_root 
C3
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -34,11 +32,9 @@ $result_tree_text{'section_before_chapter'} = 
'*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_heading_number:{2}
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -75,7 +71,15 @@ $result_errors{'section_before_chapter'} = [
 $result_nodes_list{'section_before_chapter'} = '';
 
 $result_sections_list{'section_before_chapter'} = '1|section
+ section_directions:
+  next->chapter
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  prev->section
+ toplevel_directions:
+  prev->section
 ';
 
 $result_headings_list{'section_before_chapter'} = '';
diff --git a/tta/perl/t/results/sectioning/section_before_top.pl 
b/tta/perl/t/results/sectioning/section_before_top.pl
index b9fb4eb7af..013ffe171d 100644
--- a/tta/perl/t/results/sectioning/section_before_top.pl
+++ b/tta/perl/t/results/sectioning/section_before_top.pl
@@ -33,7 +33,6 @@ $result_tree_text{'section_before_top'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -42,7 +41,6 @@ $result_tree_text{'section_before_top'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1|E3]
   ||section_level:{1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -69,10 +67,8 @@ $result_tree_text{'section_before_top'} = '*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E1]
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -162,9 +158,17 @@ $result_nodes_list{'section_before_top'} = '1|section node
 $result_sections_list{'section_before_top'} = '1|section
  associated_anchor_command: section node
  associated_node: section node
+ section_directions:
+  next->top
+ toplevel_directions:
+  next->top
 2|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  prev->section
+ toplevel_directions:
+  prev->section
 ';
 
 $result_headings_list{'section_before_top'} = '';
diff --git a/tta/perl/t/results/sectioning/section_before_top_no_node.pl 
b/tta/perl/t/results/sectioning/section_before_top_no_node.pl
index 80c17facb3..e13e36c7be 100644
--- a/tta/perl/t/results/sectioning/section_before_top_no_node.pl
+++ b/tta/perl/t/results/sectioning/section_before_top_no_node.pl
@@ -12,7 +12,6 @@ $result_tree_text{'section_before_top_no_node'} = 
'*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -21,7 +20,6 @@ $result_tree_text{'section_before_top_no_node'} = 
'*document_root C3
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -34,10 +32,8 @@ $result_tree_text{'section_before_top_no_node'} = 
'*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -74,7 +70,15 @@ $result_errors{'section_before_top_no_node'} = [
 $result_nodes_list{'section_before_top_no_node'} = '';
 
 $result_sections_list{'section_before_top_no_node'} = '1|section
+ section_directions:
+  next->top
+ toplevel_directions:
+  next->top
 2|top
+ section_directions:
+  prev->section
+ toplevel_directions:
+  prev->section
 ';
 
 $result_headings_list{'section_before_top_no_node'} = '';
diff --git a/tta/perl/t/results/sectioning/section_below_unnumbered.pl 
b/tta/perl/t/results/sectioning/section_below_unnumbered.pl
index 47d9988903..31dcd2cfc2 100644
--- a/tta/perl/t/results/sectioning/section_below_unnumbered.pl
+++ b/tta/perl/t/results/sectioning/section_below_unnumbered.pl
@@ -42,7 +42,6 @@ $result_tree_text{'section_below_unnumbered'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,10 +102,8 @@ $result_tree_text{'section_below_unnumbered'} = 
'*document_root C8
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -162,7 +159,6 @@ $result_tree_text{'section_below_unnumbered'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_level:{2}
  |section_number:{3}
   *arguments_line C1
@@ -262,12 +258,21 @@ $result_nodes_list{'section_below_unnumbered'} = '1|Top
 $result_sections_list{'section_below_unnumbered'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Unn
 2|Unn
  associated_anchor_command: Unn
  associated_node: Unn
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 3|Sec
  associated_anchor_command: Sec
  associated_node: Sec
+ section_directions:
+  up->Unn
 ';
 
 $result_headings_list{'section_below_unnumbered'} = '';
diff --git a/tta/perl/t/results/sectioning/section_below_unnumbered_no_top.pl 
b/tta/perl/t/results/sectioning/section_below_unnumbered_no_top.pl
index 1128d54b7e..b21f8fdcbd 100644
--- a/tta/perl/t/results/sectioning/section_below_unnumbered_no_top.pl
+++ b/tta/perl/t/results/sectioning/section_below_unnumbered_no_top.pl
@@ -32,7 +32,6 @@ $result_tree_text{'section_below_unnumbered_no_top'} = 
'*document_root C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_level:{2}
  |section_number:{2}
   *arguments_line C1
@@ -62,6 +61,8 @@ $result_nodes_list{'section_below_unnumbered_no_top'} = '';
 
 $result_sections_list{'section_below_unnumbered_no_top'} = '1|U
 2|S
+ section_directions:
+  up->U
 ';
 
 $result_headings_list{'section_below_unnumbered_no_top'} = '';
diff --git a/tta/perl/t/results/sectioning/section_chapter_before_top.pl 
b/tta/perl/t/results/sectioning/section_chapter_before_top.pl
index 1836907768..64a5c1bc2b 100644
--- a/tta/perl/t/results/sectioning/section_chapter_before_top.pl
+++ b/tta/perl/t/results/sectioning/section_chapter_before_top.pl
@@ -12,7 +12,6 @@ $result_tree_text{'section_chapter_before_top'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -21,7 +20,6 @@ $result_tree_text{'section_chapter_before_top'} = 
'*document_root C4
   ||EXTRA
   ||section_childs:EC[E0|E1|E2]
   ||section_level:{1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -34,11 +32,9 @@ $result_tree_text{'section_chapter_before_top'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2|prev->E0]
  |section_heading_number:{2}
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[next->E2|prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -51,10 +47,8 @@ $result_tree_text{'section_chapter_before_top'} = 
'*document_root C4
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E1]
  |section_level:{2}
  |section_number:{3}
- |toplevel_directions:D[prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,8 +97,22 @@ $result_errors{'section_chapter_before_top'} = [
 $result_nodes_list{'section_chapter_before_top'} = '';
 
 $result_sections_list{'section_chapter_before_top'} = '1|section
+ section_directions:
+  next->chapter
+ toplevel_directions:
+  next->chapter
 2|chapter
+ section_directions:
+  next->top
+  prev->section
+ toplevel_directions:
+  next->top
+  prev->section
 3|top
+ section_directions:
+  prev->chapter
+ toplevel_directions:
+  prev->chapter
 ';
 
 $result_headings_list{'section_chapter_before_top'} = '';
diff --git a/tta/perl/t/results/sectioning/section_chapter_before_top_nodes.pl 
b/tta/perl/t/results/sectioning/section_chapter_before_top_nodes.pl
index c8a19457e3..5f5ec43c48 100644
--- a/tta/perl/t/results/sectioning/section_chapter_before_top_nodes.pl
+++ b/tta/perl/t/results/sectioning/section_chapter_before_top_nodes.pl
@@ -27,7 +27,6 @@ $result_tree_text{'section_chapter_before_top_nodes'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E3]
  |section_heading_number:{1}
  |section_level:{2}
  |section_number:{1}
@@ -36,7 +35,6 @@ $result_tree_text{'section_chapter_before_top_nodes'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1|E3|E6]
   ||section_level:{1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -63,11 +61,9 @@ $result_tree_text{'section_chapter_before_top_nodes'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E6|prev->E1]
  |section_heading_number:{2}
  |section_level:{2}
  |section_number:{2}
- |toplevel_directions:D[next->E6|prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -123,10 +119,8 @@ $result_tree_text{'section_chapter_before_top_nodes'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3]
  |section_level:{2}
  |section_number:{3}
- |toplevel_directions:D[prev->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -264,12 +258,26 @@ $result_nodes_list{'section_chapter_before_top_nodes'} = 
'1|section node
 $result_sections_list{'section_chapter_before_top_nodes'} = '1|section
  associated_anchor_command: section node
  associated_node: section node
+ section_directions:
+  next->chapter
+ toplevel_directions:
+  next->chapter
 2|chapter
  associated_anchor_command: chapter node
  associated_node: chapter node
+ section_directions:
+  next->top
+  prev->section
+ toplevel_directions:
+  next->top
+  prev->section
 3|top
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  prev->chapter
+ toplevel_directions:
+  prev->chapter
 ';
 
 $result_headings_list{'section_chapter_before_top_nodes'} = '';
diff --git a/tta/perl/t/results/sectioning/semi_auto.pl 
b/tta/perl/t/results/sectioning/semi_auto.pl
index 8190dc87e5..feb139229d 100644
--- a/tta/perl/t/results/sectioning/semi_auto.pl
+++ b/tta/perl/t/results/sectioning/semi_auto.pl
@@ -34,7 +34,6 @@ $result_tree_text{'semi_auto'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -102,11 +101,9 @@ $result_tree_text{'semi_auto'} = '*document_root C9
   |{ }
  |EXTRA
  |section_childs:EC[E7|E9]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -162,7 +159,6 @@ $result_tree_text{'semi_auto'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E9|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -208,7 +204,6 @@ $result_tree_text{'semi_auto'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E4]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -322,15 +317,28 @@ $result_nodes_list{'semi_auto'} = '1|Top
 $result_sections_list{'semi_auto'} = '1|Top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: Chap1
  associated_node: Chap1
+ section_directions:
+  up->Top
+ toplevel_directions:
+  prev->Top
+  up->Top
 3|Sec in chapter
  associated_anchor_command: Sec in chapter
  associated_node: Sec in chapter
+ section_directions:
+  next->Section
+  up->Chapter 1
 4|Section
  associated_anchor_command: Section non auto
  associated_node: Section non auto
+ section_directions:
+  prev->Sec in chapter
+  up->Chapter 1
 ';
 
 $result_headings_list{'semi_auto'} = '';
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 73e8beb6a9..1451b9884a 100644
--- a/tta/perl/t/results/sectioning/top_node_part_top.pl
+++ b/tta/perl/t/results/sectioning/top_node_part_top.pl
@@ -31,7 +31,6 @@ This: [U0]
   |{ }
  |EXTRA
  |global_command_number:{1}
- |section_directions:D[next->E2]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -51,7 +50,6 @@ This: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -104,10 +102,14 @@ $result_nodes_list{'top_node_part_top'} = '1|Top
 
 $result_sections_list{'top_node_part_top'} = '1|part
  part_associated_section: top
+ section_directions:
+  next->top
 2|top
  associated_anchor_command: Top
  associated_node: Top
  associated_part: part
+ section_directions:
+  prev->part
 ';
 
 $result_headings_list{'top_node_part_top'} = '';
diff --git a/tta/perl/t/results/sectioning/top_part_chapter.pl 
b/tta/perl/t/results/sectioning/top_part_chapter.pl
index 7dbc0f2498..cd5cfe7e13 100644
--- a/tta/perl/t/results/sectioning/top_part_chapter.pl
+++ b/tta/perl/t/results/sectioning/top_part_chapter.pl
@@ -18,7 +18,6 @@ Next: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -26,7 +25,6 @@ Next: [U1]
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -47,7 +45,6 @@ FastBack: [U0]
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E2]
- |section_directions:D[prev->E0]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -62,11 +59,9 @@ FastBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -100,10 +95,21 @@ $result_errors{'top_part_chapter'} = [];
 $result_nodes_list{'top_part_chapter'} = '';
 
 $result_sections_list{'top_part_chapter'} = '1|top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chapter
 2|part
  part_associated_section: chapter
+ section_directions:
+  prev->top
 3|chapter
  associated_part: part
+ section_directions:
+  up->part
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'top_part_chapter'} = '';
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 2d9423e1e9..b07d80371b 100644
--- a/tta/perl/t/results/sectioning/top_without_node_nodes.pl
+++ b/tta/perl/t/results/sectioning/top_without_node_nodes.pl
@@ -23,7 +23,6 @@ NodeUp: (dir)
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -60,11 +59,9 @@ NodeUp: (dir)
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -109,9 +106,16 @@ $result_nodes_list{'top_without_node_nodes'} = '1|second
 ';
 
 $result_sections_list{'top_without_node_nodes'} = '1|top section
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: second
  associated_node: second
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'top_without_node_nodes'} = '';
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 f192b73690..afdee6bc59 100644
--- a/tta/perl/t/results/sectioning/top_without_node_sections.pl
+++ b/tta/perl/t/results/sectioning/top_without_node_sections.pl
@@ -25,7 +25,6 @@ FastForward: [U1]
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -70,11 +69,9 @@ NodeUp: (dir)
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -119,9 +116,16 @@ $result_nodes_list{'top_without_node_sections'} = '1|second
 ';
 
 $result_sections_list{'top_without_node_sections'} = '1|top section
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: second
  associated_node: second
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'top_without_node_sections'} = '';
diff --git 
a/tta/perl/t/results/sectioning/top_without_node_texi2html_no_use_nodes.pl 
b/tta/perl/t/results/sectioning/top_without_node_texi2html_no_use_nodes.pl
index 56a047f71b..630f4ea590 100644
--- a/tta/perl/t/results/sectioning/top_without_node_texi2html_no_use_nodes.pl
+++ b/tta/perl/t/results/sectioning/top_without_node_texi2html_no_use_nodes.pl
@@ -21,7 +21,6 @@ $result_tree_text{'top_without_node_texi2html_no_use_nodes'} 
= '*document_root C
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -58,11 +57,9 @@ $result_tree_text{'top_without_node_texi2html_no_use_nodes'} 
= '*document_root C
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -107,9 +104,16 @@ 
$result_nodes_list{'top_without_node_texi2html_no_use_nodes'} = '1|second
 ';
 
 $result_sections_list{'top_without_node_texi2html_no_use_nodes'} = '1|top 
section
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: second
  associated_node: second
+ section_directions:
+  up->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'top_without_node_texi2html_no_use_nodes'} = '';
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 068037550f..d04645573a 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
@@ -42,7 +42,6 @@ NodeForward: [U1]
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -155,11 +154,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -280,9 +277,16 @@ $result_nodes_list{'two_nodes_at_the_end'} = '1|Top
 $result_sections_list{'two_nodes_at_the_end'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter c1
 2|chapter c1
  associated_anchor_command: chapter 1
  associated_node: chapter 1
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'two_nodes_at_the_end'} = '';
diff --git a/tta/perl/t/results/sectioning/two_nodes_at_the_end_nodes.pl 
b/tta/perl/t/results/sectioning/two_nodes_at_the_end_nodes.pl
index 1f884cdef9..04e85e4f55 100644
--- a/tta/perl/t/results/sectioning/two_nodes_at_the_end_nodes.pl
+++ b/tta/perl/t/results/sectioning/two_nodes_at_the_end_nodes.pl
@@ -35,7 +35,6 @@ $result_tree_text{'two_nodes_at_the_end_nodes'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -136,11 +135,9 @@ $result_tree_text{'two_nodes_at_the_end_nodes'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -261,9 +258,16 @@ $result_nodes_list{'two_nodes_at_the_end_nodes'} = '1|Top
 $result_sections_list{'two_nodes_at_the_end_nodes'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter c1
 2|chapter c1
  associated_anchor_command: chapter 1
  associated_node: chapter 1
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'two_nodes_at_the_end_nodes'} = '';
diff --git a/tta/perl/t/results/sectioning/two_nodes_at_the_end_texi2html.pl 
b/tta/perl/t/results/sectioning/two_nodes_at_the_end_texi2html.pl
index 08ef16f8d8..4da5ca3ccd 100644
--- a/tta/perl/t/results/sectioning/two_nodes_at_the_end_texi2html.pl
+++ b/tta/perl/t/results/sectioning/two_nodes_at_the_end_texi2html.pl
@@ -35,7 +35,6 @@ $result_tree_text{'two_nodes_at_the_end_texi2html'} = 
'*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -136,11 +135,9 @@ $result_tree_text{'two_nodes_at_the_end_texi2html'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -261,9 +258,16 @@ $result_nodes_list{'two_nodes_at_the_end_texi2html'} = 
'1|Top
 $result_sections_list{'two_nodes_at_the_end_texi2html'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter c1
 2|chapter c1
  associated_anchor_command: chapter 1
  associated_node: chapter 1
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'two_nodes_at_the_end_texi2html'} = '';
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 045adc2b2f..6d6c29c611 100644
--- a/tta/perl/t/results/sectioning/two_nodes_between_chapters.pl
+++ b/tta/perl/t/results/sectioning/two_nodes_between_chapters.pl
@@ -43,7 +43,6 @@ NodeBack: [U1]
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -159,11 +158,9 @@ NodeBack: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -215,11 +212,9 @@ NodeUp: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -323,12 +318,27 @@ $result_nodes_list{'two_nodes_between_chapters'} = '1|Top
 $result_sections_list{'two_nodes_between_chapters'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter c1
 2|chapter c1
  associated_anchor_command: chapter 1
  associated_node: chapter 1
+ section_directions:
+  next->chapter c2
+  up->top
+ toplevel_directions:
+  next->chapter c2
+  prev->top
+  up->top
 3|chapter c2
  associated_anchor_command: chapter 2
  associated_node: chapter 2
+ section_directions:
+  prev->chapter c1
+  up->top
+ toplevel_directions:
+  prev->chapter c1
+  up->top
 ';
 
 $result_headings_list{'two_nodes_between_chapters'} = '';
diff --git a/tta/perl/t/results/sectioning/two_nodes_between_chapters_nodes.pl 
b/tta/perl/t/results/sectioning/two_nodes_between_chapters_nodes.pl
index 71201ff101..c5a5329d63 100644
--- a/tta/perl/t/results/sectioning/two_nodes_between_chapters_nodes.pl
+++ b/tta/perl/t/results/sectioning/two_nodes_between_chapters_nodes.pl
@@ -35,7 +35,6 @@ $result_tree_text{'two_nodes_between_chapters_nodes'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -136,11 +135,9 @@ $result_tree_text{'two_nodes_between_chapters_nodes'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -182,11 +179,9 @@ $result_tree_text{'two_nodes_between_chapters_nodes'} = 
'*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -290,12 +285,27 @@ $result_nodes_list{'two_nodes_between_chapters_nodes'} = 
'1|Top
 $result_sections_list{'two_nodes_between_chapters_nodes'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter c1
 2|chapter c1
  associated_anchor_command: chapter 1
  associated_node: chapter 1
+ section_directions:
+  next->chapter c2
+  up->top
+ toplevel_directions:
+  next->chapter c2
+  prev->top
+  up->top
 3|chapter c2
  associated_anchor_command: chapter 2
  associated_node: chapter 2
+ section_directions:
+  prev->chapter c1
+  up->top
+ toplevel_directions:
+  prev->chapter c1
+  up->top
 ';
 
 $result_headings_list{'two_nodes_between_chapters_nodes'} = '';
diff --git 
a/tta/perl/t/results/sectioning/two_nodes_between_chapters_texi2html.pl 
b/tta/perl/t/results/sectioning/two_nodes_between_chapters_texi2html.pl
index e3e349a12a..8caef621e1 100644
--- a/tta/perl/t/results/sectioning/two_nodes_between_chapters_texi2html.pl
+++ b/tta/perl/t/results/sectioning/two_nodes_between_chapters_texi2html.pl
@@ -35,7 +35,6 @@ $result_tree_text{'two_nodes_between_chapters_texi2html'} = 
'*document_root C8
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -136,11 +135,9 @@ $result_tree_text{'two_nodes_between_chapters_texi2html'} 
= '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -182,11 +179,9 @@ $result_tree_text{'two_nodes_between_chapters_texi2html'} 
= '*document_root C8
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E4|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -290,12 +285,27 @@ 
$result_nodes_list{'two_nodes_between_chapters_texi2html'} = '1|Top
 $result_sections_list{'two_nodes_between_chapters_texi2html'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chapter c1
 2|chapter c1
  associated_anchor_command: chapter 1
  associated_node: chapter 1
+ section_directions:
+  next->chapter c2
+  up->top
+ toplevel_directions:
+  next->chapter c2
+  prev->top
+  up->top
 3|chapter c2
  associated_anchor_command: chapter 2
  associated_node: chapter 2
+ section_directions:
+  prev->chapter c1
+  up->top
+ toplevel_directions:
+  prev->chapter c1
+  up->top
 ';
 
 $result_headings_list{'two_nodes_between_chapters_texi2html'} = '';
diff --git a/tta/perl/t/results/sectioning/two_unnumbered_no_argument.pl 
b/tta/perl/t/results/sectioning/two_unnumbered_no_argument.pl
index 75dd083d40..bbb54cdbe7 100644
--- a/tta/perl/t/results/sectioning/two_unnumbered_no_argument.pl
+++ b/tta/perl/t/results/sectioning/two_unnumbered_no_argument.pl
@@ -10,7 +10,6 @@ $result_tree_text{'two_unnumbered_no_argument'} = 
'*document_root C3
   *preamble_before_content
  *0 @unnumbered C1 l1
  |EXTRA
- |section_directions:D[next->E1]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -18,7 +17,6 @@ $result_tree_text{'two_unnumbered_no_argument'} = 
'*document_root C3
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{0}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg
    |INFO
@@ -26,10 +24,8 @@ $result_tree_text{'two_unnumbered_no_argument'} = 
'*document_root C3
     |{\\n}
  *1 @unnumbered C1 l2
  |EXTRA
- |section_directions:D[prev->E0]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg
    |INFO
@@ -66,7 +62,15 @@ $result_errors{'two_unnumbered_no_argument'} = [
 $result_nodes_list{'two_unnumbered_no_argument'} = '';
 
 $result_sections_list{'two_unnumbered_no_argument'} = '1
+ section_directions:
+  next->
+ toplevel_directions:
+  next->
 2
+ section_directions:
+  prev->
+ toplevel_directions:
+  prev->
 ';
 
 $result_headings_list{'two_unnumbered_no_argument'} = '';
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 ccb3186e57..262be2aa19 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
@@ -18,7 +18,6 @@ Next: [U1]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -26,7 +25,6 @@ Next: [U1]
   ||EXTRA
   ||section_childs:EC[E0|E2]
   ||section_level:{0}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -63,10 +61,8 @@ Prev: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -115,9 +111,17 @@ $result_nodes_list{'unnumbered_before_node_top_top'} = 
'1|Top
 ';
 
 $result_sections_list{'unnumbered_before_node_top_top'} = '1|before nodes
+ section_directions:
+  next->top section
+ toplevel_directions:
+  next->top section
 2|top section
  associated_anchor_command: Top
  associated_node: Top
+ section_directions:
+  prev->before nodes
+ toplevel_directions:
+  prev->before nodes
 ';
 
 $result_headings_list{'unnumbered_before_node_top_top'} = '';
diff --git a/tta/perl/t/results/sectioning/unnumbered_before_top.pl 
b/tta/perl/t/results/sectioning/unnumbered_before_top.pl
index 704dea55e9..953ad4e260 100644
--- a/tta/perl/t/results/sectioning/unnumbered_before_top.pl
+++ b/tta/perl/t/results/sectioning/unnumbered_before_top.pl
@@ -12,7 +12,6 @@ $result_tree_text{'unnumbered_before_top'} = '*document_root 
C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E1]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -20,7 +19,6 @@ $result_tree_text{'unnumbered_before_top'} = '*document_root 
C3
   ||EXTRA
   ||section_childs:EC[E0|E1]
   ||section_level:{0}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -33,10 +31,8 @@ $result_tree_text{'unnumbered_before_top'} = '*document_root 
C3
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E0]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -73,7 +69,15 @@ $result_errors{'unnumbered_before_top'} = [
 $result_nodes_list{'unnumbered_before_top'} = '';
 
 $result_sections_list{'unnumbered_before_top'} = '1|before top
+ section_directions:
+  next->top
+ toplevel_directions:
+  next->top
 2|top
+ section_directions:
+  prev->before top
+ toplevel_directions:
+  prev->before top
 ';
 
 $result_headings_list{'unnumbered_before_top'} = '';
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 16a14f6921..c0566f5615 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
@@ -41,7 +41,6 @@ NodeUp: (dir)
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -49,7 +48,6 @@ NodeUp: (dir)
   ||EXTRA
   ||section_childs:EC[E1|E2|E4]
   ||section_level:{0}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,10 +63,8 @@ NodeUp: (dir)
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|prev->E1]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E4|prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -112,11 +108,9 @@ NodeUp: (dir)
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -201,10 +195,25 @@ $result_nodes_list{'unnumbered_top_without_node_nodes'} = 
'1|a node
 $result_sections_list{'unnumbered_top_without_node_nodes'} = '1|unnumbered
  associated_anchor_command: a node
  associated_node: a node
+ section_directions:
+  next->top section
+ toplevel_directions:
+  next->top section
 2|top section
+ section_directions:
+  next->Chapter
+  prev->unnumbered
+ toplevel_directions:
+  next->Chapter
+  prev->unnumbered
 3|Chapter
  associated_anchor_command: second
  associated_node: second
+ section_directions:
+  prev->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'unnumbered_top_without_node_nodes'} = '';
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 7ecd867e1d..13f74946c6 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
@@ -42,7 +42,6 @@ NodeUp: (dir)
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2]
  |section_level:{1}
  |section_number:{1}
  |sectioning_root:
@@ -50,7 +49,6 @@ NodeUp: (dir)
   ||EXTRA
   ||section_childs:EC[E1|E2|E4]
   ||section_level:{0}
- |toplevel_directions:D[next->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -76,10 +74,8 @@ Prev: [U0]
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E4|prev->E1]
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E4|prev->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -124,11 +120,9 @@ NodeUp: (dir)
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E2|up->E2]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -213,10 +207,25 @@ 
$result_nodes_list{'unnumbered_top_without_node_sections'} = '1|a node
 $result_sections_list{'unnumbered_top_without_node_sections'} = '1|unnumbered
  associated_anchor_command: a node
  associated_node: a node
+ section_directions:
+  next->top section
+ toplevel_directions:
+  next->top section
 2|top section
+ section_directions:
+  next->Chapter
+  prev->unnumbered
+ toplevel_directions:
+  next->Chapter
+  prev->unnumbered
 3|Chapter
  associated_anchor_command: second
  associated_node: second
+ section_directions:
+  prev->top section
+ toplevel_directions:
+  prev->top section
+  up->top section
 ';
 
 $result_headings_list{'unnumbered_top_without_node_sections'} = '';
diff --git 
a/tta/perl/t/results/transformations/index_entries_relate_to_item_no_transformation.pl
 
b/tta/perl/t/results/transformations/index_entries_relate_to_item_no_transformation.pl
index d71aa41ca5..5aa03ae5a9 100644
Binary files 
a/tta/perl/t/results/transformations/index_entries_relate_to_item_no_transformation.pl
 and 
b/tta/perl/t/results/transformations/index_entries_relate_to_item_no_transformation.pl
 differ
diff --git 
a/tta/perl/t/results/transformations/index_entries_relate_to_item_transformation.pl
 
b/tta/perl/t/results/transformations/index_entries_relate_to_item_transformation.pl
index 4f1cf7b819..6cd5073eaf 100644
Binary files 
a/tta/perl/t/results/transformations/index_entries_relate_to_item_transformation.pl
 and 
b/tta/perl/t/results/transformations/index_entries_relate_to_item_transformation.pl
 differ
diff --git 
a/tta/perl/t/results/transformations/insert_nodes_for_sectioning_commands.pl 
b/tta/perl/t/results/transformations/insert_nodes_for_sectioning_commands.pl
index 90ed817db2..494aca188b 100644
--- a/tta/perl/t/results/transformations/insert_nodes_for_sectioning_commands.pl
+++ b/tta/perl/t/results/transformations/insert_nodes_for_sectioning_commands.pl
@@ -26,7 +26,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E2]
  |section_level:{0}
  |section_number:{1}
  |sectioning_root:
@@ -34,7 +33,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
   ||EXTRA
   ||section_childs:EC[E1|E2]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -49,7 +47,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
  |EXTRA
  |global_command_number:{1}
  |section_childs:EC[E4|E18]
- |section_directions:D[prev->E1]
  |section_level:{0}
  |section_number:{2}
   *arguments_line C1
@@ -85,11 +82,9 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
   |{ }
  |EXTRA
  |section_childs:EC[E6|E8|E14|E16]
- |section_directions:D[next->E18|up->E2]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[next->E18|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C2
    |INFO
@@ -119,7 +114,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E8|up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{4}
@@ -150,7 +144,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
   |{ }
  |EXTRA
  |section_childs:EC[E10|E12]
- |section_directions:D[next->E14|prev->E6|up->E4]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{5}
@@ -179,7 +172,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E12|up->E8]
  |section_heading_number:{1.2.1}
  |section_level:{3}
  |section_number:{6}
@@ -212,7 +204,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E10|up->E8]
  |section_heading_number:{1.2.2}
  |section_level:{3}
  |section_number:{7}
@@ -245,7 +236,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E16|prev->E8|up->E4]
  |section_heading_number:{1.3}
  |section_level:{2}
  |section_number:{8}
@@ -276,7 +266,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E14|up->E4]
  |section_heading_number:{1.4}
  |section_level:{2}
  |section_number:{9}
@@ -305,10 +294,8 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} 
= '*document_root C22
  *18 @unnumbered C2 l21
  |EXTRA
  |section_childs:EC[E20]
- |section_directions:D[prev->E4|up->E2]
  |section_level:{1}
  |section_number:{10}
- |toplevel_directions:D[prev->E4|up->E1]
   *arguments_line C1
    *line_arg
    |INFO
@@ -336,7 +323,6 @@ $result_tree_text{'insert_nodes_for_sectioning_commands'} = 
'*document_root C22
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E18]
  |section_level:{2}
  |section_number:{11}
   *arguments_line C1
@@ -485,28 +471,69 @@ 
$result_nodes_list{'insert_nodes_for_sectioning_commands'} = '1|Top
 
 $result_sections_list{'insert_nodes_for_sectioning_commands'} = '1|top section
  associated_node: Top
+ section_directions:
+  next->part
+ toplevel_directions:
+  next->chap, @code{a chap}
 2|part
  part_associated_section: chap, @code{a chap}
+ section_directions:
+  prev->top section
 3|chap, @code{a chap}
  associated_node: chap@comma{} @code{a chap}
  associated_part: part
+ section_directions:
+  next->
+  up->part
+ toplevel_directions:
+  next->
+  prev->top section
+  up->top section
 4|section
  associated_anchor_command: a node
  associated_node: a node
+ section_directions:
+  next->truc
+  up->chap, @code{a chap}
 5|truc
  associated_node: truc
+ section_directions:
+  next->section
+  prev->section
+  up->chap, @code{a chap}
 6|sub1
  associated_node: sub1
+ section_directions:
+  next->sub2
+  up->truc
 7|sub2
  associated_node: sub2
+ section_directions:
+  prev->sub1
+  up->truc
 8|section
  associated_node: section
+ section_directions:
+  next->section
+  prev->truc
+  up->chap, @code{a chap}
 9|section
  associated_node: section 1
+ section_directions:
+  prev->section
+  up->chap, @code{a chap}
 10
  associated_node:  1
+ section_directions:
+  prev->chap, @code{a chap}
+  up->part
+ toplevel_directions:
+  prev->chap, @code{a chap}
+  up->top section
 11|@asis{}
  associated_node: @asis{} 2
+ section_directions:
+  up->
 ';
 
 $result_headings_list{'insert_nodes_for_sectioning_commands'} = '';
diff --git a/tta/perl/t/results/transformations/master_menu_fr.pl 
b/tta/perl/t/results/transformations/master_menu_fr.pl
index 59ebc95214..7438e7f0f9 100644
--- a/tta/perl/t/results/transformations/master_menu_fr.pl
+++ b/tta/perl/t/results/transformations/master_menu_fr.pl
@@ -51,7 +51,6 @@ $result_tree_text{'master_menu_fr'} = '*document_root C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -147,11 +146,9 @@ $result_tree_text{'master_menu_fr'} = '*document_root C7
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -207,7 +204,6 @@ $result_tree_text{'master_menu_fr'} = '*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -304,12 +300,21 @@ $result_nodes_list{'master_menu_fr'} = '1|Top
 $result_sections_list{'master_menu_fr'} = '1|max
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->max
+ toplevel_directions:
+  prev->max
+  up->max
 3|sec
  associated_anchor_command: section
  associated_node: section
+ section_directions:
+  up->chap
 ';
 
 $result_headings_list{'master_menu_fr'} = '';
diff --git 
a/tta/perl/t/results/transformations/regenerate_master_menu_no_need_for_master_menu.pl
 
b/tta/perl/t/results/transformations/regenerate_master_menu_no_need_for_master_menu.pl
index e3b9177f5a..0058c8bd60 100644
--- 
a/tta/perl/t/results/transformations/regenerate_master_menu_no_need_for_master_menu.pl
+++ 
b/tta/perl/t/results/transformations/regenerate_master_menu_no_need_for_master_menu.pl
@@ -34,7 +34,6 @@ 
$result_tree_text{'regenerate_master_menu_no_need_for_master_menu'} = '*document
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -90,11 +89,9 @@ 
$result_tree_text{'regenerate_master_menu_no_need_for_master_menu'} = '*document
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -148,9 +145,16 @@ 
$result_nodes_list{'regenerate_master_menu_no_need_for_master_menu'} = '1|Top
 $result_sections_list{'regenerate_master_menu_no_need_for_master_menu'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'regenerate_master_menu_no_need_for_master_menu'} = '';
diff --git 
a/tta/perl/t/results/transformations/regenerate_master_menu_with_menu_comment.pl
 
b/tta/perl/t/results/transformations/regenerate_master_menu_with_menu_comment.pl
index b2ed0d8d71..f4af8ddce8 100644
--- 
a/tta/perl/t/results/transformations/regenerate_master_menu_with_menu_comment.pl
+++ 
b/tta/perl/t/results/transformations/regenerate_master_menu_with_menu_comment.pl
@@ -34,7 +34,6 @@ $result_tree_text{'regenerate_master_menu_with_menu_comment'} 
= '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -132,11 +131,9 @@ 
$result_tree_text{'regenerate_master_menu_with_menu_comment'} = '*document_root
   |{ }
  |EXTRA
  |section_childs:EC[E6]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -163,7 +160,6 @@ 
$result_tree_text{'regenerate_master_menu_with_menu_comment'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -249,12 +245,21 @@ 
$result_nodes_list{'regenerate_master_menu_with_menu_comment'} = '1|Top
 $result_sections_list{'regenerate_master_menu_with_menu_comment'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|Sec
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  up->Chapter
 ';
 
 $result_headings_list{'regenerate_master_menu_with_menu_comment'} = '';
diff --git a/tta/perl/t/results/transformations/test_fill_gaps_in_sectioning.pl 
b/tta/perl/t/results/transformations/test_fill_gaps_in_sectioning.pl
index dd8df57244..d8fedf28ba 100644
--- a/tta/perl/t/results/transformations/test_fill_gaps_in_sectioning.pl
+++ b/tta/perl/t/results/transformations/test_fill_gaps_in_sectioning.pl
@@ -20,7 +20,6 @@ $result_tree_text{'test_fill_gaps_in_sectioning'} = 
'*document_root C6
   ||EXTRA
   ||section_childs:EC[E0]
   ||section_level:{-1}
- |toplevel_directions:D[next->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -34,11 +33,9 @@ $result_tree_text{'test_fill_gaps_in_sectioning'} = 
'*document_root C6
   |{ }
  |EXTRA
  |section_childs:EC[E2]
- |section_directions:D[up->E0]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E0|up->E0]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -52,7 +49,6 @@ $result_tree_text{'test_fill_gaps_in_sectioning'} = 
'*document_root C6
   |{ }
  |EXTRA
  |section_childs:EC[E3]
- |section_directions:D[up->E1]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -69,7 +65,6 @@ $result_tree_text{'test_fill_gaps_in_sectioning'} = 
'*document_root C6
   |{ }
  |EXTRA
  |section_childs:EC[E4]
- |section_directions:D[up->E2]
  |section_level:{3}
  |section_number:{4}
   *arguments_line C1
@@ -85,7 +80,6 @@ $result_tree_text{'test_fill_gaps_in_sectioning'} = 
'*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_level:{4}
  |section_number:{5}
   *arguments_line C1
@@ -129,10 +123,23 @@ $result_errors{'test_fill_gaps_in_sectioning'} = [];
 $result_nodes_list{'test_fill_gaps_in_sectioning'} = '';
 
 $result_sections_list{'test_fill_gaps_in_sectioning'} = '1|top
+ toplevel_directions:
+  next->Chap
 2|Chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|Section
+ section_directions:
+  up->Chap
 4|@asis{}
+ section_directions:
+  up->Section
 5|There
+ section_directions:
+  up->@asis{}
 ';
 
 $result_headings_list{'test_fill_gaps_in_sectioning'} = '';
diff --git 
a/tta/perl/t/results/transformations/test_fill_gaps_in_sectioning_insert_nodes.pl
 
b/tta/perl/t/results/transformations/test_fill_gaps_in_sectioning_insert_nodes.pl
index 2ba181cf21..16a310c4c6 100644
--- 
a/tta/perl/t/results/transformations/test_fill_gaps_in_sectioning_insert_nodes.pl
+++ 
b/tta/perl/t/results/transformations/test_fill_gaps_in_sectioning_insert_nodes.pl
@@ -34,7 +34,6 @@ 
$result_tree_text{'test_fill_gaps_in_sectioning_insert_nodes'} = '*document_root
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ 
$result_tree_text{'test_fill_gaps_in_sectioning_insert_nodes'} = '*document_root
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,7 +91,6 @@ 
$result_tree_text{'test_fill_gaps_in_sectioning_insert_nodes'} = '*document_root
   |{ }
  |EXTRA
  |section_childs:EC[E7]
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -127,7 +123,6 @@ 
$result_tree_text{'test_fill_gaps_in_sectioning_insert_nodes'} = '*document_root
   |{ }
  |EXTRA
  |section_childs:EC[E9]
- |section_directions:D[up->E5]
  |section_level:{3}
  |section_number:{4}
   *arguments_line C1
@@ -157,7 +152,6 @@ 
$result_tree_text{'test_fill_gaps_in_sectioning_insert_nodes'} = '*document_root
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E7]
  |section_level:{4}
  |section_number:{5}
   *arguments_line C1
@@ -228,14 +222,27 @@ 
$result_nodes_list{'test_fill_gaps_in_sectioning_insert_nodes'} = '1|Top
 
 $result_sections_list{'test_fill_gaps_in_sectioning_insert_nodes'} = '1|top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_node: Chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|Section
  associated_node: Section
+ section_directions:
+  up->Chap
 4|@asis{}
  associated_node: @asis{} 1
+ section_directions:
+  up->Section
 5|There
  associated_node: There
+ section_directions:
+  up->@asis{}
 ';
 
 $result_headings_list{'test_fill_gaps_in_sectioning_insert_nodes'} = '';
diff --git 
a/tta/perl/t/results/transformations/test_insert_nodes_nodedescription.pl 
b/tta/perl/t/results/transformations/test_insert_nodes_nodedescription.pl
index 0025d7ed8e..7f700e9466 100644
--- a/tta/perl/t/results/transformations/test_insert_nodes_nodedescription.pl
+++ b/tta/perl/t/results/transformations/test_insert_nodes_nodedescription.pl
@@ -34,7 +34,6 @@ $result_tree_text{'test_insert_nodes_nodedescription'} = 
'*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -71,11 +70,9 @@ $result_tree_text{'test_insert_nodes_nodedescription'} = 
'*document_root C9
   |{ }
  |EXTRA
  |section_childs:EC[E6]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -103,7 +100,6 @@ $result_tree_text{'test_insert_nodes_nodedescription'} = 
'*document_root C9
   |{ }
  |EXTRA
  |section_childs:EC[E10]
- |section_directions:D[up->E4]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -151,7 +147,6 @@ $result_tree_text{'test_insert_nodes_nodedescription'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E6]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -245,12 +240,23 @@ $result_nodes_list{'test_insert_nodes_nodedescription'} = 
'1|Top
 
 $result_sections_list{'test_insert_nodes_nodedescription'} = '1|top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_node: Chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|Sec
  associated_node: Sec
+ section_directions:
+  up->Chap
 4|Subsec
  associated_node: Subsec
+ section_directions:
+  up->Sec
 ';
 
 $result_headings_list{'test_insert_nodes_nodedescription'} = '';
diff --git 
a/tta/perl/t/results/transformations/test_insert_nodes_reallocated_nodedescriptionblock.pl
 
b/tta/perl/t/results/transformations/test_insert_nodes_reallocated_nodedescriptionblock.pl
index 6d141b7a80..a66c34dae8 100644
--- 
a/tta/perl/t/results/transformations/test_insert_nodes_reallocated_nodedescriptionblock.pl
+++ 
b/tta/perl/t/results/transformations/test_insert_nodes_reallocated_nodedescriptionblock.pl
@@ -34,7 +34,6 @@ 
$result_tree_text{'test_insert_nodes_reallocated_nodedescriptionblock'} = '*docu
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ 
$result_tree_text{'test_insert_nodes_reallocated_nodedescriptionblock'} = '*docu
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -94,7 +91,6 @@ 
$result_tree_text{'test_insert_nodes_reallocated_nodedescriptionblock'} = '*docu
   |{ }
  |EXTRA
  |section_childs:EC[E9]
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -163,7 +159,6 @@ 
$result_tree_text{'test_insert_nodes_reallocated_nodedescriptionblock'} = '*docu
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E5]
  |section_heading_number:{1.1.1}
  |section_level:{3}
  |section_number:{4}
@@ -250,13 +245,24 @@ 
$result_nodes_list{'test_insert_nodes_reallocated_nodedescriptionblock'} = '1|To
 $result_sections_list{'test_insert_nodes_reallocated_nodedescriptionblock'} = 
'1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3|Sec
  associated_node: Sec
+ section_directions:
+  up->Chap
 4|Subsec
  associated_node: Subsec
+ section_directions:
+  up->Sec
 ';
 
 $result_headings_list{'test_insert_nodes_reallocated_nodedescriptionblock'} = 
'';
diff --git 
a/tta/perl/t/results/transformations/test_insert_nodes_with_empty_headings.pl 
b/tta/perl/t/results/transformations/test_insert_nodes_with_empty_headings.pl
index 2bbe760576..d6e5cf8df3 100644
--- 
a/tta/perl/t/results/transformations/test_insert_nodes_with_empty_headings.pl
+++ 
b/tta/perl/t/results/transformations/test_insert_nodes_with_empty_headings.pl
@@ -34,7 +34,6 @@ $result_tree_text{'test_insert_nodes_with_empty_headings'} = 
'*document_root C12
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'test_insert_nodes_with_empty_headings'} = 
'*document_root C12
   |{ }
  |EXTRA
  |section_childs:EC[E5|E7|E10]
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -91,7 +88,6 @@ $result_tree_text{'test_insert_nodes_with_empty_headings'} = 
'*document_root C12
     { 1}
  *5 @section C2 l5
  |EXTRA
- |section_directions:D[next->E7|up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -118,7 +114,6 @@ $result_tree_text{'test_insert_nodes_with_empty_headings'} 
= '*document_root C12
     { 2}
  *7 @section C2 l7
  |EXTRA
- |section_directions:D[next->E10|prev->E5|up->E3]
  |section_heading_number:{1.2}
  |section_level:{2}
  |section_number:{4}
@@ -160,7 +155,6 @@ $result_tree_text{'test_insert_nodes_with_empty_headings'} 
= '*document_root C12
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E7|up->E3]
  |section_heading_number:{1.3}
  |section_level:{2}
  |section_number:{5}
@@ -262,14 +256,31 @@ 
$result_nodes_list{'test_insert_nodes_with_empty_headings'} = '1|Top
 
 $result_sections_list{'test_insert_nodes_with_empty_headings'} = '1|top
  associated_node: Top
+ toplevel_directions:
+  next->Chap
 2|Chap
  associated_node: Chap
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 3
  associated_node:  1
+ section_directions:
+  next->
+  up->Chap
 4
  associated_node:  2
+ section_directions:
+  next->@strong{}
+  prev->
+  up->Chap
 5|@strong{}
  associated_node: @strong{} 3
+ section_directions:
+  prev->
+  up->Chap
 ';
 
 $result_headings_list{'test_insert_nodes_with_empty_headings'} = '';
diff --git a/tta/perl/t/results/value/value_in_node.pl 
b/tta/perl/t/results/value/value_in_node.pl
index a3da0e5fd5..08e9082b52 100644
--- a/tta/perl/t/results/value/value_in_node.pl
+++ b/tta/perl/t/results/value/value_in_node.pl
@@ -66,7 +66,6 @@ $result_tree_text{'value_in_node'} = '*document_root C6
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -152,11 +151,9 @@ $result_tree_text{'value_in_node'} = '*document_root C6
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -330,9 +327,16 @@ $result_nodes_list{'value_in_node'} = '1|Top
 $result_sections_list{'value_in_node'} = '1|Expansion in Node Names
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter 1
 2|Chapter 1
  associated_anchor_command: Node 1
  associated_node: Node 1
+ section_directions:
+  up->Expansion in Node Names
+ toplevel_directions:
+  prev->Expansion in Node Names
+  up->Expansion in Node Names
 ';
 
 $result_headings_list{'value_in_node'} = '';
diff --git a/tta/perl/t/results/value/value_node_directions.pl 
b/tta/perl/t/results/value/value_node_directions.pl
index d6ef506d69..e8330f8a32 100644
--- a/tta/perl/t/results/value/value_node_directions.pl
+++ b/tta/perl/t/results/value/value_node_directions.pl
@@ -72,7 +72,6 @@ $result_tree_text{'value_node_directions'} = '*document_root 
C7
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -144,11 +143,9 @@ $result_tree_text{'value_node_directions'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[next->E5|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E5|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -202,11 +199,9 @@ $result_tree_text{'value_node_directions'} = 
'*document_root C7
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{3}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -288,12 +283,27 @@ $result_nodes_list{'value_node_directions'} = '1|Top
 $result_sections_list{'value_node_directions'} = '1|Var bar
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->BarFoo
 2|BarFoo
  associated_anchor_command: bar
  associated_node: bar
+ section_directions:
+  next->bar
+  up->Var bar
+ toplevel_directions:
+  next->bar
+  prev->Var bar
+  up->Var bar
 3|bar
  associated_anchor_command: BarFoo
  associated_node: BarFoo
+ section_directions:
+  prev->BarFoo
+  up->Var bar
+ toplevel_directions:
+  prev->BarFoo
+  up->Var bar
 ';
 
 $result_headings_list{'value_node_directions'} = '';
diff --git a/tta/perl/t/results/xml_tests/image_inline_or_not.pl 
b/tta/perl/t/results/xml_tests/image_inline_or_not.pl
index 366de4c1c2..ca1a493422 100644
--- a/tta/perl/t/results/xml_tests/image_inline_or_not.pl
+++ b/tta/perl/t/results/xml_tests/image_inline_or_not.pl
@@ -50,7 +50,6 @@ $result_tree_text{'image_inline_or_not'} = '*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E4]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -297,11 +296,9 @@ $result_tree_text{'image_inline_or_not'} = '*document_root 
C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -546,9 +543,16 @@ $result_nodes_list{'image_inline_or_not'} = '1|Top
 $result_sections_list{'image_inline_or_not'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->@image{in_chapter_arg}
 2|@image{in_chapter_arg}
  associated_anchor_command: @image{node_image}
  associated_node: @image{node_image}
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'image_inline_or_not'} = '';
diff --git a/tta/perl/t/results/xml_tests/sectioning_test_no_use_nodes.pl 
b/tta/perl/t/results/xml_tests/sectioning_test_no_use_nodes.pl
index dd16b87c42..0f09eea35d 100644
--- a/tta/perl/t/results/xml_tests/sectioning_test_no_use_nodes.pl
+++ b/tta/perl/t/results/xml_tests/sectioning_test_no_use_nodes.pl
@@ -34,7 +34,6 @@ $result_tree_text{'sectioning_test_no_use_nodes'} = 
'*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ $result_tree_text{'sectioning_test_no_use_nodes'} = 
'*document_root C9
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -99,7 +96,6 @@ $result_tree_text{'sectioning_test_no_use_nodes'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -132,11 +128,9 @@ $result_tree_text{'sectioning_test_no_use_nodes'} = 
'*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -223,15 +217,32 @@ $result_nodes_list{'sectioning_test_no_use_nodes'} = 
'1|Top
 $result_sections_list{'sectioning_test_no_use_nodes'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap1
 2|Chap1
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->Chap2
+  up->top
+ toplevel_directions:
+  next->Chap2
+  prev->top
+  up->top
 3|sec1
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  up->Chap1
 4|Chap2
  associated_anchor_command: chap2
  associated_node: chap2
+ section_directions:
+  prev->Chap1
+  up->top
+ toplevel_directions:
+  prev->Chap1
+  up->top
 ';
 
 $result_headings_list{'sectioning_test_no_use_nodes'} = '';
diff --git a/tta/perl/t/results/xml_tests/sectioning_test_ref.pl 
b/tta/perl/t/results/xml_tests/sectioning_test_ref.pl
index 29510b4ed8..bfe08abbae 100644
--- a/tta/perl/t/results/xml_tests/sectioning_test_ref.pl
+++ b/tta/perl/t/results/xml_tests/sectioning_test_ref.pl
@@ -34,7 +34,6 @@ $result_tree_text{'sectioning_test_ref'} = '*document_root C9
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -65,11 +64,9 @@ $result_tree_text{'sectioning_test_ref'} = '*document_root C9
   |{ }
  |EXTRA
  |section_childs:EC[E5]
- |section_directions:D[next->E7|up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[next->E7|prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -99,7 +96,6 @@ $result_tree_text{'sectioning_test_ref'} = '*document_root C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E3]
  |section_heading_number:{1.1}
  |section_level:{2}
  |section_number:{3}
@@ -132,11 +128,9 @@ $result_tree_text{'sectioning_test_ref'} = '*document_root 
C9
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[prev->E3|up->E1]
  |section_heading_number:{2}
  |section_level:{1}
  |section_number:{4}
- |toplevel_directions:D[prev->E3|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -223,15 +217,32 @@ $result_nodes_list{'sectioning_test_ref'} = '1|Top
 $result_sections_list{'sectioning_test_ref'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chap1
 2|Chap1
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  next->Chap2
+  up->top
+ toplevel_directions:
+  next->Chap2
+  prev->top
+  up->top
 3|sec1
  associated_anchor_command: sec
  associated_node: sec
+ section_directions:
+  up->Chap1
 4|Chap2
  associated_anchor_command: chap2
  associated_node: chap2
+ section_directions:
+  prev->Chap1
+  up->top
+ toplevel_directions:
+  prev->Chap1
+  up->top
 ';
 
 $result_headings_list{'sectioning_test_ref'} = '';
diff --git a/tta/perl/t/results/xtable/block_commands_in_table.pl 
b/tta/perl/t/results/xtable/block_commands_in_table.pl
index f98e195158..068b252bf3 100644
--- a/tta/perl/t/results/xtable/block_commands_in_table.pl
+++ b/tta/perl/t/results/xtable/block_commands_in_table.pl
@@ -34,7 +34,6 @@ $result_tree_text{'block_commands_in_table'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -61,11 +60,9 @@ $result_tree_text{'block_commands_in_table'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -534,9 +531,16 @@ $result_nodes_list{'block_commands_in_table'} = '1|Top
 $result_sections_list{'block_commands_in_table'} = '1|Element
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->Chapter
 2|Chapter
  associated_anchor_command: chap
  associated_node: chap
+ section_directions:
+  up->Element
+ toplevel_directions:
+  prev->Element
+  up->Element
 ';
 
 $result_headings_list{'block_commands_in_table'} = '';
diff --git a/tta/perl/t/results/xtable/inter_item_commands_in_table.pl 
b/tta/perl/t/results/xtable/inter_item_commands_in_table.pl
index c01df74b3a..940d0c03d8 100644
--- a/tta/perl/t/results/xtable/inter_item_commands_in_table.pl
+++ b/tta/perl/t/results/xtable/inter_item_commands_in_table.pl
@@ -35,7 +35,6 @@ $result_tree_text{'inter_item_commands_in_table'} = 
'*document_root C5
   ||EXTRA
   ||section_childs:EC[E1]
   ||section_level:{-1}
- |toplevel_directions:D[next->E3]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -62,11 +61,9 @@ $result_tree_text{'inter_item_commands_in_table'} = 
'*document_root C5
  |spaces_before_argument:
   |{ }
  |EXTRA
- |section_directions:D[up->E1]
  |section_heading_number:{1}
  |section_level:{1}
  |section_number:{2}
- |toplevel_directions:D[prev->E1|up->E1]
   *arguments_line C1
    *line_arg C1
    |INFO
@@ -932,9 +929,16 @@ $result_nodes_list{'inter_item_commands_in_table'} = '1|Top
 $result_sections_list{'inter_item_commands_in_table'} = '1|top
  associated_anchor_command: Top
  associated_node: Top
+ toplevel_directions:
+  next->chap
 2|chap
  associated_anchor_command: chapter
  associated_node: chapter
+ section_directions:
+  up->top
+ toplevel_directions:
+  prev->top
+  up->top
 ';
 
 $result_headings_list{'inter_item_commands_in_table'} = '';



reply via email to

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