[tex-k] [OS X TeX] Programming literature: "Hilbert Curves"

William Adams will.adams at frycomm.com
Tue Jun 25 15:34:01 CEST 2019


That's unfortunate.

Hopefully someone will update that as an app so that it's readily available.

William

On Tue, Jun 25, 2019 at 9:32 AM Murray Eisenberg <murrayeisenberg at gmail.com>
wrote:

> Alas, that old Java Geometry Applet with this edition of Euclid’s Elements
> is in Java, and at least with security defaults of the current versions of
> macOS and Safari, it’s absolute torture to try to get the Java applet to be
> allowed to run.
>
> On 25 Jun2019, at 9:26 AM, William Adams <will.adams at frycomm.com> wrote:
>
> At last! A worthy successor to:
> https://mathcs.clarku.edu/~djoyce/java/elements/elements.html
>
> Really looking forward to your presentation!
>
> William
>
>
>
> On Mon, Jun 24, 2019 at 8:47 PM Doug McKenna <doug at mathemaesthetics.com>
> wrote:
>
>> Well, what a long and strange trip (test) it's been!
>>
>> After many years of both concentrated and sporadic efforts on a variety
>> of fronts, my combined application and/or electronic book ("Hilbert Curves"
>> and/or "Outside-In and Inside-Gone") is now available (for $8) in Apple's
>> App Store for Apple's iPad (and iPhone, but more screen real estate is
>> better).
>>
>> Of interest to readers of this list, this app/book is, I believe, a
>> first: it is self-typesetting on the user's device from TeX source code.
>> See <http://www.mathemaesthetics.com/HilbertCurves.html> for a few
>> screen shots.  The typeset math of course looks great, though it is not
>> very complicated (high-school level).
>>
>> The app contains its own high-performance TeX-language interpreter, which
>> I've been calling JSBox.  The TUGboat article I wrote a while back on how
>> it traces itself is here:
>>
>> <https://tug.org/TUGboat/tb35-2/tb110mckenna.pdf>
>>
>> (although in this dedicated eBook's case, none of the tracing code is
>> ever needed, so all the tracing code is conditionally compiled out to save
>> quite a lot of space).
>>
>> JSBox is a from-the-ground-up rewrite of TeX/e-TeX's engine, but
>> (currently) without any of the back-end primitives for various types of
>> import/export of PDF data.  JSBox is not open source (maybe some day).  It
>> is a static library written in C that is designed to be incorporated into
>> any other piece of software, such as an iOS or Mac or other GUI application
>> that simulates a document of pages with illustrations.
>>
>> Lots of work still to be done on it, but I had to get this
>> proof-of-concept eBook/app done before continuing.  With respect to this
>> TeX language interpreter's development, I'm still in what's technically
>> called the "eating your own dog food" phase.  Sales of my app/eBook will
>> help support further work on JSBox, especially getting LaTeX and the TDS
>> working with it.
>>
>> Under the hood, each time this iOS application launches, the 160-page
>> simulated book (pages are logically 8.5" by 18"), with its 135+
>> non-file-based illustrations, is typeset anew, in under a half-second.  The
>> book's TeX source code starts by reading and executing a copy of the
>> "plain.tex" macros, followed by the "opmac.tex" (Olsak's Plain Macros)
>> lightweight markup library (with some added override hacks), and another
>> related file of math symbol definitions.  There is no format initialization
>> relied upon, needed, or desired.  The glyphs and metrics used are from
>> Computer Modern.  And when the job is done, all the TeX layout data
>> structures remain in memory for every page, for later use by the app.
>>
>> The point of it all, over and above the intellectual exercise, was to do
>> an end-run around all static illustration files, most of which are
>> inadequate for my eBook's topic of interest: space-filling curve
>> illustrations each comprising self-avoiding paths of literally
>> (numerically?) tens of millions of tiny line segments in each picture.
>> Every illustration is resolution-independent and zoom-able up to about
>> 300x.  There are no accompanying EPSF, PDF, SVG, or MOV illustration
>> files.  The app's code is in charge of drawing (and in some cases,
>> animating) each illustration into its anointed reserved box space on a page.
>>
>> Most illustrations have a set of interactive controls to allow the
>> user/reader to play with various graphic or other parameters.  One
>> particular illustration comprises over 77,000 sub-illustrations (a complete
>> enumeration of all possibilities from which the user/reader chooses).
>> Another illustration animates an actual backtrack search as the algorithm
>> runs, to find all solutions to the problem at hand.  The reader/user can
>> change pruning strategies as it searches.
>>
>> All the illustrations are dynamically built by compiled code and drawn at
>> read-time, not at typesetting time.  The book's TeX source code thinks it
>> is incorporating PDF files, but the PDF file names are mapped into objects
>> compiled into the client app.  Each such illustration object reports back
>> what its bounding box is on any page, and the the JSBox interpreter
>> reserves the space and continues typesetting away in its usual TeX way.
>> The illustrations and all their attendant interactive controls are built
>> and drawn later in the reserved area when the user first turns to that
>> page.  Each illustration is zoom-able independently of the simulated page
>> it is on, which nicety PDF doesn't do.
>>
>> This design allows my app to be distributed as a (mere!) 7MB download in
>> size (and 2MB of that was added by Apple), whereas an equivalent eBook app
>> with PDF or SVG illustrations and MOV animations (for my particular
>> purposes), would otherwise be many, many gigabytes of data.
>>
>> The idea is to allow a GUI app, coded to draw anything on the device
>> screen in some view, and having any kind of user interface controls and
>> gestures with respect to that interface, to simultaneously surround itself
>> with a set of book (or manual) pages having TeX-quality layout and math.
>>
>> I've signed up to give a demo of this self-typesetting app/book, and talk
>> about some interesting TeX-related issues, at the upcoming 2019 TUG
>> conference in August.
>>
>> Onward, into the fog ...
>>
>>
>> - Doug McKenna
>> Mathemaesthetics, Inc.
>> ----------- Please Consult the Following Before Posting -----------
>> TeX FAQ: http://www.tex.ac.uk/faq
>> List Reminders and Etiquette: https://sites.esm.psu.edu/~gray/tex/
>> List Archives: http://dir.gmane.org/gmane.comp.tex.macosx
>>                 https://email.esm.psu.edu/pipermail/macosx-tex/
>> TeX on Mac OS X Website: http://mactex-wiki.tug.org/
>> List Info: https://email.esm.psu.edu/mailman/listinfo/macosx-tex
>>
> ----------- Please Consult the Following Before Posting -----------
> TeX FAQ: http://www.tex.ac.uk/faq
> List Reminders and Etiquette: https://sites.esm.psu.edu/~gray/tex/
> List Archives: http://dir.gmane.org/gmane.comp.tex.macosx
>                https://email.esm.psu.edu/pipermail/macosx-tex/
> TeX on Mac OS X Website: http://mactex-wiki.tug.org/
> List Info: https://email.esm.psu.edu/mailman/listinfo/macosx-tex
>
>
> ---
> Murray Eisenberg murrayeisenberg at gmail.com
> 503 King Farm Blvd #101 Home (240)-246-7240
> Rockville, MD 20850-6667 Mobile (413)-427-5334
>
>
> ----------- Please Consult the Following Before Posting -----------
> TeX FAQ: http://www.tex.ac.uk/faq
> List Reminders and Etiquette: https://sites.esm.psu.edu/~gray/tex/
> List Archives: http://dir.gmane.org/gmane.comp.tex.macosx
>                 https://email.esm.psu.edu/pipermail/macosx-tex/
> TeX on Mac OS X Website: http://mactex-wiki.tug.org/
> List Info: https://email.esm.psu.edu/mailman/listinfo/macosx-tex
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://tug.org/pipermail/tex-k/attachments/20190625/08ffa184/attachment.html>


More information about the tex-k mailing list