Accessible open textbooks in math-heavy disciplines
richardzach.org
richardzach.org
Screen reader user here. Don't actually do this, this is bad advice.
Just like a lecturer won't suddenly switch to a German accent when saying words like "schadenfreude" or names like "Friedrich Nietzsche", neither should a screen reader. Having your voice constantly change under you for no apparent reason is distracting more than anything else.
What you should do this for are longer pieces of text in a foreign language, like a multi-paragraph piece of text to analyze in a foreign language textbook.
So, I am with you. We shouldn't learn the pronunciation of 200 different languages. If Kirchhoff's laws sound like Captain Kirk, who the fuck cares. Different languages pronounce stuff differently.
however I have never heard of someone pronouncing Freud as Frood, outside of "Bill & Ted's Excellent Adventure".
Eh-oo-leh-r that is how it should be read if it were an Spanish word.
Oh-ee-leh-r that is the proper German pronunciation
there is an S in Paris because the French used to pronounce it that way and it got written down that way in French... and that is also when that word got added to the English lexicon. Paris is a word in English that is pronounced as it is spelled. There is a French word spelled the same way that is pronounced differently. Something similar is true with Moskva/Moscow (btw, people in Moscow, Idaho pronounce it "mosko")
these type of historical borrowings don't offer useful guidance to how Freud should be pronounced in English.
There is no official lexicon. When speaking English, the pronunciation of “Paris” has become well-established, but for countless other words, it has not.
it has become over common to over point out that linguistics is descriptive, as if anything goes; anything does not go, and that is what linguists study. Stray from the lexicon, and people will ask what you are talking about. When they stop asking, it's in the lexicon.
That... isn't the normal English pronunciation. The English pronunciation would rhyme with "joyed", if "joy" were a verb.
/'sɪg.mənd fɹɔɪd/
There are some other big names where the same vowel sequence isn't recognized: Euler (usually pronounced with /ɔɪ/) and von Neumann (not so much).
Euler suffers from beginning with the "eu", which makes it look more Greek.
I always have trouble finding a reference for the sounds corresponding to IPA symbols, so I'm not sure what you're claiming for the pronunciation of either of those. But, at least among the mostly American mathematicians I know, the 'eu' in 'Euler' and 'von Neumann' are usually pronounced the same way we pronounce the same way we pronounce the 'eu' in 'Freud' (which I agree is essentially how I'd pronounce the 'oy' in 'joyed').
Russian friends taught me that there is no "o" (as the letter is pronounced in Spanish or German) to pronounce in Москва since the о is unstressed. Rather pronounce it as "Maskwa" ("a" letter as in Spanish or German). :-)
The English word Moscow, meanwhile, is itself very interesting: it’s not actually a derivative of the Russian Москва, but rather a cognate, as both of them are derived[2] from different cases (accusative vs. locative or genitive) of the original Old East Slavic (aka Old Russian, aka Old Ukrainian, etc.) name.
Is there a middle ground? Whenever I check my content with a screen reader, uncommon foreign names are often mispronounced in ways that are sometimes almost irrecognisable. Even my name comes out wrong, although it would be understandable (typically, the stress ends up on the wrong syllable).
[1] https://github.com/minimaxir/hacker-news-undocumented#shadow...
Aside, I'd be happy to pay for great classic math textbooks in a well typeset edition.
Finite Dimensional Vector Spaces is one such example. The text is fantastic, but everything is too cramped and hard to read compared to a modern book from the 1970s onward.
A newer edition typeset in LaTeX would be great.
It's probably not hard to use an LLM to do the bulk of the conversion to TeX work cheaply, and then some human input to polish the final document and fix errors.
“It’s probably not hard…” - how many such wishful thinking statements were uttered by humanity.
I've done this for a 30-page manuscript with no sources, and I was able to recreate the entire document with minimal manual intervention to get a correct PDF.
This is not programming, it's OCR and translation to a very simple markup language. It's a very easy mechanical task.
Looks like you can already play with it (though it's still "very incomplete") https://typst.app/docs/reference/html/
[0]: https://github.com/wcshds/typst-math-to-mathml-converter
"Despite its name, TeXmacs is not a front-end to TeX or LaTeX.[mHowever, TeXmacs documents can be converted to either TeX or LaTeX. LaTeX also can be imported (to some extent), and both import from and export to HTML, Scheme, Verbatim, and XML is provided; the HTML export is stylable with CSS (since version 1.99.14). There is a converter for MathML as well, and TeXmacs can output PDF and PostScript for printing."
[2] GNU TeXmacs:
Why would anyone switch from LaTeX to this other than the speed?
Surely both of these characterizations depend on the person? I can believe that integral_t^oo is idiomatic if that's what you're used to, and maybe it's easier to pick up from scratch, but, for someone long used to TeX, it just makes me wonder what other unpleasant surprises someone else will have decided are actually pleasant.
A post-Processor transform the proof into lean (with any official lib loaded). It is automatically verified. If something is missing, the post processor ask to write in English the missing parts. Iterate like this.
The lean proof is hidden in the final document, and can be displayed if needed. Or even, we get an English version that can be easily retransformed into lean at will.
Bonus point: we can query the document to give more details on part of the proof and it outputs (expanded) lean formatted as nice English.
Note: there is no need to have all the math self contained in the document, he can say to assume some theorem true to do his proof. And this would be reflected in English.
Turns out from a technical documentation consumer perspective it’s easier to save a PDF than feck around with web pages and try and save them.
They all seem to assume you're still at school rather than it being decades since you last had to read them. Even using Greek symbols - WRITE THEM OUT. Jeez, it's so elitist.
P.S.: Greek alphabet is not that bad (it’s only 24 letters, and a third of them isn’t used on behalf of being the same as some Latin ones), just look it up. It’s much worse when some mathematician in the 19th century invents his own squiggly to refer to a pretty useful function.
Not to discourage experimentation, but I would like to see some behavoral reserve and healthy skepticism before adding another layer to the mathematical expression enterprise. There's also this issue to consider: https://xkcd.com/927/ .
That's why there is nothing healthy behind this thought-terminating comic cliche, just a generic conservative discouragement of any experiments.
a) typing the text of math papers and writing in the formulae by hand.
b) word processing which was fixed width and line based, where there would be three characters for 'top of an integral sign', middle and bottom, and you would have to align your three characters at the same horizontal point on three successive lines to make the integral sign, and also position all subscripts, exponents yourself.
The fact that LaTeX had an important mission and was successful in it doesn't mean that another thing is not needed now. Things have moved on. Replacing things which solved a problem doesn't mean going back to the situation before they existed.
Turn that around. Thought experiment. Say we work like pigdogs for 5 years and we completely replace all of Latex except the part that produces pdf. What value have we provided to users at that point?
What is generally bad about the PDFs that Latex produces (and is a problem with latex, not a problem with PDF) is that they are very inaccessible, they don't work with screen readers.
The reason it's so hard to make latex output HTML (although people are working on it) is that latex is actually a programming language, which is executed to decide where things go on in the PDF.
Make latex output HTML is a bit like trying to take (say) a game engine like Unity, and change it's rendering engine to output HTML instead of graphics -- in the worst case it's basically impossible, as the game just generates commands like "draw triangle here", without context or semantics.
Note how Richard's book adapts to any screen size, can change fonts and color schemes, system settings such as 'high contrast' will affect the rendering of the page, and you could even use browser extensions to restyle the page to e.g. use a more dyslexic friendly font of your choice.
This kind of functionality is not afforded by Adobe Reader. Even the official Adobe's example of reflowing that was posted in another thread is quite bad: https://helpx.adobe.com/uk/acrobat/using/reading-pdfs-reflow... The reflowed PDF is just stacking all text and removing all non-text visual cues. For example, pairs of name/role are separated by whitespace in the PDF, but after reflowing they are undisguishable from each other (who would be the senior VP, Sunny or Daniel?). In HTML, reflowing would preserve semantically relevant whitespace out of the box.
or dvisvgm, which will produce scalable images. However, images are even worse than PDF in terms of accessibility, which is what the article is talking about.
TeX/LaTeX -> DVI -> PostScript -> printer
And DVI stands for "device independent", so the idea was you can take a DVI and convert it to any format. PDFs just eventually became the dominate format.
LaTeXML: https://en.wikipedia.org/wiki/LaTeXML :
LaTeXML emits XML from a parsing of LaTex with Perl.
SCORM is a standard for educational content in ZIP packages which is supported by Moodle, ILIAS, Sakai, Canvas, and a number of other LMS Learning Management Systems.
SCORM: https://en.wikipedia.org/wiki/Sharable_Content_Object_Refere...
xAPI (aka Experience API, aka TinCan API) is a successor spec to SCORM for event messages to LRS Learning Record Stores. Like SCORM, xAPI was granted by ADL.
re: xAPI, schema.org/Action, and JSON-LD: https://github.com/RusticiSoftware/TinCanSchema/issues/7
schema.org/Action describes potential actions: https://schema.org/docs/actions.html
For example, from the Schema.org "Potential Actions" doc: https://schema.org/docs/actions.html :
{
"@context": "https://schema.org",
"@type": "Movie",
"name": "Footloose",
"potentialAction": {
"@type": "WatchAction"
}
}
That could be a syllabus.ActionTypes include: BuyAction, AssessAction > ReviewAction,
Schema.org > "Full schema hierarchy" > [Open hierarchy] > Action and rdfs:subClassOf subclasses thereof: https://schema.org/docs/full.html
What Linked Data should [math textbook] publishing software include when generating HTML for the web?
https://schema.org/CreativeWork > Book, Audiobook, Article > ScholarlyArticle, Guide, HowTo, Blog, MathSolver
The schema.org Thing > CreativeWork LearningResource RDFS class has the :assesses, :competencyRequired, :educationalLevel, :educationalAlignment, and :teaches RDFS properties; https://schema.org/LearningResource
You can add bibliographic metadata and curricular Linked Data to [OER LearningResource] HTML with schema.org classes and properties as JSON-LD, RDFa, or Microdata.
The schema.org/about property has a domain which includes CreativeWork and a range which includes Thing, so a :CreativeWork is :about a :Thing which could be a subclass of :CreativeWork.
.
I work with MathJax and LaTeX in notebooks a bit, and have generated LaTeX and then PDF with Sphinx and texlive like the ReadTheDocs docker container which already has the multiple necessary GB of LaTeX installed to render a README.rst as PDF without pandoc:
The Jupyter Book docs now describe how that works.
Jupyter Book docs > Customize LaTeX via Sphinx: https://jupyterbook.org/en/stable/advanced/pdf.html#customiz...
How to build the docs with the readthedocs docker image onesself: https://github.com/jupyter-book/jupyter-book/issues/991
ReadTheDocs > Dev > Design > Build Images > Time required to install languages at build time [with different package managers with varying performance] https://docs.readthedocs.com/dev/latest/design/build-images....
The jupyter-docker-stacks, binderhub, and condaforge/miniforge3 images build with micromamba now IIRC.
condaforge/miniforge3: https://hub.docker.com/r/condaforge/miniforge3
Recently, I've gotten into .devcontainers/devcontainers.json; which allows use of one's own Dockerfile or a preexisting docker image and installs LSP and vscode on top, and then runs the onCreateCommand, postStartCommand
A number of tools support devcontainer.json: https://containers.dev/supporting
Devcontainers could be useful for open textbooks in math-heavy disciplines; so that others can work within, rebuild, and upgrade the same container env used to build the textbook.
Re: MathJax, LaTeX, and notebooks:
To left-align a LaTeX expression in a (Jupyter,Colab,VScode,) notebook wrap the expression with single dollar signs. To center-align a LaTeX expression in a notebook, wrap it with double dollar signs:
$ \alpha_{\beta_1} $
$$ \alpha_{\beta_2} $$
Textbooks, though? Interactive is what they want.How can we make textbooks interactive?
It used to be that textbooks were to be copied down from; copy by hand from the textbook.
To engage and entertain this generation.
ManimCE, scriptable 3d simulators with test assertions, Thebelab,
Jupyter Book docs > "Launch into interactive computing interfaces" > BinderHub ( https://mybinder.org ), JupyterHub, Colab, Deepnote: https://jupyterbook.org/en/stable/interactive/launchbuttons....
JupyterLite-xeus builds a jupyterlite static site from an environment.yml; such that e.g. the xeus-python kernel and other packages are compiled to WebAssembly (WASM) so that you can run Jupyter notebooks in a browser without a server:
repo2jupyterlite works like repo2docker, which powers BinderHub, which generates a container with a current version of Jupyter installed after building the container according to one or more software dependency requirement specification files in /.binder or the root of the repo.
repo2jupyter: https://github.com/jupyterlite/repo2jupyterlite
jupyterlite-xeus: https://jupyterlite-xeus.readthedocs.io/en/latest/
https://helpx.adobe.com/acrobat/using/reading-pdfs-reflow-ac...
> Even the official Adobe's example of reflowing you posted before is quite bad:
> https://helpx.adobe.com/uk/acrobat/using/reading-pdfs-reflow...
> The reflowed PDF is just stacking all text and removing all non-text visual cues. For example, pairs of name/role are separated by whitespace in the PDF, but after reflowing they are undisguishable from each other (who would be the senior VP, Sunny or Daniel?). In HTML, reflowing would preserve semantically relevant whitespace out of the box.