Mathgen
=======
Mathgen is a tool to randomly generate fake mathematics papers.
Online version: https://thatsmathematics.com/mathgen/
Blog page: https://thatsmathematics.com/blog/mathgen/
Source code (Github): https://github.com/neldredge/mathgen
Prerequisites
=============
Mathgen was developed and tested on Ubuntu Linux. It should work on
other flavors of Unix also. I have not tried other systems; if you
have a reasonable Perl installation I would guess you should be okay,
but I make no promises.
To run Mathgen, you will need:
- Perl
- LaTeX
- BibTeX
- zip (for --mode=zip)
You will need the following LaTeX packages:
- AMS-LaTeX
- fullpage
- mathrsfs
- natbib
- truncate
If you want to produce books (--product=book), you will need the
following additional LaTeX packages:
- geometry
- txfonts
- hyphenat
- textcase
- hyperref
- titlesec
- makeidx
- url
- tocbibind
You will also need the `makeindex' program.
Running
=======
The main Mathgen program is `mathgen.pl'. For a summary of options,
run:
$ ./mathgen.pl --help
The current default behavior, if `mathgen.pl' is run without options,
is to generate an article with one randomly generated author and view
the output with `evince'.
NOTE: since recent versions of Perl no longer search the current
directory by default, if you get an error saying "Can't locate
scigen.pn in @INC", you can run `perl -I. ./mathgen.pl` instead. This
will eventually be replaced with a proper installation procedure.
Examples
========
Generate an article with author "J. Doe" and view the output with
xpdf:
$ ./mathgen.pl --product=article --mode=view --author="J. Doe" --viewer=xpdf
The same, but write the PDF to `mypaper.pdf':
$ ./mathgen.pl --product=article --mode=pdf --author="J. Doe" --output=mypaper.pdf
Give yourself a famous collaborator, and create a zip file with the
source and PDF:
$ ./mathgen.pl --product=article --mode=zip --output=mypaper.zip --author="J. Doe" --author="P. Erd\H{o}s"
Tip: To randomly generate an author's name, you can use
`--author=FAMOUS_AUTHOR' or `--author=GENERIC_AUTHOR'.
Generate a book:
$ ./mathgen.pl --product=book --mode=pdf --output=mybook.pdf --author="J. Doe"
Note that this may take a couple of minutes to generate and compile.
Merchandising
=============
As an unofficial fundraiser for the American Mathematical Society, I
am selling randomly generated textbooks via Lulu.com. For more
information, visit
https://thatsmathematics.com/blog/mathgen-books/
US$5.00 from each sale will be donated to the AMS. I earn no other
money from these books.
Currently available titles (the author names are also randomly generated):
_Galois Knot Theory_ by J. Maruyama. Paperback, 323 pages.
_Convex Algebra_ by E. Brown. Hardcover, 314 pages.
_Higher Group Theory_ by H. Smith. Paperback, 351 pages.
Each is professionally bound, looks impressive on your desk or
bookshelf, and would make a great gift!
You can also use Lulu.com (or another self-publishing site) to produce
your own personalized Mathgen textbooks. The output from
`--product=book' is set for 6x9 inch paper and should work directly
for Lulu's "US Trade" size.
Source code
===========
A quick road map to the files in the source distribution:
- mathgen.pl: Main driver file, processes options and disposes of
output.
- scigen.pm: The SCIgen grammar engine. Reads the rules files and
generates the output.
- scirules.in: Common grammar rules, included into the following
files.
- sci{article,book,blurb}.in: Grammar rules specific for the
corresponding products.
Credits
=======
Mathgen was written by Nate Eldredge <nate at thatsmathematics dot com>,
incorporating code from SCIgen (https://pdos.csail.mit.edu/scigen/),
by Jeremy Stribling, Max Krohn, and Dan Aguayo, without whom this
project would not exist. Jordan Eldredge wrote most of the web
interface.
A list of names of famous mathematicians, used in the program, was
extracted from the web site The Greatest Mathematicians of All Time
(https://fabpedigree.com/james/greatmm.htm) by James Dow Allen, and is
used by permission. A list of countries and other place names was
taken from Wikipedia
(https://en.wikipedia.org/wiki/List_of_adjectival_and_demonymic_forms_of_place_names)
License
=======
Mathgen is free software. You are welcome to share, copy, and modify
it, under the terms of the GNU General Public License, version 2.0.
See the file COPYING.