2016-12-09 7 views
8

khanacademy.org 또는 mathspace.co 또는 이와 유사한 웹 사이트의 가상 수학 키보드를 만들려고합니다. 수학 기호를 삽입하고 질문에 답할 수 있습니다. 당신이 학생이라면, 어떻게 그런 것을 얻을 수 있습니까? khanacademy.org에서 그들은 MathJax를 사용하고 있으며, 운이없는 설명서를 읽으려고했습니다.MathJax 또는 이와 유사한 가상 라텍스 수학 키보드

enter image description here

enter image description here

+5

당신은 의미합니까 당신이 설명서를 이해하지 못했거나 당신에게 적합하지 않은 설명서의 예제 코드의 특정 부분이 있습니까? 구체적으로 질문이 무엇인지 이해하는 데 문제가 있습니까? MathJax를 이해하지 못했거나 키보드를 만드는 방법을 알려주고 있습니까? 시도하지 않은 코드를 보여줄 수 있습니까? – quarterpi

+0

문서에서 특정 작업을 수행하는 방법을 찾을 수 없지만 MathJax 이외의 다른 옵션을 찾아 보려고했습니다. MathJax 일 필요는 없지만 유용한 코드 참조를 찾으려고합니다. – Ruby

+1

좋아요, 이건 정확히 당신이 찾고있는 것이 아니 겠지만 프로젝트를 구현하는 방법에 대한 아이디어를 줄 수 있기를 바랍니다. 첫 번째 링크는 수학 키보드에 연결되고 두 번째 링크는 계산기입니다. 둘 다 GitHub에서 찾을 수 있습니다. [키보드] (https://github.com/MrCoffey/MathKeyboard), [계산기] (https://github.com/bluepichu/dimensional-calculator) – quarterpi

답변

4

MathQuill는 당신이 필요 달성하기 위해 당신을 도움이 될 것 같다. 모든 필수 입력 기능을 가지고 있지만 기본적으로 키보드를 표시하지 않습니다. 아래는 홈 페이지의 데모 코드입니다. 스 니펫에서 잘 작동합니다. MathQuill docs의 옵션을 사용하여 구성 할 수 있습니다.

키보드는 구현하기가 아주 쉬운 별도의 컨트롤입니다 (예 : 아래의 부트 스트랩 사용). 키보드가 .cmd (str)을 사용하여 MathQuill 필드에 입력 명령을 제공합니다 (초점을 .focus()로 되 돌리는 것을 잊지 말것) - 함수 입력()을 참조하십시오. bootstrap site에 설명 된대로 bootstrap.css을 포함해야합니다 부트 스트랩을 사용하여, 참고 : 당신이 말할 때, "나는 행운을 가진 문서를 읽으려고"

var mathFieldSpan = document.getElementById('math-field'); 
 
var MQ = MathQuill.getInterface(2); 
 
var mathField = MQ.MathField(mathFieldSpan, { 
 
    spaceBehavesLikeTab: true, 
 
    handlers: { 
 
    edit: function() { 
 
     mathField.focus() 
 
    } 
 
    } 
 
}); 
 

 
function input(str) { 
 
    mathField.cmd(str) 
 
    mathField.focus() 
 
}
<link rel="stylesheet" href="http://mathquill.com/lib/mathquill.css" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<script src="http://mathquill.com/lib/mathquill.js"></script> 
 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/latest/css/bootstrap.min.css"> 
 

 
<p>Type math here: <span id="math-field"></span> 
 
</p> 
 
<div id="keyboard"> 
 
    <div class="btn-group" role="group" aria-label="math functions"> 
 
    <button type="button" class="btn btn-default" onClick='input("\\sqrt")'>√</button> 
 
    <button type="button" class="btn btn-default" onClick= 'input("\\sin")'>sin</button> 
 
    <button type="button" class="btn btn-default" onClick='input("\\cos")'>cos</button> 
 
    <button type="button" class="btn btn-default" onClick='input("\\tan")'>tan</button> 
 
    </div> 
 
</div>

+0

매우 유용한 @MaxVorobjev입니다. 그것은 내가 찾고 있었던 것입니다. 그러나 나는 React에 익숙하지 않다. React 나 Angular없이 이것을 할 수있는 방법이 있는가? 그냥 일반 JS와 jQuery인가? – Ruby

+0

jQuery를 사용하면 매우 구성 가능한 키보드 인 https://mottie.github.io/Keyboard/를 사용할 수 있습니다. 키패드 예제를 보면 입력 기능을 동일하게 유지하고 jQuery 키보드로 onClick 이벤트에 바인딩하면됩니다. –

+0

그보다 사실 단순한 부트 스트랩 CSS를 사용하면 설치 공간이 적은 아름다운 키보드를 구현할 수 있습니다. 편집 답변, 지금은 부트 스트랩, jQuery 및 Mathquill 만 사용합니다. –