texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Patrice Dumas
Date: Sun, 15 Aug 2021 07:03:29 -0400 (EDT)

branch: master
commit 10ecad0c6e398e4b25c7f2d1c21a077e6f0cea74
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Aug 15 13:02:05 2021 +0200

    LaTeX.pm: close preformatted formats before a displaymath,
    and reopen right after.
    Output (`Top' node ignored) if @node Top is the last node,
    similar with Texinfo TeX.
---
 tp/Texinfo/Convert/LaTeX.pm                        | 115 +++++++++-
 tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl  |   8 +-
 .../res_parser/formatting_latex/formatting.tex     | 244 ++++++++++-----------
 3 files changed, 231 insertions(+), 136 deletions(-)

diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index fbdcd38..96f4e59 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -823,7 +823,56 @@ sub output($$)
   my $result = '';
 
   $result .= $self->_output_text($self->_latex_header(), $fh);
-  $result .= $self->convert_document_sections($root, $fh);
+  #$result .= $self->convert_document_sections($root, $fh);
+  my $elements = Texinfo::Structuring::split_by_section($root);
+  if ($elements) {
+    # Check if the document ends with a lone Top node, that
+    # will be ignored
+    my $top_node_in_end_element;
+    my $node_following_top_node_in_end_element = 0;
+    foreach my $element_content (@{$elements->[-1]->{'contents'}}) {
+      if ($element_content->{'cmdname'}
+          and $element_content->{'cmdname'} eq 'node') {
+        if ($element_content->{'extra'}->{'normalized'} eq 'Top') {
+          $top_node_in_end_element = 1;
+        } elsif ($top_node_in_end_element) {
+          $node_following_top_node_in_end_element = 1;
+          last;
+        }
+      }
+    }
+    my $converted_elements = $elements;
+    if ($top_node_in_end_element and not 
$node_following_top_node_in_end_element) {
+      # the document ends with a lone to node, replace by a text
+      # stating that the Top nodei s ignored as in Texinfo TeX
+      $converted_elements = [ @$elements ];
+      my $last_element = pop @$converted_elements;
+      my $modified_last_element = {'contents' => []};
+      foreach my $key ($last_element) {
+        if ($key ne 'contents') {
+          $modified_last_element->{$key} = $last_element->{$key};
+        }
+      }
+      foreach my $element_content (@{$last_element}) {
+        if ($element_content->{'cmdname'}
+          and $element_content->{'cmdname'} eq 'node'
+          and $element_content->{'extra'}->{'normalized'} eq 'Top') {
+          push @{$modified_last_element->{'contents'}},
+           {'text' => "(`Top' node ignored)\n", 'type' => 'ignored_top_node'};
+          last;
+        } else {
+          push @{$modified_last_element->{'contents'}}, $element_content;
+        }
+      }
+      push @$converted_elements, $modified_last_element;
+    }
+    my $result = '';
+    foreach my $element (@$converted_elements) {
+      $result .= $self->_output_text($self->convert_tree($element), $fh);
+    }
+  } else {
+    $result .= $self->_output_text($self->convert_tree($root), $fh);
+  }
   $result .= $self->_output_text($self->_latex_footer(), $fh);
 
   #print $result;
@@ -889,6 +938,50 @@ sub _protect_text($$)
   return $text;
 }
 
+sub _open_preformatted($)
+{
+  my $command = shift;
+  my $result = '';
+  $result .= '\\par\\begingroup\\obeylines\\obeyspaces\\frenchspacing';
+  # TODO indent block correct amount
+  $result .= '\\leftskip=2em\\relax\\parskip=0pt\\relax';
+
+  if ($preformatted_code_commands{$command}) {
+    $result .= '\\ttfamily';
+  }
+  $result .= '{}';
+  return $result;
+}
+
+sub _close_preformatted()
+{
+  return '\\endgroup{}'; # \obeylines
+}
+
+sub _open_preformatted_stack($)
+{
+  my $stack = shift;
+  my $result = '';
+  foreach my $stack_comand (@$stack) {
+    if ($preformatted_commands{$stack_comand}) {
+      $result .= _open_preformatted($stack_comand);
+    }
+  }
+  return $result;
+}
+
+sub _close_preformatted_stack($)
+{
+  # should close in reverse, but it doesn't depend on the command
+  my $stack = shift;
+  my $result = '';
+  foreach my $stack_comand (@$stack) {
+    if ($preformatted_commands{$stack_comand}) {
+      $result .= _close_preformatted();
+    }
+  }
+  return $result;
+}
 
 sub _printindex($$)
 {
@@ -1457,6 +1550,8 @@ sub _convert($$)
       } else {
         if ($command eq 'displaymath') {
           push @{$self->{'style_context'}->[-1]->{'math_style'}}, 'one-line';
+          # close all preformatted formats
+          $result .= 
_close_preformatted_stack($self->{'style_context'}->[-1]->{'context'});
           $result .= "\$\$\n";
         }
       }
@@ -1544,14 +1639,7 @@ sub _convert($$)
       if ($LaTeX_block_commands{$command}) {
         $result .= "\\begin{".$LaTeX_block_commands{$command}."}\n";
       } elsif ($preformatted_commands{$command}) {
-        $result .= '\\par\\begingroup\\obeylines\\obeyspaces\\frenchspacing';
-        # TODO indent block correct amount
-        $result .= '\\leftskip=2em\\relax\\parskip=0pt\\relax';
-
-        if ($preformatted_code_commands{$command}) {
-          $result .= '\\ttfamily';
-        }
-        $result .= '{}';
+        $result .= _open_preformatted($command);
       }
       if ($block_raw_commands{$command}) {
         push @{$self->{'style_context'}->[-1]->{'context'}}, 'raw';
@@ -1985,6 +2073,11 @@ sub _convert($$)
       my $content = shift @contents;
       my $text = _convert($self, $content);
       $result .= $text;
+      #my @str_contents = ();
+      #foreach my $item_content (@contents) {
+      #  push @str_contents, 
Texinfo::Common::_print_element_tree_simple($item_content);
+      #}
+      #print STDERR "contents 
".Texinfo::Common::_print_element_tree_simple($root).": ".join("|", 
@str_contents)."\n";
     }
     pop @{$self->{'current_contents'}};
   }
@@ -2046,6 +2139,8 @@ sub _convert($$)
       die if ($old_context ne 'math');
       if ($command eq 'displaymath') {
         $result .= "\$\$\n";
+        # reopen all preformatted commands
+        $result .= 
_open_preformatted_stack($self->{'style_context'}->[-1]->{'context'});
       }
       my $old_math_style = pop 
@{$self->{'style_context'}->[-1]->{'math_style'}};
       die if ($old_math_style ne 'one-line');
@@ -2053,7 +2148,7 @@ sub _convert($$)
     if ($LaTeX_block_commands{$command}) {
       $result .= "\\end{".$LaTeX_block_commands{$command}."}\n";
     } elsif ($preformatted_commands{$command}) {
-      $result .= '\\endgroup{}'; # \obeylines
+      $result .= _close_preformatted();
     }
     # as explained in the Texinfo manual start headers after titlepage
     if ($command eq 'titlepage') {
diff --git a/tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl 
b/tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl
index f6e802c..f125ec6 100644
--- a/tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl
+++ b/tp/t/results/latex_tests/kbdinputstyle_and_kbd.pl
@@ -743,16 +743,16 @@ $result_floats{'kbdinputstyle_and_kbd'} = {};
 
 $result_converted{'latex'}->{'kbdinputstyle_and_kbd'} = '
 {\\ttfamily\\textsl{default kbdinputstyle}}
-\\par\\begingroup\\obeycr\\ttfamily\\noindent{}{\\ttfamily\\textsl{in example 
default kbdinputstyle}}
+\\par\\begingroup\\obeylines\\obeyspaces\\frenchspacing\\leftskip=2em\\relax\\parskip=0pt\\relax\\ttfamily{}{\\ttfamily\\textsl{in
 example default kbdinputstyle}}
 \\endgroup{}
 \\texttt{code kbdinputstyle}
-\\par\\begingroup\\obeycr\\ttfamily\\noindent{}\\texttt{in example code 
kbdinputstyle}
+\\par\\begingroup\\obeylines\\obeyspaces\\frenchspacing\\leftskip=2em\\relax\\parskip=0pt\\relax\\ttfamily{}\\texttt{in
 example code kbdinputstyle}
 \\endgroup{}
 {\\ttfamily\\textsl{example kbdinputstyle}}
-\\par\\begingroup\\obeycr\\ttfamily\\noindent{}\\texttt{in example example 
kbdinputstyle}
+\\par\\begingroup\\obeylines\\obeyspaces\\frenchspacing\\leftskip=2em\\relax\\parskip=0pt\\relax\\ttfamily{}\\texttt{in
 example example kbdinputstyle}
 \\endgroup{}
 {\\ttfamily\\textsl{distinct kbdinputstyle}}
-\\par\\begingroup\\obeycr\\ttfamily\\noindent{}{\\ttfamily\\textsl{in example 
distinct kbdinputstyle}}
+\\par\\begingroup\\obeylines\\obeyspaces\\frenchspacing\\leftskip=2em\\relax\\parskip=0pt\\relax\\ttfamily{}{\\ttfamily\\textsl{in
 example distinct kbdinputstyle}}
 \\endgroup{}';
 
 1;
diff --git a/tp/tests/layout/res_parser/formatting_latex/formatting.tex 
b/tp/tests/layout/res_parser/formatting_latex/formatting.tex
index 84f8c5a..91038d5 100644
--- a/tp/tests/layout/res_parser/formatting_latex/formatting.tex
+++ b/tp/tests/layout/res_parser/formatting_latex/formatting.tex
@@ -302,16 +302,16 @@ $$
 $$
 
 {\ttfamily\textsl{default kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example default 
kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example default kbdinputstyle}}
 \endgroup{}
 \texttt{code kbdinputstyle}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example code 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example code kbdinputstyle}
 \endgroup{}
 {\ttfamily\textsl{example kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example example 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example example kbdinputstyle}
 \endgroup{}
 {\ttfamily\textsl{distinct kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example 
distinct kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example distinct kbdinputstyle}}
 \endgroup{}
 A quot---ation
 
@@ -394,45 +394,45 @@ lone mu--ltitable item
 
 truc bidule
 
-\par\begingroup\obeycr\ttfamily\noindent{}e--xample  some
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}e--xample
  some
    text
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example one arg
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 one arg
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example two args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 two args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example three args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 three args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example four args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 four args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example five args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 five args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}The something \'{e} \TeX{} is here.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}The
 something \'{e} \TeX{} is here.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}A @ at the end of the @example line.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}A
 @ at the end of the @example line.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty and non empty 
args mix
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty and non empty args mix
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--mallexample
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--mallexample
 \endgroup{}
 \texttt{@noindent} after smallexample.
-\par\begingroup\obeycr\ttfamily\noindent{}\$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\$
 wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
 \$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.sub?rev=HEAD\&content-type=text/plain'
 \endgroup{}\noindent{}Less recent versions are also present.
 
-\par\begingroup\obeycr\noindent{}d--isplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}d--isplay
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--malldisplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--malldisplay
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}l--isp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}l--isp
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--malllisp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--malllisp
 \endgroup{}
-\par\begingroup\obeycr\noindent{}f--ormat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}f--ormat
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--mallformat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--mallformat
 \endgroup{}
 $$
 disp--laymath
@@ -1102,16 +1102,16 @@ $$
 $$
 
 {\ttfamily\textsl{default kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example default 
kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example default kbdinputstyle}}
 \endgroup{}
 \texttt{code kbdinputstyle}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example code 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example code kbdinputstyle}
 \endgroup{}
 {\ttfamily\textsl{example kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example example 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example example kbdinputstyle}
 \endgroup{}
 {\ttfamily\textsl{distinct kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example 
distinct kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example distinct kbdinputstyle}}
 \endgroup{}
 A quot---ation
 
@@ -1194,45 +1194,45 @@ lone mu--ltitable item
 
 truc bidule
 
-\par\begingroup\obeycr\ttfamily\noindent{}e--xample  some
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}e--xample
  some
    text
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example one arg
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 one arg
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example two args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 two args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example three args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 three args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example four args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 four args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example five args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 five args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}The something \'{e} \TeX{} is here.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}The
 something \'{e} \TeX{} is here.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}A @ at the end of the @example line.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}A
 @ at the end of the @example line.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty and non empty 
args mix
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty and non empty args mix
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--mallexample
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--mallexample
 \endgroup{}
 \texttt{@noindent} after smallexample.
-\par\begingroup\obeycr\ttfamily\noindent{}\$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\$
 wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
 \$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.sub?rev=HEAD\&content-type=text/plain'
 \endgroup{}\noindent{}Less recent versions are also present.
 
-\par\begingroup\obeycr\noindent{}d--isplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}d--isplay
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--malldisplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--malldisplay
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}l--isp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}l--isp
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--malllisp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--malllisp
 \endgroup{}
-\par\begingroup\obeycr\noindent{}f--ormat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}f--ormat
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--mallformat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--mallformat
 \endgroup{}
 $$
 disp--laymath
@@ -1917,16 +1917,16 @@ $$
 $$
 
 {\ttfamily\textsl{default kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example default 
kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example default kbdinputstyle}}
 \endgroup{}
 \texttt{code kbdinputstyle}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example code 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example code kbdinputstyle}
 \endgroup{}
 {\ttfamily\textsl{example kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example example 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example example kbdinputstyle}
 \endgroup{}
 {\ttfamily\textsl{distinct kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example 
distinct kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example distinct kbdinputstyle}}
 \endgroup{}
 A quot---ation
 
@@ -2009,45 +2009,45 @@ lone mu--ltitable item
 
 truc bidule
 
-\par\begingroup\obeycr\ttfamily\noindent{}e--xample  some
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}e--xample
  some
    text
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example one arg
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 one arg
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example two args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 two args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example three args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 three args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example four args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 four args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example five args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 five args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}The something \'{e} \TeX{} is here.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}The
 something \'{e} \TeX{} is here.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}A @ at the end of the @example line.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}A
 @ at the end of the @example line.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty and non empty 
args mix
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty and non empty args mix
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--mallexample
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--mallexample
 \endgroup{}
 \texttt{@noindent} after smallexample.
-\par\begingroup\obeycr\ttfamily\noindent{}\$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\$
 wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
 \$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.sub?rev=HEAD\&content-type=text/plain'
 \endgroup{}\noindent{}Less recent versions are also present.
 
-\par\begingroup\obeycr\noindent{}d--isplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}d--isplay
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--malldisplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--malldisplay
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}l--isp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}l--isp
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--malllisp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--malllisp
 \endgroup{}
-\par\begingroup\obeycr\noindent{}f--ormat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}f--ormat
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--mallformat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--mallformat
 \endgroup{}
 $$
 disp--laymath
@@ -2716,16 +2716,16 @@ $$
 $$
 
 {\ttfamily\textsl{default kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example default 
kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example default kbdinputstyle}}
 \endgroup{}
 \texttt{code kbdinputstyle}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example code 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example code kbdinputstyle}
 \endgroup{}
 {\ttfamily\textsl{example kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example example 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example example kbdinputstyle}
 \endgroup{}
 {\ttfamily\textsl{distinct kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example 
distinct kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example distinct kbdinputstyle}}
 \endgroup{}
 A quot---ation
 
@@ -2808,45 +2808,45 @@ lone mu--ltitable item
 
 truc bidule
 
-\par\begingroup\obeycr\ttfamily\noindent{}e--xample  some
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}e--xample
  some
    text
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example one arg
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 one arg
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example two args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 two args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example three args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 three args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example four args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 four args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example five args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 five args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}The something \'{e} \TeX{} is here.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}The
 something \'{e} \TeX{} is here.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}A @ at the end of the @example line.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}A
 @ at the end of the @example line.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty and non empty 
args mix
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty and non empty args mix
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--mallexample
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--mallexample
 \endgroup{}
 \texttt{@noindent} after smallexample.
-\par\begingroup\obeycr\ttfamily\noindent{}\$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\$
 wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
 \$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.sub?rev=HEAD\&content-type=text/plain'
 \endgroup{}\noindent{}Less recent versions are also present.
 
-\par\begingroup\obeycr\noindent{}d--isplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}d--isplay
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--malldisplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--malldisplay
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}l--isp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}l--isp
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--malllisp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--malllisp
 \endgroup{}
-\par\begingroup\obeycr\noindent{}f--ormat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}f--ormat
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--mallformat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--mallformat
 \endgroup{}
 $$
 disp--laymath
@@ -3278,7 +3278,7 @@ Various deff lines
 
 
 In example.
-\par\begingroup\obeycr\ttfamily\noindent{}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}
 <
 >
 "
@@ -3484,20 +3484,20 @@ but , ,\@
 After clickstyle $\Rightarrow{}$
 \texttt{@clicksequence\{click @click\{\} A\}} click $\Rightarrow{}$ A
 
-$$
+\endgroup{}$$
 \mathbf{``simple-double--three---four----''} \hbox{aa}
 `\hbox{}`simple-double-\hbox{}-three---four----'\hbox{}'
 $$
-
-$$
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}
+\endgroup{}$$
 \ddot{u} \ddot{U} \tilde{n} \hat{a} \acute{e} \bar{o} \grave{i} \acute{e} 
\imath{} \jmath{} \grave{\bar{E}}
 \mathord{\text{\l{}}} \textsl{\c{\'{C}}} \textsl{\c{\'{C}}} \textsl{\c{c}} 
\textsl{\H{a}} \dot{a} \mathring{a} \textsl{\t{a}}
 \breve{a} \textsl{\b{a}} \textsl{\d{a}} \check{a} \textsl{\k{a}} a^{h}_{l}
  \ {}\ {} \ {}\-{}   ! ? . @ \} \{ 
 \today{}
 $$
-
-$$
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}
+\endgroup{}$$
 \rightarrow{}
 u
 TeX LaTeX \bullet{} \copyright{} \dots{} \dots{} \equiv{}
@@ -3506,25 +3506,25 @@ TeX LaTeX \bullet{} \copyright{} \dots{} \dots{} 
\equiv{}
 \mathord{\text{\TH{}}} \mathord{\text{\dh{}}} \mathord{\text{\th{}}} 
\mathord{\text{\textexclamdown{}}} \mathord{\text{\textquestiondown{}}} 
\mathsterling{}
 \circledR{} \mathord{\text{\textordfeminine{}}} 
\mathord{\text{\textordmasculine{}}} , 
 $$
-
-$$
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}
+\endgroup{}$$
 \mathord{\text{\textquotedblleft{}}} \mathord{\text{\textquotedblright{}}} 
 \mathord{\text{\textquoteleft{}}} \mathord{\text{\textquoteright{}}} 
\mathord{\text{\quotedblbase{}}} \mathord{\text{\quotesinglbase{}}} 
\mathord{\text{\guillemotleft{}}}
 \mathord{\text{\guillemotright{}}} \mathord{\text{\guillemotleft{}}} 
\mathord{\text{\guillemotright{}}} \mathord{\text{\guilsinglleft{}}}
 \mathord{\text{\guilsinglright{}}} ^{\circ{}} \euro{} \rightarrow{} \leq{} 
\geq{}
 $$
-
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}
 {\ttfamily\textsl{default kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example default 
kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example default kbdinputstyle}}
 \endgroup{}
 \texttt{code kbdinputstyle}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example code 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example code kbdinputstyle}
 \endgroup{}
 \texttt{example kbdinputstyle}
-\par\begingroup\obeycr\ttfamily\noindent{}\texttt{in example example 
kbdinputstyle}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\texttt{in
 example example kbdinputstyle}
 \endgroup{}
 {\ttfamily\textsl{distinct kbdinputstyle}}
-\par\begingroup\obeycr\ttfamily\noindent{}{\ttfamily\textsl{in example 
distinct kbdinputstyle}}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}{\ttfamily\textsl{in
 example distinct kbdinputstyle}}
 \endgroup{}
 A quot---ation
 
@@ -3607,51 +3607,51 @@ lone mu--ltitable item
 
 truc bidule
 
-\par\begingroup\obeycr\ttfamily\noindent{}e--xample  some
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}e--xample
  some
    text
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example one arg
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 one arg
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example two args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 two args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example three args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 three args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example four args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 four args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example five args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 five args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}The something \'{e} \TeX{} is here.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}The
 something \'{e} \TeX{} is here.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}A @ at the end of the @example line.
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}A
 @ at the end of the @example line.
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty args
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty args
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}example with empty and non empty 
args mix
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}example
 with empty and non empty args mix
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--mallexample
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--mallexample
 \endgroup{}
 \texttt{@noindent} after smallexample.
-\par\begingroup\obeycr\ttfamily\noindent{}\$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}\$
 wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD\&content-type=text/plain'
 \$ wget 
'http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.sub?rev=HEAD\&content-type=text/plain'
 \endgroup{}\noindent{}Less recent versions are also present.
 
-\par\begingroup\obeycr\noindent{}d--isplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}d--isplay
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--malldisplay
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--malldisplay
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}l--isp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}l--isp
 \endgroup{}
-\par\begingroup\obeycr\ttfamily\noindent{}s--malllisp
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}s--malllisp
 \endgroup{}
-\par\begingroup\obeycr\noindent{}f--ormat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}f--ormat
 \endgroup{}
-\par\begingroup\obeycr\noindent{}s--mallformat
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}s--mallformat
 \endgroup{}
-$$
+\endgroup{}$$
 disp--laymath
 f(x) = {1 \over \sigma \sqrt{2\pi}}e^{-{1 \over 2}\left({x-\mu \over 
\sigma}\right)^2}
 $$
-
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax\ttfamily{}
 \hbox{}-- c--ategory: d--effn\_name a--rguments...
 
 
@@ -4100,7 +4100,7 @@ tp
 
 \footnote{in footnote}
 
-\par\begingroup\obeycr\noindent{}\endgroup{}
+\par\begingroup\obeylines\obeyspaces\frenchspacing\leftskip=2em\relax\parskip=0pt\relax{}\endgroup{}
 \section{A section}
 \label{anchor:s_002d_002dect_002cion}%
 



reply via email to

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