texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/Common.pm (%in_heading_commands): ad


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/Common.pm (%in_heading_commands): add some @-commands in that category that were missing.
Date: Sun, 12 Sep 2021 18:10:30 -0400

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

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new b5b98f8  * tp/Texinfo/Common.pm (%in_heading_commands): add some 
@-commands in that category that were missing.
b5b98f8 is described below

commit b5b98f84346616114e613ac25eff7e0a2f7671ba
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Sep 13 00:09:49 2021 +0200

    * tp/Texinfo/Common.pm (%in_heading_commands): add some @-commands
    in that category that were missing.
    
    * tp/Texinfo/Common.pm (split_custom_heading_command_contents):
    add that function to split at @| contents of customization header
    @-commands such as @everyheading.
    
    * tp/Texinfo/Convert/LaTeX.pm: handle custom headers.  For that
    replace fancyhdr package by titleps, with fancyhdr it is too
    complicated to use chapter or section name.
---
 ChangeLog                                          |  13 +
 tp/Texinfo/Common.pm                               | 197 +++--
 tp/Texinfo/Convert/LaTeX.pm                        | 230 +++++-
 tp/t/latex_tests.t                                 |  52 +-
 .../def_syn_indices/res_latex/def_syn_indices.tex  |  38 +-
 .../res_latex/double_seeentry_seealso.tex          |  38 +-
 .../indices/seeentry/res_latex/seeentry.tex        |  38 +-
 .../indices/subentries/res_latex/subentries.tex    |  38 +-
 .../res_latex/subentry_and_sortas.tex              |  38 +-
 .../res_latex/syncode_index_print_both.tex         |  38 +-
 .../res_latex/inter_item_commands_in_enumerate.tex |  38 +-
 .../res_latex/inter_item_commands_in_itemize.tex   |  38 +-
 .../res_latex/multiple_lang_chapters.tex           |  38 +-
 ...anchor_links_xref_xrefautomaticsectiontitle.tex |  38 +-
 tp/t/results/latex_tests/custom_headings.pl        | 919 +++++++++++++++++++++
 .../res_latex/custom_headings.tex}                 |  77 +-
 .../res_latex/enumerate_arguments.tex              |  38 +-
 .../res_latex/example_in_cartouche.tex             |  38 +-
 .../float_and_refs/res_latex/float_and_refs.tex    |  38 +-
 .../fonttextsize/res_latex/fonttextsize.tex        |  38 +-
 .../latex_tests/indices/res_latex/indices.tex      |  38 +-
 .../res_latex/nested_enumerate.tex                 |  38 +-
 .../nested_itemize/res_latex/nested_itemize.tex    |  38 +-
 .../no_titlepage_and_setchapternewpage_odd.pl      |   2 +-
 .../no_titlepage_and_setchapternewpage_odd.tex     |  40 +-
 .../no_titlepage_and_setchapternewpage_on.tex      |  38 +-
 .../latex_tests/pagesizes/res_latex/pagesizes.tex  |  38 +-
 .../latex_tests/pagetype/res_latex/pagetype.tex    |  38 +-
 .../setchapternewpage_on_odd_titlepage.pl          |   2 +-
 .../setchapternewpage_on_odd_titlepage.tex         |  40 +-
 tp/t/results/latex_tests/settitle_and_headings.pl  | 111 ++-
 .../res_latex/settitle_and_headings.tex            |  50 +-
 .../shorttitlepage/res_latex/shorttitlepage.tex    |  38 +-
 .../three_setchapternewpage_on_odd_off.pl          |   2 +-
 .../three_setchapternewpage_on_odd_off.tex         |  40 +-
 .../res_latex/titlepage_and_headings.tex           |  38 +-
 .../titlepage_and_setchapternewpage_odd.pl         |   2 +-
 .../titlepage_and_setchapternewpage_odd.tex        |  40 +-
 .../titlepage_and_setchapternewpage_on.tex         |  38 +-
 .../res_latex/titlepage_classical.tex              |  38 +-
 .../res_latex/titlepage_in_top_node.tex            |  38 +-
 .../res_latex/titlepage_long_title.tex             |  38 +-
 .../res_latex/titlepage_no_author.tex              |  38 +-
 .../res_latex/titlepage_no_title.tex               |  38 +-
 .../titlepage_with_commands_classical.tex          |  38 +-
 .../latex_tests/two_setchapternewpage_odd_on.pl    |   2 +-
 .../res_latex/two_setchapternewpage_odd_on.tex     |  40 +-
 .../latex_tests/two_setchapternewpage_on_odd.pl    |   2 +-
 .../res_latex/two_setchapternewpage_on_odd.tex     |  40 +-
 .../res_latex/verbatim_in_smallformat.tex          |  38 +-
 .../empty_quotation/res_latex/empty_quotation.tex  |  38 +-
 .../res_latex/quotation_and_author.tex             |  38 +-
 .../res_latex/quotation_author_in_example.tex      |  38 +-
 .../space_at_commands_end_quotation_line.tex       |  38 +-
 .../res_latex/chapter_between_nodes.tex            |  38 +-
 .../lone_Top_node/res_latex/lone_Top_node.tex      |  38 +-
 .../sectioning/loop_nodes/res_latex/loop_nodes.tex |  38 +-
 .../node_sectop_before_chapter_no_node.tex         |  38 +-
 .../res_latex/node_sectop_before_lone_node_Top.tex |  38 +-
 .../res_latex/nodes_before_after_top.tex           |  38 +-
 .../res_latex/nodes_before_after_top_xref.tex      |  38 +-
 .../res_latex/nodes_before_top.tex                 |  38 +-
 .../res_latex/section_before_after_top_node.tex    |  38 +-
 .../section_before_after_top_node_last_node.tex    |  38 +-
 .../res_latex/section_chapter_before_top_nodes.tex |  38 +-
 .../res_latex/inter_item_commands_in_table.tex     |  38 +-
 .../inter_item_commands_in_table_in_example.tex    |  38 +-
 .../indices_in_begin_tables_lists.tex              |  38 +-
 .../indices_in_begin_tables_lists.tex              |  38 +-
 .../res_parser/formatting_latex/formatting.tex     |  38 +-
 70 files changed, 2450 insertions(+), 1351 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5b6e540..6e18588 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2021-09-13  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Common.pm (%in_heading_commands): add some @-commands
+       in that category that were missing.
+
+       * tp/Texinfo/Common.pm (split_custom_heading_command_contents):
+       add that function to split at @| contents of customization header
+       @-commands such as @everyheading.
+
+       * tp/Texinfo/Convert/LaTeX.pm: handle custom headers.  For that
+       replace fancyhdr package by titleps, with fancyhdr it is too
+       complicated to use chapter or section name.
+
 2021-09-11  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/Common.pm (parse_node_manual), tp/Texinfo/ParserNonXS.pm,
diff --git a/tp/Texinfo/Common.pm b/tp/Texinfo/Common.pm
index d430133..55ef7b1 100644
--- a/tp/Texinfo/Common.pm
+++ b/tp/Texinfo/Common.pm
@@ -392,6 +392,8 @@ sub valid_option($)
   return $valid_options{$option};
 }
 
+# not documented on purpose, should not be called in user-defined
+# codes
 sub add_valid_option($)
 {
   my $option = shift;
@@ -581,15 +583,6 @@ our %line_commands = (
   'subentry'          => 'line',
 );
 
-# TODO set when the XS parser is ready
-if (0) {
-#if (1) {
-foreach my $custom_heading_command ('everyheading', 'everyfooting', 
'evenheading',
-   'evenfooting', 'oddheading', 'oddfooting') {
-  $line_commands{$custom_heading_command} = 'line';
-}
-}
-
 # commands that do not take the whole line as argument
 #
 # skipspace:   no argument, following spaces are skipped.
@@ -608,7 +601,8 @@ our %other_commands = (
 # only valid in heading or footing
 our %in_heading_commands;
 foreach my $in_heading_command ('thischapter', 'thischaptername',
-  'thischapternum', 'thisfile', 'thispage', 'thistitle') {
+   'thischapternum', 'thissection', 'thissectionname', 'thissectionnum',
+   'thisfile', 'thispage', 'thistitle') {
   $in_heading_commands{$in_heading_command} = 1;
 
   $other_commands{$in_heading_command} = 'noarg';
@@ -618,6 +612,12 @@ our %headings_specification_commands;
 foreach my $headings_specification_command ('everyheading', 'everyfooting',
   'evenheading', 'evenfooting', 'oddheading', 'oddfooting') {
   $headings_specification_commands{$headings_specification_command} = 1;
+
+  # TODO set when the XS parser is ready
+  if (0) {
+  #if (1) {
+  $line_commands{$headings_specification_command} = 'line';
+  }
 }
 
 # only valid in index entries
@@ -1112,7 +1112,7 @@ foreach my $command (
 }
 
 
-# functions for main program
+# functions for main program.  Should not be called in user-defined code.
 
 # file:        file name to locate. It can be a file path.
 # directories: a reference on a array containing a list of directories to
@@ -1227,7 +1227,8 @@ sub output_files_unclosed_files($)
 # end of output_files API
 
 
-# functions used in main program, parser and structuring
+# functions used in main program, parser and structuring.
+# Not supposed to be called in user-defined code.
 
 sub warn_unknown_language($) {
   my $lang = shift;
@@ -1695,9 +1696,49 @@ sub count_bytes($$;$)
   #}
 }
 
+# custom heading command line is split at @|
+sub split_custom_heading_command_contents($)
+{
+  my $contents = shift;
+
+  my $result = [];
+
+  my $nr_split_contents = 0;
+
+  my @contents = @$contents;
+
+  trim_spaces_comment_from_content(\@contents);
+
+  if (scalar(@contents) == 0) {
+    # or undef?
+    return $result;
+  }
+
+  push @$result, [];
+
+  while (scalar(@contents)) {
+    my $current_content = $contents[0];
+    print STDERR "$nr_split_contents ".scalar(@contents).": 
".debug_print_element_short($current_content)."\n";
+    if (defined($current_content->{'cmdname'})
+        and $current_content->{'cmdname'} eq '|') {
+      shift @contents;
+      push @$result, [];
+      $nr_split_contents++;
+      if ($nr_split_contents >= 2) {
+        last;
+      }
+    } else {
+      push @{$result->[-1]}, shift @contents;
+    }
+  }
+  push @{$result->[-1]}, @contents;
+
+  return $result;
+}
+
 sub find_parent_root_command($$)
 {
-  my $parser = shift;
+  my $self = shift;
   my $current = shift;
 
   my $root_command;
@@ -1706,11 +1747,12 @@ sub find_parent_root_command($$)
       if ($root_commands{$current->{'cmdname'}}) {
         return $current;
       } elsif ($region_commands{$current->{'cmdname'}}) {
-        if ($current->{'cmdname'} eq 'copying' and $parser
-            and $parser->{'extra'} and $parser->{'extra'}->{'insertcopying'}) {
-          foreach my $insertcopying(@{$parser->{'extra'}->{'insertcopying'}}) {
+        if ($current->{'cmdname'} eq 'copying' and $self
+            and $self->{'global_commands'}
+            and $self->{'global_commands'}->{'insertcopying'}) {
+          foreach my 
$insertcopying(@{$self->{'global_commands'}->{'insertcopying'}}) {
             my $root_command
-              = $parser->find_parent_root_command($insertcopying);
+              = $self->find_parent_root_command($insertcopying);
             return $root_command if (defined($root_command));
           }
         } else {
@@ -1823,6 +1865,10 @@ sub _collect_references($$)
 # and some tree transformations functions, mostly those
 # used in conversion to main output formats.
 
+# Some helper functions defined here are used in other
+# modules but are not generally useful in converters
+# and therefore not public.
+
 # TODO
 # also recurse into
 # extra->misc_args, extra->args_index
@@ -2340,6 +2386,8 @@ sub relate_index_entries_to_table_entries_in_tree($)
 # register a label, that is something that may be the target of a reference
 # and must be unique in the document.  Corresponds to @node, @anchor and
 # @float second arg.
+# This is common to different module, that's why it is here, but it is
+# no meant to be used in other codes.
 sub register_label($$$)
 {
   my ($targets_list, $current, $label) = @_;
@@ -2354,10 +2402,15 @@ sub register_label($$$)
 # functions used for debugging
 
 # for debugging.  May be used in other modules.
-sub debug_print_element_short($) {
+sub debug_print_element_short($)
+{
   my $current = shift;
+
+  if (!defined($current)) {
+    return "debug_print_element_simply: UNDEF\n";
+  }
   if (ref($current) ne 'HASH') {
-    return  "debug_print_element_simply: $current not a hash\n";
+    return "debug_print_element_simply: $current not a hash\n";
   }
   my $type = '';
   my $cmd = '';
@@ -2502,9 +2555,8 @@ Texinfo::Common - Classification of commands and 
miscellaneous methods
 
 =head1 DESCRIPTION
 
-Texinfo::Common holds interesting hashes classifying Texinfo @-commands,
-as well as miscellaneous methods that may be useful for backends
-converting texinfo trees.
+Texinfo::Common holds hashes with miscellaneous information and hashes
+classifying Texinfo @-commands, as well as miscellaneous methods.
 
 =head1 MISC INFORMATIONS
 
@@ -2512,7 +2564,6 @@ Hashes are defined as C<our> variables, and are therefore 
available
 outside of the module.
 
 TODO: undocumented
-
 %null_device_file %default_parser_customization_values 
%document_settable_multiple_at_commands %document_settable_unique_at_commands 
%default_converter_command_line_options 
%default_main_program_customization_options %default_converter_customization 
@variable_string_settables %document_settable_at_commands %def_map 
%command_index %close_paragraph_commands %command_structuring_level 
%level_to_structuring_command
 
 =over
@@ -2600,6 +2651,15 @@ C<@cindex>.
 @-commands associated with raw output format, like C<@html>, or
 C<@docbook>.
 
+=item %headings_specification_commands
+
+@-commands used to specify custom headings, like C<@everyheading>.
+
+=item %in_heading_commands
+
+Special @-commands appearing in custom headings, such as C<@thischapter>
+or C<@thistitle>.
+
 =item %inline_commands
 
 =item %inline_conditional_commands
@@ -2691,24 +2751,28 @@ C<@cite>, C<@code> or C<@asis>.
 
 No method is exported in the default case.
 
-Most methods takes a I<$converter> as argument, sometime optionally,
-to get some information and use methods for error reporting,
-see L<Texinfo::Convert::Converter> and L<Texinfo::Report>.
-
 =over
 
+=item collect_commands_in_tree($tree, $commands_list)
+
+Returns a hash reference with keys @-commands names specified
+in the I<$commands_list> array reference and values arrays of
+tree elements corresponding to those @-command found in I<$tree>
+by traversing the tree.
+
+=item collect_commands_list_in_tree($tree, $commands_list)
+
+Return a list reference containing the tree elements corresponding
+to the @-commands names specified in the I<$commands_list> found
+in I<$tree> by traversing the tree.  The order of the @-commands
+should be kept.
+
 =item $result = element_is_inline($element, $check_current)
 
 Return true if the element passed in argument is in running text
 context.  If the optional I<$check_current> argument is set,
 check the element itself, in addition to the parent context.
 
-=item $result = is_content_empty($tree, $do_not_ignore_index_entries)
-
-Return true if the I<$tree> has content that could be formatted.
-I<$do_not_ignore_index_entries> is optional.  If set, index entries
-are considered to be formatted.
-
 =item $text = enumerate_item_representation($specification, $number)
 
 This function returns the number or letter correponding to item
@@ -2719,20 +2783,29 @@ appearing on an C<@enumerate> line.  For example
 
 is C<e>.
 
-=item trim_spaces_comment_from_content($contents)
+=item $command = find_parent_root_command($object, $tree_element)
 
-Remove empty spaces after commands or braces at begin and
-spaces and comments at end from a content array, modifying it.
+Find the parent root command of a tree element (sectioning command or node).
+The I<$object> argument is optional, its C<global_commands> field is used
+to continue through C<@insertcopying> if in a C<@copying>.
+
+=item $result = is_content_empty($tree, $do_not_ignore_index_entries)
+
+Return true if the I<$tree> has content that could be formatted.
+I<$do_not_ignore_index_entries> is optional.  If set, index entries
+are considered to be formatted.
+
+=item move_index_entries_after_items_in_tree($tree)
+
+In C<@enumerate> and C<@itemize> from the tree, move index entries
+appearing just before C<@item> after the C<@item>.  Comment lines
+between index entries are moved too.
 
 =item $normalized_name = normalize_top_node_name ($node_string)
 
 Normalize the node name string given in argument, by normalizing
 Top node case.
 
-=item protect_comma_in_tree($tree)
-
-Protect comma characters, replacing C<,> with @comma{} in tree.
-
 =item protect_colon_in_tree($tree)
 
 =item protect_node_after_label_in_tree($tree)
@@ -2743,6 +2816,10 @@ dot and comma) with C<protect_node_after_label_in_tree>.
 The protection is achieved by putting protected characters
 in C<@asis{}>.
 
+=item protect_comma_in_tree($tree)
+
+Protect comma characters, replacing C<,> with @comma{} in tree.
+
 =item $contents_result = protect_first_parenthesis ($contents)
 
 Return a contents array reference with first parenthesis in the
@@ -2756,37 +2833,33 @@ arguments may be undef, if they are defined they are 
used for
 error reporting in case an hash character could not be protected
 because it appeared in a raw environment.
 
-=item move_index_entries_after_items_in_tree($tree)
+=item relate_index_entries_to_table_entries_in_tree($tree)
 
-In C<@enumerate> and C<@itemize> from the tree, move index entries
-appearing just before C<@item> after the C<@item>.  Comment lines
-between index entries are moved too.
+In @*table @-commands, reassociate the index entry information from an index
+@-command appearing right after an @item line to the @item first element.
+Remove the index @-command from the tree.
 
-=item $command = find_parent_root_command($parser, $tree_element)
+=item $split_contents split_custom_heading_command_contents($contents)
 
-Find the parent root command of a tree element (sectioning command or node).
-The C<$parser> argument is optional, it is used to continue
-through C<@insertcopying> if in a C<@copying>.
+Split the I<$contents> array reference at C<@|> in at max three parts.
+Return an array reference containing the split parts.  The I<$contents>
+array reference is supposed to be C<< $element->{'args'}->[0]->{'contents'} >>
+of C<%headings_specification_commands> commands such as C<@everyheading>.
 
-=item valid_tree_transformation($name)
+=item trim_spaces_comment_from_content($contents)
 
-Return true if the I<$name> is a known tree transformation name
-that may be passed with C<TREE_TRANSFORMATIONS> to modify a texinfo
-tree.
+Remove empty spaces after commands or braces at begin and
+spaces and comments at end from a content array, modifying it.
 
-=item collect_commands_in_tree($tree, $commands_list)
+=item valid_option($name)
 
-Returns a hash reference with keys @-commands names specified
-in the I<$commands_list> array reference and values arrays of
-tree elements corresponding to those @-command found in I<$tree>
-by traversing the tree.
+Return true if the I<$name> is a known customization option.
 
-=item collect_commands_list_in_tree($tree, $commands_list)
+=item valid_tree_transformation($name)
 
-Return a list reference containing the tree elements corresponding
-to the @-commands names specified in the I<$commands_list> found
-in I<$tree> by traversing the tree.  The order of the @-commands
-should be kept.
+Return true if the I<$name> is a known tree transformation name
+that may be passed with C<TREE_TRANSFORMATIONS> to modify a texinfo
+tree.
 
 =back
 
diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index 745b51b..250912a 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -224,6 +224,8 @@ my %preformatted_code_commands = 
%Texinfo::Common::preformatted_code_commands;
 my %default_index_commands = %Texinfo::Common::default_index_commands;
 my %letter_no_arg_commands = %Texinfo::Common::letter_no_arg_commands;
 my %item_line_commands = %Texinfo::Common::item_line_commands;
+my %headings_specification_commands = 
%Texinfo::Common::headings_specification_commands;
+my %in_heading_commands = %Texinfo::Common::in_heading_commands;
 
 # commands that can appear in preamble, before \begin{document}
 my %preamble_commands;
@@ -236,6 +238,7 @@ foreach my $preamble_command ('hyphenation', 'anchor', 
'errormsg',
 
 foreach my $kept_command (keys(%informative_commands),
   keys(%default_index_commands), keys(%paper_geometry_commands),
+  keys(%headings_specification_commands), keys(%in_heading_commands),
   'verbatiminclude', 'insertcopying',
   'listoffloats', 'printindex', 'indent', 'noindent', 'need', 'page',
   'shorttitlepage', 'title', 'subtitle', 'author', 'vskip') {
@@ -442,6 +445,23 @@ foreach my $accent_command (keys 
%{$LaTeX_accent_commands{'math'}}) {
   }
 }
 
+# TODO command that could be used for translation \sectionname does
+# not exist in the default case.  it is defined in the pagenote package 
together with 
+# \pagename which is page in the default case, but it is unclear if this
+# can be used as a basis for translations
+my %LaTeX_in_heading_commands = (
+  'thischapter' => '\chaptername{} \thechapter{} \chaptertitle{}',
+  'thischaptername' => '\chaptertitle{}',
+  'thischapternum' => '\thechapter{}',
+  #'thissection' => '\sectionname{} \thesection{} \sectiontitle{}',
+  'thissection' => 'Section \thesection{} \sectiontitle{}',
+  'thissectionname' => '\sectiontitle{}',
+  'thissectionnum' => '\thesection{}',
+  'thisfile' => '',
+  'thispage' => '\thepage{}',
+  'thistitle' => '\GNUTexinfosettitle{}',
+);
+
 my %ignored_commands = %ignored_misc_commands;
 # processed as part of the index command or type formatting
 foreach my $ignored_brace_commands (
@@ -999,6 +1019,11 @@ sub convert_tree($$)
   my $self = shift;
   my $root = shift;
 
+  if (not exists($self->{'formatting_context'})
+      or scalar(@{$self->{'formatting_context'}}) == 0) {
+    _push_new_context($self, 'tree');
+  }
+
   return $self->_convert($root);
 }
 
@@ -1031,6 +1056,54 @@ my %front_main_matter_definitions = (
 '
 );
 
+# not used as it is complicated to use section and chapter title
+my $fancyhdr_preamble =
+'% called when setting single headers
+% use \nouppercase to match with Texinfo TeX style
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
+\fancyhf{}
+\lhead{\nouppercase{\leftmark}}
+\rhead{\thepage}
+}
+
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{fancy}
+\fancyhf{}
+\fancyhead[LE,RO]{\thepage}
+\fancyhead[RE]{\GNUTexinfosettitle}
+\fancyhead[LO]{\nouppercase{\leftmark}}
+}
+
+% for part and chapter, which call \thispagestyle{plain}
+\fancypagestyle{plain}{ %
+ \fancyhf{}
+ \fancyhead[LE,RO]{\thepage}
+}
+
+% match Texinfo TeX style
+\renewcommand{\headrulewidth}{0pt}%';
+
+my $titleps_preamble = '% plain page style, for part and chapter, which call 
\thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
+% called when setting single headers
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
+
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
+';
+
+# TODO translation
+my $default_title = 'No Title';
 
 sub _latex_header {
   my $self = shift;
@@ -1045,6 +1118,8 @@ sub _latex_header {
   # fontsize for \changefontsize. In texlive-latex-extra in debian
   # mdframed for the formatting of @cartouche
   # \usepackage[linkbordercolor={0 0 0}]{hyperref}
+  # titleps is used and not fancyhdr as with fancyhdr it is hard to get
+  # the section or chapter title
   my $header = "\\documentclass{$documentclass}\n"
 .'\usepackage{imakeidx}
 \usepackage{amsfonts}
@@ -1060,7 +1135,7 @@ sub _latex_header {
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
@@ -1080,6 +1155,17 @@ sub _latex_header {
   #  # in texlive-latex-extra in debian
   #  $header .= "\\usepackage{shorttoc}\n";
   #}
+  my $settitle;
+  if ($self->{'settitle_tree'}) {
+    $settitle = $self->convert_tree($self->{'settitle_tree'});
+  } else {
+    $settitle = $default_title;
+  }
+
+  # for @thistitle and headers
+  $header .= "\\newcommand{\\GNUTexinfosettitle}{$settitle}%\n";
+  $header .= "\n";
+
   if ($self->{'floats'}) {
     foreach my $normalized_float_type 
(sort(keys(%{$self->{'normalized_float_latex'}}))) {
       my $latex_float_name
@@ -1131,30 +1217,7 @@ sub _latex_header {
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
-% called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
-
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
-
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
-
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
+'.$titleps_preamble.'
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
@@ -1294,8 +1357,6 @@ sub _start_mainmatter_after_titlepage($)
   return $result;
 }
 
-# TODO translation
-my $default_odd_heading = 'No Title';
 sub _set_headings($$)
 {
   my ($self, $headings_spec) = @_;
@@ -1325,19 +1386,97 @@ sub _set_headings($$)
   if ($headings_type eq 'single') {
     $result = "\\GNUTexinfosetsingleheader{}%\n";
   } elsif ($headings_type eq 'double') {
-    my $odd_heading;
-    if ($self->{'settitle_tree'}) {
-      $odd_heading = $self->_convert($self->{'settitle_tree'});
-    } else {
-      $odd_heading = $default_odd_heading;
-    }
-    $result = "\\GNUTexinfosetdoubleheader{$odd_heading}%\n";
+    $result = "\\GNUTexinfosetdoubleheader{}%\n";
   } elsif ($headings_type eq 'off') {
     $result = "\\pagestyle{empty}%\n";
   }
   return $result;
 }
 
+my %custom_headings_map = (
+  'everyheading' => ['head', ''],
+  'everyfooting' => ['foot', ''],
+  'evenheading'  => ['head', 'E'],
+  'evenfooting'  => ['foot', 'E'],
+  'oddheading',  => ['head', 'O'],
+  'oddfooting'   => ['foot', 'O'],
+);
+
+# this function converts the specification to LaTex and add or
+# replace the footing or heading specifications.
+sub _set_custom_headings($$$)
+{
+  my ($self, $cmdname, $headings_spec) = @_;
+  my ($head_or_foot, $page_spec) = @{$custom_headings_map{$cmdname}};
+
+  my $location_index = -1;
+  my @headings = ('', '', '');
+  _push_new_context($self, 'custom_heading');
+  foreach my $location_heading_spec (@$headings_spec) {
+    $location_index++;
+    my $heading = $self->_convert({'contents' => $location_heading_spec});
+    $heading =~ s/^\s*//;
+    $heading =~ s/\s*$//;
+    $headings[$location_index] = $heading;
+  }
+  _pop_context($self);
+
+  my @replaced_specs;
+  if ($page_spec eq '') {
+    @replaced_specs = ('E', 'O');
+  } else {
+    @replaced_specs = ($page_spec);
+  }
+  my $first_custom_heading;
+  $first_custom_heading = 1 if (not exists($self->{'custom_heading'}));
+  foreach my $spec (@replaced_specs) {
+    $self->{'custom_heading'}->{$head_or_foot}->{$spec} = \@headings;
+  }
+  return _format_heading_command($self, $first_custom_heading);
+}
+
+my @head_foot_order = ('head', 'foot');
+my @even_odd_order = (['E', 'bracket'], ['O', 'brace']);
+sub _format_heading_command($$)
+{
+  my $self = shift;
+  my $first_custom_heading = shift;
+
+  my $result = '';
+  if ($first_custom_heading) {
+    $result .= "\\newpagestyle{custom}{%\n";
+  } else {
+    $result .= "\\renewpagestyle{custom}{%\n";
+  }
+  foreach my $head_or_foot (@head_foot_order) {
+    if (exists($self->{'custom_heading'}->{$head_or_foot})) {
+      my $head_or_foot_spec = $self->{'custom_heading'}->{$head_or_foot};
+      $result .= '\set' . $head_or_foot;
+      foreach my $even_odd_and_separator (@even_odd_order) {
+        my ($even_or_odd, $separator) = @{$even_odd_and_separator};
+        my $headings;
+        if (exists($head_or_foot_spec->{$even_or_odd})) {
+          $headings = $head_or_foot_spec->{$even_or_odd};
+        } else {
+          $headings = ['', '', ''];
+        }
+        foreach my $heading (@{$headings}) {
+          if ($separator eq 'bracket') {
+            $result .= '['.$heading.']';
+          } else {
+            $result .= '{'.$heading.'}';
+          }
+        }
+        $result .= "%\n";
+      }
+    }
+  }
+  $result .= "}%\n";
+  $result .= "\\pagestyle{custom}%\n";
+  return $result;
+}
+
+
 # to change the chapter we substitute in the \chapter command.
 # REMARK it is fragile as it depends on the LaTeX codes. It is also
 # most probably specific of the documentclass.  It is present in both
@@ -1588,10 +1727,6 @@ sub _index_entry($$)
     if ($self->{'index_names'}->{$entry_index_name}->{'in_code'}) {
       $in_code = 1;
     }
-    #print STDERR "I ".Texinfo::Common::debug_print_element_short($element)." 
".$entry_index_name."/".$index_name." ".$in_code." C 
".$entry->{'index_at_command'}." T ".$entry->{'index_type_command'}."; 
".join("|", sort(keys(%{$element->{'extra'}})))."\n";
-    # FIXME cache?  In theory txiindexbackslashignore and consorts
-    # may change dynamically.  But the current code does not set the
-    # values dynamically for now.  Actually not set at all...
     my ($options, $ignore_chars)
       = Texinfo::Structuring::setup_index_entry_keys_formatting($self, $self);
     my $current_entry = $element;
@@ -1702,13 +1837,10 @@ sub _convert($$)
     return $result;
   }
 
-  #if ($type and ($type eq 'empty_line' 
-  #                         or $type eq 'after_description_line')) {
-  #  return '';
-  #}
   if ($type and ($type eq 'empty_line')) {
     return "\n";
   }
+  # FIXME same as ignoring.  Handle with @def*
   if ($type and ($type eq 'after_description_line')) {
     return '';
   }
@@ -2661,6 +2793,9 @@ sub _convert($$)
         $result .= "\\needspace{${need_value}pt}%\n";
       }
       return $result;
+    } elsif ($in_heading_commands{$cmdname}){
+      $result .= $LaTeX_in_heading_commands{$cmdname};
+      return $result;
     } elsif ($cmdname eq 'shorttitlepage') {
       # FIXME ignore if there is alreadu a @titlepage?
       my $title_text = _title_font($self, $element);
@@ -2730,6 +2865,17 @@ sub _convert($$)
     } elsif ($paper_geometry_commands{$cmdname}) {
       $result .= "\\geometry{$paper_geometry_commands{$cmdname}}%\n";
       return $result;
+    } elsif ($headings_specification_commands{$cmdname}) {
+      if ($element->{'args'} and $element->{'args'}->[0]
+          and $element->{'args'}->[0]->{'contents'}) {
+        print STDERR Texinfo::Common::debug_print_element_short($element)."\n";
+        my $custom_headings_specification
+         = Texinfo::Common::split_custom_heading_command_contents(
+                                $element->{'args'}->[0]->{'contents'});
+        $result .= _set_custom_headings($self, $cmdname,
+                                        $custom_headings_specification);
+      }
+      return $result;
     # @-commands that have an information for the formatting
     # TODO
     # There is no obvious way to change the first paragraph indentation
diff --git a/tp/t/latex_tests.t b/tp/t/latex_tests.t
index 9165276..5851fb9 100644
--- a/tp/t/latex_tests.t
+++ b/tp/t/latex_tests.t
@@ -41,6 +41,14 @@ my @file_tests = (
 @headings double
 
 @chapter chap
+
+@page
+
+More text
+
+@page
+
+Another page
 '],
 # default case
 ['titlepage_and_headings',
@@ -55,7 +63,7 @@ in titlepage
 # what happens for real documents, as in real documents,
 # LaTeX default (start chapter on odd page) is switched
 # to Texinfo default (@setchapternewpage on).  With 'file_latex',
-# the correspond to the actual output
+# they correspond to the actual output
 ['titlepage_and_setchapternewpage_odd',
 '@setfilename titlepage_and_setchapternewpage_odd.info
 
@@ -117,6 +125,48 @@ in titlepage
 in titlepage
 @end titlepage
 '],
+['custom_headings',
+'@setfilename custom_headings.info
+
+@evenheading @thispage @thissectionname @| @thissectionnum @thissection @| 
@thischaptername @thischapternum
+@evenfooting @thischapter @thistitle @| @thisfile @| @code{@thischaptername}
+
+@node Top
+@top top sectionning
+
+@node chapter
+@chapter ch--ap
+
+@page
+
+after ch--ap first page
+
+@page
+
+after ch--ap second page
+
+@section sec1
+
+@chapter chap 2
+
+@everyheading toto @| titi
+
+@page
+
+after everyheading before chap 3 first page
+
+@page
+
+after everyheading before chap 3 second page
+
+@chapter chap 3
+
+@page
+
+@everyfooting aa @| bb @| cc @| dd
+
+'
+],
 ['titlepage_in_top_node',
 '@setfilename titlepage_in_top_node.info
 
diff --git a/tp/t/results/indices/def_syn_indices/res_latex/def_syn_indices.tex 
b/tp/t/results/indices/def_syn_indices/res_latex/def_syn_indices.tex
index 06e1663..9c87aa1 100644
--- a/tp/t/results/indices/def_syn_indices/res_latex/def_syn_indices.tex
+++ b/tp/t/results/indices/def_syn_indices/res_latex/def_syn_indices.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=codeidx]%
 \makeindex[name=fn]%
 \makeindex[name=pg]%
@@ -54,30 +56,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/indices/double_seeentry_seealso/res_latex/double_seeentry_seealso.tex
 
b/tp/t/results/indices/double_seeentry_seealso/res_latex/double_seeentry_seealso.tex
index ddc7f6c..07332bc 100644
--- 
a/tp/t/results/indices/double_seeentry_seealso/res_latex/double_seeentry_seealso.tex
+++ 
b/tp/t/results/indices/double_seeentry_seealso/res_latex/double_seeentry_seealso.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/indices/seeentry/res_latex/seeentry.tex 
b/tp/t/results/indices/seeentry/res_latex/seeentry.tex
index 693d5a5..076b28e 100644
--- a/tp/t/results/indices/seeentry/res_latex/seeentry.tex
+++ b/tp/t/results/indices/seeentry/res_latex/seeentry.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/indices/subentries/res_latex/subentries.tex 
b/tp/t/results/indices/subentries/res_latex/subentries.tex
index 0fbeb8d..aa6f10d 100644
--- a/tp/t/results/indices/subentries/res_latex/subentries.tex
+++ b/tp/t/results/indices/subentries/res_latex/subentries.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 \makeindex[name=fn]%
 
@@ -53,30 +55,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/indices/subentry_and_sortas/res_latex/subentry_and_sortas.tex 
b/tp/t/results/indices/subentry_and_sortas/res_latex/subentry_and_sortas.tex
index 81a42b7..ae472f8 100644
--- a/tp/t/results/indices/subentry_and_sortas/res_latex/subentry_and_sortas.tex
+++ b/tp/t/results/indices/subentry_and_sortas/res_latex/subentry_and_sortas.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 \makeindex[name=fn]%
 
@@ -53,30 +55,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/indices/syncode_index_print_both/res_latex/syncode_index_print_both.tex
 
b/tp/t/results/indices/syncode_index_print_both/res_latex/syncode_index_print_both.tex
index 0c9aa7d..44d222a 100644
--- 
a/tp/t/results/indices/syncode_index_print_both/res_latex/syncode_index_print_both.tex
+++ 
b/tp/t/results/indices/syncode_index_print_both/res_latex/syncode_index_print_both.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 
 % command used in \description format for indicateurl
@@ -52,30 +54,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/itemize/inter_item_commands_in_enumerate/res_latex/inter_item_commands_in_enumerate.tex
 
b/tp/t/results/itemize/inter_item_commands_in_enumerate/res_latex/inter_item_commands_in_enumerate.tex
index 8d490e5..58dd69a 100644
--- 
a/tp/t/results/itemize/inter_item_commands_in_enumerate/res_latex/inter_item_commands_in_enumerate.tex
+++ 
b/tp/t/results/itemize/inter_item_commands_in_enumerate/res_latex/inter_item_commands_in_enumerate.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 
 % command used in \description format for indicateurl
@@ -52,30 +54,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/itemize/inter_item_commands_in_itemize/res_latex/inter_item_commands_in_itemize.tex
 
b/tp/t/results/itemize/inter_item_commands_in_itemize/res_latex/inter_item_commands_in_itemize.tex
index b384caa..20b4c6d 100644
--- 
a/tp/t/results/itemize/inter_item_commands_in_itemize/res_latex/inter_item_commands_in_itemize.tex
+++ 
b/tp/t/results/itemize/inter_item_commands_in_itemize/res_latex/inter_item_commands_in_itemize.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 
 % command used in \description format for indicateurl
@@ -52,30 +54,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/languages/multiple_lang_chapters_latex/res_latex/multiple_lang_chapters.tex
 
b/tp/t/results/languages/multiple_lang_chapters_latex/res_latex/multiple_lang_chapters.tex
index 8f1bc69..3f3ca56 100644
--- 
a/tp/t/results/languages/multiple_lang_chapters_latex/res_latex/multiple_lang_chapters.tex
+++ 
b/tp/t/results/languages/multiple_lang_chapters_latex/res_latex/multiple_lang_chapters.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=vr]%
 
 % command used in \description format for indicateurl
@@ -52,30 +54,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle/res_latex/anchor_links_xref_xrefautomaticsectiontitle.tex
 
b/tp/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle/res_latex/anchor_links_xref_xrefautomaticsectiontitle.tex
index 942ffb2..7b21fd9 100644
--- 
a/tp/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle/res_latex/anchor_links_xref_xrefautomaticsectiontitle.tex
+++ 
b/tp/t/results/latex_tests/anchor_links_xref_xrefautomaticsectiontitle/res_latex/anchor_links_xref_xrefautomaticsectiontitle.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/custom_headings.pl 
b/tp/t/results/latex_tests/custom_headings.pl
new file mode 100644
index 0000000..55f5305
--- /dev/null
+++ b/tp/t/results/latex_tests/custom_headings.pl
@@ -0,0 +1,919 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors 
+   %result_indices %result_sectioning %result_nodes %result_menus
+   %result_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'custom_headings'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'custom_headings.info'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'line_arg'
+            }
+          ],
+          'cmdname' => 'setfilename',
+          'extra' => {
+            'spaces_before_argument' => ' ',
+            'text_arg' => 'custom_headings.info'
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 1,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' @thispage @thissectionname @| @thissectionnum 
@thissection @| @thischaptername @thischapternum
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'evenheading',
+          'extra' => {
+            'misc_args' => [
+              ' @thispage @thissectionname @| @thissectionnum @thissection @| 
@thischaptername @thischapternum
+'
+            ]
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 3,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' @thischapter @thistitle @| @thisfile @| 
@code{@thischaptername}
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'evenfooting',
+          'extra' => {
+            'misc_args' => [
+              ' @thischapter @thistitle @| @thisfile @| @code{@thischaptername}
+'
+            ]
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 4,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Top'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top',
+        'spaces_before_argument' => ' '
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 6,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'top sectionning'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 0,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 7,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'chapter'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [
+              {}
+            ],
+            'normalized' => 'chapter'
+          }
+        ],
+        'normalized' => 'chapter',
+        'spaces_before_argument' => ' '
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 9,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'ch--ap'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'page',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'after ch--ap first page
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'page',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'after ch--ap second page
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 1,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 10,
+        'macro' => ''
+      },
+      'number' => 1,
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'sec1'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'section',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 2,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 20,
+        'macro' => ''
+      },
+      'number' => '1.1',
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'chap 2'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' toto @| titi
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'everyheading',
+          'extra' => {
+            'misc_args' => [
+              ' toto @| titi
+'
+            ]
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 24,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'page',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'after everyheading before chap 3 first page
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'page',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'after everyheading before chap 3 second page
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 1,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 22,
+        'macro' => ''
+      },
+      'number' => 2,
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'chap 3'
+            }
+          ],
+          'extra' => {
+            'spaces_after_argument' => '
+'
+          },
+          'parent' => {},
+          'type' => 'line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'page',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => ' aa @| bb @| cc @| dd
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'everyfooting',
+          'extra' => {
+            'misc_args' => [
+              ' aa @| bb @| cc @| dd
+'
+            ]
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 38,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 1,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 34,
+        'macro' => ''
+      },
+      'number' => 3,
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'custom_headings'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'custom_headings'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[0]{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[0]{'contents'}[2];
+$result_trees{'custom_headings'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[0]{'contents'}[3];
+$result_trees{'custom_headings'}{'contents'}[0]{'contents'}[3]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[0]{'contents'}[4]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[0]{'parent'} = 
$result_trees{'custom_headings'};
+$result_trees{'custom_headings'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[1]{'args'}[0];
+$result_trees{'custom_headings'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[1];
+$result_trees{'custom_headings'}{'contents'}[1]{'extra'}{'node_content'}[0] = 
$result_trees{'custom_headings'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = $result_trees{'custom_headings'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[1]{'parent'} = 
$result_trees{'custom_headings'};
+$result_trees{'custom_headings'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[2]{'args'}[0];
+$result_trees{'custom_headings'}{'contents'}[2]{'args'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[2];
+$result_trees{'custom_headings'}{'contents'}[2]{'contents'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[2];
+$result_trees{'custom_headings'}{'contents'}[2]{'parent'} = 
$result_trees{'custom_headings'};
+$result_trees{'custom_headings'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[3]{'args'}[0];
+$result_trees{'custom_headings'}{'contents'}[3]{'args'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[3];
+$result_trees{'custom_headings'}{'contents'}[3]{'extra'}{'node_content'}[0] = 
$result_trees{'custom_headings'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
 = $result_trees{'custom_headings'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'custom_headings'}{'contents'}[3]{'parent'} = 
$result_trees{'custom_headings'};
+$result_trees{'custom_headings'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[4]{'args'}[0];
+$result_trees{'custom_headings'}{'contents'}[4]{'args'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[4]{'contents'}[1];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[1]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[2]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[4]{'contents'}[3];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[3]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[4]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[4]{'contents'}[5];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[5]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[6]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[4]{'contents'}[7];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[7]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'contents'}[8]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[4];
+$result_trees{'custom_headings'}{'contents'}[4]{'parent'} = 
$result_trees{'custom_headings'};
+$result_trees{'custom_headings'}{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[5]{'args'}[0];
+$result_trees{'custom_headings'}{'contents'}[5]{'args'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[5];
+$result_trees{'custom_headings'}{'contents'}[5]{'contents'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[5];
+$result_trees{'custom_headings'}{'contents'}[5]{'parent'} = 
$result_trees{'custom_headings'};
+$result_trees{'custom_headings'}{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[6]{'args'}[0];
+$result_trees{'custom_headings'}{'contents'}[6]{'args'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[6]{'contents'}[1];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[1]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[2]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[6]{'contents'}[3];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[3]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[4]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[5]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[6]{'contents'}[5];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[5]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[6]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[7]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[6]{'contents'}[7];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[7]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[8]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[9]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[6]{'contents'}[9];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[9]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'contents'}[10]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[6];
+$result_trees{'custom_headings'}{'contents'}[6]{'parent'} = 
$result_trees{'custom_headings'};
+$result_trees{'custom_headings'}{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[7]{'args'}[0];
+$result_trees{'custom_headings'}{'contents'}[7]{'args'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[7];
+$result_trees{'custom_headings'}{'contents'}[7]{'contents'}[0]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[7];
+$result_trees{'custom_headings'}{'contents'}[7]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[7]{'contents'}[1];
+$result_trees{'custom_headings'}{'contents'}[7]{'contents'}[1]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[7];
+$result_trees{'custom_headings'}{'contents'}[7]{'contents'}[2]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[7];
+$result_trees{'custom_headings'}{'contents'}[7]{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'custom_headings'}{'contents'}[7]{'contents'}[3];
+$result_trees{'custom_headings'}{'contents'}[7]{'contents'}[3]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[7];
+$result_trees{'custom_headings'}{'contents'}[7]{'contents'}[4]{'parent'} = 
$result_trees{'custom_headings'}{'contents'}[7];
+$result_trees{'custom_headings'}{'contents'}[7]{'parent'} = 
$result_trees{'custom_headings'};
+
+$result_texis{'custom_headings'} = '@setfilename custom_headings.info
+
+@evenheading @thispage @thissectionname @| @thissectionnum @thissection @| 
@thischaptername @thischapternum
+@evenfooting @thischapter @thistitle @| @thisfile @| @code{@thischaptername}
+
+@node Top
+@top top sectionning
+
+@node chapter
+@chapter ch--ap
+
+@page
+
+after ch--ap first page
+
+@page
+
+after ch--ap second page
+
+@section sec1
+
+@chapter chap 2
+
+@everyheading toto @| titi
+
+@page
+
+after everyheading before chap 3 first page
+
+@page
+
+after everyheading before chap 3 second page
+
+@chapter chap 3
+
+@page
+
+@everyfooting aa @| bb @| cc @| dd
+
+';
+
+
+$result_texts{'custom_headings'} = '
+
+top sectionning
+***************
+
+1 ch-ap
+*******
+
+
+after ch-ap first page
+
+
+after ch-ap second page
+
+1.1 sec1
+========
+
+2 chap 2
+********
+
+
+
+after everyheading before chap 3 first page
+
+
+after everyheading before chap 3 second page
+
+3 chap 3
+********
+
+
+
+';
+
+$result_sectioning{'custom_headings'} = {
+  'level' => -1,
+  'section_childs' => [
+    {
+      'cmdname' => 'top',
+      'extra' => {
+        'associated_node' => {
+          'cmdname' => 'node',
+          'extra' => {
+            'normalized' => 'Top',
+            'spaces_before_argument' => ' '
+          }
+        },
+        'spaces_before_argument' => ' '
+      },
+      'level' => 0,
+      'section_childs' => [
+        {
+          'cmdname' => 'chapter',
+          'extra' => {
+            'associated_node' => {
+              'cmdname' => 'node',
+              'extra' => {
+                'normalized' => 'chapter',
+                'spaces_before_argument' => ' '
+              }
+            },
+            'spaces_before_argument' => ' '
+          },
+          'level' => 1,
+          'number' => 1,
+          'section_childs' => [
+            {
+              'cmdname' => 'section',
+              'extra' => {
+                'spaces_before_argument' => ' '
+              },
+              'level' => 2,
+              'number' => '1.1',
+              'section_up' => {}
+            }
+          ],
+          'section_up' => {},
+          'toplevel_prev' => {},
+          'toplevel_up' => {}
+        },
+        {
+          'cmdname' => 'chapter',
+          'extra' => {
+            'spaces_before_argument' => ' '
+          },
+          'level' => 1,
+          'number' => 2,
+          'section_prev' => {},
+          'section_up' => {},
+          'toplevel_prev' => {},
+          'toplevel_up' => {}
+        },
+        {
+          'cmdname' => 'chapter',
+          'extra' => {
+            'spaces_before_argument' => ' '
+          },
+          'level' => 1,
+          'number' => 3,
+          'section_prev' => {},
+          'section_up' => {},
+          'toplevel_prev' => {},
+          'toplevel_up' => {}
+        }
+      ],
+      'section_up' => {}
+    }
+  ]
+};
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[0]{'section_childs'}[0]{'section_up'}
 = 
$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[0]{'section_up'}
 = $result_sectioning{'custom_headings'}{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[0]{'toplevel_prev'}
 = $result_sectioning{'custom_headings'}{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[0]{'toplevel_up'}
 = $result_sectioning{'custom_headings'}{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[1]{'section_prev'}
 = 
$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[1]{'section_up'}
 = $result_sectioning{'custom_headings'}{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[1]{'toplevel_prev'}
 = 
$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[1]{'toplevel_up'}
 = $result_sectioning{'custom_headings'}{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[2]{'section_prev'}
 = 
$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[1];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[2]{'section_up'}
 = $result_sectioning{'custom_headings'}{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[2]{'toplevel_prev'}
 = 
$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[1];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_childs'}[2]{'toplevel_up'}
 = $result_sectioning{'custom_headings'}{'section_childs'}[0];
+$result_sectioning{'custom_headings'}{'section_childs'}[0]{'section_up'} = 
$result_sectioning{'custom_headings'};
+
+$result_nodes{'custom_headings'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {
+        'spaces_before_argument' => ' '
+      },
+      'level' => 0
+    },
+    'normalized' => 'Top',
+    'spaces_before_argument' => ' '
+  },
+  'node_next' => {
+    'cmdname' => 'node',
+    'extra' => {
+      'associated_section' => {
+        'cmdname' => 'chapter',
+        'extra' => {
+          'spaces_before_argument' => ' '
+        },
+        'level' => 1,
+        'number' => 1
+      },
+      'normalized' => 'chapter',
+      'spaces_before_argument' => ' '
+    },
+    'node_prev' => {},
+    'node_up' => {}
+  }
+};
+$result_nodes{'custom_headings'}{'node_next'}{'node_prev'} = 
$result_nodes{'custom_headings'};
+$result_nodes{'custom_headings'}{'node_next'}{'node_up'} = 
$result_nodes{'custom_headings'};
+
+$result_menus{'custom_headings'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top',
+    'spaces_before_argument' => ' '
+  }
+};
+
+$result_errors{'custom_headings'} = [];
+
+
+$result_floats{'custom_headings'} = {};
+
+
+
+$result_converted{'latex'}->{'custom_headings'} = '
+
+\\chapter{ch--ap}
+\\label{anchor:chapter}%
+
+\\newpage{}%
+\\phantom{blabla}%
+
+after ch--ap first page
+
+\\newpage{}%
+\\phantom{blabla}%
+
+after ch--ap second page
+
+\\section{sec1}
+
+\\chapter{chap 2}
+
+
+\\newpage{}%
+\\phantom{blabla}%
+
+after everyheading before chap 3 first page
+
+\\newpage{}%
+\\phantom{blabla}%
+
+after everyheading before chap 3 second page
+
+\\chapter{chap 3}
+
+\\newpage{}%
+\\phantom{blabla}%
+
+
+';
+
+1;
diff --git a/tp/t/results/latex_tests/fonttextsize/res_latex/fonttextsize.tex 
b/tp/t/results/latex_tests/custom_headings/res_latex/custom_headings.tex
similarity index 69%
copy from tp/t/results/latex_tests/fonttextsize/res_latex/fonttextsize.tex
copy to tp/t/results/latex_tests/custom_headings/res_latex/custom_headings.tex
index 804d56e..0e16145 100644
--- a/tp/t/results/latex_tests/fonttextsize/res_latex/fonttextsize.tex
+++ b/tp/t/results/latex_tests/custom_headings/res_latex/custom_headings.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
@@ -92,27 +88,40 @@ roundcorner=10pt}
 \GNUTexinfosetsingleheader{}%
 
 
-\changefontsize{10}
-
 \begin{document}
-\chapter{Chapter}
+
+\chapter{ch--ap}
 \label{anchor:chapter}%
 
-\section{section}
+\newpage{}%
+\phantom{blabla}%
+
+after ch--ap first page
+
+\newpage{}%
+\phantom{blabla}%
+
+after ch--ap second page
+
+\section{sec1}
+
+\chapter{chap 2}
+
+
+\newpage{}%
+\phantom{blabla}%
 
-\subsection{Subsection 10pts}
-In 10pts
+after everyheading before chap 3 first page
 
-\changefontsize{11}
-\subsection{Subsection 11pts}
+\newpage{}%
+\phantom{blabla}%
 
-In 11pts
+after everyheading before chap 3 second page
 
-\subsection{Subsection 8pts}
+\chapter{chap 3}
 
-In 8pts
+\newpage{}%
+\phantom{blabla}%
 
-\subsection{Subsection 15pts}
 
-In 15pts
 \end{document}
diff --git 
a/tp/t/results/latex_tests/enumerate_arguments/res_latex/enumerate_arguments.tex
 
b/tp/t/results/latex_tests/enumerate_arguments/res_latex/enumerate_arguments.tex
index 07580cf..5f44a3c 100644
--- 
a/tp/t/results/latex_tests/enumerate_arguments/res_latex/enumerate_arguments.tex
+++ 
b/tp/t/results/latex_tests/enumerate_arguments/res_latex/enumerate_arguments.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/example_in_cartouche/res_latex/example_in_cartouche.tex
 
b/tp/t/results/latex_tests/example_in_cartouche/res_latex/example_in_cartouche.tex
index 895d653..e9310cf 100644
--- 
a/tp/t/results/latex_tests/example_in_cartouche/res_latex/example_in_cartouche.tex
+++ 
b/tp/t/results/latex_tests/example_in_cartouche/res_latex/example_in_cartouche.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/float_and_refs/res_latex/float_and_refs.tex 
b/tp/t/results/latex_tests/float_and_refs/res_latex/float_and_refs.tex
index 6f42ebb..be0bd71 100644
--- a/tp/t/results/latex_tests/float_and_refs/res_latex/float_and_refs.tex
+++ b/tp/t/results/latex_tests/float_and_refs/res_latex/float_and_refs.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % new float for type `'
 \newfloat{TexinfoFloat}{htb}{tfl}[chapter]
 \floatname{TexinfoFloat}{}
@@ -56,30 +58,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/fonttextsize/res_latex/fonttextsize.tex 
b/tp/t/results/latex_tests/fonttextsize/res_latex/fonttextsize.tex
index 804d56e..242f1fb 100644
--- a/tp/t/results/latex_tests/fonttextsize/res_latex/fonttextsize.tex
+++ b/tp/t/results/latex_tests/fonttextsize/res_latex/fonttextsize.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/indices/res_latex/indices.tex 
b/tp/t/results/latex_tests/indices/res_latex/indices.tex
index 3b737ef..17fe402 100644
--- a/tp/t/results/latex_tests/indices/res_latex/indices.tex
+++ b/tp/t/results/latex_tests/indices/res_latex/indices.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 \makeindex[name=fn]%
 
@@ -53,30 +55,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/nested_enumerate/res_latex/nested_enumerate.tex 
b/tp/t/results/latex_tests/nested_enumerate/res_latex/nested_enumerate.tex
index 21265ab..7b78096 100644
--- a/tp/t/results/latex_tests/nested_enumerate/res_latex/nested_enumerate.tex
+++ b/tp/t/results/latex_tests/nested_enumerate/res_latex/nested_enumerate.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/nested_itemize/res_latex/nested_itemize.tex 
b/tp/t/results/latex_tests/nested_itemize/res_latex/nested_itemize.tex
index fa84401..b1ef842 100644
--- a/tp/t/results/latex_tests/nested_itemize/res_latex/nested_itemize.tex
+++ b/tp/t/results/latex_tests/nested_itemize/res_latex/nested_itemize.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd.pl 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd.pl
index c9c94e7..6786693 100644
--- a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd.pl
+++ b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd.pl
@@ -91,7 +91,7 @@ $result_floats{'no_titlepage_and_setchapternewpage_odd'} = {};
 
 
 
-$result_converted{'latex'}->{'no_titlepage_and_setchapternewpage_odd'} = 
'\\GNUTexinfosetdoubleheader{No Title}%
+$result_converted{'latex'}->{'no_titlepage_and_setchapternewpage_odd'} = 
'\\GNUTexinfosetdoubleheader{}%
 ';
 
 1;
diff --git 
a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd/res_latex/no_titlepage_and_setchapternewpage_odd.tex
 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd/res_latex/no_titlepage_and_setchapternewpage_odd.tex
index 656c447..7a5631f 100644
--- 
a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd/res_latex/no_titlepage_and_setchapternewpage_odd.tex
+++ 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_odd/res_latex/no_titlepage_and_setchapternewpage_odd.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
@@ -94,6 +90,6 @@ roundcorner=10pt}
 \makeatletter
 \patchcmd{\chapter}{\GNUTexinfoplaceholder{setchapternewpage 
placeholder}\clearpage}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}
 \makeatother
-\GNUTexinfosetdoubleheader{No Title}%
+\GNUTexinfosetdoubleheader{}%
 \begin{document}
 \end{document}
diff --git 
a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on/res_latex/no_titlepage_and_setchapternewpage_on.tex
 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on/res_latex/no_titlepage_and_setchapternewpage_on.tex
index 042b44b..c209996 100644
--- 
a/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on/res_latex/no_titlepage_and_setchapternewpage_on.tex
+++ 
b/tp/t/results/latex_tests/no_titlepage_and_setchapternewpage_on/res_latex/no_titlepage_and_setchapternewpage_on.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/pagesizes/res_latex/pagesizes.tex 
b/tp/t/results/latex_tests/pagesizes/res_latex/pagesizes.tex
index dd3950f..224ff2c 100644
--- a/tp/t/results/latex_tests/pagesizes/res_latex/pagesizes.tex
+++ b/tp/t/results/latex_tests/pagesizes/res_latex/pagesizes.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/pagetype/res_latex/pagetype.tex 
b/tp/t/results/latex_tests/pagetype/res_latex/pagetype.tex
index 854f03d..332633a 100644
--- a/tp/t/results/latex_tests/pagetype/res_latex/pagetype.tex
+++ b/tp/t/results/latex_tests/pagetype/res_latex/pagetype.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage.pl 
b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage.pl
index 59b11ed..6321d79 100644
--- a/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage.pl
+++ b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage.pl
@@ -248,7 +248,7 @@ 
$result_converted{'latex'}->{'setchapternewpage_on_odd_titlepage'} = '\\makeatle
 in titlepage
 \\endgroup
 \\end{titlepage}
-\\GNUTexinfosetdoubleheader{No Title}%
+\\GNUTexinfosetdoubleheader{}%
 \\GNUTexinfomainmatter
 ';
 
diff --git 
a/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage/res_latex/setchapternewpage_on_odd_titlepage.tex
 
b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage/res_latex/setchapternewpage_on_odd_titlepage.tex
index fe5a19f..a4336ab 100644
--- 
a/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage/res_latex/setchapternewpage_on_odd_titlepage.tex
+++ 
b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage/res_latex/setchapternewpage_on_odd_titlepage.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
@@ -111,6 +107,6 @@ roundcorner=10pt}
 in titlepage
 \endgroup
 \end{titlepage}
-\GNUTexinfosetdoubleheader{No Title}%
+\GNUTexinfosetdoubleheader{}%
 \GNUTexinfomainmatter
 \end{document}
diff --git a/tp/t/results/latex_tests/settitle_and_headings.pl 
b/tp/t/results/latex_tests/settitle_and_headings.pl
index 8686c21..5f642fc 100644
--- a/tp/t/results/latex_tests/settitle_and_headings.pl
+++ b/tp/t/results/latex_tests/settitle_and_headings.pl
@@ -139,7 +139,78 @@ $result_trees{'settitle_and_headings'} = {
         }
       ],
       'cmdname' => 'chapter',
-      'contents' => [],
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'page',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'More text
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'misc_arg'
+            }
+          ],
+          'cmdname' => 'page',
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'Another page
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
       'extra' => {
         'spaces_before_argument' => ' '
       },
@@ -171,6 +242,18 @@ 
$result_trees{'settitle_and_headings'}{'contents'}[0]{'contents'}[4]{'parent'} =
 $result_trees{'settitle_and_headings'}{'contents'}[0]{'parent'} = 
$result_trees{'settitle_and_headings'};
 
$result_trees{'settitle_and_headings'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'settitle_and_headings'}{'contents'}[1]{'args'}[0];
 $result_trees{'settitle_and_headings'}{'contents'}[1]{'args'}[0]{'parent'} = 
$result_trees{'settitle_and_headings'}{'contents'}[1];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[0]{'parent'} 
= $result_trees{'settitle_and_headings'}{'contents'}[1];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[1];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[1]{'parent'} 
= $result_trees{'settitle_and_headings'}{'contents'}[1];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[2]{'parent'} 
= $result_trees{'settitle_and_headings'}{'contents'}[1];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[3];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[3]{'parent'} 
= $result_trees{'settitle_and_headings'}{'contents'}[1];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[4]{'parent'} 
= $result_trees{'settitle_and_headings'}{'contents'}[1];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[5]{'args'}[0]{'parent'}
 = $result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[5];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[5]{'parent'} 
= $result_trees{'settitle_and_headings'}{'contents'}[1];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[6]{'parent'} 
= $result_trees{'settitle_and_headings'}{'contents'}[1];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[7]{'contents'}[0]{'parent'}
 = $result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[7];
+$result_trees{'settitle_and_headings'}{'contents'}[1]{'contents'}[7]{'parent'} 
= $result_trees{'settitle_and_headings'}{'contents'}[1];
 $result_trees{'settitle_and_headings'}{'contents'}[1]{'parent'} = 
$result_trees{'settitle_and_headings'};
 
 $result_texis{'settitle_and_headings'} = '@setfilename 
settitle_and_headings.info
@@ -179,6 +262,14 @@ $result_texis{'settitle_and_headings'} = '@setfilename 
settitle_and_headings.inf
 @headings double
 
 @chapter chap
+
+@page
+
+More text
+
+@page
+
+Another page
 ';
 
 
@@ -186,6 +277,12 @@ $result_texts{'settitle_and_headings'} = '
 
 1 chap
 ******
+
+
+More text
+
+
+Another page
 ';
 
 $result_sectioning{'settitle_and_headings'} = {
@@ -212,9 +309,19 @@ $result_floats{'settitle_and_headings'} = {};
 
 
 $result_converted{'latex'}->{'settitle_and_headings'} = '
-\\GNUTexinfosetdoubleheader{Title \\leavevmode{}\\\\ for a manual}%
+\\GNUTexinfosetdoubleheader{}%
 
 \\chapter{chap}
+
+\\newpage{}%
+\\phantom{blabla}%
+
+More text
+
+\\newpage{}%
+\\phantom{blabla}%
+
+Another page
 ';
 
 1;
diff --git 
a/tp/t/results/latex_tests/settitle_and_headings/res_latex/settitle_and_headings.tex
 
b/tp/t/results/latex_tests/settitle_and_headings/res_latex/settitle_and_headings.tex
index b46c814..35d242f 100644
--- 
a/tp/t/results/latex_tests/settitle_and_headings/res_latex/settitle_and_headings.tex
+++ 
b/tp/t/results/latex_tests/settitle_and_headings/res_latex/settitle_and_headings.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{Title \leavevmode{}\\ for a manual}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
@@ -92,8 +88,18 @@ roundcorner=10pt}
 \GNUTexinfosetsingleheader{}%
 
 
-\GNUTexinfosetdoubleheader{Title \leavevmode{}\\ for a manual}%
+\GNUTexinfosetdoubleheader{}%
 
 \begin{document}
 \chapter{chap}
+
+\newpage{}%
+\phantom{blabla}%
+
+More text
+
+\newpage{}%
+\phantom{blabla}%
+
+Another page
 \end{document}
diff --git 
a/tp/t/results/latex_tests/shorttitlepage/res_latex/shorttitlepage.tex 
b/tp/t/results/latex_tests/shorttitlepage/res_latex/shorttitlepage.tex
index 40e730c..0842b3e 100644
--- a/tp/t/results/latex_tests/shorttitlepage/res_latex/shorttitlepage.tex
+++ b/tp/t/results/latex_tests/shorttitlepage/res_latex/shorttitlepage.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off.pl 
b/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off.pl
index 1458538..aa075a6 100644
--- a/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off.pl
+++ b/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off.pl
@@ -206,7 +206,7 @@ 
$result_converted{'latex'}->{'three_setchapternewpage_on_odd_off'} = '\\makeatle
 \\makeatletter
 \\patchcmd{\\chapter}{\\GNUTexinfoplaceholder{setchapternewpage 
placeholder}\\clearpage}{\\if@openright\\cleardoublepage\\else\\clearpage\\fi}{}{}
 \\makeatother
-\\GNUTexinfosetdoubleheader{No Title}%
+\\GNUTexinfosetdoubleheader{}%
 
 \\makeatletter
 
\\patchcmd{\\chapter}{\\if@openright\\cleardoublepage\\else\\clearpage\\fi}{\\GNUTexinfoplaceholder{setchapternewpage
 placeholder}}{}{}
diff --git 
a/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off/res_latex/three_setchapternewpage_on_odd_off.tex
 
b/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off/res_latex/three_setchapternewpage_on_odd_off.tex
index 2675203..9f51534 100644
--- 
a/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off/res_latex/three_setchapternewpage_on_odd_off.tex
+++ 
b/tp/t/results/latex_tests/three_setchapternewpage_on_odd_off/res_latex/three_setchapternewpage_on_odd_off.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
@@ -96,7 +92,7 @@ roundcorner=10pt}
 \makeatletter
 \patchcmd{\chapter}{\GNUTexinfoplaceholder{setchapternewpage 
placeholder}\clearpage}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}
 \makeatother
-\GNUTexinfosetdoubleheader{No Title}%
+\GNUTexinfosetdoubleheader{}%
 
 \makeatletter
 
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{\GNUTexinfoplaceholder{setchapternewpage
 placeholder}}{}{}
diff --git 
a/tp/t/results/latex_tests/titlepage_and_headings/res_latex/titlepage_and_headings.tex
 
b/tp/t/results/latex_tests/titlepage_and_headings/res_latex/titlepage_and_headings.tex
index d2a5055..a84f35f 100644
--- 
a/tp/t/results/latex_tests/titlepage_and_headings/res_latex/titlepage_and_headings.tex
+++ 
b/tp/t/results/latex_tests/titlepage_and_headings/res_latex/titlepage_and_headings.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd.pl 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd.pl
index fb3f22e..1a656b3 100644
--- a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd.pl
+++ b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd.pl
@@ -206,7 +206,7 @@ 
$result_converted{'latex'}->{'titlepage_and_setchapternewpage_odd'} = '
 in titlepage
 \\endgroup
 \\end{titlepage}
-\\GNUTexinfosetdoubleheader{No Title}%
+\\GNUTexinfosetdoubleheader{}%
 \\GNUTexinfomainmatter
 
 ';
diff --git 
a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd/res_latex/titlepage_and_setchapternewpage_odd.tex
 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd/res_latex/titlepage_and_setchapternewpage_odd.tex
index 593d0f0..57dc7127 100644
--- 
a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd/res_latex/titlepage_and_setchapternewpage_odd.tex
+++ 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_odd/res_latex/titlepage_and_setchapternewpage_odd.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
@@ -111,7 +107,7 @@ roundcorner=10pt}
 in titlepage
 \endgroup
 \end{titlepage}
-\GNUTexinfosetdoubleheader{No Title}%
+\GNUTexinfosetdoubleheader{}%
 \GNUTexinfomainmatter
 
 \end{document}
diff --git 
a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on/res_latex/titlepage_and_setchapternewpage_on.tex
 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on/res_latex/titlepage_and_setchapternewpage_on.tex
index d2a5055..a84f35f 100644
--- 
a/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on/res_latex/titlepage_and_setchapternewpage_on.tex
+++ 
b/tp/t/results/latex_tests/titlepage_and_setchapternewpage_on/res_latex/titlepage_and_setchapternewpage_on.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/titlepage_classical/res_latex/titlepage_classical.tex
 
b/tp/t/results/latex_tests/titlepage_classical/res_latex/titlepage_classical.tex
index 4ed208e..7110e02 100644
--- 
a/tp/t/results/latex_tests/titlepage_classical/res_latex/titlepage_classical.tex
+++ 
b/tp/t/results/latex_tests/titlepage_classical/res_latex/titlepage_classical.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/titlepage_in_top_node/res_latex/titlepage_in_top_node.tex
 
b/tp/t/results/latex_tests/titlepage_in_top_node/res_latex/titlepage_in_top_node.tex
index ed30f51..0ae2272 100644
--- 
a/tp/t/results/latex_tests/titlepage_in_top_node/res_latex/titlepage_in_top_node.tex
+++ 
b/tp/t/results/latex_tests/titlepage_in_top_node/res_latex/titlepage_in_top_node.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/titlepage_long_title/res_latex/titlepage_long_title.tex
 
b/tp/t/results/latex_tests/titlepage_long_title/res_latex/titlepage_long_title.tex
index bca997c..ecb42d9 100644
--- 
a/tp/t/results/latex_tests/titlepage_long_title/res_latex/titlepage_long_title.tex
+++ 
b/tp/t/results/latex_tests/titlepage_long_title/res_latex/titlepage_long_title.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/titlepage_no_author/res_latex/titlepage_no_author.tex
 
b/tp/t/results/latex_tests/titlepage_no_author/res_latex/titlepage_no_author.tex
index 30e0b45..f7bd3d6 100644
--- 
a/tp/t/results/latex_tests/titlepage_no_author/res_latex/titlepage_no_author.tex
+++ 
b/tp/t/results/latex_tests/titlepage_no_author/res_latex/titlepage_no_author.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/titlepage_no_title/res_latex/titlepage_no_title.tex 
b/tp/t/results/latex_tests/titlepage_no_title/res_latex/titlepage_no_title.tex
index aff3eb8..bface9d 100644
--- 
a/tp/t/results/latex_tests/titlepage_no_title/res_latex/titlepage_no_title.tex
+++ 
b/tp/t/results/latex_tests/titlepage_no_title/res_latex/titlepage_no_title.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
 
b/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
index 1bfcdb2..05dbe26 100644
--- 
a/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
+++ 
b/tp/t/results/latex_tests/titlepage_with_commands_classical/res_latex/titlepage_with_commands_classical.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/latex_tests/two_setchapternewpage_odd_on.pl 
b/tp/t/results/latex_tests/two_setchapternewpage_odd_on.pl
index 39b51d7..8dce029 100644
--- a/tp/t/results/latex_tests/two_setchapternewpage_odd_on.pl
+++ b/tp/t/results/latex_tests/two_setchapternewpage_odd_on.pl
@@ -145,7 +145,7 @@ $result_floats{'two_setchapternewpage_odd_on'} = {};
 
 
 
-$result_converted{'latex'}->{'two_setchapternewpage_odd_on'} = 
'\\GNUTexinfosetdoubleheader{No Title}%
+$result_converted{'latex'}->{'two_setchapternewpage_odd_on'} = 
'\\GNUTexinfosetdoubleheader{}%
 
 \\makeatletter
 
\\patchcmd{\\chapter}{\\if@openright\\cleardoublepage\\else\\clearpage\\fi}{\\GNUTexinfoplaceholder{setchapternewpage
 placeholder}\\clearpage}{}{}
diff --git 
a/tp/t/results/latex_tests/two_setchapternewpage_odd_on/res_latex/two_setchapternewpage_odd_on.tex
 
b/tp/t/results/latex_tests/two_setchapternewpage_odd_on/res_latex/two_setchapternewpage_odd_on.tex
index d298b4f..85190b5 100644
--- 
a/tp/t/results/latex_tests/two_setchapternewpage_odd_on/res_latex/two_setchapternewpage_odd_on.tex
+++ 
b/tp/t/results/latex_tests/two_setchapternewpage_odd_on/res_latex/two_setchapternewpage_odd_on.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
@@ -94,7 +90,7 @@ roundcorner=10pt}
 \makeatletter
 \patchcmd{\chapter}{\GNUTexinfoplaceholder{setchapternewpage 
placeholder}\clearpage}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}
 \makeatother
-\GNUTexinfosetdoubleheader{No Title}%
+\GNUTexinfosetdoubleheader{}%
 
 \makeatletter
 
\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{\GNUTexinfoplaceholder{setchapternewpage
 placeholder}\clearpage}{}{}
diff --git a/tp/t/results/latex_tests/two_setchapternewpage_on_odd.pl 
b/tp/t/results/latex_tests/two_setchapternewpage_on_odd.pl
index 3a8266e..45c1d84 100644
--- a/tp/t/results/latex_tests/two_setchapternewpage_on_odd.pl
+++ b/tp/t/results/latex_tests/two_setchapternewpage_on_odd.pl
@@ -153,7 +153,7 @@ 
$result_converted{'latex'}->{'two_setchapternewpage_on_odd'} = '\\makeatletter
 \\makeatletter
 \\patchcmd{\\chapter}{\\GNUTexinfoplaceholder{setchapternewpage 
placeholder}\\clearpage}{\\if@openright\\cleardoublepage\\else\\clearpage\\fi}{}{}
 \\makeatother
-\\GNUTexinfosetdoubleheader{No Title}%
+\\GNUTexinfosetdoubleheader{}%
 ';
 
 1;
diff --git 
a/tp/t/results/latex_tests/two_setchapternewpage_on_odd/res_latex/two_setchapternewpage_on_odd.tex
 
b/tp/t/results/latex_tests/two_setchapternewpage_on_odd/res_latex/two_setchapternewpage_on_odd.tex
index 623747c..383fcc8 100644
--- 
a/tp/t/results/latex_tests/two_setchapternewpage_on_odd/res_latex/two_setchapternewpage_on_odd.tex
+++ 
b/tp/t/results/latex_tests/two_setchapternewpage_on_odd/res_latex/two_setchapternewpage_on_odd.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
@@ -96,6 +92,6 @@ roundcorner=10pt}
 \makeatletter
 \patchcmd{\chapter}{\GNUTexinfoplaceholder{setchapternewpage 
placeholder}\clearpage}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}
 \makeatother
-\GNUTexinfosetdoubleheader{No Title}%
+\GNUTexinfosetdoubleheader{}%
 \begin{document}
 \end{document}
diff --git 
a/tp/t/results/latex_tests/verbatim_in_smallformat/res_latex/verbatim_in_smallformat.tex
 
b/tp/t/results/latex_tests/verbatim_in_smallformat/res_latex/verbatim_in_smallformat.tex
index bf751c4..1b3f9e0 100644
--- 
a/tp/t/results/latex_tests/verbatim_in_smallformat/res_latex/verbatim_in_smallformat.tex
+++ 
b/tp/t/results/latex_tests/verbatim_in_smallformat/res_latex/verbatim_in_smallformat.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/quotation/empty_quotation/res_latex/empty_quotation.tex 
b/tp/t/results/quotation/empty_quotation/res_latex/empty_quotation.tex
index b8f16ee..9ae3145 100644
--- a/tp/t/results/quotation/empty_quotation/res_latex/empty_quotation.tex
+++ b/tp/t/results/quotation/empty_quotation/res_latex/empty_quotation.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/quotation/quotation_and_author/res_latex/quotation_and_author.tex
 
b/tp/t/results/quotation/quotation_and_author/res_latex/quotation_and_author.tex
index a5803b6..f52e034 100644
--- 
a/tp/t/results/quotation/quotation_and_author/res_latex/quotation_and_author.tex
+++ 
b/tp/t/results/quotation/quotation_and_author/res_latex/quotation_and_author.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/quotation/quotation_author_in_example/res_latex/quotation_author_in_example.tex
 
b/tp/t/results/quotation/quotation_author_in_example/res_latex/quotation_author_in_example.tex
index fca9017..4946d95 100644
--- 
a/tp/t/results/quotation/quotation_author_in_example/res_latex/quotation_author_in_example.tex
+++ 
b/tp/t/results/quotation/quotation_author_in_example/res_latex/quotation_author_in_example.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/quotation/space_at_commands_end_quotation_line/res_latex/space_at_commands_end_quotation_line.tex
 
b/tp/t/results/quotation/space_at_commands_end_quotation_line/res_latex/space_at_commands_end_quotation_line.tex
index a78b191..db0e5fd 100644
--- 
a/tp/t/results/quotation/space_at_commands_end_quotation_line/res_latex/space_at_commands_end_quotation_line.tex
+++ 
b/tp/t/results/quotation/space_at_commands_end_quotation_line/res_latex/space_at_commands_end_quotation_line.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/sectioning/chapter_between_nodes/res_latex/chapter_between_nodes.tex
 
b/tp/t/results/sectioning/chapter_between_nodes/res_latex/chapter_between_nodes.tex
index 89245aa..661a632 100644
--- 
a/tp/t/results/sectioning/chapter_between_nodes/res_latex/chapter_between_nodes.tex
+++ 
b/tp/t/results/sectioning/chapter_between_nodes/res_latex/chapter_between_nodes.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/sectioning/lone_Top_node/res_latex/lone_Top_node.tex 
b/tp/t/results/sectioning/lone_Top_node/res_latex/lone_Top_node.tex
index beb9da0..100c125 100644
--- a/tp/t/results/sectioning/lone_Top_node/res_latex/lone_Top_node.tex
+++ b/tp/t/results/sectioning/lone_Top_node/res_latex/lone_Top_node.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/t/results/sectioning/loop_nodes/res_latex/loop_nodes.tex 
b/tp/t/results/sectioning/loop_nodes/res_latex/loop_nodes.tex
index 4d6ad87..03a3d15 100644
--- a/tp/t/results/sectioning/loop_nodes/res_latex/loop_nodes.tex
+++ b/tp/t/results/sectioning/loop_nodes/res_latex/loop_nodes.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/sectioning/node_sectop_before_chapter_no_node/res_latex/node_sectop_before_chapter_no_node.tex
 
b/tp/t/results/sectioning/node_sectop_before_chapter_no_node/res_latex/node_sectop_before_chapter_no_node.tex
index 58859c2..c2bfe2c 100644
--- 
a/tp/t/results/sectioning/node_sectop_before_chapter_no_node/res_latex/node_sectop_before_chapter_no_node.tex
+++ 
b/tp/t/results/sectioning/node_sectop_before_chapter_no_node/res_latex/node_sectop_before_chapter_no_node.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/sectioning/node_sectop_before_lone_node_Top/res_latex/node_sectop_before_lone_node_Top.tex
 
b/tp/t/results/sectioning/node_sectop_before_lone_node_Top/res_latex/node_sectop_before_lone_node_Top.tex
index e0a62c7..cb5556c 100644
--- 
a/tp/t/results/sectioning/node_sectop_before_lone_node_Top/res_latex/node_sectop_before_lone_node_Top.tex
+++ 
b/tp/t/results/sectioning/node_sectop_before_lone_node_Top/res_latex/node_sectop_before_lone_node_Top.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/sectioning/nodes_before_after_top/res_latex/nodes_before_after_top.tex
 
b/tp/t/results/sectioning/nodes_before_after_top/res_latex/nodes_before_after_top.tex
index 7c4fc8c..418e335 100644
--- 
a/tp/t/results/sectioning/nodes_before_after_top/res_latex/nodes_before_after_top.tex
+++ 
b/tp/t/results/sectioning/nodes_before_after_top/res_latex/nodes_before_after_top.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/sectioning/nodes_before_after_top_xref/res_latex/nodes_before_after_top_xref.tex
 
b/tp/t/results/sectioning/nodes_before_after_top_xref/res_latex/nodes_before_after_top_xref.tex
index d806de5..c844c4b 100644
--- 
a/tp/t/results/sectioning/nodes_before_after_top_xref/res_latex/nodes_before_after_top_xref.tex
+++ 
b/tp/t/results/sectioning/nodes_before_after_top_xref/res_latex/nodes_before_after_top_xref.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/sectioning/nodes_before_top/res_latex/nodes_before_top.tex 
b/tp/t/results/sectioning/nodes_before_top/res_latex/nodes_before_top.tex
index ef8e683..5a0e255 100644
--- a/tp/t/results/sectioning/nodes_before_top/res_latex/nodes_before_top.tex
+++ b/tp/t/results/sectioning/nodes_before_top/res_latex/nodes_before_top.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/sectioning/section_before_after_top_node/res_latex/section_before_after_top_node.tex
 
b/tp/t/results/sectioning/section_before_after_top_node/res_latex/section_before_after_top_node.tex
index e62adf8..b4c86de 100644
--- 
a/tp/t/results/sectioning/section_before_after_top_node/res_latex/section_before_after_top_node.tex
+++ 
b/tp/t/results/sectioning/section_before_after_top_node/res_latex/section_before_after_top_node.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/sectioning/section_before_after_top_node_last_node/res_latex/section_before_after_top_node_last_node.tex
 
b/tp/t/results/sectioning/section_before_after_top_node_last_node/res_latex/section_before_after_top_node_last_node.tex
index 76e89f1..b965abb 100644
--- 
a/tp/t/results/sectioning/section_before_after_top_node_last_node/res_latex/section_before_after_top_node_last_node.tex
+++ 
b/tp/t/results/sectioning/section_before_after_top_node_last_node/res_latex/section_before_after_top_node_last_node.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/sectioning/section_chapter_before_top_nodes/res_latex/section_chapter_before_top_nodes.tex
 
b/tp/t/results/sectioning/section_chapter_before_top_nodes/res_latex/section_chapter_before_top_nodes.tex
index 30ebcc7..fc44fd2 100644
--- 
a/tp/t/results/sectioning/section_chapter_before_top_nodes/res_latex/section_chapter_before_top_nodes.tex
+++ 
b/tp/t/results/sectioning/section_chapter_before_top_nodes/res_latex/section_chapter_before_top_nodes.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 % command used in \description format for indicateurl
 
\newcommand\GNUTexinfotablestyleindicateurl[1]{\ifstrempty{#1}{}{`\texttt{#1}'}}%
 
@@ -50,30 +52,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/xtable/inter_item_commands_in_table/res_latex/inter_item_commands_in_table.tex
 
b/tp/t/results/xtable/inter_item_commands_in_table/res_latex/inter_item_commands_in_table.tex
index 0970f22..64f1b7c 100644
--- 
a/tp/t/results/xtable/inter_item_commands_in_table/res_latex/inter_item_commands_in_table.tex
+++ 
b/tp/t/results/xtable/inter_item_commands_in_table/res_latex/inter_item_commands_in_table.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 \makeindex[name=fn]%
 \makeindex[name=vr]%
@@ -54,30 +56,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/t/results/xtable/inter_item_commands_in_table_in_example/res_latex/inter_item_commands_in_table_in_example.tex
 
b/tp/t/results/xtable/inter_item_commands_in_table_in_example/res_latex/inter_item_commands_in_table_in_example.tex
index 2a4e7a5..893cc55 100644
--- 
a/tp/t/results/xtable/inter_item_commands_in_table_in_example/res_latex/inter_item_commands_in_table_in_example.tex
+++ 
b/tp/t/results/xtable/inter_item_commands_in_table_in_example/res_latex/inter_item_commands_in_table_in_example.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 
 % command used in \description format for indicateurl
@@ -52,30 +54,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/tests/indices/res_parser/indices_in_begin_tables_lists_latex/indices_in_begin_tables_lists.tex
 
b/tp/tests/indices/res_parser/indices_in_begin_tables_lists_latex/indices_in_begin_tables_lists.tex
index c225a50..c1249b6 100644
--- 
a/tp/tests/indices/res_parser/indices_in_begin_tables_lists_latex/indices_in_begin_tables_lists.tex
+++ 
b/tp/tests/indices/res_parser/indices_in_begin_tables_lists_latex/indices_in_begin_tables_lists.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 \makeindex[name=fn]%
 \makeindex[name=vr]%
@@ -54,30 +56,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git 
a/tp/tests/indices/res_parser_info/indices_in_begin_tables_lists_latex/indices_in_begin_tables_lists.tex
 
b/tp/tests/indices/res_parser_info/indices_in_begin_tables_lists_latex/indices_in_begin_tables_lists.tex
index c225a50..c1249b6 100644
--- 
a/tp/tests/indices/res_parser_info/indices_in_begin_tables_lists_latex/indices_in_begin_tables_lists.tex
+++ 
b/tp/tests/indices/res_parser_info/indices_in_begin_tables_lists_latex/indices_in_begin_tables_lists.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=cp]%
 \makeindex[name=fn]%
 \makeindex[name=vr]%
@@ -54,30 +56,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}
diff --git a/tp/tests/layout/res_parser/formatting_latex/formatting.tex 
b/tp/tests/layout/res_parser/formatting_latex/formatting.tex
index c2a8f3e..c5699f1 100644
--- a/tp/tests/layout/res_parser/formatting_latex/formatting.tex
+++ b/tp/tests/layout/res_parser/formatting_latex/formatting.tex
@@ -13,13 +13,15 @@
 \usepackage{fontsize}
 \usepackage{enumitem}
 \usepackage{geometry}
-\usepackage{fancyhdr}
+\usepackage{titleps}
 \usepackage{float}
 \usepackage{babel}
 % use hidelinks to remove boxes around links to be similar with Texinfo TeX
 \usepackage[hidelinks]{hyperref}
 \usepackage[utf8]{inputenc}
 
+\newcommand{\GNUTexinfosettitle}{No Title}%
+
 \makeindex[name=codeidx]%
 \makeindex[name=cp]%
 \makeindex[name=fn]%
@@ -56,30 +58,24 @@
 % command that does nothing used to help with substitutions in commands
 \newcommand{\GNUTexinfoplaceholder}[1]{}
 
+% plain page style, for part and chapter, which call \thispagestyle{plain}
+\renewpagestyle{plain}{\sethead[\thepage{}][][]
+                             {}{}{\thepage{}}}
+
+% single header
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{} 
\chaptertitle{}][][\thepage]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
+
 % called when setting single headers
-% use \nouppercase to match with Texinfo TeX style
-\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{fancy}
-\fancyhf{}
-\lhead{\nouppercase{\leftmark}}
-\rhead{\thepage}
-}
+\newcommand{\GNUTexinfosetsingleheader}{\pagestyle{single}}
 
-% called when setting double headers
-\newcommand{\GNUTexinfosetdoubleheader}[1]{\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[LE,RO]{\thepage}
-\fancyhead[RE]{#1}
-\fancyhead[LO]{\nouppercase{\leftmark}}
-}
+% double header
+\newpagestyle{double}{\sethead[\thepage{}][][\GNUTexinfosettitle]
+                              {\chaptername{} \thechapter{} 
\chaptertitle{}}{}{\thepage}}
 
-% for part and chapter, which call \thispagestyle{plain}
-\fancypagestyle{plain}{ %
- \fancyhf{}
- \fancyhead[LE,RO]{\thepage}
-}
+% called when setting double headers
+\newcommand{\GNUTexinfosetdoubleheader}{\pagestyle{double}}
 
-% match Texinfo TeX style
-\renewcommand{\headrulewidth}{0pt}%
 
 % avoid pagebreak and headings setting for a sectionning command
 \newcommand{\GNUTexinfonopagebreakheading}[2]{\let\clearpage\relax 
\let\cleardoublepage\relax \let\thispagestyle\GNUTexinfoplaceholder #1{#2}}



reply via email to

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