[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: * tp/Texinfo/Convert/LaTeX.pm (_informative_comma
From: |
Patrice Dumas |
Subject: |
branch master updated: * tp/Texinfo/Convert/LaTeX.pm (_informative_command_output) (_latex_begin_output, _convert): add _informative_command_output that returns LaTeX output code for informative @-commands based on code in _convert, use it in _convert. In _latex_begin_output also call _informative_command_output for informative commands that have a different customization option value from the LaTeX default. |
Date: |
Thu, 29 Dec 2022 17:22:10 -0500 |
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 df38ca3d2c * tp/Texinfo/Convert/LaTeX.pm (_informative_command_output)
(_latex_begin_output, _convert): add _informative_command_output that returns
LaTeX output code for informative @-commands based on code in _convert, use it
in _convert. In _latex_begin_output also call _informative_command_output for
informative commands that have a different customization option value from the
LaTeX default.
df38ca3d2c is described below
commit df38ca3d2caec8193fc8d6c0b045842345005536
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Thu Dec 29 23:21:42 2022 +0100
* tp/Texinfo/Convert/LaTeX.pm (_informative_command_output)
(_latex_begin_output, _convert): add _informative_command_output
that returns LaTeX output code for informative @-commands based
on code in _convert, use it in _convert. In _latex_begin_output
also call _informative_command_output for informative commands
that have a different customization option value from the LaTeX
default.
* tp/t/latex_tests.t, Makefile.tres: add
customize_informative_commands test to test customization options for
informative @-commands.
---
ChangeLog | 14 ++
tp/Makefile.tres | 4 +
tp/Texinfo/Convert/LaTeX.pm | 225 ++++++++++++---------
tp/t/latex_tests.t | 9 +
.../latex_tests/customize_informative_commands.pl | 87 ++++++++
.../res_latex/customize_informative_commands.tex | 55 +++++
...hapternewpage_on_odd_titlepage_set_headings.tex | 72 +++++++
7 files changed, 371 insertions(+), 95 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 1551ecc600..cc37138604 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,20 @@
* tp/Makefile.am (dist-hook): Do not distribute architecture-
dependent gettext_xs.o file. Report from Hilmar Preuße.
+2022-12-29 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/Convert/LaTeX.pm (_informative_command_output)
+ (_latex_begin_output, _convert): add _informative_command_output
+ that returns LaTeX output code for informative @-commands based
+ on code in _convert, use it in _convert. In _latex_begin_output
+ also call _informative_command_output for informative commands
+ that have a different customization option value from the LaTeX
+ default.
+
+ * tp/t/latex_tests.t, Makefile.tres: add
+ customize_informative_commands test to test customization options for
+ informative @-commands.
+
2022-12-29 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm (%document_settable_multiple_at_commands):
diff --git a/tp/Makefile.tres b/tp/Makefile.tres
index 0f4e495c6c..c33940fe77 100644
--- a/tp/Makefile.tres
+++ b/tp/Makefile.tres
@@ -1020,6 +1020,8 @@ test_files_generated_list =
$(test_tap_files_generated_list) \
t/results/latex_tests/brace_in_index/res_latex/brace_in_index.tex \
t/results/latex_tests/custom_headings.pl \
t/results/latex_tests/custom_headings/res_latex/custom_headings.tex \
+ t/results/latex_tests/customize_informative_commands.pl \
+
t/results/latex_tests/customize_informative_commands/res_latex/customize_informative_commands.tex
\
t/results/latex_tests/enumerate_arguments.pl \
t/results/latex_tests/enumerate_arguments/res_latex/enumerate_arguments.tex \
t/results/latex_tests/error_in_sectioning_command.pl \
@@ -1051,6 +1053,8 @@ test_files_generated_list =
$(test_tap_files_generated_list) \
t/results/latex_tests/pagetype/res_latex/pagetype.tex \
t/results/latex_tests/setchapternewpage_on_odd_titlepage.pl \
t/results/latex_tests/setchapternewpage_on_odd_titlepage/res_latex/setchapternewpage_on_odd_titlepage.tex
\
+ t/results/latex_tests/setchapternewpage_on_odd_titlepage_set_headings.pl \
+
t/results/latex_tests/setchapternewpage_on_odd_titlepage_set_headings/res_latex/setchapternewpage_on_odd_titlepage_set_headings.tex
\
t/results/latex_tests/settitle_and_headings.pl \
t/results/latex_tests/settitle_and_headings/res_latex/settitle_and_headings.tex
\
t/results/latex_tests/shorttitlepage.pl \
diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index b21a8659d2..553d92b9d9 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -782,6 +782,7 @@ my %defaults = (
'EXTENSION' => 'tex',
'documentlanguage' => undef,
+ 'paragraphindent' => undef, # global default is for Info/Plaintext
'converted_format' => 'latex',
@@ -1619,12 +1620,113 @@ roundcorner=10pt}
return $class_and_usepackage_begin . $usepackage_end . "\n" . $header_code;
}
+# return LaTeX output code for informative @-commands.
+sub _informative_command_output($$)
+{
+ my $self = shift;
+ my $cmdname = shift;
+ my $value = shift;
+
+ if ($cmdname eq 'documentlanguage') {
+ my $language = $self->get_conf($cmdname);
+ $language =~ s/_/-/;
+ $self->{'packages'}->{'babel'} = 1;
+ return "\\selectlanguage{$language}%\n";
+ } elsif ($cmdname eq 'pagesizes') {
+ my $pagesize_spec = $self->get_conf($cmdname);
+ my @pagesize_args = split(/\s*,\s*/, $pagesize_spec);
+ my @geometry;
+ my $height = shift @pagesize_args;
+ if (defined($height) and $height ne '') {
+ push @geometry, "textheight=$height";
+ }
+ my $width = shift @pagesize_args;
+ if (defined($width) and $width ne '') {
+ push @geometry, "textwidth=$width";
+ }
+ if (scalar(@geometry)) {
+ $self->{'packages'}->{'geometry'} = 1;
+ return "\\newgeometry{".join(',', @geometry)."}\n";
+ }
+ } elsif ($cmdname eq 'paragraphindent') {
+ my $indentation_spec = $self->get_conf($cmdname);
+ if ($indentation_spec eq 'asis') {
+ # not implemented here, same as in TeX.
+ return '';
+ } else {
+ my $indentation_spec_arg = $indentation_spec.'em';
+ if ($indentation_spec eq '0' or $indentation_spec eq 'none') {
+ $indentation_spec_arg = '0pt';
+ }
+ return "\\setlength{\\parindent}{$indentation_spec_arg}\n";
+ }
+ } elsif ($cmdname eq 'firstparagraphindent') {
+ my $indentation_spec = $self->get_conf($cmdname);
+ my $result = "\\makeatletter\n";
+ if ($indentation_spec eq 'insert') {
+ # From LaTeX indentfirst package: "LaTeX uses the switch
+ # \if@afterindent to decide whether to indent after a section
+ # heading. We just need to make sure that this is always true."
+ $result .= "\\let\\\@afterindentfalse\\\@afterindenttrue\n";
+ $result .= "\\\@afterindenttrue\n";
+ } elsif ($indentation_spec eq 'none') {
+ # restore original definition
+ $result .= '\\def\\@afterindentfalse{'
+ . "\\let\\if\@afterindent\\iffalse}\n";
+ }
+ $result .= "\\makeatother\n";
+ return $result;
+ } elsif ($cmdname eq 'frenchspacing') {
+ my $frenchspacing_spec = $self->get_conf($cmdname);
+ if ($frenchspacing_spec eq 'on') {
+ return "\\frenchspacing\n";
+ } elsif ($frenchspacing_spec eq 'off') {
+ return "\\nonfrenchspacing\n";
+ }
+ } elsif ($cmdname eq 'setchapternewpage') {
+ my $setchapternewpage_spec = $self->get_conf($cmdname);
+ my ($setchapternewpage_result, $heading_set)
+ = _set_chapter_new_page($self, $setchapternewpage_spec);
+ return $setchapternewpage_result;
+ } elsif ($cmdname eq 'headings') {
+ my $headings_spec = $self->get_conf($cmdname);
+ return _set_headings($self, $headings_spec);
+ } elsif ($cmdname eq 'fonttextsize') {
+ my $fontsize = $self->get_conf($cmdname);
+ $self->{'packages'}->{'fontsize'} = 1;
+ # default dimension for changefontsize is pt
+ return "\\changefontsize{$fontsize}\n";
+ } elsif ($cmdname eq 'microtype') {
+ my $microtype_spec = $self->get_conf($cmdname);
+ $self->{'packages'}->{'microtype'} = 1;
+ if ($microtype_spec eq 'on') {
+ return "\\microtypesetup{activate=true}%\n";
+ } elsif ($microtype_spec eq 'off') {
+ return "\\microtypesetup{activate=false}%\n";
+ }
+ } elsif ($paper_geometry_commands{$cmdname}) {
+ $self->{'packages'}->{'geometry'} = 1;
+ return "\\geometry{$paper_geometry_commands{$cmdname}}%\n";
+ }
+
+ return '';
+}
+
+my %LaTeX_defaults = (
+ 'firstparagraphindent' => 'none',
+ 'fonttextsize' => 11,
+ 'frenchspacing' => 'off',
+ 'microtype' => 'off',
+);
+
sub _latex_begin_output($)
{
my $self = shift;
- my $header = '';
- # setup defaults
+ #my $header = "\n";
+ my $header = "";
+ # Special treatment for setchapternewpage, we want to avid
+ # a useless headings set just below
$header .= "% set default for \@setchapternewpage\n";
my $heading_set;
if (defined($self->get_conf('setchapternewpage'))) {
@@ -1638,6 +1740,29 @@ sub _latex_begin_output($)
or $heading_set ne $heading)) {
$header .= _set_headings($self, $heading);
}
+
+ # only output if different from default
+ foreach my $informative_cmdname (sort(keys(%LaTeX_defaults))) {
+ my $conf_value = $self->get_conf($informative_cmdname);
+ if (defined($conf_value)
+ and $conf_value ne $LaTeX_defaults{$informative_cmdname}) {
+ $header .= _informative_command_output($self, $informative_cmdname);
+ }
+ }
+ foreach my $informative_cmdname ('documentlanguage', 'pagesizes',
+ 'paragraphindent') {
+ my $conf_value = $self->get_conf($informative_cmdname);
+ if (defined ($conf_value)) {
+ $header .= _informative_command_output($self, $informative_cmdname);
+ }
+ }
+
+ foreach my $cmdname (sort(keys(%paper_geometry_commands))) {
+ if (defined($self->get_conf($cmdname))) {
+ $header .= _informative_command_output($self, $cmdname);
+ }
+ }
+
$header .= "\n";
return $header;
}
@@ -2029,7 +2154,7 @@ sub _set_chapter_new_page($$)
$result .= _set_headings($self, $heading_set);
$self->{'prev_chapter_new_page_substitution'} = $new_code;
-
+
return $result, $heading_set;
}
@@ -3795,98 +3920,8 @@ sub _convert($$)
my $set = Texinfo::Common::set_informative_command_value($self,
$element);
- if (not $set) {
- return $result;
- }
- if ($cmdname eq 'documentlanguage') {
- my $language = $self->get_conf('documentlanguage');
- $language =~ s/_/-/;
- $result .= "\\selectlanguage{$language}%\n";
- $self->{'packages'}->{'babel'} = 1;
- } elsif ($cmdname eq 'pagesizes') {
- my $pagesize_spec = _convert($self, $element->{'args'}->[0]);
- #my $pagesize_spec = $self->get_conf('pagesizes');
- my @pagesize_args = split(/\s*,\s*/, $pagesize_spec);
- my @geometry;
- my $height = shift @pagesize_args;
- if (defined($height) and $height ne '') {
- push @geometry, "textheight=$height";
- }
- my $width = shift @pagesize_args;
- if (defined($width) and $width ne '') {
- push @geometry, "textwidth=$width";
- }
- if (scalar(@geometry)) {
- $result .= "\\newgeometry{".join(',', @geometry)."}\n";
- $self->{'packages'}->{'geometry'} = 1;
- }
- } elsif ($cmdname eq 'paragraphindent'
- and $element->{'extra'}->{'misc_args'}->[0]) {
- my $indentation_spec = $element->{'extra'}->{'misc_args'}->[0];
- if ($indentation_spec eq 'asis') {
- # not implemented here, same as in TeX.
- return $result;
- } else {
- my $indentation_spec_arg = $indentation_spec.'em';
- if ($indentation_spec eq '0' or $indentation_spec eq 'none') {
- $indentation_spec_arg = '0pt';
- }
- $result .= "\\setlength{\\parindent}{$indentation_spec_arg}\n";
- }
- } elsif ($cmdname eq 'firstparagraphindent'
- and $element->{'extra'}->{'misc_args'}->[0]) {
- my $indentation_spec = $element->{'extra'}->{'misc_args'}->[0];
- $result .= "\\makeatletter\n";
- if ($indentation_spec eq 'insert') {
- # From LaTeX indentfirst package: "LaTeX uses the switch
- # \if@afterindent to decide whether to indent after a section
- # heading. We just need to make sure that this is always true."
- $result .= "\\let\\\@afterindentfalse\\\@afterindenttrue\n";
- $result .= "\\\@afterindenttrue\n";
- } elsif ($indentation_spec eq 'none') {
- # restore original definition
- $result .= '\\def\\@afterindentfalse{'
- . "\\let\\if\@afterindent\\iffalse}\n";
- }
- $result .= "\\makeatother\n";
- } elsif ($cmdname eq 'frenchspacing'
- and $element->{'extra'}->{'misc_args'}->[0]) {
- my $frenchspacing_spec = $element->{'extra'}->{'misc_args'}->[0];
- if ($frenchspacing_spec eq 'on') {
- $result .= "\\frenchspacing\n";
- } elsif ($frenchspacing_spec eq 'off') {
- $result .= "\\nonfrenchspacing\n";
- }
- } elsif ($cmdname eq 'setchapternewpage'
- and $element->{'extra'}->{'misc_args'}->[0]) {
- my $setchapternewpage_spec = $element->{'extra'}->{'misc_args'}->[0];
- my ($setchapternewpage_result, $heading_set)
- = _set_chapter_new_page($self, $setchapternewpage_spec);
- $result .= $setchapternewpage_result;
- } elsif ($cmdname eq 'headings'
- and $element->{'extra'}->{'misc_args'}->[0]) {
- my $headings_spec = $element->{'extra'}->{'misc_args'}->[0];
- $result .= _set_headings($self, $headings_spec);
- } elsif ($cmdname eq 'fonttextsize'
- and $element->{'extra'}
- and $element->{'extra'}->{'misc_args'}
- and $element->{'extra'}->{'misc_args'}->[0]) {
- my $fontsize = $element->{'extra'}->{'misc_args'}->[0];
- # default dimension for changefontsize is pt
- $result .= "\\changefontsize{$fontsize}\n";
- $self->{'packages'}->{'fontsize'} = 1;
- } elsif ($paper_geometry_commands{$cmdname}) {
- $result .= "\\geometry{$paper_geometry_commands{$cmdname}}%\n";
- $self->{'packages'}->{'geometry'} = 1;
- } elsif ($cmdname eq 'microtype'
- and $element->{'extra'}->{'misc_args'}->[0]) {
- my $microtype_spec = $element->{'extra'}->{'misc_args'}->[0];
- if ($microtype_spec eq 'on') {
- $result .= "\\microtypesetup{activate=true}%\n";
- } elsif ($microtype_spec eq 'off') {
- $result .= "\\microtypesetup{activate=false}%\n";
- }
- $self->{'packages'}->{'microtype'} = 1;
+ if ($set) {
+ $result .= _informative_command_output($self, $cmdname);
}
return $result;
} else {
diff --git a/tp/t/latex_tests.t b/tp/t/latex_tests.t
index 5d3969eb07..9ae2e2a983 100644
--- a/tp/t/latex_tests.t
+++ b/tp/t/latex_tests.t
@@ -582,6 +582,15 @@ In afourpaper reset
@pagesizes ,
'],
+['customize_informative_commands',
+'@chapter chap
+', {}, {'pagesizes' => '200mm,150mm',
+ 'frenchspacing' => 'on',
+ 'microtype' => 'off',
+ 'firstparagraphindent' => 'insert',
+ 'fonttextsize' => '11',
+ 'paragraphindent' => 4,
+ 'afivepaper' => ''}],
['verbatim_in_smallformat',
'@smallformat
@verbatim
diff --git a/tp/t/results/latex_tests/customize_informative_commands.pl
b/tp/t/results/latex_tests/customize_informative_commands.pl
new file mode 100644
index 0000000000..6d9bb5bf74
--- /dev/null
+++ b/tp/t/results/latex_tests/customize_informative_commands.pl
@@ -0,0 +1,87 @@
+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{'customize_informative_commands'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [],
+ 'type' => 'preamble_before_content'
+ }
+ ],
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'chap'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'chapter',
+ 'extra' => {},
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'document_root'
+};
+
+$result_texis{'customize_informative_commands'} = '@chapter chap
+';
+
+
+$result_texts{'customize_informative_commands'} = '1 chap
+******
+';
+
+$result_sectioning{'customize_informative_commands'} = {
+ 'structure' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'chapter',
+ 'extra' => {},
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 1,
+ 'section_number' => 1,
+ 'section_up' => {}
+ }
+ }
+ ],
+ 'section_level' => 0
+ }
+};
+$result_sectioning{'customize_informative_commands'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
= $result_sectioning{'customize_informative_commands'};
+
+$result_errors{'customize_informative_commands'} = [];
+
+
+$result_floats{'customize_informative_commands'} = {};
+
+
+
+$result_converted{'latex_text'}->{'customize_informative_commands'} =
'\\begin{document}
+\\chapter{{chap}}
+';
+
+1;
diff --git
a/tp/t/results/latex_tests/customize_informative_commands/res_latex/customize_informative_commands.tex
b/tp/t/results/latex_tests/customize_informative_commands/res_latex/customize_informative_commands.tex
new file mode 100644
index 0000000000..14a6a8df21
--- /dev/null
+++
b/tp/t/results/latex_tests/customize_informative_commands/res_latex/customize_informative_commands.tex
@@ -0,0 +1,55 @@
+\documentclass{book}
+\usepackage{amsfonts}
+\usepackage{amsmath}
+\usepackage[gen]{eurosym}
+\usepackage{textcomp}
+\usepackage{graphicx}
+\usepackage{etoolbox}
+\usepackage{titleps}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{geometry}
+\usepackage{float}
+% use hidelinks to remove boxes around links to be similar to Texinfo TeX
+\usepackage[hidelinks]{hyperref}
+
+\makeatletter
+\newcommand{\Texinfosettitle}{No Title}%
+
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
+\renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
+\newenvironment{Texinfopreformatted}{%
+ \par\GNUTobeylines\obeyspaces\frenchspacing\parskip=\z@\parindent=\z@}{}
+{\catcode`\^^M=13 \gdef\GNUTobeylines{\catcode`\^^M=13 \def^^M{\null\par}}}
+\newenvironment{Texinfoindented}{\begin{list}{}{}\item\relax}{\end{list}}
+
+% used for substitutions in commands
+\newcommand{\Texinfoplaceholder}[1]{}
+
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{}
\chaptertitle{}][][\thepage]
+ {\chaptername{} \thechapter{}
\chaptertitle{}}{}{\thepage}}
+
+% allow line breaking at underscore
+\let\Texinfounderscore\_
+\renewcommand{\_}{\Texinfounderscore\discretionary{}{}{}}
+\renewcommand{\includegraphics}[1]{\fbox{FIG \detokenize{#1}}}
+
+\makeatother
+% set default for @setchapternewpage
+\makeatletter
+\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{\Texinfoplaceholder{setchapternewpage
placeholder}\clearpage}{}{}
+\makeatother
+\pagestyle{single}%
+\makeatletter
+\let\@afterindentfalse\@afterindenttrue
+\@afterindenttrue
+\makeatother
+\frenchspacing
+\newgeometry{textheight=200mm,textwidth=150mm}
+\setlength{\parindent}{4em}
+\geometry{papername=a5paper}%
+
+\begin{document}
+\chapter{{chap}}
+\end{document}
diff --git
a/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage_set_headings/res_latex/setchapternewpage_on_odd_titlepage_set_headings.tex
b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage_set_headings/res_latex/setchapternewpage_on_odd_titlepage_set_headings.tex
new file mode 100644
index 0000000000..cac43161c6
--- /dev/null
+++
b/tp/t/results/latex_tests/setchapternewpage_on_odd_titlepage_set_headings/res_latex/setchapternewpage_on_odd_titlepage_set_headings.tex
@@ -0,0 +1,72 @@
+\documentclass{book}
+\usepackage{amsfonts}
+\usepackage{amsmath}
+\usepackage[gen]{eurosym}
+\usepackage{textcomp}
+\usepackage{graphicx}
+\usepackage{etoolbox}
+\usepackage{titleps}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{float}
+% use hidelinks to remove boxes around links to be similar to Texinfo TeX
+\usepackage[hidelinks]{hyperref}
+
+\makeatletter
+\newcommand{\Texinfosettitle}{No Title}%
+
+% redefine the \mainmatter command such that it does not clear page
+% as if in double page
+\renewcommand\mainmatter{\clearpage\@mainmattertrue\pagenumbering{arabic}}
+\newenvironment{Texinfopreformatted}{%
+ \par\GNUTobeylines\obeyspaces\frenchspacing\parskip=\z@\parindent=\z@}{}
+{\catcode`\^^M=13 \gdef\GNUTobeylines{\catcode`\^^M=13 \def^^M{\null\par}}}
+\newenvironment{Texinfoindented}{\begin{list}{}{}\item\relax}{\end{list}}
+
+% used for substitutions in commands
+\newcommand{\Texinfoplaceholder}[1]{}
+
+\newpagestyle{single}{\sethead[\chaptername{} \thechapter{}
\chaptertitle{}][][\thepage]
+ {\chaptername{} \thechapter{}
\chaptertitle{}}{}{\thepage}}
+
+\newpagestyle{double}{\sethead[\thepage{}][][\Texinfosettitle]
+ {\chaptername{} \thechapter{}
\chaptertitle{}}{}{\thepage}}
+
+% allow line breaking at underscore
+\let\Texinfounderscore\_
+\renewcommand{\_}{\Texinfounderscore\discretionary{}{}{}}
+\renewcommand{\includegraphics}[1]{\fbox{FIG \detokenize{#1}}}
+
+\makeatother
+% set default for @setchapternewpage
+\makeatletter
+\patchcmd{\chapter}{\if@openright\cleardoublepage\else\clearpage\fi}{\Texinfoplaceholder{setchapternewpage
placeholder}\clearpage}{}{}
+\makeatother
+\pagestyle{single}%
+\pagestyle{single}%
+
+\pagestyle{single}%
+
+\makeatletter
+\patchcmd{\chapter}{\Texinfoplaceholder{setchapternewpage
placeholder}\clearpage}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}
+\makeatother
+\pagestyle{double}%
+
+
+\begin{document}
+
+\frontmatter
+\pagestyle{empty}%
+\begin{titlepage}
+\begingroup
+\newskip\titlepagetopglue \titlepagetopglue = 1.5in
+\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
+\setlength{\parindent}{0pt}
+% Leave some space at the very top of the page.
+ \vglue\titlepagetopglue
+in titlepage
+\endgroup
+\end{titlepage}
+\mainmatter
+\pagestyle{single}%
+\end{document}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: * tp/Texinfo/Convert/LaTeX.pm (_informative_command_output) (_latex_begin_output, _convert): add _informative_command_output that returns LaTeX output code for informative @-commands based on code in _convert, use it in _convert. In _latex_begin_output also call _informative_command_output for informative commands that have a different customization option value from the LaTeX default.,
Patrice Dumas <=