sympy / sympy-paper

Repo for the paper "SymPy: symbolic computing in python"
https://peerj.com/articles/cs-103/
Other
47 stars 37 forks source link

Should we make the paper computionally reproducible? #9

Open moorepants opened 8 years ago

moorepants commented 8 years ago

The last few papers I've written, I've taken the extra time to ensure the results and paper are computationally reproducible (i.e a single make command will "build" the paper from raw data and source code). See this paper for an example:

https://github.com/csu-hmc/perturbed-data-paper

This was a pain for my co-authors because they weren't famliar with the tools and workflow, but it should be a breeze for this set of authors. It definitely takes more time though.

scopatz commented 8 years ago

+1, sounds like a plan. Though I bet this will only affect the examples.

asmeurer commented 8 years ago

What is the best tooling to autogenerate the output from "example" inputs?

moorepants commented 8 years ago

A make file can be sufficient. There are other tools for this stuff to like sake and pydoit. Is that what you are looking for? There are also ways to "weave" Python code into a LaTeX document. Things like this: http://mpastell.com/pweave/.

It also depends what we want to do. We could simply have SymPy code output something to a text file and then include it in the LaTeX document.

Also, minted seems to be the best way to get nice syntax highlighting in LaTeX docs.

asmeurer commented 8 years ago

There's also the question of how we want the equation output to be formatted. We could format it using the default str printer (i.e., as if no init_printing() were called), the Unicode pretty printer, or rendered inline LaTeX, which would look the best, but could also be confusing (but then again, in the Jupyter notebook, what you see is rendered LaTeX).

I bring it up because if we do rendered LaTeX then we will need some kind of custom script that will take an example, run it, and insert latex(output) inline with the example.