Mathjax в электронном приложении - PullRequest
0 голосов
/ 07 октября 2018

Я хочу загрузить Mathjax один раз, когда приложение запускается, и после этого оно должно вести себя как скрипт-тег на веб-сайте и «переводить» любой текст MathML, TeX или ASCIImath на человеческийчитаемый контент.

Я пробовал mathjax-Electron и mathjax-node , но я не мог заставить его работать вообще.Может кто-нибудь привести пример, как это реализовать?

Я использовал пример readme.md для mathjax-Electron:

var mathjaxHelper = require('mathjax-electron')

var container = document.createElement('div')
container.innerHTML = '$$\\sum\\limits_{i=0}^{\\infty} \\frac{1}{n^2}$$'

mathjaxHelper.loadAndTypeset(document, container)

, но это привело к undefined ошибкам.Я также попытался реализовать пример, предоставленный mathjax-node, но не смог заставить его работать вообще.

1 Ответ

0 голосов
/ 07 октября 2018

Я пробовал mathjax-электронный и mathjax-узел, но я не мог заставить его работать вообще.Может кто-нибудь привести пример, как это реализовать?

Конечно.Используя mathjax-Electron:

mkdir mathjax-test
cd mathjax-test
npm init -y
npm i -s electron mathjax-electron

Затем создайте два файла: index.js и index.html.

index.js (заимствовано здесь - Electron hello world )

const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow

let mainWindow

function createWindow () {
  mainWindow = new BrowserWindow({width: 800, height: 600})
  mainWindow.loadURL(`file://${__dirname}/index.html`)
  mainWindow.webContents.openDevTools()

  mainWindow.on('closed', function () {
    mainWindow = null
  })
}

app.on('ready', createWindow)

app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', function () {
  if (mainWindow === null) {
    createWindow()
  }
})

index.html (используя первый пример с их домашней страницы )

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Mathjax</title>
    <script src="./node_modules/mathjax-electron/resources/MathJax/MathJax.js?config=electron"></script>
  </head>
  <body>
    <h1>MathJax</h1>

    <script>
      var mathjaxHelper = require('mathjax-electron')
      var container = document.createElement('div')
      container.innerHTML = '$$\\sum\\limits_{i=0}^{\\infty} \\frac{1}{n^2}$$'
      mathjaxHelper.typesetMath(container)
      document.querySelector('body').append(container)
    </script>
  </body>
</html>

Тогдавыкинуть его из корня вашего проекта:

./node_modules/electron/dist/electron .

Результат:

MathJax Electron showing an equation

HTH.

...