10

I have been working on a mathematics paper for some time now, and I had the idea that instead of publishing just a regular paper, I could create something that is "interactive" to encourage a reader to engage with the concepts, and facilitate understanding. My criteria for "interaction" are the following:

  1. There should be visible movement in the paper itself

  2. The reader should have the ability to control some aspect of this movement.

I will still decide exactly how this can be used to make the reading experience easier, but for now I would just like to know if this is something that is commonly done, and if so. If anyone has any pointers or links, on how to get started.

13
  • 8
    My understanding is that papers are "old-fashioned" by convention, and very technical by intention; so an interactive format wouldn't be very popular. But interactive blog posts and "demos" are amazing and very popular, even in academia. It's very common to publish a technical paper and accompanying blog post and/or demo, I suggest you do that but make the blog and/or demo interactive.
    – tarzh
    Oct 10, 2023 at 6:30
  • 3
    i.e. a jupyter notebook accompanying your paper? Oct 10, 2023 at 9:18
  • 10
    Don't do it! Any method you use will be obsolete in 5-10 years and/or will rely on a server that won't be online then, and then your work will be lost to science. By all means make an interactive demo, but keep it separate from the paper and don't make the paper rely on it.
    – N. Virgo
    Oct 10, 2023 at 10:12
  • 1
    @FelixB. I think you're over-optimistic. I'd be surprised if you can find a website that is (i) 5 years old or more, (ii) interactive, (iii) not actively maintained, (iv) still online, and (v) still works. If you go to 10 years the task will be basically impossible, because almost any interactive web site from that era was made in Adobe Flash.
    – N. Virgo
    Oct 12, 2023 at 11:21
  • 1
    @FelixB. I think "on indefinite hiatus since 2021" is a fairly good indicator that articles published in that journal will stop working as web technology moves on. They might continue to maintain them for some time, but reading the text about the hiatus I get the impression of a small group of people whose enthusiasm has already waned, so I wouldn't expect that maintenance effort to continue indefinitely. (And that was my point above: for anything interactive to exist indefinitely, someone will need to maintain it indefinitely, until we have an interactive platform that's as stable as pdf.)
    – N. Virgo
    Oct 14, 2023 at 12:30

2 Answers 2

19

There was such a journal for machine learning: https://distill.pub/about/. But it was put on indefinite hiatus due to burnout of the editorial team.

Format problem

Perhaps most generally you have the problem of choosing a format. LaTeX is the standard in mathematics, but it is not suited for interactivity. This immediately puts you into the position of having to use non-standard tools to create your paper. Using non-standard tools generally leads to more effort.

For example you might decide to use html as it is very suited for interactivity, but then you have to figure out how you

  • cite stuff (as most of the citation machinery, bibtex or biblatex is geared towards LaTeX). Of course you could do citations manually but then you have a ton of extra work.
  • how to actually write equations. Html doesn't have machinery for maths, so you will end up either with MathML (would not recommended) or MathJax, KaTeX-like javascript libraries. Dealing with that is overhead.
  • how you convert it back to pdf to get a journal to accept it (which then also means you have to be able to style it for the journal. And the journal typically expects LaTeX so it will at best provide .sty files for tex)
  • ...

Distill wrote some javascript code to enable citing, but it is mixed up with their format and should probably be factored out as a standalone library. I started an attempt once to create such a citation library (bibcite) but abandoned it (due to time constraints). It is working somewhat, but does not look good, links are broken at the moment and I never got around to creating hover overs.

Related projects

  • LaTeXML is an attempt to convert LaTeX to html automatically (their goal is to convert the entire arxiv to html cf. ar5iv.org). It is relatively brittle in my experience, and it is limited in the interactivity department as the origin is static latex (you can hook into it to make it add javascript though, for simple stuff like collapisble proofs).

  • PreTeXt takes the other route, you have to write xml (which can then be converted into both LaTeX and html). People use it mostly for books (e.g. Discrete Mathematics) the styling and layout looks a bit dated, but that could be fixed and they have good support for interactivity. But they also have a custom cite style which does not work well with citation libraries like Zotero, which might be the reason people stay away from it for papers. At least I don't know of any papers using it. It is much more stable than LaTeXML since it forces you to use a stable XML sublanguage and there are validation files baked into an extension available for VSCode. Editing is still not as comfortable as LaTeX since there are no such things like synctex letting you jump to the code generating a specific part of the pdf. And the paragraph tags are quite annoying to be honest.

  • Manim is a python library geared towards rendering math videos, which are generally not interactive so it probably does not suit you.

  • Reactive notebooks like Observable (javascript) Pluto.jl (julia) or with more tweaking Jupyter (mostly python, but also R and julia) allow some interactive plots. You could supply these as a supplemental with your paper. But chances are that few people will look into the supplemental much less get them running. Observable is probably you best bet as they are easier to host, so you could provide a link in the paper.

  • Enhanced Markdown like Quarto (which is based on the older R-Markdown, which only worked for R)

  • Data Dashboard website makers like Dash by Plotly (python) and R shiny

  • Perhaps this attempt (typst) at a LaTeX replacement will turn out a better foundation for interactivity in the future (although they do not exist at the time of writing - this is mostly a reminder for my future self)

Conclusion

People are thinking about this problem. But since everyone is time constrained and there is probably very little funding to create tooling there is not much of a toolchain to create such a paper. And without the ability to easily create such papers, there aren't enough papers to fill a journal so I wouldn't expect there to be one (I certainly do not know of one).

4
  • 2
    Regarding citations when not using LaTeX: LaTeX is the standard in mathematics, but it is not the standard in all fields that heavily use citations. So there have been quite a lot of tools that have been developed to help with citations and bibliography, and many of these tools work regardless of which software you use to write the paper (even including bare word processors).
    – Stef
    Oct 9, 2023 at 22:19
  • 1
    See for instance Wikipedia: Comparison of reference management software
    – Stef
    Oct 9, 2023 at 22:22
  • 1
    @Stef sure, but those other fields will generally not use html but Microsoft Word perhaps. And Word is ill suited for interactive papers as well. At least I am not aware of any field using html for papers. And I doubt that there is any if not even computer science does that.
    – Felix B.
    Oct 10, 2023 at 6:42
  • @FelixB. Many journals which allow to view an article in html rather than as pdf, see e.g. journals.aps.org/prx/abstract/10.1103/… As of now the authors still submit the paper in Latex or Word, and then it's converted in some – probably semi-automatic – way by the editors. Primary strength of Latex is organizing text on paper pages, which a dying medium. I would think that ability to generate html from Latex might actually save it from obsolescence. Oct 16, 2023 at 0:10
14

A possibility would be to provide, in addition to the paper, code that the readers could interact with. URL to the code could be provided directly into the paper (i.e. in a "Data availability" section). Depending on the editors and the journal, the code could be hosted either by the journal (e.g. as a "Supplementary Information") or independently on a GitHub repo. If you are providing code in Python, an interesting solution is to organize it as a notebook, which allows to separate sections that the readers can modify and play around with from these that should not be modified. Other alternatives exist for other languages. As an example, I am thinking about this tutorial on Kalman Filtering, which can be read as a classical textbook but also includes a lot of interactivity via notebooks.

1
  • 3
    Really good answer Oct 9, 2023 at 14:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .