Nano Hash - криптовалюты, майнинг, программирование

Обновление MathJax с вводом AsciiMath

У меня есть следующий div:

<div id="math-display">``</div>

Страница запускается MathJax.Hub.Queue(['Typeset', MathJax.Hub, 'math-display']) при загрузке страницы. ` — это разделитель для ввода AsciiMath.

Если бы я использовал латекс для ввода уравнений и хотел бы обновить math-display, я мог бы запустить следующий код:

MathJax.Hub.Queue(['Text', MathJax.Hub.getAllJax('math-display')[0], 'new latex here'])

Однако, если бы я поместил ввод AsciiMath вместо латекса, результат все равно будет отображаться с помощью латекса (даже если в строке 'new latex here' используются разделители AsciiMath). Как обновить отображаемый MathJax с вводом AsciiMath вместо латекса?

Если возможно, я бы предпочел не звонить Typeset для обновления.


Ответы:


1

Text() только обновляет текст экземпляра объекта, а этот объект уже имеет тип ввода в качестве свойства. Этот тип ввода определяется delimiters при создании объекта.

Когда вы используете text(), вы изменяете строку, которая была между delimiters, поэтому вам не нужен delimiters, но вы не можете изменить тип ввода.

Но вы можете typeset один элемент. Он создаст новый объект с вводом, определенным разделителями. См. фрагмент, например:

document.querySelector('#switch').onclick = function() {
  //inputJax property defines type of input  
  alert('input type of math-display is: ' + MathJax.Hub.getAllJax('math-display')[0].inputJax);
  
  //To change type of input, you can modifiy content of math-display, not of the math object that was generated 
  document.querySelector('#math-display').textContent = "$$x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a}.$$";
  
  //You typeset only element that has id math-display. 
  MathJax.Hub.Queue(['Typeset', MathJax.Hub, 'math-display']);

}
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>
<div id="math-display">`sum_(i=1)^n i^3=((n(n+1))/2)^2`</div>
<button id="switch">Change content</button>

18.07.2015
  • Примечание из будущего: срок службы cdn.mathjax.org подходит к концу, проверьте mathjax.org/ cdn-shutting-down для советов по миграции. 13.04.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..