What are the pros and cons of using a Mathematica to write a report?

In the late 80's/early 90's, when I was a student, I remember having used Mathematica on my Macintosh Plus computer to write some reports. It was amazing to mix both text and calculations in the same document. At that time, the typical word processor capabilities to embed mathematical formulas were rather limited. And we didn't look for fancy layouts and complex document formating.

Picture credit: Steven Wolfram https://writings.stephenwolfram.com/2019/10/the-new-world-of-notebook-publishing/

Back in 2020 (almost), the minimum expectation for any document has greatly increased. Since that early experience, I discovered TeX/LaTeX, HTML, DocBook, MathML, .... And I find myself using more and more lightweight markup languages in my day-to-day work. As I re-discover Mathematica using the Wolfram Cloud, I now find the notebook formatting capabilities quite limited by today's standards. But maybe this is due to my lack of knowledge, or by the inherent limitations of the online notebook.

So, today, what are the pros and cons of using a Mathematica to write a report?

I'm not talking about scientific articles or formal documents. But really about ad-hoc documents or "quick and not-so-dirty" internal memos.

• I tried it once, for school final project. I would not do it again. I use Mathematica all the time, and really like it, specially the plotting and animations. But not for writing actual reports. I use Scientific word for all my reports. It is Latex based GUI, makes it very easy to write math and get Latex as output. Then Use Mathematica for computation and graphics and import these into Latex. Writing math in Mathematica is not as easy and it does not look as good. Nothing wrong with this. Mathematica is meant for computation and code writing. And no software can compete with Latex for math. – Nasser Dec 31 '19 at 4:10
• But really about ad-hoc documents or "quick and not-so-dirty" internal memos For this, I suppose Mathematica is fine. Just like using word for a quick note to send to someone. I myself, would still use Latex :) one advantage of Latex, you can get both PDF and HTML from same source. Mathematica export to HTML and PDF are not as good. – Nasser Dec 31 '19 at 4:12
• I agree with Nasser. I find MMA unweildy for report-writing. Wolfram tried to address this several years ago with Publicon, but that project was abandoned. – theorist Dec 31 '19 at 4:26
• Thanks for the comments, @Nasser and theorist. I agree: when it's about beautiful typesetting and accurate layout, it' hard to beat $\TeX$/$\LaTeX$. I even have my resume written with LaTeX! As about WYSIWYG word processor--I avoid them as much as I can today: instead of making my life easier, I find all their features, dialogs, and automation an obstacle between my ideas and the document. Back to Mathematica, the tool looks have a strong box model that could lead to nice non-intrusive publishing features, but I have a hard time using them. – Sylvain Leroux Dec 31 '19 at 13:03
• BTW Nasser, @theorist, don't hesitate to post your arguments as an answer. I was looking for the pros and cons. I have yet to read the answer by Vitaliy below, but it seems he has an opposite opinion than yours. It would be nice to compare how the community consensus leads toward one side or the other. – Sylvain Leroux Dec 31 '19 at 13:06

Wolfram Notebook is definitely my choice, because it is a story within a story within a story... - what I mean by this I'll explain in the end. Wolfram Notebook is the first thing I open, when I want to record ideas, poke at data, experiment, explore, get creative, make beautiful things :-), etc. (For instance, all my blogs, were written in a Wolfram Notebook from scratch - take a look :-) )

Before I came to Wolfram I was a math / physics professor at City University of New York and was using Mathematica extensively for research and teaching, and even before that as student. I remember in 2007 version 6 came out and I first saw Manipulate and Dynamic etc. and it blew my mind. That was powerful for my work, but most importantly it was not "just" a feature of frontend - it was introduced as part of Wolfram Language. Then I understood this company brings real innovative solutions. Not long after I came to Wolfram as I believed they do some cool stuff. So partly notebook story changed my career.

There are many various arguments that were brought up through decades by various people about this topic. But instead of repeating a tone of things I'd rather point you to some recent pages Wolfram designed specifically to outline advantages.

Also I'd recommend reading these relevant Stephen Wolfram blogs:

and also checking out these very recent resources (in addition to those numerous ones mentioned in first 2 links above):

BTW, on a somewhat related note, we have recently introduced Wolfram Notebook Embedder, which adds more integration with other media:

https://reference.wolfram.com/language/WolframNotebookEmbedder

This is an example of it: Biodiversity: The Computational Pumpkin

So, to conclude, let's take as an example one of many advantages: "Wolfram Notebook is great for computational exploration because it comes with built-in algorithms." True, but is it the whole story? No, because actually it includes connection to roughly this number of various symbols and algorithms:

In[]:= WolframLanguageData[]//Length
Out[]= 5436


which is huge, from basic like Sort to deeply complex like NDSolve, covering highly diverse fields of human knowledge -- it's one of the most unique existing programing languages. Then additionally you got Wolfram Function Repository connection, packages, links to other languages like JLink, NETLink, etc. Same with "data in document" advantage. Not only you have, for instance, built-in data -- this data comes from enormous Wolfram|Alpha base, which is a company itself. But then you also got a sea of Import/Export data formats, ability to write your own importers for exotic data, etc. - so much flexibility and integrity! And same goes for "interactivity" where that word actually means a whole part of Wolfram Language dedicated to creation of dynamic interfaces and applications. Same for "visualizations", and so on.

So that's "a story within a story within a story" meaning -- it is all about integrity and diversity of features that come with your report environment. And while things do keep developing and improving, I have never experienced anything as complete and smooth as a Wolfram Notebook. It helps me to write as I think elaborate technical things - quickly and fluently.

• You should disclose here that you work for Wolfram. – Lightness Races in Orbit Dec 31 '19 at 15:29
• @LightnessRaceswithMonica Unlike you I do not alias, have detailed disclosure of my employment in my profile bio and use my full name to back this up. This way I do not have to mention this in every post I write. It is also clear from the very first link in this post. Many folks here know me exactly because I work for Wolfram, and as I also was one of the first people to help to build this forum. But you actually gave me an idea to add a story in post, updated :-) – Vitaliy Kaurov Dec 31 '19 at 19:08
• The problem with the blog example is that the tools to integrate notebooks with Wordpress are not released ... C.E. did release his own tools, but it would be nice to have something supported long term by WRI. Even HTML export is very difficult to work with (not worth the trouble IMO). Embeddable notebooks are nice, but they rely on WRI's cloud infrastructure. Many of us would prefer something that we can host ourselves (and therefore is guaranteed to work for as long as we keep it). To write blog posts as notebooks, at least a high-quality Markdown exporter would be essential ... – Szabolcs Dec 31 '19 at 22:00
• I tried to use notebooks for quick-and-dirty reports, but I found it to be quite inconvenient, mainly for the following reasons: 1) No way that I'm aware to caption figures 2) The FE has a habit to insert page breaks in rather inconvenient places ... 3) Related to the previous two: there is no practical control over figure positioning on printed pages. (I'm sure it's possible to hack something together, but that would take many ours. In the meantime I would have finished the report with LaTeX.) – Szabolcs Dec 31 '19 at 22:03
• All that said, I still try from time to time to use notebooks for reports ... I wish there were an effort to make them more suitable for this purpose. – Szabolcs Dec 31 '19 at 22:03