texinfo-commits
[Top][All Lists]
Advanced

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

[6589] make final page of indices have flush column bottoms again


From: Gavin D. Smith
Subject: [6589] make final page of indices have flush column bottoms again
Date: Sun, 30 Aug 2015 22:11:13 +0000

Revision: 6589
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6589
Author:   gavin
Date:     2015-08-30 22:11:12 +0000 (Sun, 30 Aug 2015)
Log Message:
-----------
make final page of indices have flush column bottoms again

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/doc/texinfo-tex-test.texi
    trunk/doc/texinfo.tex

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2015-08-29 19:51:44 UTC (rev 6588)
+++ trunk/ChangeLog     2015-08-30 22:11:12 UTC (rev 6589)
@@ -1,3 +1,13 @@
+2015-08-30  Gavin Smith  <address@hidden>
+
+       * doc/texinfo.tex (\initialfonts, \initialglyphs): Rename, and 
+       add a missing %.
+       (\balancecolumns): Make the columns have flush bottoms only if 
+       their heights are not too different.
+       * doc/texinfo-tex-test.texi: Add example to show flush column 
+       bottoms in the middle of an index, and tweak examples of short 
+       indices.
+
 2015-08-29  Gavin Smith  <address@hidden>
 
        * info/display.c (display_process_line): Don't append codes to 

Modified: trunk/doc/texinfo-tex-test.texi
===================================================================
--- trunk/doc/texinfo-tex-test.texi     2015-08-29 19:51:44 UTC (rev 6588)
+++ trunk/doc/texinfo-tex-test.texi     2015-08-30 22:11:12 UTC (rev 6589)
@@ -19,6 +19,8 @@
 @setfilename
 @settitle Test Document for @file{texinfo.tex}
 
address@hidden @thischapter @| @| @thissection
+
 @contents
 
 @chapter Macros
@@ -339,11 +341,151 @@
 \entry {References using \code address@hidden
 \finishindex
 
address@hidden Index page break not before initial
 
+The next index is to show the bottoms of columns when the next page 
+doesn't start with an initial.
+
address@hidden
+\initial {P}
+\entry {\code {PACKAGE}}{196}
+\entry {\code {PACKAGE_AND_VERSION}}{196}
+\entry {\code {PACKAGE_NAME}}{196}
+\entry {\code {PACKAGE_URL}}{196}
+\entry {\code {PACKAGE_VERSION}}{196}
+\entry {Page breaks, awkward}{124}
+\entry {Page breaks, forcing}{126}
+\entry {Page delimiter in Texinfo mode}{261}
+\entry {Page headings}{270}
+\entry {Page numbering}{270}
+\entry {Page sizes for books}{175}
+\entry {Page sizes, customized}{175}
+\entry {\code {page-delimiter}}{261}
+\entry {Pages, starting odd}{29}
+\entry {Paper size, A4}{175}
+\entry {Paragraph indentation control}{31}
+\entry {Paragraph, marking text within}{66}
+\entry {\code {paragraphindent}}{187}
+\entry {Parameters to macros}{154}
+\entry {Parentheses in node name}{37}
+\entry {Parsing errors}{202}
+\entry {Part of file formatting and printing}{266}
+\entry {Part pages}{50}
+\entry {Partial documents, formatting}{168}
+\entry {Parts of a cross reference}{54}
+\entry {Parts of a master menu}{28}
+\entry {Parts of a menu}{43}
+\entry {Patches, contributing}{4}
+\entry {PCL file, for printing}{170}
+\entry {\code {pdf image inclusions}}{97}
+\entry {PDF output}{176}
+\entry {PDF output of urls}{64}
+\entry {PDF output, overview}{5}
+\entry {\code {pdfetex}}{167}
+\entry {\code {pdftex}}{176}
+\entry {\code {pdftex\r {, and images}}}{97}
+\entry {\code {pdftexi2dvi}}{166}
+\entry {Period in node name}{37}
+\entry {Periods, inserting}{111}
+\entry {Perl format strings for translation}{199}
+\entry {Perl POD, converting to Texinfo}{200}
+\entry {Permissions text, including}{22}
+\entry {Permissions, printed}{25}
+\entry {\code {pg} (program) index}{102}
+\entry {Picas}{98}
+\entry {Pictures, inserting}{97}
+\entry {Pinard, Fran\,{c}ois}{7}
+\entry {Plain \TeX {}}{146}
+\entry {Plain text output with \option {--plaintext}}{183}
+\entry {Plain text output, overview}{4}
+\entry {\code {png image format}}{97}
+\entry {POD, converting to Texinfo}{200}
+\entry {\code {pod2texi}}{200}
+\entry {Point, indicating in a buffer}{121}
+\entry {Pointer creation with \code {makeinfo}}{40}
+\entry {Pointer validation with \code {makeinfo}}{185}
+\entry {Pointer validation, suppressing}{168}
+\entry {Pointer validation, suppressing from command line}{182}
+\entry {Points (dimension)}{98}
+\entry {PostScript output, overview}{4}
+\entry {Pounds symbol}{118}
+\entry {\code {PRE_ABOUT}}{192}
+\entry {\code {PRE_BODY_CLOSE}}{192}
+\entry {Preamble, in Info format}{283}
+\entry {Predefined names for indices}{105}
+\entry {Preface, etc., and Docbook}{48}
+\entry {\code {PREFIX}}{196}
+\entry {Preparing for \TeX {}}{173}
+\entry {Preserving HTML links to old nodes}{221}
+\entry {Prev node of Top node}{38}
+\entry {Preventing first paragraph indentation}{32}
+\entry {Preventing line and page breaks}{124}
+\entry {Print and format in Texinfo mode}{170}
+\entry {Print, format from Emacs shell}{170}
+\entry {Printed book and manual characteristics}{6}
+\entry {Printed output, indicating}{120}
+\entry {Printed output, through \command {texi2any}}{185}
+\entry {Printed permissions}{25}
+\entry {Printing a region or buffer}{266}
+\entry {Printing an index}{104}
+\entry {Printing cost, reducing}{75}
+\entry {Printing cropmarks}{176}
+\entry {Printing DVI files, on MS-DOS/MS-Windows}{170}
+\entry {Printing hardcopy}{166}
+\entry {Problems, catching}{275}
+\entry {\code {PROGRAM}}{196}
+\entry {Program names, indicating}{72}
+\entry {\code {PROGRAM_NAME_IN_FOOTER}}{192}
+\entry {Programming, glyphs for}{119}
+\entry {Pronunciation of Texinfo}{3}
+\entry {Prototype row, column widths defined by}{93}
+\initial {Q}
+\entry {Quotation characters (`'), in source}{114}
+\entry {Quotation marks, French}{115}
+\entry {Quotation marks, German}{115}
+\entry {Quotation marks, inserting}{114}
+\entry {Quotations}{78}
+\entry {Quotations in smaller fonts}{82}
+\entry {Quote characters, inserting}{110}
+\entry {Quoting, automatic for some macros}{156}
+\entry {Ragged left, without filling}{83}
+\entry {Ragged right, with filling}{84}
+\entry {Ragged right, without filling}{83}
+\entry {Raising and lowering sections}{51}
+\entry {Raw formatter commands}{146}
+\entry {Raw HTML}{213}
+\entry {raw text output}{188}
+\entry {RCS $Id}{253}
+\entry {Recommended names for keys}{69}
+\entry {Rectangle, black in hardcopy}{174}
+\entry {Recursive macro invocations}{155}
+\entry {Reducing font size}{75}
+\entry {Reference implementation}{178}
+\entry {Reference to @-commands}{223}
+\entry {References}{53}
+\entry {References using \code address@hidden
+\entry {Raw formatter commands}{146}
+\entry {Raw HTML}{213}
+\entry {raw text output}{188}
+\entry {RCS $Id}{253}
+\entry {Recommended names for keys}{69}
+\entry {Rectangle, black in hardcopy}{174}
+\entry {Recursive macro invocations}{155}
+\entry {Reducing font size}{75}
+\entry {Reference implementation}{178}
+\entry {Reference to @-commands}{223}
+\entry {References}{53}
+\entry {References using \code address@hidden
+\finishindex
+
 @section Short indices
 
 See following pages
 
address@hidden
address@hidden
address@hidden
+
 @commenceindex
 \initial{A}
 \entry{aaaa}{1}
@@ -363,11 +505,21 @@
 @commenceindex
 \initial{A}
 \entry{aaaa}{1}
+\initial{B}
 \entry{bbbb}{2}
+\initial{C}
+\entry{cccc}{2}
+\entry{cccc}{2}
+\finishindex
+
address@hidden
+\initial{A}
+\entry{aaaa}{1}
 \entry{bbbb}{2}
 \entry{bbbb}{2}
 \entry{bbbb}{2}
 \entry{bbbb}{2}
+\entry{bbbb}{2}
 \finishindex
 
 @commenceindex

Modified: trunk/doc/texinfo.tex
===================================================================
--- trunk/doc/texinfo.tex       2015-08-29 19:51:44 UTC (rev 6588)
+++ trunk/doc/texinfo.tex       2015-08-30 22:11:12 UTC (rev 6589)
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2015-08-27.20}
+\def\texinfoversion{2015-08-31.00}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -5030,7 +5030,7 @@
 {\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13
 \catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13
 \catcode`\$=3
-\gdef\initialfonts{%
+\gdef\initialglyphs{%
   % Some changes for non-alphabetic characters.  Using the glyphs from the
   % math fonts looks more consistent than the typewriter font used elsewhere
   % for these characters.
@@ -5045,7 +5045,7 @@
   \let^=\normalcaret
   \let~=\normaltilde
   \def\_{%
-    \leavevmode \kern.07em \vbox{\hrule width.33em height.06ex}\kern .07em }
+    \leavevmode \kern.07em \vbox{\hrule width.33em height.06ex}\kern .07em }%
   \def|{$\vert$}%
   \def<{$\less$}%
   \def>{$\gtr$}%
@@ -5054,7 +5054,7 @@
 
 \def\initial{%
   \bgroup
-  \initialfonts
+  \initialglyphs
   \initialx
 }
 
@@ -5261,7 +5261,7 @@
 }
 
 % The double-column output routine for all double-column pages except
-% the last.
+% the last, which is done by \balancecolumns.
 %
 \def\doublecolumnout{%
   \splittopskip=\topskip \splitmaxdepth=\maxdepth
@@ -5343,7 +5343,8 @@
   \pagegoal = \vsize
 }
 %
-% Only called for the last of the double column material.
+% Only called for the last of the double column material.  \doublecolumnout 
+% does the others.
 \def\balancecolumns{%
   \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
   \dimen@ = \ht0
@@ -5352,25 +5353,35 @@
   \ifdim\dimen@<14\baselineskip
     % Don't split a short final column in two.
     \global\setbox1 = \copy0
-    \global\setbox3 = \vbox{}%
+    \setbox0=\vbox{}%
+    \setbox0=\vbox address@hidden
+    \setbox2=\vbox{}%
   \else
-  \divide\dimen@ by 2 % target to split to
-  %debug\message{final 2-column material height=\the\ht0, address@hidden
-  \splittopskip = \topskip
-  % Loop until we get a decent breakpoint.
-  {%
-    \vbadness = 10000
-    \loop
-      \global\setbox3 = \copy0
-      \global\setbox1 = \vsplit3 to \dimen@
-    \ifdim\ht3>\dimen@
-      \global\advance\dimen@ by 1pt
-    \repeat
-  }%
+    \divide\dimen@ by 2 % target to split to
+    address@hidden = \dimen@
+    \splittopskip = \topskip
+    % Loop until the second column is no higher than the first
+    {%
+      \vbadness = 10000
+      \loop
+        \global\setbox3 = \copy0
+        \global\setbox1 = \vsplit3 to \dimen@
+      \ifdim\ht3>\dimen@
+        \global\advance\dimen@ by 1pt
+      \repeat
+    }%
   \fi
-  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
-  \setbox0=\vbox address@hidden
-  \setbox2=\vbox address@hidden
+  address@hidden by 4
+  address@hidden by 5
+  \ifdim\ht3<address@hidden
+    % Column heights are too different, so don't make their bottoms
+    % flush with each other
+    \setbox0=\vbox address@hidden
+    \setbox2=\vbox address@hidden
+  \else
+    \setbox0=\vbox address@hidden
+    \setbox2=\vbox address@hidden
+  \fi
   %
   \pagesofar
 }




reply via email to

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