neldredge / mathgen Goto Github PK
View Code? Open in Web Editor NEWGenerate random nonsense math papers
Home Page: https://thatsmathematics.com/mathgen/
License: GNU General Public License v2.0
Generate random nonsense math papers
Home Page: https://thatsmathematics.com/mathgen/
License: GNU General Public License v2.0
Create a mode to generate Beamer presentations.
Currently, authors of references are listed in the order they are generated. However, in real life the vast majority of math papers have authors listed alphabetically. (http://www.ams.org/about-us/governance/committees/Statement_JointResearchanditsPublication.pdf says 60% of papers have alphabetical authors; in my experience it's much higher than that.)
We should alphabetically sort the names of the authors in each reference, either always or at least with high probability.
If a reference title contains math, it needs to be protected by { }
. Currently we can generate something like
@article{cite:21,
...
title = {${\mathscr{{Q}}}$-Trivially Co-{E}uclid Matrices and Concrete {P}DE},
which is downcased by BibTeX and becomes
\newblock ${\mathscr{{q}}}$-trivially co-{E}uclid matrices and concrete {P}de.
in the bbl file. There is no lower-case q in the mathscr font so it's just omitted. For other fonts like mathcal we could get strange characters.
What we should produce instead would be
title = {{${\mathscr{{Q}}}$}-Trivially Co-{E}uclid Matrices and Concrete {P}DE},
We should have references to theorems, sections, equations, etc, within the paper, e.g.
By Theorem 2.8, ...
As shown in Section 3.4, ...
Applying (13) ...
This would require putting a \label
on each \section
, \begin{theorem}
, \begin{equation}
, etc, and using \ref
to refer back to them. Probably the grammar rules should just insert a placeholder and let latex_pretty_print
generate numbered labels.
In principle the perl code could keep track of whether each one is a theorem, lemma, etc, and adjust the wording at each \ref
, but I think there may also be a LaTeX package to do this automatically.
To avoid user to download extra, un-necessary Latex packages, is it possible that MathGen just generates the Latex files with Perl and end the job? That'd be nice.
Currently you are just expected to run everything from the current directory. This was never ideal, and is more annoying now that @INC
does not include .
by default, so you have to run perl -I. ./mathgen.pl
instead. It should be replaced with a standard Makefile.PL
and a CPAN-style package, using for instance ExtUtils::MakeMaker
. Then people can install the program in their standard system directory.
Is it possible that when I run mathgen, I can pass an instruction to add no reference, It is really annoying to do all that manually when the reference does not make sense in the first place.
Have a mechanism for grammar rules that are expanded by a piece of Perl code, like SCI_DATE
. Maybe a simple table in scigen.pm of strings and a function to call for each one. This would be better structure for future enhancements.
If the word PDE
shows up in a BibTeX entry, we only protect it as {P}DE
. Then it ends up as Pde
in the bbl file, which is wrong. We should find a way to protect it as {PDE}
.
The links generated by the website, e.g. this, are not stable. Updates to the mathgen code, or in principle to Perl's RNG, may result in the same link producing a different paper in the future.
In principle I never claimed they were stable, but some people are probably treating them as such: posting the link somewhere else and writing "hey check out this funny paper, where it says [specific phrase]". The future paper should result in the same author, but may have different text, without the [specific phrase] and leading to confusion.
The website code could also change, causing those links to not work at all.
I'm inclined to call this wontfix, but will leave it open for now to think about it some more.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.