From bf3030e34bb630014b8de24aea46e0b14d275ee3 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Fri, 20 Jan 2023 11:55:44 +0100
Subject: [PATCH v7 2/2] Install pagebreaks between contrib section

This makes the PDF much more readable, but I don't like the mechanism
used.
---
 doc/src/sgml/contrib.sgml      | 50 ++++++++++++++++++++++++++++++++++
 doc/src/sgml/stylesheet-fo.xsl |  6 ++++
 2 files changed, 56 insertions(+)

diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 12c79b798b..bb823bebc1 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -100,55 +100,105 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
   component for details.
  </para>
 
+ <?hard-pagebreak?>
  &adminpack;
+ <?hard-pagebreak?>
  &amcheck;
+ <?hard-pagebreak?>
  &auth-delay;
+ <?hard-pagebreak?>
  &auto-explain;
+ <?hard-pagebreak?>
  &basebackup-to-shell;
+ <?hard-pagebreak?>
  &basic-archive;
+ <?hard-pagebreak?>
  &bloom;
+ <?hard-pagebreak?>
  &btree-gin;
+ <?hard-pagebreak?>
  &btree-gist;
+ <?hard-pagebreak?>
  &citext;
+ <?hard-pagebreak?>
  &cube;
+ <?hard-pagebreak?>
  &dblink;
+ <?hard-pagebreak?>
  &dict-int;
+ <?hard-pagebreak?>
  &dict-xsyn;
+ <?hard-pagebreak?>
  &earthdistance;
+ <?hard-pagebreak?>
  &file-fdw;
+ <?hard-pagebreak?>
  &fuzzystrmatch;
+ <?hard-pagebreak?>
  &hstore;
+ <?hard-pagebreak?>
  &intagg;
+ <?hard-pagebreak?>
  &intarray;
+ <?hard-pagebreak?>
  &isn;
+ <?hard-pagebreak?>
  &lo;
+ <?hard-pagebreak?>
  &ltree;
+ <?hard-pagebreak?>
  &oldsnapshot;
+ <?hard-pagebreak?>
  &pageinspect;
+ <?hard-pagebreak?>
  &passwordcheck;
+ <?hard-pagebreak?>
  &pgbuffercache;
+ <?hard-pagebreak?>
  &pgcrypto;
+ <?hard-pagebreak?>
  &pgfreespacemap;
+ <?hard-pagebreak?>
  &pgprewarm;
+ <?hard-pagebreak?>
  &pgrowlocks;
+ <?hard-pagebreak?>
  &pgstatstatements;
+ <?hard-pagebreak?>
  &pgstattuple;
+ <?hard-pagebreak?>
  &pgsurgery;
+ <?hard-pagebreak?>
  &pgtrgm;
+ <?hard-pagebreak?>
  &pgvisibility;
+ <?hard-pagebreak?>
  &pgwalinspect;
+ <?hard-pagebreak?>
  &postgres-fdw;
+ <?hard-pagebreak?>
  &seg;
+ <?hard-pagebreak?>
  &sepgsql;
+ <?hard-pagebreak?>
  &contrib-spi;
+ <?hard-pagebreak?>
  &sslinfo;
+ <?hard-pagebreak?>
  &tablefunc;
+ <?hard-pagebreak?>
  &tcn;
+ <?hard-pagebreak?>
  &test-decoding;
+ <?hard-pagebreak?>
  &tsm-system-rows;
+ <?hard-pagebreak?>
  &tsm-system-time;
+ <?hard-pagebreak?>
  &unaccent;
+ <?hard-pagebreak?>
  &uuid-ossp;
+ <?hard-pagebreak?>
  &xml2;
 
 </appendix>
diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xsl
index 0c4dff92c4..9dde0a89dd 100644
--- a/doc/src/sgml/stylesheet-fo.xsl
+++ b/doc/src/sgml/stylesheet-fo.xsl
@@ -132,4 +132,10 @@
   </fo:bookmark>
 </xsl:template>
 
+<!-- Provide a hard page break processing instruction
+     http://www.sagehill.net/docbookxsl/PageBreaking.html#HardPageBreaks -->
+<xsl:template match="processing-instruction('hard-pagebreak')">
+   <fo:block break-after='page'/>
+</xsl:template>
+
 </xsl:stylesheet>
-- 
2.30.2

