수학을 공부하거나 연구하는데 필요한 기본 툴은 종이와 연필입니다. 대체로 참고도서도 필요하죠. 이것만으로도 충분한 분들도 있겠지만, 관심 분야에 따라 다른 툴들이 필요할 수도 있습니다. 여기서는 수학에 관련된 일을 하다가 도움이 될 가능성이 높은 프로그램들 중 무료로 사용할 수 있는 것들을 소개합니다. (물론, 개인적인 생각입니다.) Google 검색엔진과 프로그램 언어는 제외합니다.
TeX / LaTeX
TeX은 1970년대 후반 수학자이자 컴퓨터 과학자였던 Donald Knuth가 The Art of Computer Programming이라는 시리즈 책의 제2권의 2쇄 견본이 초판보다 품질이 너무 떨어지는 것에 실망하고 마침 전자식으로 출판된 Patrick Winston의 Artificial Intelligence를 보다 인쇄라는 것이 결국은 종이에 0과 1(여백과 잉크)을 나열하는 것이라는 것을 인식하고 개발을 시작한 프로그램입니다. 이 프로그램 개발을 위해 그는 인쇄와 관련된 많은 내용을 공부해야 했습니다. 마침 수식에 사용할 글꼴도 없었던 터라 수식 글꼴도 스스로 만들었죠. 6개월 정도의 시간을 들이면 완성할 수 있을거라고 봤던 이 작업은 10년이 넘는 기간 동안 다른 사람의 도움까지 받아가면서 진행됩니다.
이 프로그램은 개발을 시작한지 1년이 될 무렵에 미국수학회에서 소개가 되면서 외부에 알려지게 됩니다. 처음에는 별로 주목을 받지 못하다가 개인용 컴퓨터가 대중화되는 시기와 맞물려서 수학, 물리학, 천문학을 비롯한 여러 분야의 연구원들에 의해 활발히 사용되기 시작합니다. 최대의 장점은 오로지 이 프로그램 하나만으로 출판가능한 질의 인쇄물을 얻을 수 있다는 것이었습니다. 지금도 마찬가지인데, TeX을 사용하지 않는 출판사의 경우에 출판용 인쇄물은 Adobe사의 Indesign과 같은 고가의 상용프로그램을 써야 합니다. 거기에 수식이 들어가야 한다면 또 추가비용이 발생하죠. 그리고, 입력방식도 아주 까다롭습니다. 하지만, TeX으로 작성된 파일은 그냥 인쇄하고 제본만 해도 출판물과 동일한 품질의 결과물을 얻을 수 있습니다. TeX의 문제는 처음 사용을 시작할 때까지 배워야 하는 것이 좀 많고, 복잡한 디자인의 문서를 만들기는 힘들다는 것입니다.
Wolfram Alpha
Mathematica라는 프로그램으로 알려진 Wolfram Research에서 개발된 계산지식검색엔진(computational knowledge engine)입니다. 2009년부터 서비스되고 있는데, 홈페이지에서 궁금한 것을 물어보면 구축된 데이터에 기반해서 적당한 대답을 찾아 알려줍니다. 구글 검색엔진이 대체로 검색한 결과가 있는 웹사이트를 찾아주는 것과 달리, Wolfram Alpha는 실제 필요한 계산을 직접 해서 대답해 줍니다. 매스매티카와는 달리 사용에 필요한 정확한 문법이라는 것이 없습니다. 키워드가 될 단어만 적절히 선택해서 지식인에 물어보듯이 질문하면 충분합니다. 영어로만 서비스되고 있었는데, 2018년 6월 19일부터는 일본어도 지원되고 있습니다. 모바일 버전의 앱으로 보다 좋은 환경에서 검색을 할 수 있습니다.
SageMath
Mathematica, Maple, Matlab등의 수학프로그램을 대체하기 위해 제작된 무료프로그램입니다. NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R 등의 패키지를 포함하는 대용량 수학연산 프로그램입니다. 설치가 조금 까다로운면이 있습니다. 설치에 성공해도 계산결과를 표현하는 방식이 좀 구식이라서 이런 프로그램을 처음 사용하시는 분들은 살짝 당황하실 수도 있습니다. 이런 대용량의 프로그램이 필요하지 않은 경우 python의 NumPy, SciPy, Sympy, matplotlib만 이용해도 상당한 수준의 결과를 얻을 수 있기 때문에 python을 배우는 것도 고려해볼만 합니다.
Geogebra
이 프로그램은 다른 포스팅에서 소개를 했으므로 언급만 하고 넘어갑니다. [링크]
Cinderella
이 프로그램은 원래 유료였는데, 자신의 저작물에 저작권 행사를 하지 않는다는 조건하에서는 무료로 사용할 수 있습니다. Geogebra와 비슷한 취지에서 만들어진 프로그램인데, 사용자의 작업환경이 직관적이지 않아서 인기가 덜합니다. 하지만, 프로그램의 안정성은 Geogebra보다 훨씬 뛰어납니다. 또한, 작성된 문서를 자바스크립트로 바꿔서 웹에서 볼 수 있는 기능도 Geogebra에 비해서 더 유연합니다. 사용자의 불편함을 해소하는 것이 시급한 문제이고 프로그램명이 누군가의 이름과 같아 검색에 노출되지 않는 것도 큼 문제인 것 같습니다.
OneNote, Keep, Evernote
세 프로그램은 모두 스크랩 프로그램입니다. 자료는 찾았는데 아직 정리할 준비가 되지 않은 경우와 같이 스크랩이 필요한 경우 다양한 방식으로 스크랩을 할 수 있습니다. 사용의 편의는 각자의 작업환경에 따라 다르겠습니다만, 에버노트는 역사는 오래 됐지만 무료사용에 제약이 좀 있습니다. 책을 쓰거나 논문을 작성할 때 많은 도움이 됩니다.
MathJax
웹페이지를 운영하는 경우 수식이 잘 나타나도록 해주는 자바스크립트입니다. TeX의 문법을 지원하기 때문에 TeX으로 작성한 문서를 그대로 웹에 삽입해도 어지간한 수식은 정상적으로 나타나게 만들어줍니다.
Typora
마크다운이라는 문법을 따라 작성한 문서를 알아보기 쉽게 보여줄 수 있습니다. 위의 MathJax를 지원해서 수식들도 제대로 보이기 때문에 수식이 많이 필요한 문서를 작성하는 사람들에게 특히 좋습니다. 다양한 종류의 프로그램 언어에 대한 소스코드도 잘 정리해서 보여줄 수 있습니다. 또한, 변환 가능한 파일이 많고 대부분 한글도 문제없이 변환이 되어서 문서의 2차 활용에도 많은 도움이 됩니다. Windows, Mac, Linux를 모두 지원하기 때문에 Onedrive, Google Drive, Dropbox등의 클라우드 서비스와 연결해두고 문서의 초안을 저장해두면 유용하게 재활용이 가능합니다. 기본 사용법을 홈페이지에서 한시간이면 익힐 수 있을 정도로 쉽습니다.