leotrs / rsm Goto Github PK
View Code? Open in Web Editor NEWReStructured Manuscripts - The web-first authoring software for scientific manuscripts
Home Page: https://www.write-rsm.org/
License: MIT License
ReStructured Manuscripts - The web-first authoring software for scientific manuscripts
Home Page: https://www.write-rsm.org/
License: MIT License
If in a single page there are multiple links that I'd like to show the tooltips for, I should be able to do just hat.
Currently the first claim found in the body of a theorem is chosen as the goal. We need to do better. First, if the theorem contains a ASSUME/PROVE clause, then the claim following PROVE should be chosen as the goal. Other than that, a good heuristic is to choose the last claim, not the first.
What to do with theorems that make multiple statements?
For this, we have to create a claim node (which should probably just inherit from paragraph?)
it should just have a single definition list - which doesn't even need to be special
handrail--hug
(almost all handrails are hug...)handrail__btn-container
AutoNumberProofs
, -Theorems, and -Sectionsdocutils.directives.class_option
class GenericRole(object):
def __init__(self, role_name, node_class):
self.name = role_name
self.node_class = node_class
def __call__(self, role, rawtext, text, lineno, inliner,
options={}, content=[]):
set_classes(options)
return [self.node_class(rawtext, text, **options)], []
For example, if I give a name to a Theorem like thus:
Theorem 3.1 [X implies Y] Assume A satisfies X. Then A also satisfies Y.
I would like to refer to this theorem in the text as either Theorem 3.1
or as Theorem [X implies Y]
, for example:
... the following is a consequence of Theorem 3.1...
<-- OR -->
... the following is a consequence of [the fact that X implies Y]...
NOTE: Jay Cummings' long form math textbook's contain a "List of results" which lists results by their given name.
As of the latest commit, section labels support :ref:sec:some-lbl
and :ref:link text <sec:some-lbl>
syntax. But it'd be great to have syntax to automatically show only their number, not their title. Perhaps this can be a setting in conf
rather than a different role?
ReST was chosen because it was convenient. At this point, it has already been pushed enough to make me think that RSM needs its own native markup language. This would also drop the sphinx requirement, possibly leading to huge speed-ups.
A list of reasons why we need our own markup language follows.
In particular, look at sphinx/themes/basic/layout.html. Instead of that layout, we should create a template whose only contents are the following:
{% block body %} {% endblock %}
This should create a file without the HTML boilerplate.
Need a way to label inline elements, such as claims for example.
The statement of a theorem-like should always include a claim. The claim becomes the goal of the corresponding proof. Each step's handrail should include a new button, "show goal", that would display (or highlight, if within viewport) the claim that is the current goal. For this purpose, rsm-make will have to keep track of what is the current goal. Steps can change the goal, and sub-steps generally have a goal that is a claim on their parent step, while top-level steps have a goal that is the goal of the entire proof.
###################
A demo RSM document
###################
Foo
********************
:no-num:Some section
********************
Bar
********************
Another
********************
Baz
The second section should have number 1, not 2
An assumption is any text that follows the ASSUME
keyword. An assumption should be marked up in a span of class "assumption", similar to how claims are currently marked up.
An assumption may be introduced at any point in the manuscript. Perhaps we should even add a way of hiding an assumption so that some of them can be set at the top of the manuscript as global state.
The handrail of any block should have a button "show assumptions" which would display the assumptions that are valid at that point (not the ones that are introduced by that block).
How to display them? Perhaps we can do something basic for the manuscript itself and something more complicated for rsm-view.
The proof must somehow be linked to the claim (or sub-claim) that it is proving.
Allow the reader to choose different colors and modes of highlighting.
Also, allow the reader to automatically "highlight all definitions in blue".
and don't forget to have the rsm_test builder inherit from the new builder
They handle the this
keyword way better.
This is bad.
Implement tests by comparing sphinx's output to hard-coded HTML.
lbl
and :step: some_latex
are parsed correctlyEquation numbers are a necessary evil. They're necessary because they are required for readers to locate themselves within the manuscript. They're evil because most of the time they are in the way and provide little information. In fact, they are mostly used as labels, and the actual numbering is unnecessary.
Because of this, their default style should be out of the way (e.g. grayed out). When highlighted/selected/hovered they should pop up. Remember: details on demand.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.