From: Tom Lane Date: Tue, 12 May 2020 00:03:55 +0000 (-0400) Subject: Doc: fix remaining over-length entries in SQL keywords table. X-Git-Url: http://git.postgresql.org/gitweb/-?a=commitdiff_plain;h=4d1563717fb1860168a40b852e1d61a33ecdd62f;p=users%2Frhaas%2Fpostgres.git Doc: fix remaining over-length entries in SQL keywords table. Even after the tweaking I did in commit 5545b69ae, some of the longer keywords mentioned in the SQL standard don't fit the available space in PDF output. I experimented with various solutions like putting such keywords on their own table lines, but everything looked ugly or confusing or both; worse, the weirdness also appeared in the HTML version, which (normally) doesn't need it. The best answer seems to be to insert &zwsp; into long keywords so that they can be broken into two lines when, and only when, needed. It doesn't look too awful if the break happens after an underscore --- and fortunately, all the problematic keywords have underscores. Discussion: https://postgr.es/m/6916.1589146280@sss.pgh.pa.us --- diff --git a/doc/src/sgml/generate-keywords-table.pl b/doc/src/sgml/generate-keywords-table.pl index 5aa1c39d2a..824b324ef7 100644 --- a/doc/src/sgml/generate-keywords-table.pl +++ b/doc/src/sgml/generate-keywords-table.pl @@ -82,8 +82,13 @@ END foreach my $word (sort keys %keywords) { + # Insert zwsp's into very long keywords, so that they can be broken + # into multiple lines in PDF format (or narrow HTML windows). + my $printword = $word; + $printword =~ s/_/_&zwsp;/g if (length($printword) > 20); + print " \n"; - print " $word\n"; + print " $printword\n"; print " "; if ($keywords{$word}{pg}{'unreserved'})