Реагировать 16 HTML-атрибутов с тегами MathML

Причина в том, что сдерживание определяется equals и hashCode, которые являются методами на Object, и оба принимают параметр Object. Это был ранний недостаток дизайна в стандартных библиотеках Java.

Единственный способ иметь безопасные хеш-таблицы и равенство в Java - это избегать Object.equals и Object.hashCode и использовать общий заменитель. Функциональная Java поставляется с типами классов только для этой цели: Hash и Equal . Предоставляется оболочка для HashMap , которая принимает Hash и Equal в своем конструкторе. Таким образом, методы get и contains этого класса принимают общий аргумент типа K.

Пример:

HashMap h =
  new HashMap(Equal.stringEqual, Hash.stringHash);

h.add("one", 1);

h.get("one"); // All good

h.get(Integer.valueOf(1)); // Compiler error

1
задан rubz 13 July 2018 в 07:22
поделиться

1 ответ

Компонент MathJax React - это то, что вы искали.

Импортируйте пакет и заполните свойство math некоторым текстом, содержащим ваши форматы. Wrap TeX в $ или $$ и ASCIImath в `. Paste MathML as is.

Вот пример:

import React, {Component} from 'react'
import {render} from 'react-dom'
import MathJax from 'react-mathjax-preview'

const asciimath = '`sum_(i=1)^n i^3=((n(n+1))/2)^2`' # Because of the backtick
const math = String.raw`
  <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
    <menclose notation="circle box">
      <mi> x </mi><mo> + </mo><mi> y </mi>
    </menclose>
  </math>

  $$\lim_{x \to \infty} \exp(-x) = 0$$

  ${asciimath}`

class Demo extends Component {
  constructor(props) {
    super(props);
    this.state = {
      math: tex
    }
  render() {
    return <MathJax math={this.state.math} />
  }
}

У них также есть более продвинутое демо внутри репозитория.

PS: Я видел одну проблему , связанную с MathML в своем репо. Обходной путь описан там.

1
ответ дан Kaloyan Kosev 17 August 2018 в 13:27
поделиться
  • 1
    Уравнения в моем приложении интегрированы в абзацы (html p tags), и этот пакет превращает уравнения в теги div. Знаки Div не разрешены в качестве дочерних элементов из p-тегов, хотя ... Итак, я наконец использовал парсер ( html-response-parser ), который обнаруживает и заменяет мои математические теги тегами span, которые используют свойство реакции ; dangerouslySetInnerHTML & Quot; с уравнением MathML в качестве значения свойства. Чтобы преобразовать мои уравнения MathML в строку, я использовал response-element-to-string – rubz 16 July 2018 в 18:29
  • 2
    Хорошо, я рад, что помог. Я хотел бы попросить вас принять мой ответ, нажав зеленую галочку . Это указывает сообществу, что вы нашли решение, и это может помочь людям испытать подобную проблему, обратив внимание на ваш вопрос. – Kaloyan Kosev 16 July 2018 в 22:35
  • 3
    Как я пытался объяснить, к сожалению, пакет MathJax React, который вы предлагали использовать, не помог решить мою проблему. В ближайшее время я отправлю более подробный ответ с моим решением. – rubz 17 July 2018 в 05:03
  • 4
    Мой ответ решает ваш вопрос . В вашем вопросе вы не упомянули, что уравнения в вашем приложении интегрированы в абзацы (html p tags) . Если бы вы упомянули об этом, я бы сказал вам решение с p-тегами. Я потратил время и усилия на то, чтобы найти решение вашего вопроса . И я нашел. Вот почему я расстроен. Мое желание помочь ушло. Без разницы. Я рад, что вы нашли решение. – Kaloyan Kosev 17 July 2018 в 18:01
  • 5
    Вы правы, извините! Спасибо за помощь. – rubz 18 July 2018 в 01:53
Другие вопросы по тегам:

Похожие вопросы: