수식 표현
오늘만 무료 어플에 대한 글을 쓰다 불현 듯 "HTML에서 수식을 표시하는 좋은 방법이 없을까?"하는 생각이 떠올랐다. 이런 생각을 한 이유는 예전에 HTML에서 수식을 표현하기 위한 프로젝트가 진행됐던 기억이 있기 때문이다. 그런데 막상 찾아 보니 HTML에서 수식을 표현하는 것은 모두 이미지 방식이었다. 다만 이런 이미지를 잡아 HTML에 올리는 것이 불편하기 때문에 텍스(TeX) 형태로 입력하면 이미지 링크를 알려 주는 사이트만 있었다.
수식 표현
오늘만 무료 어플에 대한 글을 쓰다 불현 듯 "HTML에서 수식을 표시하는 좋은 방법이 없을까?"하는 생각이 떠올랐다. 이런 생각을 한 이유는 예전에 HTML에서 수식을 표현하기 위한 프로젝트가 진행됐던 기억이 있기 때문이다. 그런데 막상 찾아 보니 HTML에서 수식을 표현하는 것은 모두 이미지 방식이었다. 다만 이런 이미지를 잡아 HTML에 올리는 것이 불편하기 때문에 텍스(TeX) 형태로 입력하면 이미지 링크를 알려 주는 사이트만 있었다.
먼저 발견한 사이트는 Online LaTeX Equation Editor라는 사이트이다. 라텍스 형식으로 수식을 입력하면 본문에 삽입할 수 있는 링크를 알려 준다. 이외에 LaTeX Equation Editor - SITMO라는 유사한 사이트도 있었다. 두 사이트 모두 라텍스 형태로 수식을 입력하면 이미지로 수식을 표현해 주는 사이트였다.
요즘은 수식은 거의 사용하지 않는다. 따라서 HTML에서 수식을 표현하는 방법을 굳이 따로 찾을 필요는 없었다.그런데 수학을 좋아하고 또 대학원에서 통신을 전공했기 때문에 요즘 사용하지 않는 수식이지만 HTML에서 편하게 입력할 수 있는 방법을 찾게됐다. 그러다 똑 같은 방식은 아니지만 HTML에 텍스 형태로 수식을 입력하면 자동으로 이미지로 바꿔주는 방법을 알 수 있었다.
Tistory에서 수식 표현하기라는 글을 보면 mathTeX를 이용해서 손쉽게 HTML내에 수식을 삽입하는 방법이 나온다. 티스토리이기 때문에 스크립트를 직접 입력하는 방법을 택하고 있다. 이 것을 보니 텍스트큐브의 플러그인으로 만들어도 괜찮겠다는 생각이 들어 텍스트큐브의 플러그인으로 만들었다. 다만 Tistory에서 수식 표현하기에서 'mathtex_server'의 값(http://www.problem-solving.be/cgi-bin/mathtex.cgi)[1]은 http://www.forkosh.com/mathtex.cgi로 바꿔 주어야 잘 동작[2]했다.
근의 공식
다음은 이 플러그인을 이용해서 근의 공식을 구해 본 것이다. 고등학교 때는 껌씹는 기분으로 했던 증명인데 오늘 다시 증명해 보려고 하니 의외로 어렵다.
의 일반해 구하기
일반적으로 근의 공식은 와 같은 완전 제곱의 형태로 바꿔 일반 해를 구하는 방법이다. 위의 식은 으로 바꾸면 해를 구할 수 있다.
일단 각항을 로 나눈다. 로 나누기 위해서 이어야 한다.
1차항의 계수()를 2로 나누어 제곱한 값()을 더하고 뺀다.
더하고 뺏기 때문에 수식의 변화는 없다. 이렇게 하는 이유는 앞에서 설명했듯이 에 대한 완전 제곱꼴로 바꾸기 위해서다.
완전 제곱으로 바꾸기 위해 필요한 항()을 빼고 나머지는 우변으로 넘긴다.
이제 에 대한 완전 제곱 꼴로 바꾸고 우변을 정리한다.
왼쪽 수식에서 제곱을 없애면 우변은 형태로 바뀐다. 또 로 바뀌기 때문에 최종적으로 우변은 다음처럼 된다.
다시 상수를 우변으로 넘겨 에 대해 정리하면 다음과 같이 된다.
그래프
위에 표현된 수식을 보면 알 수 있지만 상당히 깔끔하다. 텍스 문법만 익숙하다면 웹 상에서 수학 교육을 해도 될 듯하다. 또 텍스 수식을 입력하면 그래프를 그려 주는 사이트나 플러그인이 있다면 정말 괜찮겠다는 생각이 들었다. 목마른 놈이 우물을 파고, 자빠진 김에 쉬어 간다고 이왕 시작된 일 플러그인에 그래프를 그리는 기능까지 추가했다. 물론 형식의 텍스의 형식이 아니라 WZGrapher의 형식을 따른다. 다음 그래프는 다음 식을 그래프로 그린 것이다.
플러그인 코드: <texgp>cos(pi*x)/(-LN2*x)</texgp>
플러그인
플러그인의 설정 부분을 만드는 것이 귀찮아 요즘 만드는 플러그인은 공개하지 않고 모두 혼자서 사용하고 있다. 이 플러그인은 따로 설정 부분을 만들 필요가 없기 때문에 공개한다. 사용법은 간다하다. 이 플러그인을 플러그인 폴더에 폴더째 복사한 뒤 플러그인 관리자에서 활성화하면 된다. 그리고 수식이 필요할 때는 <tex>..</tex>, <texeq>..</texeq>를 사용하면 된다. <tex>..</tex>는 본문에 작은 수식을 삽입할 때 사용하며, <texeq>..</texeq>는 본문과 별도로 다른 줄에 큰 수식을 삽입할 때 사용한다. 또 그래프를 그리고 싶다면 위의 예처럼 <texgp>...</texgp>에 수식을 두면 된다.
또 텍스 문법을 모른다면 Online LaTeX Equation Editor나 LaTeX Equation Editor - SITMO와 같은 위지윅 편집기를 이용해서 수식을 만들고 만들어진 수식을 HTML내에 붙여 넣으면 된다. 다만 이 플러그인에 대한 지원은 없을 것이다. 또 플러그인의 설치나 동작에 대한 질문도 따로 받지 않겠다. 받아서 동작하면 사용하고 동작하지 않으면 삭제하기 바란다.
Trackback
Trackback Address :: https://offree.net/trackback/2827
-
Subject : Tistory에서 수식 표현하기
Tracked from Ens, New Start 2009/10/21 19:33 del.다음의 소스코드를 skin.html 의 첫 부분인 </head> 바로 앞에 넣으세요. <script language="javascript" type="text/javascript"> // Thanks for the public TeX renderer, mathTeX by John Forkosh! // http://www.forkosh.com // modified by ensual
Comments
-
역전의용사 2009/10/19 11:51
헐~ 간만에 수학 관련 공식을 보니 머리에 쥐납니다;;;
제가 워낙에 수학은 싫어하고 잘 못하니 저런 걸 보면 머리 아프네요 ㅎㅎ
그래도 고등학교때 문과가 아닌 이과를 선택한;;;;;; -
peremen 2009/10/19 12:20
본문에서 언급하신 'TeX'는 '텍'이라고 읽습니다. http://faq.ktug.or.kr/faq/TeX 페이지를 참고하세요.
한국 TeX 사용자 모임 홈페이지는 http://www.ktug.or.kr 입니다.-
도아 2011/03/11 18:31
TeX는 영어가 아니며 우리말로 번역하면 텍입니다.
윗분이 지적하셨듯 '번역'과 '표기'를 구분할 줄 모른다면 이런 댓글은 달지 않는 것이 좋습니다.
영어에서 TeX은 TeX로 쓰고 /tek/ 으로 읽습니다.
예. 그런데 우리말에서는 '텍스'로 읽습니다. 우리나라에 "외래어 표기법이 있다"는 것도 모르죠? 다음은 tex를 우리말 표기법에 따라 표기해 주는 사이트에서 직접 tex를 입력한 뒤 잡은 화면입니다.
정확한 정보를 주는 좋은 조언을 손가락만 보는 바보의 우문으로 취급한다면 그 사람에게는 발전이 없을 것입니다.
무엇이든 마찬가지지만 아는 것이 없으면 나서지 않는 것이 좋습니다. 님은 바보가 하는 조언이 좋은 조언일지 모르겠지만 보통 사람들은 바보의 말은 무시한답니다. 그나마 대꾸해주는 것이 다행인 셈이죠. 아울러 다른 사람의 발전을 따지기 전에 국어부터 다시 시작하는 것이 그나마 "대접 받으며 살 수 있는 길일 것 같다"는 생각이 듭니다.
-
빡션 2011/04/06 00:04
얼마 전 제가 저 위에 달아놓은 댓글에서는 표현이 모호했고 오해가 생길 수 있었습니다. 죄송합니다.
TeX는 조판 시스템이며 고유명사입니다. 미국인 도널드 크누스가 만들었고 미국을 비롯한 영어권 국가와 그밖의 대부분의 나라에서 /ˈtɛx/나 /tɛk/라고 읽습니다.(영문 위키 백과 등을 참고했습니다.) 한국에서는 많은 사람들이 /텍/이라고 창안자의 발음을 따르고 일부는 /텍스/라고 읽는 것으로 알고 있습니다. 한국어는 발음과 한글 표기가 거의 일치하기 때문에 표기도 역시 '텍'과 '텍스'가 주로 쓰입니다.
고유명사는 번역하지 않는 것이 맞습니다. 국외의 고유명사를 표기할 때는 외래어 표기법에 맞추어 적어야 합니다. 외국어 중에서도 로만 알파벳으로 표기하는 언어는 여러가지가 있지만 한국인에게는 영어가 특히 익숙하기 때문에 그밖의 언어 표기에서는 혼동이 생기기 쉽습니다. 로만 알파벳은 언어마다 각기 그 소리값이 다르기 때문에 외래어나 외국어를 한국어에서 한글로 표기할 때 그 기준으로 이용할 수 없습니다. 따라서 외래어와 외국어는 그 소리(발음)를 기준으로 외래어 표기법에 맞추어 적는 것입니다. (참고로 말씀드리자면 여기서 말하는 외래어 표기법은 비슷한 어문 규정인 로마자 표기법과 쓰이는 곳이 다릅니다.)
도널드 크누스가 창안한 고유명사 TeX를 한국어에서 한글로 표기하면 '텍'입니다. 국어사전에는 텍스라는 texture에서 유래된 낱말만 올라 있고 고유명사 텍이나 텍스는 없는 것 같습니다. 외래어 표기 변환기에서 텍스로 나오는 것은 고유명사 TeX을 인식하지 못하고 tex을 영어로 읽고 변환하여 출력한 것 같습니다.
'TeX is a typesetting system designed by Knuth.'
위 문장은 영어입니다. 한국어로 번역해서 한글로 적으면
'텍은 크누스가 고안한 조판 시스템이다.'
라고 할 수 있습니다. 여기서는 번역을 했습니다. 번역을 하는 과정에서 로만 알파벳으로 쓰인 고유명사를 한글로 옮겨 적었으며 이 때 TeX을 텍이라고 적었습니다. (이 과정은 TeX을 텍으로 번역한 것과 유사합니다.) 이와 같이 영어를 한국어로 번역해서 한글로 적을 때 TeX를 텍이라고 표기하는 것이 외래어 표기법에 맞는 바람직한 표현입니다.
덧붙여서 말하자면 창안자가 미국인인데도 자기가 만든 시스템 이름에 미국식 발음을 사용하지 않은 것이 혼동이 생기는 원인일 수 있습니다. 개인적으로 미국인이든 한국인이든 자기나라 언어로 고유명사를 만드는 게 좋다고 생각하기 때문에 TeX를 텍이나 테흐로 읽는 것이 저도 기분 좋은 일은 아니지만 TeX을 한글로 '텍'이라고 적고 /텍/으로 읽는 것이 우리 모두의 좋은 의사소통에 보탬이 된다고 생각합니다.
국어사전에 있는 텍스는 아래 항목만 있습니다. 고유명사는 없습니다.
텍스 ←texture
[Ⅰ][명사]
펄프 찌꺼기, 목재 부스러기 따위를 압축하여 만든 널빤지. 보온, 방음, 차열성이 좋고 가벼워 천장이나 벽에 붙이는 건축 재료로 쓴다.
[Ⅱ][의존명사]
실의 굵기를 나타내는 국제 표준화 기구의 단위. 1텍스는 길이 1,000미터의 무게가 1그램이 되는 실의 굵기로 9데니어에 해당한다. 수가 작을수록 실이 가늘다. 기호는 tex.
영한사전에 있는 텍스입니다. 위와 마찬가지로 texture에서 유래한 말에 대한 설명(또는 번역)입니다.
tex [명사] (섬유공학) 텍스
오래된 글에 단 댓글인데도 읽고 관심 가져 주셔서 감사합니다. 따끔한 지적을 들으면 잠깐 제 기분은 상하지만 이번 일로 항상 겸손하고 남을 배려하는 말투 글투를 생각해야 한다는 교훈을 얻었습니다. 앞으로도 국어 공부 열심히 하겠습니다. -
도아 2011/04/06 08:45
고유명사는 번역하지 않는 것이 맞습니다.
먼저 국어 공부부터 다시 하기 바랍니다.
Apple - 사과 (번역)
Apple - 애플 (왜래어 표기)Tex를 텍스라고 하는 것은 번역이 아니라 외래어 표기입니다. 외래어는 지멋대로 표기하는 것이 아니고 우리말의 외래어 표기법에 따라 적습니다. 그런데 아직도 번역과 표기를 구분하지 못하는 국어 실력 때문 계속 같은 소리를 하는 것 같군요. 위의 그림에도 나오지만 우리말 외래어 표기법에 Tex는 텍스로 표기합니다. 쉬운 예입니다만 님은 지금
Orange는 어린쥐로 번역해야 한다.
고 주장하고 있습니다. 먼저 Orange는 굳이 번역을 한다면 감귤이라고 번역하는 것이 맞습니다. Tex도 굳이 번역을 한다면 기술에서 왔기 때문에 기술이라고 번역해야죠. 번역이란 단어의 뜻을 우리말로 바꾸는 것이지 단어의 발음을 우리말로 바꾸는 것이 아닙니다. 기본적으로 님은 번역이라는 말의 뜻조차 모른다는 이야기가 되죠. 그런데 Orange는 감귤이라고 번역하고 오렌지라고 표기합니다. 그 이유는 뭘까요? Orange를 오렌지라고 표기하도록 우리말 외래어 표기법에 되어 있기 때문입니다.
국어사전에 있는 텍스는 아래 항목만 있습니다. 고유명사는 없습니다.
그 많은 외래어가 국어사전에 등록되어 있지 않습니다. 그래서 국어사전에 없는 단어는 우리나라 맞춤법 표준안의 외래어 표기법에 따라 표기하죠. 또 외래어 표기법에는 명사, 고유명사를 구분하지 않습니다. 여기서 국어사전과 고유명사를 운운하는 자체가 우수운 이야기죠.
앞으로도 국어 공부 열심히 하겠습니다.
예. 정말 열심히 해야 겠군요. 번역과 표기를 모르니 처음부터 다시해야 할 것 같습니다. 참고로 텍스가 뭔지에 대해 구구절절 적을 필요가 없습니다. 논점도 아닌 것을 가지고 구구절절 이야기해봐야 님 밑천만 보일 뿐이니까요. 끝으로 이 댓글이 님에 대한 마지막 댓글입니다.
-
빡션 2011/04/06 10:24
번역이란 말의 정의는 논외로 하고 간단히 요점만 적겠습니다.
스티브 잡스의 회사는 사과컴퓨터가 아닙니다.
orange는 국어사전에 오렌지라고 나와있으므로 그렇게 적습니다.
Ronald Reagan은 로널드 리건이라고 표기하면 안됩니다.
국어연구원의 외래어 표기법에 따르면 TeX은 '텍'이라고 적어야 합니다.
도아님께서 주장하시는 텍스는 섬유용어입니다.
고유명사를 적는데는 외래어 표기법 쓰는게 맞습니다. (참고 http://blog.chosun.com/kjmunn/1218326) 처음 댓글에서 텍스가 외래어라고 하셨는데 제가 올바른 외래어 표기법을 논하는데는 고유명사 얘기만 하시고 결론이 불분명하네요. 우리 모두 쥐가 아니니 소통했으면 좋겠습니다.
-
Guju 2009/10/19 12:39
그래프는 잘 보이는데 근의 공식은 보이지가 않네요. 설치해야 하는 플러그인이 있나요?
이 것도 아니라면 무슨 연유일까요?
윈도우XP에 파이어폭스 3.5를 사용중입니다.-
okto 2009/10/19 13:05
아직은 mathML을 제대로 보여주는 브라우저가 파폭밖에 없습니다. 일부 브라우저에서만 수식을 그림으로 나오게 해주는 스크립트들이 현재로서는 가장 쓸만한 방법인 것 같습니다. 수식이 안보이신다면 http://sidedot.tistory.com/24 요런 방법도 참고해보세요.
-
Vermond 2009/10/19 13:13
아... 근의 공식이라... 옛날 생각나네요
수업시간때 졸지만 않고 제대로만 들었어도 수학 실력이 일취월장 했을 듯한데
조는 바람에 물건너갔죠
확실히 저런게 지원되면 수식 작성에 쉽기는 하겠습니다만
역시 사용 방법이 아직까지 그다지 쉽다고는 하기 어렵군요
과연 수학도 잘하면서 이런 방법도 잘 하시는 분이 몇명이나 계실지..=_=;;; -
-
-
지나가는 행인 2009/10/19 16:35
일반해 구할때
1에서 a가 0이 아니어야 한다했는데..
0이면 그냥 1차식이 되어버려서..
그냥 답이 구해지게 되는군요.ㅋㅋ
그냥 지나가는 공대생의 쪼크였습니다...^^;; -
-
-
Kael H. 2009/10/20 12:59
함수 그래프로 나타내면 재미있는 것들이 엄청 많지요..
코흐의 눈송이같은 것두요..
근의 공식.... 저도 한 3년만에 다시 근의공식을 종이와 펜만 가지고 증명하는데..
힘들었습니다... 그냥 외우고 살던 내용을 증명하기가 쉽지는 않았어요, -
-
이야기꾼 2010/02/10 16:43
아주 좋은 플러그인 잘 쓰겠습니다. 전 mathML로 쓰는데 안타깝게도 크롬에선 볼 수가 없더군요. 게다가 그래프까지 그려주니 정말 좋습니다. 좌표구간도 설정할 수 있으면 좋겠는데 좀 어렵겠지요.
-
김석일 2010/12/16 16:06
도아님
간단한 도형(삼각형같은) 을 쉽게 입력할수 있는 웹툴 아시나요??
수식입력하는 툴은 감사히 참고 했고요..
근데 간단한 도형은 잘모르겠네요.
도형입력하는 것만 있으면
웹으로 수학문제를 정리 할수 있을듯한데...
아시면 소개 부탁드립니다.
Facebook