“전자잉크 태블릿에서 수식을 쓸 앱이 있나요?”에서 시작했습니다
질문은 전자잉크 기기 커뮤니티에서 나왔습니다. BOOX 같은 태블릿에서 펜으로 수학과 화학 공식을 쓰고 싶은데, 아래첨자와 위첨자, 분수, 근호, 그리스 문자, 화학식의 첨자와 전하까지 제대로 나오는 앱이 있느냐는 글이었습니다. 답으로 나온 것은 손글씨를 인식해 수식으로 바꿔 주는 웹 앱 하나, 스토어의 손글씨 수식 앱, 화학 구조식을 그리는 스토어 앱이었습니다.
그 도구들을 보면 같은 무늬가 반복됩니다. 웹 앱은 화면이 영어만 있고, 손글씨 인식이 핵심이라 인식이 틀리면 고치는 데 시간이 갑니다. 스토어 앱은 설치와 계정이 먼저이고, 일부는 내보내기나 저장을 구독 뒤에 두며, 전자잉크의 느린 화면 갱신에는 애니메이션이 많은 화면이 버겁습니다. 화학과 수학을 한 화면에서 함께 다루는 도구는 거의 없습니다.
포뮬러패드는 그 질문에 다르게 답합니다. 펜으로 쓰는 것은 잉크 페이지에 잉크로 남고, 깔끔하게 남길 결과는 짧은 표기로 치거나 기호를 눌러 넣어 조판합니다. 손글씨 인식이 없으니 틀리게 읽을 것도 없습니다. 수식 줄과 화학식 줄이 한 시트에 있고, LaTeX·MathML·PNG로 나가며, 한국어·영어·일본어·독일어로 나오고, 이 브라우저 밖으로 나가는 것은 없습니다. 흰 바탕에 검정, 큰 버튼, 움직이는 것이 없는 화면은 전자잉크를 먼저 생각하고 만든 것입니다.
포뮬러패드가 하는 일
시트 하나는 잉크 페이지 하나와 표기 줄들로 이루어집니다. 잉크 페이지는 모눈이 그려진 캔버스입니다. 펜으로 쓰면 필압에 따라 굵기가 달라지는 획이 남고, 지우개는 닿은 획을 통째로 지우며, 실행 취소와 다시 실행이 있고, 버튼이나 두 손가락으로 확대하고 손가락이나 이동 도구로 페이지를 옮깁니다. 모눈은 잉크와 함께 움직입니다.
펜이 처음 화면에 닿으면 “펜 전용”이 켜집니다. 그 뒤로는 펜만 그리고, 손가락은 페이지를 움직이거나 두 손가락으로 확대하며, 유리에 얹은 손바닥은 아무것도 그리지 않습니다. 손가락으로 그리고 싶으면 스위치를 끄면 됩니다. 마우스나 키보드만 있어도 모든 기능이 그대로 됩니다.
표기 줄은 두 종류입니다. 수식 줄에는 짧은 표기를 칩니다. (a+b)/(c+d)는 분수, x^2와 a_n은 첨자, sqrt{x}와 sqrt[3]{x}는 근호, alpha나 α는 그리스 문자, sum_{i=1}^n·int_0^1·lim_{x->0}은 상·하한이 붙은 큰 연산자, pmatrix{a & b \\ c & d}는 행렬입니다. 백슬래시가 있는 LaTeX를 그대로 붙여도 됩니다. 화학식 줄에는 채팅에 치듯 씁니다. H2O, Ca(OH)2, SO4^2-, Fe3+, 2H2 + O2 -> 2H2O, NaCl(aq), ^{14}_{6}C. 원소 뒤 숫자는 아래첨자, ^ 뒤는 전하, ->와 <=>는 화살표, 괄호 안 상태는 작게 붙습니다. 줄 아래에는 조판된 결과가 바로 나타납니다.
치기 싫으면 기호 팔레트를 누르세요. 구조(분수, 근호, 첨자, 행렬, 합, 적분), 그리스 문자, 연산자, 관계, 화살표, 화학(화살표, 평형, 전하, 상태, 자주 쓰는 이온) 탭이 있고, 누르면 마지막에 편집한 줄의 커서 자리에 들어갑니다. 분수처럼 빈칸이 있는 것은 선택한 글을 감쌉니다. 스타일러스만으로도 줄 하나를 다 만들 수 있습니다.
나가는 길은 셋입니다. 줄마다 “LaTeX”, “MathML”, “텍스트”를 눌러 그 줄만 복사하거나, 내보내기에서 모든 줄을 한 번에 복사합니다. LaTeX는 amsmath만 쓰는 순수 LaTeX라 mhchem 같은 패키지 없이 어느 편집기, 마크다운, 노트 앱에도 붙습니다. MathML은 MathML Core라 브라우저와 워드프로세서가 그대로 읽습니다. “PNG 저장”은 잉크와 조판된 줄을 함께(또는 하나만) 두 배 해상도의 그림으로 만듭니다.
사용법
- 앱을 엽니다. 첫 시트에는 수식 줄 하나와 화학식 줄 하나가 예시로 들어 있어 두 표기가 어떻게 조판되는지 바로 보입니다. 지우거나 고쳐 쓰세요. “새 시트”로 시트를 더 만들고, 연필 아이콘으로 이름을 바꾸고, 위의 목록에서 오갑니다.
- “잉크” 페이지에 펜으로 씁니다. 펜이 닿으면 “펜 전용”이 켜지고 손바닥은 무시됩니다. 도구는 펜, 지우개(닿은 획을 통째로 지움), 이동. 그 옆에 실행 취소·다시 실행, 축소·현재 배율·확대·잉크에 맞춤, 펜 굵기 세 가지, 잉크 지우기가 있습니다. 페이지가 좁으면 “페이지 늘리기”. 키보드에서는 Ctrl+Z / Ctrl+Y, +와 -, P·E·M이 같은 일을 합니다.
- “표기”에서 줄의 종류를 “수식”이나 “화학”으로 두고 표기를 칩니다. 아래에 조판된 결과가 바로 나타납니다. 읽지 못한 부분은 지운 자리 대신 친 대로 점선 밑줄로 표시되고 개수가 옆에 뜨니 그 자리만 고치면 됩니다. 줄은 위·아래로 옮기고, 복제하고, 지울 수 있습니다.
- 기호는 “기호” 팔레트에서 누릅니다. 탭은 현재 줄의 종류에 맞게 바뀝니다. 수식 줄이면 구조·그리스 문자·연산자·관계·화살표, 화학식 줄이면 화학·그리스 문자. 누른 기호는 마지막에 편집한 줄의 커서 자리에 들어갑니다.
- 결과를 가져갈 때는 줄의 “LaTeX”·“MathML”·“텍스트”를 누르거나, “내보내기”에서 전체 복사, 또는 “PNG 저장”을 누릅니다. PNG에 잉크와 수식 중 무엇을 넣을지 체크박스로 고릅니다. 수식 크기는 A 버튼 두 개로 네 단계 중에서 고르며 PNG에도 그 크기가 반영됩니다.
- 가끔 “백업”에서 “JSON 내보내기”를 눌러 모든 시트의 사본을 두세요. 새 기기나 다른 브라우저에서는 “JSON 가져오기”로 되살립니다. 가져오기는 합칩니다. 이미 있는 시트는 더 새로운 쪽이 남고, 없는 시트는 추가됩니다.
- 언어는 주소 뒤에 ?lang=ko, ?lang=en, ?lang=ja, ?lang=de를 붙여 고르거나 위의 선택 상자에서 바꿉니다. 고른 언어는 다음에 열 때도 유지됩니다. 홈 화면에 추가하면 안드로이드, 전자잉크 리더, 모든 브라우저에서 PWA로 설치되어 오프라인에서도 열립니다.
표기 한눈에 보기
수식 줄의 규칙은 몇 가지뿐입니다. 공백은 무시되고, 여러 글자로 된 이름은 아는 것(alpha, sqrt, sum, sin)이면 그것으로, 모르는 것이면 글자 하나씩 변수로 읽습니다. 그래서 2xy는 2·x·y입니다. 슬래시는 양옆을 분수로 만들고 괄호로 묶은 쪽의 괄호는 사라집니다. ^와 _는 뒤의 글자 하나, 숫자 전체, 또는 {…}를 첨자로 삼고, x^-1처럼 앞의 부호도 함께 갑니다. 이름 앞의 백슬래시는 있어도 없어도 같습니다. 알파벳 아닌 글자(한글, 일본어 등)는 그대로 글로 나옵니다.
화학식 줄의 규칙도 짧습니다. 대문자 하나에 소문자 하나까지가 원소이고 뒤의 숫자는 아래첨자입니다. ^ 뒤는 전하(SO4^2-)이고, 원소 하나 뒤에 숫자와 부호가 오면 그것도 전하입니다(Fe3+는 Fe³⁺, NH4+는 NH₄⁺). 양쪽에 공백이 있거나 다음 화학식이 바로 이어지는 +는 물질을 나눕니다. 맨 앞 숫자는 계수(2H2O, 1/2 O2)이고, ->·<-·<->·<=>는 화살표, 화살표 바로 뒤의 [글]은 위에 올라갑니다. (aq)(g)(l)(s)는 상태, ^{14}_{6}C는 동위원소, CuSO4.5H2O의 점은 수화물 점, 소문자 단어(heat, cat.)는 글로 나옵니다. 수식 줄 안에 ce{H2O}로 화학식을 넣을 수 있습니다.
앱 아래쪽의 “표기 치트시트”에 이 모든 것이 예시와 조판 결과로 정리되어 있습니다. 규칙을 외울 필요는 없습니다. 쳐 보고 아래에 나오는 것을 보면 됩니다.
시트가 어디에 있고, 백업은 어떻게
모든 시트, 모든 획, 모든 줄은 이 기기의 이 브라우저에만 있고 다른 곳에는 없습니다. 계정도 우리 서버도 동기화도 없고, 앱은 시트를 들고 어떤 서버에도 연락하지 않습니다. 화면 위의 안내 줄이 그 약속을 늘 적어 둡니다.
“JSON 내보내기”는 모든 시트(제목, 잉크, 줄, 배율 위치)를 파일 하나에 담아 이 기기에서 만들어 다운로드로만 내보냅니다. “JSON 가져오기”는 바꾸는 대신 합칩니다. 같은 시트는 더 새로운 쪽이 남고, 모르는 시트는 추가됩니다. 오래되었거나 손으로 고친 파일도 버전 번호로 거부하지 않고 읽을 수 있는 만큼 읽습니다.
새 버전은 “업데이트 필요” 벽을 보이지 않고 시트를 지우지 않습니다. 시트 삭제와 잉크 지우기는 먼저 묻고, 다른 곳에 사본이 없다는 것을 알려 줍니다. 브라우저 저장 공간이 가득 차면 마지막 변경을 저장하지 못했다고 바로 말합니다. JSON을 내보내고 오래된 시트를 지우면 됩니다.
손글씨를 수식으로 바꿔 주나요?
아닙니다. 그렇게 하지 않기로 정했습니다. 손글씨 인식은 잘될 때는 편하지만 틀릴 때는 어디가 틀렸는지 찾아 고치는 데 시간이 가고, 화면 갱신이 느린 전자잉크에서는 더 그렇습니다. 포뮬러패드에서 잉크는 잉크로 남습니다. 풀이 과정을 손으로 쓰고, 깔끔하게 남길 결과만 짧은 표기로 치거나 기호를 눌러 넣습니다. 그 결과는 언제나 친 것 그대로이고, 아무것도 서버로 보내지 않습니다.
문제를 풀거나 답을 확인해 주나요?
아닙니다. 포뮬러패드는 적은 것을 조판만 합니다. 계산하지 않고, 화학 반응식의 균형을 맞추지 않고, 채점하지도 않으며, 예쁘게 나온 수식이 맞는 수식이라는 뜻도 아닙니다. 화면의 안내 줄에 그렇게 적혀 있습니다. 풀이는 여러분과 여러분의 교과서, 선생님의 일입니다.
어떤 태블릿과 브라우저에서 되나요? 전자잉크에서 잘 쓰는 요령은?
포인터 이벤트를 지원하는 모든 최신 브라우저에서 됩니다. BOOX 같은 안드로이드 전자잉크 리더의 내장 브라우저나 크롬, 아이패드의 사파리, 갤럭시 탭, 서피스, 그리고 마우스만 있는 PC까지. 수식 렌더링은 브라우저의 MathML 지원에 의존하지 않고 일반 HTML과 CSS로 그리므로 오래된 웹뷰에서도 첨자와 분수가 그대로 나옵니다. 전자잉크에서는 손가락 벌리기 대신 확대 버튼을 쓰고, 화면이 어두워지지 않게 “펜 전용”을 켜 둔 채로 손바닥을 얹고 쓰세요. PNG 저장은 브라우저가 수식을 그림으로 그려야 하므로 아주 오래된 브라우저나 일부 사파리 버전에서는 잉크만 저장되고 수식은 LaTeX나 MathML로 복사하라고 알려 줍니다.
SumIt, MyScript Math, KingDraw와 무엇이 다른가요?
SumIt은 손글씨를 인식해 수식으로 바꾸는 웹 앱이고 화면은 영어(영국식)만 있습니다. 화학식은 SumIt에서도 타이핑으로 넣습니다. 포뮬러패드는 인식 대신 잉크와 짧은 표기를 나란히 두고, 화면이 한국어·영어·일본어·독일어이며, 수식과 화학식이 한 시트에 있습니다. MyScript Math(Calculator, Nebo)는 스토어에서 설치하는 손글씨 수식 앱으로 인식 품질이 높지만 설치와 계정, 일부 기능의 결제가 먼저이고, 전자잉크 브라우저에서는 열 수 없습니다. KingDraw는 화학 구조식(벤젠 고리, 결합)을 그리는 스토어 앱입니다. 포뮬러패드는 구조식을 그리지 않습니다. 반응식과 이온, 동위원소 같은 “식”을 조판하는 데 그칩니다. 구조식이 필요하면 KingDraw 같은 도구가 맞습니다.
이미 있는 LaTeX를 붙여도 되나요? 나온 LaTeX는 어디에 붙나요?
됩니다. \frac{a}{b}, \alpha, \sqrt[3]{x}, \sum_{i=1}^{n}, \begin{pmatrix} … \end{pmatrix}, \left( … \right), \text{…}, \mathrm{…}처럼 흔히 쓰는 명령은 그대로 읽히고, 모르는 명령은 지워지지 않고 친 대로 표시되어 고칠 수 있습니다. 나오는 LaTeX는 amsmath만 쓰는 순수 LaTeX입니다. 화학식은 \mathrm{H_{2}O}, \mathrm{SO_{4}^{2-}}, \xrightarrow{\Delta}처럼 나오므로 mhchem 없이도 Overleaf, 마크다운의 MathJax·KaTeX, Obsidian, Notion, 워드프로세서의 수식 입력에 붙습니다.
무료인가요? 광고, 계정, 결제는요?
무료입니다. 계정도 로그인도 구독도 인앱 결제도 없고 도구 화면에 광고도 없습니다. 시트 수, 줄 수, 내보내기, PNG 해상도 어디에도 더 내는 곳이 없습니다. 어떤 기능도 등급 뒤에 잠겨 있지 않고, 언젠가 그렇게 될 계획도 없습니다. 이 사이트의 다른 페이지에는 광고가 있을 수 있지만 도구 자체에는 없습니다. 안내나 피드백은 “가이드 & 피드백” 버튼으로 남길 수 있습니다.
