-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Specify inline asciimath equations #363
Comments
AsciiMath only supports inline mode so I'm guessing you are after display-style AsciiMath input. That would be an upstream feature request for https://github.com/asciimath/asciimathml/ though. |
So I did a typesetting test of the same equation here, and I get: Whilst there are small differences, the asciimath behaves a lot more like the display latex from what I'm seeing. Is there perhaps a way to get a similar output from the asciimath (I thought it would have something to do with the line height, but I can't get the inline latex output with the squished integrals, from asciimath) |
Ah, I forgot that asciimath input always creates a wrapping Please post a self-contained example. |
Oh this was rendered offline to an SVG - I just gave it a string and got this. I just happened to place the result there with some css. What I'd like to do though, is to get the small integrals with asciimath somehow - because for now, I can only specify |
Thanks for clarifying.
As before, that's a limitation of asciimath; try filing an issue upstream. |
Awesome, I'll do that! Thanks @pkra 😄 |
AsciiMath has a configuration parameter Here is an example of how to do that. #! /usr/bin/env node
var mjAPI = require(".");
var displaystyle = true;
function setDisplay(display) {
if (display !== displaystyle) {
mjAPI.config({
MathJax: {
AsciiMath: {
displaystyle: display
}
}
});
mjAPI.start();
displaystyle = display;
}
}
function getMath(math, callback) {
mjAPI.typeset({
math: math,
format: "AsciiMath",
mml: true
}, function(data) {
console.log(data.mml);
if (callback) callback();
});
};
setDisplay(true);
getMath("int x dx", function () {
setDisplay(false);
getMath("int x dx");
}); Note that you have to restart MathJax after making the change (that's that The output from this script is <math xmlns="http://www.w3.org/1998/Math/MathML" alttext="int x dx">
<mstyle displaystyle="true">
<mo>∫</mo>
<mi>x</mi>
<mrow>
<mi>d</mi>
<mi>x</mi>
</mrow>
</mstyle>
</math>
<math xmlns="http://www.w3.org/1998/Math/MathML" alttext="int x dx">
<mstyle>
<mo>∫</mo>
<mi>x</mi>
<mrow>
<mi>d</mi>
<mi>x</mi>
</mrow>
</mstyle>
</math> which you can see has Note that you must use callbacks to make sure that the previous meth is typeset before you change the display setting, since otherwise you will restart MathJax before the previous math is complete, and that can cause problems. |
I basically have an always running mathjax server to avoid having to restart mathjax, because it gets very slow on a large page. Wouldn't it make sense to support this in the format section, so we don't need to restart mathjax every time we are thrown an inline equation? |
I didn't say it wouldn't. I was just trying to give you a mechanism to do what you asked. If you have a large page with lots of math, you could send all the inline math first, and then all the display math, and only have to restart once. So you can minimize the restarts. |
I'll do that, thanks so much for being so helpful guys :) |
Okay, after ploughing through the code, I'm not so sure how I would go about adding this functionality. I stumbled across this thread from a few years ago, and I'm not sure how relevant it still is. In mathjax-node, I can't see any easy way to avoid changing the initial defaults object by restarting mathjax (so I can't make a PR without a fork and commit unless I'm mistaken). I am able to fix my problem by just having two mathjax instances on my server to handle the different math input possibilities, but I still think this functionality would be useful to implement; so I'd like to figure out how to do it. Any pointers or suggestions would be most welcome :) |
Was this closed because it is no longer relevant? |
Sorry. Re-opening. I had closed this because it was a question about an upstream technology asciimath. But I now see that we had discussed a PR to do something here. FWIW, I do think it would be better to raise the issue upstream and find an official way for asciimath to support display equations. |
I'll just go ahead and post this issue to asciimath then |
From the docs, the following formats are exposed:
Would it be possible to get
inline-AsciiMath
as a possible output format as well, or is that already possible with the current tools?The text was updated successfully, but these errors were encountered: