TeX and Other Selected Windows Freeware: Introduction, Utilities, TeX, Editors, Internet Editors: other math, compilers and programming, office suites, text editors & word-processors, graphics, other filetypes

# Editors

version of 22 August 2008.

## Mathematics Programs (other than TeX-related)

Of course, every mathematician wants Mathematica and a few other expensive programs. We do have those installed on our department computers. But here I'm going to list some free programs that even an impoverished graduate student can install on his or her computer. Some of them are pretty good; some may suffice for many purposes.

Following are some good places to look for math software (but some of these websites mix together freeware and shareware, unfortunately):

I will list here a few of the programs that look good to me, but I haven't tried most of them; let me know what you think. I'm giving preference to programs that seem to be intended for a general mathematical audience (i.e., I'm omitting programs that suit more specialized needs). Also, I'm giving preference to programs that seem to be easy to install and/or to understand, and to programs whose installation files are small enough that I can fit many of them onto our department's CD. I'm sorting these programs into a few categories, but there is actually some overlap between categories.

Computer algebra systems (i.e., replacements for Mathematica):
• Fermat [1.7 mb, Version 3.6.9] does arithmetic of arbitrarily long integers and fractions, symbolic calculations, graphics, and other numerical calculations. It is extremely fast and extremely economical of space.
• Singular is a computer algebra system for singularity theory and algebraic geometry developed by G.-M. Greuel, G. Pfister, H.Schoenemann, and others, at the Department of Mathematics of the University of Kaiserslautern. Singular can compute with ideals and modules generated by polynomials or polynomial vectors over polynomial or power series rings or, more generally, over the localization of a polynomial ring with respect to any ordering on the set of monomials which is compatible with the semigroup structure. Includes Xemacs editor. Requires Cygwin DLL, and it's a fairly big file, so it's not on our CD.
• Formulae 1, java edition [1.17 mb including some documentation] computer algebra system
• HartMath[1.6 mb, ver.0.6.128] is an experimental computer algebra program written in Java. It features big number arithmetic, symbolic and numeric evaluation, plot-, polynomial-, vector, and matrix-functions.

• Matlab replacements:
• Freemat (10 mb, ver 3.6) is a free environment for rapid engineering and scientific prototyping and data processing. It is similar to commercial systems such as MATLAB from Mathworks, and IDL from Research Systems, but is Open Source.
• Scilab [15.4 mb, ver 4.1.2] is a free scientific CACSD (whatever that means) software package for numerical computations in a user-friendly environment. It appears to be a little like Matlab or Mathematica. Hundreds of built-in math functions (new primitives can easily be added). Open structure (easy interfacing with Fortran and C via online dynamic link). Many built-in libraries. Along with the installation file, I am including a few documentation files on the CD.
• Euler and Maxima. The Euler Mathematical Toolbox is a powerful, versatile, and open source software for numerical and symbolic computations. Maxima (descended from MIT's legendary Macsyma) is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, matrices, and tensors. The two programs can be downloaded together, but the installation file is 35 megabytes, so it is not included on our CD.

• Miscellaneous programs:
• NonEuclid [311 kb, ver. May 2007] is a Java software simulation offering ruler and compass constructions in both the Poincaré disk and the upper half-plane models of hyperbolic geometry.
• Dynamics Solver [9.2 mb, ver 1.74], by Juan M. Aguirregabiria. Installation file includes manual. Solve numerically both initial-value problems and boundary-value problems for continuous and discrete dynamical systems. Exotic applications include study of chaotic systems, Lissajous curves, and just plain pretty pictures, such as those at right; see the animations page for some fancier examples.
• GAP (Groups, Algorithms and Programming) is a system for computational discrete algebra with particular emphasis on, but not restricted to computational group theory. It can run on Windows, Mac,or Unix. A full installation is very large, so this is not included on our CD.
• Peanut Software is a collection of small, high-quality, easy-to-use, free math programs by Rick Parris. My favorite program among these is Winplot [732 kb, ver 12 Aug 08] -- a general-purpose plotting utility, which can draw (and animate) curves and surfaces presented in a variety of formats. I use this one often to make illustrations for my calculus classes. Other programs are available for geometry, statistics, discrete math, fractals, linear algebra, and other purposes.
• GraphCalc [842KB, ver. 4.0.1]. A free grapher. This is a free Windows version of those $80 graphing calculators our undergraduate students are all carrying around. This one is open source. See screenshot at right. • Graph Paper Printer [406 kb, ver 4.20] can print out a wide variety of kinds of graph paper, on paper or onto the clipboard (from which you can copy it to MSPAINT, to edit a BMP file). Graph Tablet [273 kb, ver 4.05] is another freeware program that does roughly the same thing, but it's slightly less elaborate. • ## Programmers' Tools -- Compilers, Etc. I'm not an expert on this material, so feel free to suggest alterations for this section. -- Some of the material described below is included on our CD; in other cases, I'm just including links you can use for downloading from the internet. • A great website is the free C/C++ compilers and interpreters page at thefreecountry.com. It has all sorts of information. I do not know one C or C++ compiler from another, so I am not including any of them on our CD. (If you determine that one of them is particularly good and has an installation file that is not large, let me know and maybe I'll add it to our CD.) • Python [10.8 mb, ver. 2.5.2] -- I have been told that Python is a particularly good language for beginning programmers -- i.e., that it is easy to learn. I am also including 5.3 mb of documentation on the CD. • Perl (16.5 mb, ver. 5.10.0.1003) -- Perl is used for many internet purposes. • Visual Basic is not free, but we can offer you free runtime files. Visual Basic Runtime Files. These are the files you need, in order to run programs that are written in the language Visual Basic. Most recent VB programs require either Vbrun 5 or 6, but you might occasionally want to use some older VB program that requires Vbrun 3 or 4. (On the CD, I've stored these under Utilities: Starting, running, and controlling programs.) Vbrun 3, 4, 5, 6. • XBasic (2.5 mb, ver. 6.2.3)(documentation 1.25 mb for version 6.0022) XBasic is a comprehensive program development environment that integrates a powerful editor, compiler, debugger, function libraries and GuiDesigner into a seamless working environment that encompasses the whole process of creating fast, efficient, reliable, portable 32-bit programs. XBasic programs can create any number of windows, each of which supports input from keyboard and mouse, and output of text and graphics. And sophisticated GUI programs are easy to develop with the interactive graphical GuiDesigner built right into the program development environment. For the latest version, go not to the XBasic home page (linked above), but to the XBasic page on SourceForge. • Turbo Pascal 5.5 (963 kb), available from the "Borland Museum". • Free Pascal version 2.2.2. (32 mb for the compiler, plus 6.9 mb for documentation; not included on our CD) ## Office Suites The standards in the business world are Microsoft Office (including Microsoft Word) and Corel Office (including Wordperfect). I can't offer those here because they're not free. Following are some free alternatives: • Microsoft does offer free viewers for some of their programs. Using these, you can read (but not edit) a document created using one of the proprietary Microsoft programs -- including Word, Excel, Powerpoint, and perhaps others. However, Microsoft keeps creating new versions of its viewers, accompanying them with very unclear descriptions, and moving them to new locations on their website, with new cryptic urls. I have finally given up on trying to keep track of their viewers. If you want their free viewers, go to http://office.microsoft.com/ and search for them, and maybe you'll find them. Last time I looked, http://www.microsoft.com/downloads/results.aspx?pocId=9&freetext=viewer&DisplayLang=en was a good place to start. • OpenOffice ( 127 megabytes, version 2.4.1) is a free, open source office suite. It is a Microsoft Office work-alike -- not quite a clone, but it can read and edit many Microsoft documents and has many comparable editing capabilities. Note: OpenOffice requires Java, but that is included in the installer and will be installed during the OpenOffice installation process. The main components of OpenOffice are: Writer (a word processor), Calc (a spreadsheet), Impress (a presentation editor, analogous to Powerpoint), Draw (a graphics editing program), Base (a database manager), and Math (an equations display editor). ## Text Editing / Word-Processing Though some people use the words a bit differently, I will distinguish between  word-processors such as Word, Wordperfect, Wordpad, or OpenOffice Writer, which can handle boldface, italics, underlining, different type sizes, different fonts, and in some cases color, superscripts, and subscripts; and which generally are WYSIWYG ("what you see is what you get") -- i.e., what you're editing on the screen looks essentially the same as what the printed output will look like; and text-editors such as Emacs, Vi or Notepad, which can only handle plain, unformatted text, with only one font, one size, one color, etc., but are still quite adequate for markup languages, such as Latex or Html. I will further subdivide "text-editors" into several types, below. For most mathematical work, text editors are actually preferable to word-processors, because we can describe notation more precisely than we can actually draw it. . We use markup languages such as Latex (for instance, type$\alpha\$ to get the lower-case Greek letter alpha, and type {\bf text goes here} to get some text in boldface), so everything can be encoded in plain text. The embedded invisible characters that a word-processor uses to record the beginning or end of boldface (for instance) will just foul up a program like Latex. The advantages of text editors and markup languages are discussed further in Allin Cottrell's rant against word processors. Of related interest is Sam Steingold's rant against proprietary data formats. But your needs may differ.

### WORD-PROCESSORS.

Word is the standard in the business world. In the scientific world, Word is also the standard among secretaries, and among some of the people writing grant proposals. In both situations, Wordperfect runs second (despite the fact that it seems to be a considerably better program). Neither of those programs is free, but
Writer is a free program that does roughly the same things. It is a component of Open Office, mentioned earlier.

But if a smaller program will suffice for your needs, you may find that it loads faster and crashes less often. Several are listed below.

Instead of DOC files, you might consider using RTF files. "Rich text format" is a sort of "poor man's DOC file". It can handle underlining, boldface, italics, different fonts, and different colors of text. It cannot handle some fancier features of Word, such as tables or macros. Also, RTF has the advantage that it is fairly standard; nearly every word-processing program can read an RTF file, and can save files as RTF. If you have Word and your neighbor has Wordperfect and your other neighbor has neither, consider writing to each other with RTF files.

• WordPad comes with every Windows operating system (though in very old Windows systems it was called "Write"). Look in "Start" "Programs" "Accessories" "WordPad". WordPad can handle text or RTF (but it cannot deal with DOC files and it has no spellchecker). By the way, if you copy some selected text from Internet Explorer into WordPad, it will preserve the formatting (boldface, italics, etc.).

• Abiword [5.9 mb for ver 2.6.4; add a few more megabytes for plugins, fonts, dictionaries] is a more recent, slightly larger word-processor. This one is open-source. It can handle RTF files, and also DOC (Microsoft Word) files, though I'm not sure which versions of Microsoft Word.

### TEXT-EDITORS.

A plain textfile is most often a file whose filename ends in ".TXT", but in fact the filename could be anything. All of the files of type TEX, HTML, HTM, PAS, C, etc. are actually just textfiles that have been renamed in a way that displays, not a change in their internal structure, but an intended use for the file. Any file of any of these types can be edited with an ordinary "text editor," but some specialized text editors add extra features for special intended uses of the textfile.
The Windows operating system comes equipped with one text editor. It is called "Notepad." You can get to it by going through "Start" "Programs" "Accessories" "Notepad." But it is rather rudimentary -- it has no button bar and rather few editing tools, and its maximum file size is a little small. Still, it is adequate for most editing you will need for tex, html, etc. It is small and simple, which has at least a couple of advantages: It loads quickly when you want it, it doesn't distract you or intimidate you with overwhelming features, and it doesn't take much memory away from other programs you may have running at the same time.

Many people like to replace Notepad with some similar program that is still small and quick-loading, but has a few additional features -- e.g., a toolbar with some buttons.

My favorite Notepad replacement program is Metapad [46 kb, version 3.51, full (not light) version]. It has a few buttons that I consider crucial even in a basic text editor -- e.g., copy, cut, paste, save. It has a few unsual text-editing commands that I have not seen in many other text editors -- e.g., commit wordwrap, change case, launch link. Also, in the search and replace commands, you can use backslash-n for a linebreak, so you can include linebreaks as part of your search string.

Gizmo Richard, who also does a pretty good job of anthologizing software, has a different preference; His favorite Notepad replacement program is EditPadLite [3.1 mb, version 6.4.3]. It has a fairly good collection of buttons and commands. One of its less common features is that it permits tabbed editing -- i.e., you can edit several textfiles at once, and switch from one to another by clicking on its tab.

There are many other "Notepad replacement" programs available on the internet. Here are two others that caught my eye. (1) Notepad2 [247 KB, ver. 2.1.19] -- lots of features, but it's still very fast. This one also acts as a syntax highlighter for HTML and several other languages, but unfortunately not for TEX; I've listed it here instead of in the section on syntax highlighters because this one is fast enough to use as a Notepad replacement.. (2) "Notepad" (a poor choice of name) by "Small Team Software". This one has 25 buttons across the top, which is great if you like lots of buttons. The company has gone out of business, but you can still get this program from some archives.

Some people (including myself) take the term "Notepad replacement" more literally: I'd like my chosen replacement to come up whenever I doubleclick on any textfile. But it's not a simple matter of replacing one copy of Notepad with a new program, because Microsoft has set up a File Protection System to prevent you from accidentally deleting or changing any system files. You have to be very persistent to beat it. Here's how to do it: Search in *all* your folders, including system folders and hidden folders, for files named "Notepad.exe." Wherever you find one, rename it as "Oldnotepad.exe" (in case you want it back later -- don't delete it), and then copy into that folder a copy of your favorite replacement program, renaming it "Notepad.exe."

##### Ports from Unix -- new editors for old users
Older members of academia grew up in an era when personal computers were not yet prevalent; nearly all academic computing was done on X-terminals running off of a Unix server. In those days, the two main text editors on Unix systems were vi and emacs. I can't say which is better; most people were satisfied with the text editor that they learned first (and so they never bothered to learn the other). Each of these programs has grown and split into many different variants, and some of these variants have been ported to Windows. People who already know some version of vi or emacs may feel comfortable with those ports, but I can't recommend them to anyone else, because they lack one of the chief advantages of programs that originated on Windows. Windows programs share a "look and feel," a common user interface -- on any Windows program you know where to look for "File," "Edit," "Help," etc., and so once you've learned one Windows program the others aren't so hard to learn. For that reason, this part of my software collection is decreasing in importance as time goes by, so I'm just going to include a few links, not reviews or the software itself. If you're really interested you can investigate this further on your own.

##### Syntax-highlighers
An editor that can parse some programming language or markup language may display different parts of the text in different colors -- e.g., literal text in black, commands in red, variables in green, etc. These colors make the editing easier. The colors are only in the editing display, not in the text file that you actually save and use. One editor may be able to switch between several coding languages -- tex, html, c++, python -- and may automatically figure out which language to use according to the ending of the filename (.tex, .html, .c, etc.).

I would guess an editor of this sort is most useful for someone who does coding in several different languages, and likes using the same editing techniques in all of them. If you're doing all your coding in one language (e.g., Latex), you're probably better off with a more specialized syntax highlighter that is only designed to work with that one language (e.g., TeXnicCenter), since that program will probably have extra features built in for that language. And if you're coding in two languages (e.g., Tex and HTML), you might prefer the advantages of two specialized editors, instead of try to cover everything with one general-purpose editor.

• Syn Text Editor [4.02 mb including manual, ver 2.1.0.46]-- An open source project. Includes syntax color highlighting, user-customizable tool buttons, and built-in spellchecker. Includes Tex among its default installed languages. No limit on the number of tool buttons (but the manual says the program will run a bit slower if you have lots and lots of tool buttons; with today's computers I'm not sure the slowdown will be noticeable). Tools can be not just external commands, but also internal ones. -- It took me a while to figure out how to use the spellchecker, and I haven't tested it much yet, so I don't know yet whether it's better or worse than 4spell. Dictionaries for the spellchecker are available at TSynSpellCheck. Download English or whatever language you like, and put it in some convenient location. Then configure Syn Text as follows: Go to "View" "Options" "Editor" "Spellchecker" and answer the questions.
• Crimson Editor [1.19 mb , v.3.70] Includes syntax color highlighting and built-in spellchecker, but I haven't entirely figured out how to configure the spellchecker. Also includes both ten user-customizable commands and ten user-recordable macros (but both are on pull-down menus, not on toobar buttons). Latex is one of the languages recognized by this program after its default installation.
• Pspad [ver. 4.5.2; size 3.3 mb]. I haven't studied this one as much. Recent versions apparently do know tex.

##### Other tools related to the editing of text
• WinMerge [2.91 mb ver 2.8.6, open source] and ExamDiff [524kb, ver 1.8, not open source] are not just text editors. They can be used to compare two versions of a textfile, side by side, showing where the two files differ. WinMerge is an open source program.

• TexRep [694kb, ver 2.0] Also not a text editor. This program replaces a specified text string with another specified text string, in multiple files in a single operation. Useful if you're working on many files in one document (e.g., chapters in a book). Use this program with great caution; you can do a lot of damage if you accidentally change the wrong phrase in a large number of files at once!

• Map of characters [233 kb, ver 2.9] is similar to the "Character Map" program that comes with Windows, except that the Microsoft version displays fonts so tiny that they're hard to make out. "Map of characters" displays them large. This is helpful if you're inserting characters from a nonalphabetical font, such as symbols or wingdings.

## Graphics

How can you make screenshot graphics like the ones I've got on this web page? Arrange the screen the way you want it.. Then click on the "Print Screen" key which is near the top of your keyboard. Then open a graphics editor like Irfan View or Wscanner, and use the "Paste" command; the picture of the screen will appear in the editor. Use the "Crop" command to cut the picture down to the size you want. Use the color depth commands to reduce the number of colors to 256 (or 16, if that doesn't look bad), so that the pictures won't take forever to load when someone views your web page. Finally, convert to a GIF file, since that is the format recognized most readily by web browsers. (JPG is more suitable for pictures with more colors -- e.g., photographs.)

There are dozens of free graphics editors and viewers available on the internet. Following are a few that caught my eye:

• Euklides [1.51 mb, ver. 2.02] Later versions are shareware, but version 2.02 is free and is adequate for many purposes. Interactive geometry, which means that you can move a point and all the lines connected to it will adjust themselves. See illustration of cycloids at right.

• ColorEditor [275 kb, ver. 2.3] Color Editor can change a particular color in a bitmap to another color when there are a lot of seperated regions of the color, which would take a long time to change by filling each one. It can also change colors that are not exactly the same by adjusting the tolerance.

• Irfan View [6.79 mb, ver. 4.20], by Irfan Skiljan -- This program has only a few editing capabilities, but it is very handy as a viewer and converter. It supports a very wide range of file formats. For instance, I can turn a 32x32 BMP file from Windows Paint into an ICO file for an icon for my desktop; or I can turn a BMP into a PNG or JPG that I can use in a Latex file output to PDF format. Irfanview can be used as a filebrowser, running through all the files in a directory. Note: install the main program before installing the plugins.

• Image Magick (not included on our CD) is like a sort of Advanced Irfanview for Experts. It has a few more capabilities, but it does not have a GUI front end -- it is a collection of command-line utilities. For instance, to convert a gif file named "mygraph.gif" into a new eps file named, for instance, "usegraph.eps", use the command "convert mygraph.gif usegraph.eps".

• Spectroscope (204 kb, ver 1.45) and Colour To HTML (952kb, ver 5.2) -- These are colorbrowsers -- i.e., tools for selecting colors. Sometimes useful in designing graphics for a web page. These two both include an  eyedropper tool, which enables you to determine the color of any pixel on your screen.

• Ultimate Paint ( 1.87 mb, ver 1.91) is a full-featured 32-bit Windows graphics program for image creation, viewing and manipulation. The latest versions are shareware, but a freeware version is still available. [1.87 mb, version 1.91] It supports JPEG, GIF, BMP, PCX, WMF/EMF, ICO (reading only) and IFF/LBM image formats and Twain compatible scanners. You can print your image, setting its size, position and orientation. It has a very flexible brush handling method which encourages creative drawing. Retouch and enhance photos using a comprehensive set of built-in tools and plug-ins; resize, rotate, flood fill, text operations and a lot more. Comes with dozens of cool plug-in filters. The user interface is adjustable to the user's experience level, both novice users and experts can use it conveniently. All pictures are handled 24 bit -- after you finish editing your picture, you may want to use some other program to reduce the color depth if you're planning to use the picture on the web.

• Pixia (4.8 mb, ver 4.2a) is a free graphics program that apparently is popular among the folks who draw anime. Since anime looks good on a web page, this might be a good tool to use for web page graphics. Go to the download page for related files if you want them: Photoshop Filters, Additional Filters, Help File, Filter Making Kit, and other files.

• Fractals are the most glamorous thing in recent mathematics; put some on your web page or at least have some fun with them. Fractint is a free program for viewing fractals (one image at a time), and Filmer is a free front end for Fractint that generates great animations. Sorry, I haven't tried these yet, so I don't know how easy or difficult they are to use -- but it's clear that they do work: the animation on the Filmer page looks great! (The animation shown here is much smaller, to conserve bandwidth.)

• POV-Ray (Persistence of Vision) is a free ray-tracing program. This means that it is used for drawing 3-dimensional objects, and it shades the surfaces based on how the rays of light would actually reach those surfaces. Thus, the resulting pictures look very 3-dimensional -- even more so than the pictures from Mathematica. Just take a look at the samples on POV's website. About 8 megabytes -- a rather large file, not included on our CD. Take a look at the "hall of fame" sample pictures -- many of them look like photographs, but if I've understood this correctly they are all drawings.

• Gimp [17.1 mb, ver 2.4.6] (GNU Image Manipulation Program) -- This is a very elaborate graphics editor, ported from Unix. Help file is another 21 mb.

## Other filetypes

### Mathematica

For Mathematica (.mma) files, if you don't have Mathematica on your computer, get yourself a free copy of
Mathematica Player (81 mb). It will display and print Mathematica notebooks, animate graphics, play sounds, and copy information from notebooks to other documents.

### Audio tools

These programs aren't really very useful for mathematics, as far as I know, but I couldn't resist mentioning them. They may brighten up your nonmathematical time.
• mp3mymp3 -- If you can hear it on your computer, you can record it (as WAV or MP3) with this program. Sometimes I use this, for instance, to save a copy of something that is streaming on internet radio.
• Audacity free audio editor. This program can do a few basic things. The main thing I use it for is to trim stuff off the beginning or end of a sound track that I recorded using mp3mymp3, but people who know more about sound recordings can probably do a lot more with this.
• Anvil Studio midi editor, free version. Midi files are tiny little files of music -- they contain about as much data as a sheet of written music (in contrast to a WAV, which contains the data of a performance of that music). So midi files have a lower sound quality, but they are extremely small files. They were popular in the early days of computing, when downloads were slower. And there are still many free midi files available on the internet. Midi files can be used for ringtones by some cellphones, including mine, which is why I use this program. When one of my friends calls me, I know which one, according to which song starts playing.