GutenMark Download Page
Attractively formatting Project Gutenberg texts


home
features
download
usage
FAQ
changes
bugs
links
developer
Ladders, by Lynnie Rothan


The usage and installation of GutenMark have undergone drastic changes due to introduction of installer programs, introduction of the GUItenMark graphical front-end, and elimination of explicit support for platforms other than Linux, Windows, and Mac OS X.  As a result, this download-page has essentially been replaced from earlier times.  If for some reason you want to consult the old page (which may still contain information of value), you can consult it here.

Contents

License
System Requirements
Downloading GutenMark
Installing GutenMark on Windows or Linux 'x86
Installing GutenMark on Mac OS X
Installing GutenMark on the iPhone
Uninstalling GutenMark
Compiling GutenMark
Compiling on Linux for Linux/Windows/Mac OS X
Compiling on Mac OS X for Mac OS X
Compiling on Linux for iPhone
Other
GutenSplit
Other Stuff You Might Want

License

GutenMark is freely available under the terms of the GNU General Public License (GPL).  You may view the text of the GPL here , or you may visit the Free Software Foundation for more explanation.


System Requirements

For the workhorse command-line utilities ("GutenMark" and "GutenSplit") which are at the heart of the GutenMark software suite:
For the GUI interface ("GUItenMark") to the command-line utilities:


Downloading GutenMark / GUItenMark / GutenSplit

Description
Download software
Current development source-code package, if you'd like to build the software yourself. GutenMark_source_dev-20090510.tar.gz (400 KB)
Installers for Windows, for Linux 'x86, Mac OS X, and iPhone.  If you don't want to build the software yourself, this is all you need!  The first three are for the latest development snapshot and contain complete command-line and GUI functionality. 

In contrast, the iPhone package was built by Jason Pollock (thanks, Jason!) from an earlier development, and cannot necessarily be rebuilt to be 100% identical from the current development snapshot.  It includes only command-line tools (no GUI), along with a healthy (but not complete) subset of the foreign-language wordlists.

[I apologize that the filenames for these installers are not versioned, but the downloads are so big that I can't affort to keep more than the most up-to-date installers online at any given time.  If perchance you should find yourself in need of an earlier version of the installer, contact me.]

GUItenMark-Win32-setup.exe (16.4 MB)
GUItenMark-Linux-Install (15.4 MB)
GUItenMark.app.tar.gz for Mac OS X (14.1 MB)
gutenmark-iphone.1.2.zip for iPhone (2.3 MB).
Obsolete versions, including some old command-line-only binaries for Linux PPC, FreeBSD, NetBSD, and Mac OS X
Old download page


Installing GutenMark on Windows or Linux 'x86

Simply download the installation program and run it.  It should be completely self-explanatory.  The GUItenMark program, which is what is associated with desktop icons and/or the Start menu, is identified as the "Project Gutenberg Prettifier".  Be sure to read the usage instructions.

Some caveats:
In Windows, the software is installed in c:\Program Files\GutenMark, while in Linux it's installed in ~/.GutenMark (which is a hidden directory).  In neither case do you need administrative privileges.  Nor do you get a choice of installation location.


Installing GutenMark on Mac OS X

At a glance, here is the compatibility list for the executable download package:

Mac OS X Version
CPU
GUI
(GUItenMark)
Command-Line
(GutenMark/GutenSplit)
Tested?
10.5
Intel
Yes
Yes
Yes, 10.5.6
PowerPC
Hopefully
Hopefully
No
10.4
Intel
Hopefully
Hopefully
No
PowerPC
Yes
Yes
Yes, 10.4.11
10.3
PowerPC
Yes Yes
Yes, 10.3.9
10.2
PowerPC
No
Yes
Yes, 10.2.8
10.1
PowerPC
No
Maybe
No
10.0
PowerPC
No
Maybe
No

When I say that these configurations are "tested", I don't mean to imply that I test every one of these for every version of GutenMark, but merely that I've done do in the past at some point and have no reason to believe that any changes to the situation have occurred afterward.  The software build-system I use is intended specifically for Mac OS X 10.4 and 10.5, so it is remarkable that any prior versions work.  (And of course, it's entirely possible that if you had one of the systems marked as "no", you might still be able to compile the program from source using XCode and make it work.)

Installation instructions:
  1. Download GUItenMark.app.tar.gz onto your desktop.
  2. Double-click it to have StuffIt unpack it, so that a GUItenMark icon appears on the desktop.
  3. If you like, throw GUItenMark.app.tar.gz into the trash can.
  4. Read the usage instructions.


Installing GutenMark on the iPhone

It appears to me as though the installation involves unzipping the supplied zipfile in the iPhone's root directory.  You might wish to contact Jason if you have doubts, as this is probably something you don't want to try if you have any doubts on the subject!


Uninstalling GutenMark

In Windows, you'll find that an 'Uninstall' link has been added in the 'Project Gutenberg Prettifier' group on your Start menu.

In Linux, there is also an 'Uninstall' program, but you'll need to look for it in ~/.GutenMark.  (Recall also that ~/.GutenMark will be a hidden directory since its name begins with '.'.)

In Mac OS X, simply move the GUItenMark desktop icon into the trash can.

Compiling GutenMark

I no longer directly support compilation on any platform other than Linux.  (It is true that there are Windows and Mac OS X versions of the software, but they are cross-compiled from Linux rather than being compiled on a Windows box.)  I will also briefly describe compilation on Mac OS X.  Compilation on other platforms (Windows, Linux PPC, FreeBSD, NetBSD) may still work.  Please consult the old instructions if you need this capability.

Compiling on Linux for Linux/Windows/Mac

This is how I build the software.  It is quite easy ... but in most cases the initial setup probably involves more download bandwidth, more hard-disk space, and more (unattended) clock time than anybody but an enthusiast could tolerate.  I'm sorry about that, but this is arranged to make things easy for me.
You can probably look at the Makefile and figure out some more-abbreviated build-procedure that builds just the target(s) you want and/or lets you build them natively rather than cross-compiling them.  However, the only concrete example I'll give is for Mac OS X, in the next section.

Compiling on Mac OS X for Mac OS X

The following instructions assume Mac OS X 10.5, and they do not work with other versions of Mac OS X:
  1. Of course, you need to have the Mac OS X developer tools installed.  I tried only Xcode 3.0.
  2. Install the GUItenMark Mac OS X binaries (even though you're going to replace them) by downloading GUItenMark.app.tar.gz to the desktop and double-clicking to unpack the tarball.  Do not move the GUItenMark  icon that this creates from the desktop, until at least completing the steps below!
  3. Unpack the GutenMark developer snapshot tarball, and 'cd' into the "Desktop/GutenMark-source" folder.
  4. Delete "*-maconmac".
  5. Run the command "make BuildOnMacOSX".  This builds new binaries (for GutenMark, GutenSplit, and GUItenMark) and replaces the ones you installed above in step #2.
  6. Double-clicking on the GUItenMark desktop icon should now run the programs you just compiled, rather than the ones that were installed.
If you were to try this on other versions of Mac OS X, you would at the very least have to install wxWidgets 2.8 (www.wxwidgets.org) first.  It is installed by default on Mac OS X 10.5.  Similarly,  wxWidgets 2.5 is installed by default in Mac OS X 10.4, but is not compatible with GUItenMark.  I don't think any version of wxWidgets is installed on earlier versions of Mac OS X.

Compiling on Linux for iPhone

Jason Pollock (thanks, Jason!) has pointed out his repository of science-fiction books for the iPhone, and in particular his script for compiling GutenMark and GutenSplit (see below) for the iPhone.  Apparently, this method is based on general info about compiling iPhone software which you can read at code.google.com.  I've not tried it myself, not having an iPhone, and I'm not sure that I'm totally in sync yet with the changes needed to actually run the script.  But if it works you end up with executables for GutenMark and GutenSplit that run on the iPhone itself, albeit (as I understand it) somewhat slowly.

If that interests you, you can also look at Jason's blog.


GutenSplit

Over the years, several people have asked me to include a command-line switch in GutenMark that produces an HTML file for each chapter rather than a single, huge HTML file.  Well, I haven't done that, but (as of 01/21/04, anyhow) you'll find a program called GutenSplit in the installation directory's "binary" sub-directory.  GutenSplit is a stand-alone utility that can split the HTML file created by GutenMark into smaller HTML files.  (Thanks also to Jason Pollock for reworking this program to add most or all of the command-line options.)

Normally, you don't need to worry about GutenSplit, because GUItenMark will run it automatically if necessary.  Nevertheless, here's some basic information about GutenSplit which you can ignore if you're only interested in running GutenMark via its GUI.

The file is split at the headings (which are usually the boundaries of chapters).  A table of contents HTML file is added, and hyperlinks are added to move among all the new HTML pages.  Click here to see an example of this (using the usual sample text).

The syntax for GutenSplit is as follows:

GutenSplit [OPTIONS] InputHtmlFilename OutputBasename

(Depending on your computer's setup, you may need to instead say "./GutenSplit" rather than just "GutenSplit".)  

The OutputBasename is used by GutenSplit to name all of the smaller HTML files.  The names of the small HTML files are created by adding the suffixes 000.html, 001.html, etc. to the OutputBasename.  Suppose, for the sake of argument, that GutenMark has created a big HTML file called "TomSawyer.html".  Then, the command

GutenSplit TomSawyer.html Tom

would create a series of files called "Tom000.html", "Tom001.html", "Tom002.html", and so on.  Tom000.html happens to be the table of contents.  OutputBasename can also be the name of a directory, in which case the directory must pre-exist and its name must end with '/'.  For example,

GutenSplit TomSawyer.html Tom/

would create "Tom/000.html", "Tom/001.html", and so on.  However, you should note that some browsers (an example being Safari in Mac OS X) won't treat the relative paths correctly, and so will not be able to follow the hyperlinks if you use this technique.  If you experience problems like that, you'll need to make sure that the OutputBasename contains no directory delimiters.

I suppose that, in theory, GutenSplit might work for other HTML files—other than those created by GutenMark, I mean—but I don't guarantee it.

The command-line options are new in version 20080526, and didn't exist prior to that.  They are:

Command-Line Switch
Description
-1
-2
-3
-4
(Default -1.)  In HTML, there are different levels of headings within documents.  For example,

A Top-Level Heading

A Lower-Level Heading

A Still-Lower-Level Heading

The Lowest-Level Heading

Regular text ...

In GutenSplit versions prior to 20080526, chapters were split only at the highest levels of headings.  But now, you can select the levels at which you want the splits to occur, using the "-1", "-2", "-3", and "-4" command-line switches.  These switches can be combined, to allow breaks at multiple levels.  For example, if you used the switches "-1 -2 -3", then splits would occur at any of the highest three heading levels, but not at the lowest level.
--no-toc
With this switch, you can omit generation of a separate table-of-contents page.
--no-skip
By default, GutenSplit does not split the document at the first heading it encounters.  If the --no-skip switch is used, it goes aheads and splits when the first heading is encountered.


Other Stuff You Might Want

The function of GutenMark is merely to convert the Project Gutenberg etexts to marked-up HTML or LaTeX.  From there, you're pretty much on your own.  If you intend to use LaTeX, I won't offer you much advice because you probably know much more about the available utility software than I do.  At most, I'll point out that while LaTeX is very simply available on most Linux distributions, it's a little more effort to get it if you're using Windows; I'd suggest downloading TeX Live, which is a very simple way to get a very complete distribution of TeX for Windows.

If the HTML is all you want— if you want to read the etext online, or to set up a web site that displays PG texts in HTML, or if you're fine with printing etexts from your browser, or if you want to use the HTML as a starting point for further markup— then you're all set, since GutenMark already provides what you need!

If, on the other hand, you don't want to use LaTeX and you are looking for an end-to-end solution that can produce attractive printable texts like this sample , then you need some better way of printing HTML than your browser can provide.  You could, of course, load the HTML into Microsoft Word or some other word processing program, and manipulate the document format manually.

The solution I would choose instead is to use a utility program that can convert HTML to Postscript printer language, or to PDF format.  Several such free utilities are available.

Description
Sample
page
Version
Configuration
file
8.5"×5.5" 9pt New Century Schoolbook font  page9schoolbook.pdf Nov. 18, 2001  half9schoolbook.rc
8.5"×5.5" 10pt Times Roman font   page10times.pdf Nov. 17, 2001  half10times.rc
8.5"×5.5" 10pt Bookman font   page10bookman.pdf Nov. 17, 2001  half10bookman.rc
8.5"×5.5" 12pt New Century Schoolbook font   page12schoolbook.pdf Nov. 25, 2001  half12schoolbook.rc
  • htmldoc is available for either for Win32 or in source-code form (for Linux systems), and has some very nice properties.  I personally find it a little buggy, but it's apparently under active development and can presumably only get better.  The main problem is that it is very bad at right justification (or at least, I haven't figured it out), and so you need to use ragged-right text.

  • ©2001-2005,2008-2009 Ronald S. Burkey.  Last updated 05/10/2009 by RSB.  Contact me .