Macaulay2 / Macaulay2/M2

New top-level mode for LaTeX, HTML, or Org-mode output

Open
#3,616 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Core
Dominant language
Macaulay2
Stars
435
Forks
297
Avg merge
4d 20h
Merged PRs (30d)
11

Description

In https://github.com/Macaulay2/M2-emacs/issues/79 I suggested a new top-level mode for producing LaTeX output which can be previewed inline using Emacs (or vscode).

This made me wonder why we don't have some obvious top-level modes:
1. A mode which produces a **truncated html file**, in such a way that you can open the partially written html file in a browser for a cheap WebApp replica, where you need to refresh to load the rest of the page after every command. There's tons of ways to improve this, e.g. obviously syntax highlighting, a navbar at the top of the page, parsing of positions into links, auto-update using javascript, incremental loading, perhaps even a basic http server running in M2 to serve the output via 127.0.0.1 in this mode to a single browser (maybe with json?) and handle interrupts that way. (Side note: can an M2 thread interrupt a running command in the main thread?)
2. A mode which produces an **essentially complete LaTeX source file**, basically consisting of input lines in `\verbatim` followed by the LaTeX output line.
3. A mode which produces **Org-mode**. Even better would be if it was reproducible, i.e. you could grab the org-mode output of an M2 session and rerun/update everything in it like Jupyter.
4. A mode which produces **Markdown** for viewing in capable viewers.

I think @d-torrance has a usable version of 3 already, but I think 1 above is the one I'm most interested in because its a lot simpler to use locally than either Jupyter or the WebApp.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the linked M2-emacs issue 79 and reviewing the usable Org-mode version mentioned from d-torrance. Compare the proposed HTML, LaTeX, Org-mode, and Markdown outputs and decide which mode has a concrete scope. Done should mean one selected top-level mode reliably produces its intended output.

Written by the indexing model from the issue text.

Assessment

Tech stack
emacs, html, jupyter, latex, markdown, vscode
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.