나는 HTML 기반 계산기를 사용하고 있으며, 표현식을 표현한 다음 평가하고 싶습니다.이 모든 것은 자바 스크립트에서 수행해야합니다. LaTeX로 작성된 표현식을 선호하며 렌더링 된 표현식을 대화식으로 편집하는 것이 가능하지만 다른 언어도 작동 할 수 있습니다.자바 스크립트에서 라텍스 수학 평가하기
내가 전에 시도한 것은 MathQuill과 대화식으로 표현식을 렌더링 한 다음 MathJS로 평가하는 것입니다. 그러나이 두 패키지는 서로 다른 목표로 설계되었으므로 어느 정도 작동합니다 (MathQuill은 LaTeX을 렌더링하지만 MathJS는 사용자 정의 수학 구문을 사용합니다). 완벽하게 작동하지 않습니다 (예 : \frac{5}{17*x}
을 입력하고 올바른 구문이며, 그 다음 그것을 평가하고 MathJS로부터 오류를 얻습니다).
현재, 내가 진행하는 세 가지 방법을 참조하십시오 (? 또는 어쩌면 더 나은 MathJax-로 전환)
- 내가 무엇을 계속합니다.
- (만약 동일하지)
- 렌더링 닫으로 평가하기위한 두 가지 도구를 찾기 (는 라텍스 또는 다른 언어인지) 렌더링 및 평가를 모두 수행하는 도구를 찾기 구문
- 내 자신의 렌더링 쓰기 추천 도구 here으로 평가 도구. 나는 지루한 것처럼 보이기 때문에 이것을하지 않기를 바랄 것이다. 나는 바퀴를 재발 명하고 싶지 않다.
어떻게해야할까요?
업데이트 1 :altJS에서 사용할 수있는 대체 언어 목록을 살펴본 후 Python, Ruby 또는 Basic을 사용자 입력 용 언어로 사용할 수 있다고 생각합니다. 만약 내가 그렇게했다면, 렌더링을위한 많은 가능성을 열어 줄 것입니다. (기술적으로는 "렌더링"이 아니라, 얼마나 많은 구문 형광펜이 있는지 생각해보십시오.) 그러나 사용자가이 언어의 고급 요소에 액세스하는 것을 원하지 않습니다. 사용자에게 혼란을 줄 수 있으며 안전하지 않을 수도 있습니다 (예 : eval
). 사용자가 수학 연산, 변수 (함수를 지정할 수 있고 함수를 작성할 수있는 함수 만 지정할 수 있습니다.) 및 함수 (사용자가 정의 할 수있는 함수 및 사용자 정의 함수) 만 사용할 수 있기를 바랍니다. 사용할 수있는 언어의 하위 집합을 제한하는 방법이 있습니까?
업데이트 2 : 나는 XYZ 대신 실행 언어의, 더 altJS 페이지에 일부 둘러 보았다, 그리고 거의 모든 언어는 다음, 자바 스크립트 언어 XYZ를 컴파일 페이지에서 자바 스크립트를 실행하도록 설계되었다는 것을 깨달았다 페이지에. 나는 각자 하나 하나를 들여다 보지 못했지만, 그들 대부분은 이것처럼 보입니다. Brython과 같은 다른 브라우저는 브라우저에서 언어 XYZ를 실행하도록 설계된 것 같지만 사용자를위한 입력 언어가 아닌 JavaScript의 대체/보완 도구로 사용됩니다. 이러한 방법을 입력으로 사용할 수있는 몇 가지 해결 방법이 있습니까?
업데이트 3 : 해당 정보는 @SpaceDog에 감사하고 사용자가 달성 할 수 있어야하는 구체적인 내용을 지적 해 주셔서 감사합니다.
- 기본 연산 (덧셈, 뺄셈, 곱셈, 나눗셈/분수, 지수, 뿌리, 계수)
- 함수 (삼각 함수, 로그 등 : 그래서, 여기에 내가 얻을 수하고자하는 기능입니다)을 제외하고
- 상수 (예, PI 등)
- 변수 (할당, 재 할당하고이를 사용)
LaTeXCalc 이러한 요구 사항을 모두 충족 것으로 보인다
이것은 내가 생각한 또 다른 아이디어를 제시합니다. MathJax와 같은 것을 프레젠테이션에 사용하고 Wolfram Alpha API을 사용하여 실제로 계산을 처리하십시오. 이점은 입력 및 출력 모두에 대해 훨씬 더 고급 옵션을 제공한다는 것입니다. 그러나 응용 프로그램이 쓸모 없게 될 것입니다 (계산기가 사실상 단순한 복제본이라면 왜 wolframalpha.com을 사용하지 않는 것이 좋을까요?), 비용이 들며 응용 프로그램은 오프라인으로 작동하지 않습니다 (HTML로 작성된 데스크톱 응용 프로그램입니다)./CSS/JS). 그 생각?
어쩌면 내 대답은 [this] (http://stackoverflow.com/a/42232776) 비슷한 질문에 도움이 될 수 있습니다. – Jeff