Tag Archives: tex

Experiment with abstractmath.org

This is a rant about technical problems with creating abstractmath.org.  You will not get great new insights into mathematical language.  You will not get any purty pictures, either.  But if you read the following anyway and have suggestions, I would appreciate them no end.

I have long been frustrated with the process I used to create articles for abstractmath.  The process has been this:  I write the article in Word using MathType, then use their facility for generating an html file that uses pictures (stored in separate files) for the more complicated math expressions, then load them into the abstractmath website.

There are many good and bad things about this. Two of the most aggravating:

  • It is difficult to change links if I reorganize something.  With a TeX file I could write WinEdt macros to do it, but the Word macro language makes manipulating links (and doing many other things) a %#!!*.
  • The documents look different in different browsers.  IE Explorer 8 does the best job, Chrome looks uglier, and Firefox is the ugliest.  After a document has been posted for a while, sometimes I open it to discover weird things, such as the recent discovery that some of my bullets had turned into copyright signs (Firefox turns bullets into double hyphens that are close to invisible).

For the past few weeks I have experimented with generating PDF documents using PDFLaTeX.   I did this with the section called Functions: Notation and Terminology, the only one that is posted so far.  Posting it required 45 minutes  of fixing links in other articles by hand.

Creating that section in TeX was a pain.  I used GrindEQ Math to convert the original document to TeX, which required a great deal of preprocessing (mostly to recover the links, but for some formatting things too) and postprocessing to fix many many things.  I also had to recreate the sidebars by hand; I used wrapfig. Wrapfig does not work well.

In the process of converting this and some other files that I may post later, I created a bunch of macros in the Word macro language (horrible, although in principle I believe in OOP) and the WindEdt macro language, which is pretty good.  Even with the macros, it is a lot of labor to do the conversion.

I have decided to abandon the effort.  I may post a few more articles that I have already transferred to  PDF, but I doubt I will revise any more from scratch.

One thing that has changed since I started doing the conversions was that a recent revision of MathType allows you to type the equations directly in TeX and to toggle back and forth between MathType form and TeX form.  Before that you had to select symbols from a palette.  That was the single most frustrating thing about using Word with MathType.  I type fluently in TeX but I couldn’t use it.  Now that I can type the TeX in directly the prospect of editing articles and writing new ones using Word is much less painful.

So one direction I will go in is to revise the articles already on the web using Word and MathType.  I also expect to kill a good many of the incomplete or less well thought out ones in favor of links to Wikipedia.

But there is another direction, opened up by Mathematica’s Computable Document files.  I have published some experiments with this in the last four posts here.  I expect to be able to turn some of the articles in abstractmath.org into computable documents.  The reader will have to have to have the free CDF Player on their computer, but if you download it once you have it forever.

Send to Kindle

Presenting math on the web

This is a long post about ways to present math on the web, in the context of what I have done with The Handbook of Mathematical Discourse and abstractmath.org (Abmath).  “Ways to present math” include both organization and production technology.

The post is motivated by and focused on my plans to reconstruct Abmath this fall, when I will not be teaching.    During the last couple of years I have experimented with several possibilities for the reconstruction (while doing precious little on the actual website) and have come to a tentative conclusion about how I will do it.  I am laying all this out here, past history and future plans, in the hope that readers will have suggestions that will help the process (or change my mind).

I set out to write both the Handbook and Abmath using ideas about how math should be presented on the web.  They came out differently.  Now I think I went wrong with some of the ways in which I organized Abmath and that I need to reconstruct it so that it is more like the Handbook.  On the other hand, I have decided to stick with the production method I used for Abmath. I will explain.

Organization

My concept for both these works was that they  would have these properties:

1) Each work would be a cloud of articles. They would have little or no hierarchy.  They would consist of lots of short articles, not organized into chapters, sections and subsections.

2) The articles would be densely hyperlinked with each other and with the rest of the web. The reader would use the links to move from article to article. The articles might occur in alphabetical order in the production file but to the reader the order would be irrelevant.

I wanted the works to be organized that way because that is what I wanted from an information-presenting website.  I want it that way because I am a grasshopper. Wikipedia and n-lab are each organized as a cloud of articles. I started writing the Handbook in the late nineties before Wikipedia began.

The Handbook exists in two forms. The web version is a hypertext PDF file that consists of short articles with extensive interlinking. The printed book has the same short articles arranged in alphabetical order. In the book form, the links are replaced by page indices (“paper hyperlinks”). In both forms some links are arranged as lists  of related topics.

Abstractmath.org is a large, interlinked collection of html pages.  They are organized in four large sections with many subsections.

Many entrances

For this cloud of articles arrangement to work, there must be many entrances into the website, so that a reader can find what they want. The Handbook has a list of entries in alphabetical order. Certain entries (for example the entries on attitudes, on behaviors, and on multiple meanings) have internal lists of links to examples of what that entry discusses.  In addition, the paper version has an index that (in theory) provides links to all important occurrences of each concept in the book.  This index is not included in the current hypertext version, although the LaTeX package hyperref would make it possible to include it.  On the other hand, the hypertext version has the PDF search capability.

Abmath has a table of contents, listing articles in hierarchical form, as well as an index, which is different from the Handbook index in that it gives only one link from each word or phrase. In addition, it has header sections that briefly describe the contents of each main section and (in some cases) subsection, and also a Diagnostic Examples section (currently fragmentary)in which each entry provides a description of a particular problem that someone may have in understanding abstract math, with links to where it is discussed. The website currently has no search capability.

The Handbook is really a cloud of articles, and Abmath is not. I made a serious mistake imposing a hierarchy on Abmath, and that is the main thing I want to correct when I reconstruct it.  Basically, I want to dissolve the hierarchy into a cloud of articles.

Production methods

The Handbook was composed using LaTeX.  It originally existed in hypertext form (in a PDF file) and lived on the web for several years, generating many useful suggestions. I wrote a LaTeX header that could be set to produce PDF output with hyperlinks or PDF output formatted as a book with paper hyperlinks; that form was eventually published as a book.

I used a number of Awk programs to gather the various kinds of links.  For example, every entry referring to a math word that has multiple meanings was marked and an Awk program gathered them into a list of links.

I generated the html pages for Abmath using Microsoft Word and MathType.  MathType is very easy to use and has the capability (recently acquired) of converting all math entries that it generated  into TeX. The method used for Abmath has several defects.  You can’t apply Awk (or nowadays Python) programs to a Word document since it is in a proprietary format.  Another problem is that the appearance of the result varies with browser.

But the Abmath method also has advantages.  It produces html documents which can be read in windows that you can make narrower or wider and the text will adjust.  PDF files are fixed width and rigid, and I find clicking on links requires you to be annoyingly precise with your fingers.

So my original thought was to go back to LaTeX for the new version of Abmath. There are several ways to produce html files from LaTeX, and converting the MathType entries to TeX provides a big headstart on converting the Word files into text files.  Then I could use Awk to do a lot of bookkeeping and cut the hyperlink errors, the way I did with the Handbook.

So at first I was quite nostalgic about the wonderful time I had doing the Handbook in LaTeX — until I remembered all the fussing I did to include illustrations and marginal remarks. (I couldn’t just put the illo there and leave it.) Until I remembered how slowly the resulting PDF file loads because there seems to be no way to break it into individual article files without breaking the links.

And then I found that (as far as I could determine) there is no HTMLTeX that produces a reasonable HTML file from any TeX file the way PDFTeX produces a PDF file from any TeX file, using Knuth’s  TeX program. In fact all the TeX to HTML systems I investigated don’t use Knuth’s program at all — they just have code in some programming language that reads a TeX file and interprets what the programmer felt like interpreting.  I would love to be contradicted concerning this.

So now my thought is to stick with Word and MathType.  And to do textual manipulation I will have to learn Word Basic.  I just ordered two books on Word Basic. I would rather learn Python, but I have to work with what I have already done.  Stay tuned.

Send to Kindle

Curvature

This post is the result of my first experiment with the capability of including TeX in WordPress blogs (that capability is the reason I switched from Blogger).  This article will eventually appear as an example in abstractmath.org with lots of links to posts in the website that are germane to reading and understanding the article.

parabolasmall

Measuring bending

The curve y=x^2 (graph above) has a fairly sharp bend near the origin but as you move away from the origin in either direction it looks more and more like a straight line.   To measure this bendiness, each curvey=f(x) in the real plane has an associated curvature function  that measures how bent the curve is at each point.  (For this to work, f must have first and second derivatives.)  By definition, the curvature ofy=f(x) at x is given by:

\kappa_f(x)=\frac{\left|f''(x)\right|}{\left(f'(x)^2+1\right)^{3/2}}

The curvature function has the following three properties:

  • The curvature at any point on a straight line is 0.
  • The curvature at any point on a circle of radius r is\frac{1}{r}.  (Proving that this is true of the formula above is a nice freshman calculus exercise.)
  • The circle that best approximates a curve at a point (x,y) is the circle that is tangent to the curve at  (x,y) and that has radius 1/k, where k is the curvature of the curve at (x,y) .   This circle is called the osculating circle at (x,y) . 

Curvature of the parabola

You can calculate that the curve of the parabola y=x^2 at x is given by

\kappa(x) = \frac{2}{\left(4 x^2+1\right)^{3/2}}

For example, the curvature at (0,1) is 2, at the point (1/2, 1/4)  it is  \scriptstyle 1/\sqrt{2}\:\approx\: 0.71, and at (1,1) it is about 0.18.  The radii of the osculating circles are  1/2,  \sqrt{2}, and 5.59 respectively.  For large numbers the curvature is nearly 0; for example, at (10, 100) the curvature is about .00025.  To the eye the parabola near (10,100)  looks like a straight line.

This graph shows the osculating circles at x = 0, 1/2 and 1:

threecircles

You can see animated osculating circles at the Wolfram Demonstration Project (click on “web preview”).  From that site you may download Mathematica Player for free, which allows you to operate the slidebars yourself. 

This graph shows the parabola and its curvature function.

   curvature21

Turning the wheel

If you think of the graph of the curve as a path and you imagine bicycling along the path, the size of the curvature corresponds to the specific angle to the right or left the front wheel must be turned to stay on the path. 

A circle has constant curvature, so to bike around a circle means keeping the front wheel at a constant angle. 

As you can see the curvature of the parabola goes up gradually as you move from a negative x– value to 0, and after that it goes down gradually.   So biking along that path from left to right means gradually turning your wheel to the left, and then at (0,0) you gradually turn it back closer to straight front. 

Notice that going faster or slower makes no difference to the angle you must turn the wheel (as long as you don’t skid).  The curvature at a point on the path depends on the path (which doesn’t move), not on the speed of your bicycle moving along the path. 

Another curve

You may have a seen a model electric train in action.   What I am about to say applies particular to cheap model trains.  They tend to have two kinds of track pieces, straight segments and segments of circles of fixed radius.  You could make a layout with these pieces that looks like this:

circleline1

When the train starts at the left, it goes along a straight track (curvature 0) until it reaches the point (0, 2), where it enters a stretch of constant curvature 1/2.   At (0, 2) the curvature jumps instantaneously from 0 to 1/2.   Of course, “instantaneous” does not exist in the physical world (at this scale — don’t start carrying on about quantum jumps, please).   Where the track starts to curve, the front wheels of the train are forced by the change in the track to suddenly jump from facing straight front to angling right by a fixed amount.  If you have the track on the floor and stand looking down at it, and the train is going pretty fast, you will notice that the front car jerks to the right as it enters the curve.

You can see this in action in this You-Tube movie at 15 seconds and 1:14 minutes.

Fancier model trains have track pieces with varying curvatures.  Look up “model train” on YouTube and you will see dozens of them.

If a highway were laid out like the graph above, and you were driving pretty fast, then at (0,2) you would have to turn your steering wheel suddenly to the right and you would probably swerve a little.  But you probably can’t find any highways like that.  In the 1960’s a Kentucky highway engineer told me that they knew better; they used French Curves with curvature that increases continuously from 0.  Nowadays highway engineers lay out highways using CAD systems that can calculate the track transition curves directly.

Send to Kindle