Forum Discussion

JohnDallas-80f1's avatar
JohnDallas-80f1
Community Member
8 years ago
Solved

How to add Accessible Mathematics to your rise course. (Including Super and Sub Scripts and Formulas)

Edit 1: Updated with JS to check for dynamically created content.

Edit 2: Updated with /content/lib/main.bundle.js script injection needed for continue buttons and other dynamic content.

 

Here are the steps to follow for creating accessible Math in rise:

  1. Use the following site to create your math latex formula: https://www.codecogs.com/latex/eqneditor.php and to confirm the equation displays the way you want. An example of a formula might be x^{2} = \frac{2}{y} which is “x² = 2 / y”
  2. Copy your latex formula into Rise where you want it, but add “$$” before and after, so: $$x^{2} = \frac{2}{y}$$
  3. Do this for all equations until you publish.
  4. After publishing, extract the zip file and open index.html
  5.  After the <head> tag, insert the following Javascript:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML'></script>

<script type="text/javascript">
// Inspect the array of MutationRecord objects to identify the nature of the change
function mutationObjectCallback(mutationRecordsList) {
mutationRecordsList.forEach(function(mutationRecord) {
if ("attributes" === mutationRecord.type) {
}
});
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
}

// Create an observer object and assign a callback function
var observerObject = new MutationObserver(mutationObjectCallback);

// the target to watch, this could be #yourUniqueDiv
// we use the body to watch for changes
var targetObject = document.body;

// Register the target node to observe and specify which DOM changes to watch


observerObject.observe(targetObject, {
attributes: true,
attributeFilter: ["id", "dir"],
attributeOldValue: true,
childList: true
});
</script>

6. Finally, in /content/lib/main.bundle.js search for the following code:

                      return e.createElement("div", null, this.props.children)

and add the following right before it:

MathJax.Hub.Queue(["Typeset",MathJax.Hub]);  

 

  • Hello everyone, 🎉

    I’m happy to let you know we released a new update for Rise 360. This update adds the following feature:

     

    There’s nothing to install for web apps. New features and fixes are immediately available, though you might need to publish your Rise 360 course again.

    Let me know if you have any questions about this update or the new feature.

  • CarolKinnard's avatar
    CarolKinnard
    Community Member

    The MathJax script above was working prior to the new year (2024) but now produces raw LaTex instructions. Is anyone else experiencing this?

  • Hi all,

    Thanks to John and Zachary for the code.  I am not js proficient at all, just a bit of HTML and CSS.  I have followed the instructions to the T as the module I am developing uses mostly inline math equations.  However, after doing a test publish with the revised index.html file, my equations only render on the first page, there after it shows the equations in their code format e.g., $$$0=0$$$, but as soon as I try to copy an equation over to Word to test to see if it is fonts causing the trouble, the whole page suddenly displays correctly?! What am I doing wrong?  I've tested this in three different browsers: FireFox (my default), Chrome and Edge, they all display it incorrectly at first until you highlight an equation and press CTL + C then is fixes the display.

  • MikeAdamski's avatar
    MikeAdamski
    Community Member

    There's an even bigger need for an equation editor in both Rise and Storyline in 2024-2025 than ever. +1

  • Hello everyone, 🎉

    I’m happy to let you know we released a new update for Rise 360. This update adds the following feature:

     

    There’s nothing to install for web apps. New features and fixes are immediately available, though you might need to publish your Rise 360 course again.

    Let me know if you have any questions about this update or the new feature.

  • I can't believe this took 8 years, 

    I will miss the occasional notification that a post was made to this discussion.

    take care,