CTS logo
hazy blue Catskill Mountains in distance


Give our new Discussions area a try!

PDF::Builder v3.024 Released, 12 September 2022
   Please see the CPAN listing, GitHub entry.

PDF::Table v1.003 Released, 05 July 2022
   Please see the CPAN listing, as well as the GitHub entry.

A Thought…

When the well’s dry, we know the worth of water.

   — Benjamin Franklin, 1706-1790

Balanced multiple columns on a screen

Posted on 2017-Mar-01 at 18:50:40 by Phil

Has anyone ever explored the possibilities of displaying multiple columns in softcopy (browsers, etc.)? It is well established that the ideal line length, for a reasonable range of font sizes, is around 50 to 70 characters (around 45em maximum line length). Lines longer than that (on any medium) are fatiguing to read, as the eyes actually have to track back and forth, rather than absorbing a line in one glance. In addition, long lines increase the possibility of accidentally bouncing up or down one line while returning to the beginning of the line just read (as do lines too close together due to insufficient leading, or too much space between words).

If you have a lot of material, you don’t want to fill the page with a single column of very long lines. It’s better to split it up into two or more columns, each not excessively wide (nor too narrow). This is not hard to do when preparing hardcopy, such as with LaTeX, where you have fixed column sizes and sufficient time to play with column balancing. However, can it be done with something like a browser, where the display area could be of any size? If the display area is large enough to contain all the text, in short enough lines in multiple columns, it would be good to display same-sized columns so scrolling isn’t needed.

Can a browser be instructed, through CSS and possibly Javascript, to do this already? Or would it take a change to browser rendering engines?

Posted on 2022-Jun-02 at 13:10:00 by Phil

Although I stated above that hardcopy preparation with balanced columns is not hard, that assumes that the columns are the same width and shape (simple rectangles). This makes it easy to move a set line of text from the top of one column to the bottom of its neighbor, or vice-versa (which could also be done on a screen). It becomes a problem, however, when the columns are not of uniform width (also insets and other floats, as well as different shapes). In such as case, is it possible to avoid a massive reprocessing of the text, and rerunning of any paragraph shaping?

Perhaps you could [over]fill the first column, with the full text, and then estimate from its “surface area” about where to cut the text for second (and subsequent) columns, based on their own available surface areas. This won’t be perfect, as paragraph shaping (and avoiding widows and orphans), not to mention different column widths, will complicate matters.


All content © copyright 2005 – 2022 by Catskill Technology Services, LLC.
All rights reserved.
Note that Third Party software (whether Open Source or proprietary) on this site remains under the copyright and license of its owners. Catskill Technology Services, LLC does not claim copyright over such software.


This page is https://www.catskilltech.com/balanced-multiple-columns-on-a-screen.html

Search Quotations database.

Last updated Thu, 02 Jun 2022 at 1:10 PM

Valid HTML 5

Sat, 24 Sep 2022 at 5:48 PM EDT