1.1 수학 및 그 표기법

1.2 기원과 목표

1.2.1 MathML의 역사

1.2.2 HTML의 한계

1.2.3 수학적 마크업 요구사항

1.2.4 MathML 프로젝트의 목표

1.3 웹에서 MathML의 역할

1.3.1 기존 수학적 마크업 언어

1.3.2 HTML 확장 메커니즘

1.3.3 브라우저 확장 메커니즘

1.4 MathML 개요

1.4.1 MathML 요소의 분류

1.4.2 마크업 보기

1.4.3 콘텐츠 마크업

1.4.4 프레젠테이션과 콘텐츠 결합

1.5 문서의 MathML

1.6 MathML 예제

1.6.1 마크업 예제 보기

1.6.2 콘텐츠 마크업 예제

1.6.3 혼합 마크업의 예

1.7 MathML 구문 및 문법

1.7.2 XML 구문 예제

2.1 모질라와 파이어폭스

2.2 마이크로소프트 인터넷 익스플로러

MathML(Mathematical Markup Language)은 수학 응용 프로그램을 위한 XML 기반 마크업 언어입니다. WWW 컨소시엄(W3C)에서 개발했으며 권장 사항으로 채택되었습니다. 현재 버전 2003년 10월 21일 승인된 MathML(수학 마크업 언어) 버전 2.0(2판)입니다.

MathML은 수학적 마크업의 두 가지 "관점"을 구현합니다. 그 유형 중 하나는 수학 공식의 시각적 표현 형식을 설명하는 프레젠테이션 마크업입니다. 두 번째는 의미론적 내용을 표현하는 Content Markup이다.

MathML은 표현뿐만 아니라 공식 요소의 의미도 고려합니다. MathML을 보완하기 위해 수학적 의미 체계 마크업 시스템도 개발 중입니다. OpenMath라고 합니다.

1.2.1 MathML의 역사

컴퓨터 처리 및 전자 통신 수단에 대한 수학적 정보를 제시하는 작업은 인터넷이 출현하기 오래 전에 발생했습니다. 과학자들이 ASCII 문자를 기반으로 한 어떤 형식으로 논문을 작성한 다음 이를 통해 서로에게 보내는 것이 일반적인 관행이었습니다. 이메일. 여러 수학적 마크업 언어, 특히 TEX은 웹이 그처럼 두드러진 위치를 차지하기 전인 1992년에 이미 널리 사용되었습니다.

네트워크는 처음부터 효과적인 방법많은 사람들에게 정보를 제공합니다. 그러나 World Wide Web은 원래 과학자를 위해 과학자에 의해 구상되고 구현되었지만 HTML에 수학적 표현을 포함할 수 있는 가능성은 극히 제한적이었습니다. 현재 웹상의 대부분의 수학적 정보는 다음과 같은 텍스트 형식으로 제공됩니다. 그래픽 이미지과학적 표현(GIF 또는 JPEG 형식) 또는 전체 PDF 문서.

W3C(World Wide Web Consortium)는 과학적 커뮤니케이션을 위한 기반 부족이 주요 문제임을 이해했습니다. 일찍이 1994년에 Dave Raggett은 HTML 3.0 프로토타입에 HTML Math를 포함하자는 제안을 했습니다. 1995년 4월 다름슈타트에서 열린 회의에서 수학 표기법에 대한 원탁 회의가 열렸습니다. 같은 해 11월 Wolfram Research의 대표자들은 W3C 팀에 HTML 내에서 수학 지원을 구현하기 위한 제안을 제출했습니다. 1996년 5월 Champaign-Urbana에서 열린 Digital Library Initiative 회의는 많은 이해 관계자를 모으는 데 중요한 역할을 했습니다. 이 회의는 HTML Math에 대한 편집 검토 위원회를 구성하는 결과를 가져왔습니다. 이어서 이 작업 그룹 1997년 3월에 최초의 W3C Math Working Group으로 공식 개편되었습니다. 두 번째 W3C 수학 작업 그룹은 1998년 7월에 구성되었습니다.

MathML 프로젝트는 다양한 전문가 그룹의 관심과 의견을 반영합니다. MathML 개발의 많은 부분은 특별히 언급할 가치가 있습니다. 예를 들어, 특히 가시적인 어려움이 있었던 접근성 문제와 관련이 있습니다. T. V. Raman은 이 방향으로 많은 일을 했습니다. Wolfram Research의 Neil Soiffer와 Bruce Smith는 Mathematica 3.0 프로젝트 작업 중에 얻은 수학적 표현 문제를 해결한 경험을 공유했습니다. 그들의 아이디어는 뷰 요소의 구조에 중요한 영향을 미쳤습니다. Design Science의 Paul Topping은 수학 형식 지정 및 편집에도 기여했습니다. MathML은 SGML 및 컴퓨터 대수학 커뮤니티에서 수학적 정보를 인코딩하는 다른 작업과 관련된 여러 작업 그룹 구성원과의 파트너십을 통해 많은 이점을 얻었습니다. 여기에는 StiloTechnologies의 Stephen Buswell, ElsevierScience의 NicoPoppelier, INRIA(SophiaAntipolis)의 StéphaneDalmas, WaterlooMaple의 StanDevitt, AngelDiaz 및 RobertS가 포함됩니다. IBM의 Sutor와 StephenM. 웨스턴 온타리오 대학의 와트. 또한 MathML은 OpenMath 프로젝트, ISO 12083 작업 그룹의 작업 및 "의미론적" 수학을 위한 DTD 조각에 대한 Stilo Technologies의 작업의 영향을 받았습니다. 미국 수학 학회는 MathML 개발에 핵심적인 역할을 했습니다. 무엇보다도 이 조직의 대표가 두 W3C 수학 워킹 그룹의 의장이 되었습니다. 1996년 5월부터 1997년 3월까지 밴드는 Ron Whitney가 이끌었습니다. Patrick Ion은 1997년 3월부터 1998년 6월까지 The Geometry Center의 Robert Miner와, 1998년 7월부터 IBM의 Angel Diaz와 함께 그룹의 공동 의장을 맡았습니다.

MathML 개발의 목표는 다양한 정보 환경에서 외부 프로그램과 고품질 디스플레이와의 상호 작용을 허용하는 유연하고 확장 가능한 수학 표기법 시스템을 요구합니다. 그러나 이러한 모든 요구 사항을 충족하는 마크업 언어는 매우 복잡합니다.

동시에 학생과 같은 많은 사용자 그룹의 경우 웹 페이지에 수학적 표현을 포함하는 쉬운 방법을 갖는 것이 중요합니다. 마찬가지로 다른 그룹의 경우, 예를 들어 TEX 시스템 사용자의 경우 최고의 솔루션 TEX과 같은 언어를 사용하여 마크업을 웹 페이지에 직접 통합할 수 있는 시스템이 있을 것입니다. 일반적으로 사용자 그룹에 따라 필요에 가장 적합한 다양한 형태의 입력 및 출력이 필요합니다. 따라서 이상적으로는 수학 문서를 웹에 게재하는 시스템은 다양한 정보 환경에서 정보 교환 및 표시를 위한 일반 서비스뿐만 아니라 입력 및 출력을 위한 전문 서비스를 모두 제공해야 합니다.

실제로, 수학적 표준이 전문적이고 일반적인 요구를 위해 네트워크에서 무엇을 제공해야 하는지에 대한 검토는 계층 구조의 아이디어로 이어집니다. 첫 번째 수준에는 수학 데이터의 교환, 처리 및 표시를 위한 강력한 표준 도구가 포함됩니다. 두 번째 수준에는 특정 사용자 그룹을 위해 설계된 특수 도구가 포함되어 있어 제한된 사용자 그룹에 배포하기 위해 수학적 정보를 쉽게 인코딩할 수 있습니다.

MathML은 2계층 아키텍처의 더 낮고 더 일반적인 수준에서 수학적 정보를 표시하도록 설계되었습니다. 여기에는 표시, 검색 및 인덱싱 도구, 기타 수학적 응용 프로그램으로 처리하기 쉬운 엄격하고 규칙적인 형식으로 복잡한 표기 및 의미 구조를 표시하는 작업이 포함됩니다.

결과적으로 MathML 마크업은 작성자가 직접 사용하도록 의도되지 않았습니다. MathML은 사람이 읽을 수 있어 디버깅에 많은 도움이 되지만 가장 단순한 경우를 제외하고는 수동 코딩을 하기에는 너무 복잡합니다. 대신 작성자는 특수 수식 편집기, 변환기 및 기타 특수 소프트웨어만들기 위해 MathML 문서. 또는 일부 렌더링 프로그램 및 수학 문서 지원 시스템은 다른 입력 형식을 즉석에서 MathML로 변환할 수 있습니다.

어떤 면에서 MathML은 Adobe에서 개발한 PostScript 언어와 같은 다른 저급 통신 형식과 유사합니다. PostScript 파일을 만들 수 있습니다. 다른 방법들, 필요에 따라 전문가가 수동으로 작성 및 편집하고 작성자는 다음을 사용하여 작성합니다. 워드 프로세서, 디자이너 - 일러스트레이터 등. PostScript 파일이 있는 경우 프린터 및 화면 뷰어와 같은 PostScript 디스플레이 장치를 널리 사용할 수 있으므로 매우 많은 청중에게 배포할 수 있습니다.

MathML을 일반 의사소통 수준의 마크업 언어로 발전시킨 이유 중 하나는 수학적 발달을 자극하기 위함이다. 소프트웨어최상위 네트워크. MathML은 수학적 자료를 만들고 표시하기 위한 소프트웨어 모듈 개발자의 노력을 조정하는 방법입니다. 기능 부품 개발 간소화 큰 시스템, MathML은 잠재적인 사용자에게 매우 유용한 프로그램 개발을 자극할 수 있습니다.

작성자는 필요에 가장 적합한 도구를 사용하여 MathML 문서를 작성할 수 있습니다. 학생들이 선호할 수 있음 비주얼 에디터 XHTML 파일에 MathML 마크업 블록을 저장하는 기능이 있는 공식. 연구원은 동료가 웹 페이지에서 가져와 처리할 수 있도록 수학 정보를 자동으로 인코딩하는 컴퓨터 대수학 패키지를 사용할 수 있습니다. 학술지 발행인은 TEX 마크업을 HTML 및 MathML로 변환하는 프로그램을 사용할 수 있습니다. MathML을 포함하는 웹 페이지를 만드는 방법에 관계없이 공통 통신 계층의 모든 이점을 사용할 수 있습니다. MathML과 함께 작동하는 다른 프로그램을 동일한 문서에서 음성 및 인쇄로 출력하고 컴퓨터 대수학 시스템에 입력하고 웹 문서의 대규모 아카이브의 일부로 관리하는 데 사용할 수 있습니다. MathML 형식의 수학 문서를 고품질로 인쇄하려면 표준 시스템이 목적을 위해 특별히 만들어진 T E X를 포함한 레이아웃. 마지막으로 MathML은 스프레드시트, 집계 패키지 및 엔지니어링 도구와 같이 수학 공식이 발생하는 다른 영역에 결국 통합될 것으로 예상할 수 있습니다.

W3C Math Working Group은 문서 생성 및 표시 도구를 포함하여 다양한 MathML 도구를 곧 사용할 수 있도록 다양한 소프트웨어 회사와 협력하고 있습니다. MathML과 함께 작동하는 프로그램의 현재 목록은 Math World Wide Web Consortium 페이지에 있습니다.

HTML Math의 원래 개념은 단순히 HTML 태그 집합을 확장하여 브라우저에서 직접 해석을 제공하는 것이었습니다. 그러나 그 이전에도 네트워크의 폭발적인 성장으로 인해 글로벌 확장 메커니즘이 필요했으며 수학적 정보는 이러한 메커니즘을 사용하여 웹에 통합할 수 있는 구조화된 데이터 유형 중 하나일 뿐이라는 것이 분명해졌습니다.

MathML이 확장으로 웹에 통합된다는 점을 감안할 때 MathML과 이를 사용하는 프로그램이 기존 웹 환경과 잘 상호 운용될 수 있는 것이 매우 중요합니다. 특히 MathML은 세 가지 유형의 상호 작용을 염두에 두고 설계해야 합니다. 첫째, 수학적 콘텐츠 생성을 위해서는 기존의 수학적 마크업 언어를 MathML로 변환할 수 있고 MathML 문서를 생성할 수 있는 기능을 기존 에디터에 추가하는 것이 중요하다. 둘째, 추가로 HTML 마크업에 MathML 마크업을 포함할 수 있어야 하며, 이 경우 향후 브라우저에서 사용할 수 있습니다. 검색 엔진이제 HTML과 함께 작동하는 모든 유형의 웹 애플리케이션. 마지막으로 HTML에 포함된 MathML을 표시할 수 있어야 합니다. 최신 브라우저결과가 이상적이지 않더라도. HTML에서 XHTML로의 전환과 함께 위의 모든 요구 사항은 더욱 필요하게 될 것입니다.

월드 와이드 웹은 완전히 국제적입니다. 수학은 전 세계적으로 사용되는 언어입니다. 과학 기술의 수학적 표기법은 자국어와 밀접한 관련이 있습니다. W3C는 세계와 소통하는 건설적인 힘이 되는 것을 목표로 합니다. 따라서 MathML 개발자는 국제화 문제에 직면했습니다. 이 버전의 MathML은 왼쪽에서 오른쪽으로 쓰는 언어와 호환되지 않는 것으로 알려져 있습니다. 왼쪽에서 오른쪽으로 표기하는 것은 MathML 2의 표준이며 일부 국가 언어의 텍스트에 수학 공식을 작성할 필요성이 아직 발생하지 않은 것이 분명합니다. 소위 "양방향 기술"이 개발되고 있는 단계에 불과하며, 최고의 지원이 맥락에서 공식은 향후 개발 과제입니다.

1.7.1 MathML 구문 및 문법

MathML은 (Extensible Markup Language)를 기반으로 합니다. 즉, 구문은 XML 구문의 규칙을 따르고 문법은 DTD(Document Type Definition)로 정의됩니다. 즉, 태그, 속성, 엔티티 등의 사용에 대한 세부 사항은 XML 언어 사양에 정의되어 있고 MathML 요소 및 속성, 요소 중첩 등에 대한 세부 사항은 MathML DTD에 정의되어 있습니다.

W3C는 웹에서 XML 사용의 용이성과 유연성을 높이고 모듈식 XML 응용 프로그램 생성을 지원하기 위해 DTD의 기본 형식이 충분히 유연하지 않다는 것을 발견했습니다. 따라서 W3C 워킹 그룹은 사양 문서이며 DTD를 대체해야 하는 XML 스키마를 개발하기 위해 구성되었습니다. MathML 2.0은 수학자들이 새로운 웹 기술을 최대한 활용할 수 있도록 설계되었습니다. 따라서 MathML에 대한 스키마가 있습니다.

MathML은 또한 구문 및 문법 규칙을 정의합니다. 일반적인 규칙, XML 응용 프로그램으로 상속됩니다. 이러한 규칙을 통해 MathML은 다음을 도입하지 않고도 순수 XML로 가능한 것보다 훨씬 더 많은 정보를 표현할 수 있습니다. 큰 수새로운 요소를 만들고 훨씬 더 복잡한 DTD 또는 스키마를 사용합니다. 물론 MathML 특정 규칙을 도입할 때의 단점은 생성된 문서를 XML 프로세서 및 유효성 검사기로 처리할 수 없다는 것입니다.

추가 MathML 문법 및 구문 규칙에는 두 가지 주요 유형이 있습니다. 첫 번째 유형은 속성 값에 대한 추가 기준을 설정하는 것입니다. 예를 들어, 순수 XML에서는 속성 값이 양의 정수가 되도록 요구할 수 없습니다. 두 번째 유형의 규칙은 DTD 또는 스키마에 제공된 것보다 하위 요소(예: 순서)에 대한 더 자세한 제한을 정의합니다. 예를 들어 XML은 첫 번째 자식 요소를 나머지 요소와 다르게 처리하도록 지정할 수 없습니다.

1.7.2 XML 구문 예제

MathML은 XML을 기반으로 하기 때문에 MathML 사양은 XML 용어를 사용합니다. XML 데이터는 유니코드 문자(일반 ASCII 문자 포함), 다음과 같은 엔터티 참조(비공식적으로 엔터티라고 함)로 구성됩니다.<, которые обычно представляют расширенные символы, и элементы, такие как 엑스.

요소는 HTML에서와 같이 "open"과 "end" 태그 사이에 "content" 또는 "body"라고 하는 다른 XML 데이터를 포함하는 경우가 많습니다. 다음과 같은 "빈 요소"도 있습니다. 여는 태그가 />로 끝나는 위치에서 요소에 내용이나 끝 태그가 없음을 나타냅니다. 여는 태그는 위의 예에서 fontstyle="normal"과 같이 속성이라고 하는 명명된 옵션을 포함해야 합니다.

XML에서는 대문자와 소문자를 구분하므로 MathML 요소 및 속성 이름은 대소문자를 구분합니다. 가독성을 위해 MathML 사양은 대부분을 소문자로 정의합니다.

XML 마크업에 대한 공식적인 논의에서는 mrow와 같은 요소와 이를 정의하는 태그를 구분합니다. 그리고. 태그 사이에 무엇이 있습니까? 그리고, mrow 요소의 내용 또는 본문이라고 합니다. 없음과 같은 "빈 요소"는 본문이 없고 단일 보기 태그로 정의됩니다. . 이 사양은 태그와 요소 간의 이러한 구분을 강조하지 않습니다. 예를 들어, 때때로 요소를 참조합니다. 그리고 , 이러한 태그가 속한 요소를 의미합니다. 이것은 요소 참조가 속성 참조와 구별되도록 수행됩니다. 그러나 "요소" 및 "태그"라는 용어는 다음에서 사용됩니다. 엄격한 준수 XML 용어로.

1.7.3 자식 요소 대 인수

많은 MathML 요소에는 특정 수의 하위 요소가 필요하거나 특정 위치의 하위 요소에 추가 의미를 부여합니다. 위에서 언급했듯이 이 유형의 제약 조건은 MathML에만 해당되며 XML 구문 및 문법을 사용하여 지정할 수 없습니다. 주어진 MathML 요소의 자식 요소가 다음을 만족할 때 추가적인 조건들, 우리는 그것에 대해 이야기 할 것입니다 논쟁에 대해가 아니라 자식 요소사용의 특수성을 강조합니다. 달리 명시되지 않는 한 "인수"라는 용어는 이 기술적인 의미로 사용됩니다.

일부 요소에는 인수의 수 또는 유형에 대한 요구 사항이 다릅니다. 이러한 추가 요구 사항은 각 특정 요소에 대해 설명되어 있습니다.

1.7.4 MathML 속성 값

XML 언어 사양에 따라 요소 속성은 다음 형식 중 하나로 지정되어야 합니다.

속성 이름 = "값"

속성 이름 = "값"

여기서 "=" 기호 주위의 공백은 선택 사항입니다.

속성 이름은 예와 같이 사양 텍스트에서 고정 폭 글꼴로 나타납니다.

MathML에서 임의의 문자로 구성된 문자열이 될 수 있는 속성 값은 큰따옴표("") 또는 작은따옴표("")로 묶어야 합니다. 속성 값에는 전체 값을 묶는 데 사용되지 않는 따옴표 유형이 포함될 수 있습니다.

MathML은 MathML DTD에서 지정한 일반 XML 구문보다 속성 값에 대해 더 복잡한 구문을 사용합니다. 이러한 추가 규칙은 MathML 응용 프로그램을 위한 것이며 이를 위반하는 것은 MathML 버그이지만 XML 프로세서에서 추적할 수 없습니다. MathML 요소에 대한 값 구문은 속성 테이블에 정의되며 아래에 설명된 표기법을 사용하여 각 요소에 대한 설명이 이어집니다. MathML 응용 프로그램이 속성 값을 처리할 때 개별 단어나 숫자를 구분하는 공백을 제외한 모든 공백은 무시됩니다. 문자 데이터는 속성 값에 직접 또는 참조 엔티티를 사용하여 포함될 수 있습니다.

특히 ", ", & 및< могут быть включены в значения атрибутов MathML (когда это разрешено синтаксисом) с использованием сущностей ",",& и <, соответственно.

MathML DTD는 대부분의 속성 값의 유형을 CDATA 문자열로 선언합니다. 이를 통해 기존 SGML 및 XML 기반 소프트웨어와의 호환성을 높이고 사전 정의된 값 목록을 확장할 수 있습니다. XML 스키마에도 동일한 논리가 적용됩니다.

1.7.4.1 MathML 사양에서 사용되는 구문 표기법

유효한 속성 값에 대한 MathML 관련 구문을 설명하기 위해 이 문서에서는 다음 규칙과 표기법을 사용합니다.

표기법 무엇을합니까
숫자 10진 정수 또는 유리수(소수점이 1개인 숫자 문자열), "-" 기호로 시작 가능
부호 없는 숫자 십진 정수 또는 실수, 부호 없는
정수 "-" 기호로 시작하는 십진 정수
양의 정수 0이 아닌 부호 없는 10진수 정수
임의의 문자열(항상 속성의 전체 값)
캐릭터 공백이 아닌 단일 문자 또는 참조 MathML 엔터티 공백으로 구분할 수 있음
#rrggbb RGB 형식의 색상; 예 #5599dd에서 세 쌍의 16진수는 밝은 청록색을 생성하는 x00에서 xFF까지의 눈금에서 빨강, 녹색 및 파랑의 비율을 정의합니다.
h 단위 수평 길이 단위(허용 단위는 아래에 나열됨)
v-단위 수직 길이 단위(허용되는 단위는 아래에 나열됨)
CSS 글꼴 패밀리
CSS 색상 이름 CSS에 대한 하위 섹션에서 아래에 설명되어 있습니다.
이탤릭체로 된 다른 단어 각 속성에 대해 별도로 텍스트에 설명
양식 + 하나 이상의 "양식" 인스턴스
형태* "form"의 0개 이상의 인스턴스
f1 f2...fn 연속적으로, 선택적으로 공백으로 구분된 각 형식의 하나의 인스턴스
f1 | f2 |... | fn 위의 형식 중 하나
선택적 "양식" 인스턴스
(형태) 그냥 형태와 동일
표시되지 않은 단어 속성 값에 그대로 포함된 단어(설명 문구의 일부가 아닌 경우)
따옴표 안의 문자 속성 값에 포함된 문자 그대로(예: "+" 또는 "+")

작업 우선 순위, 가장 높은 것부터 가장 낮은 것:

형식 + 또는 형식 *

f1 f2... fn(모양 시퀀스)

f1 | f2 |... | fn(형식 중 하나)

유형 XML CDATA 속성 값에 정의된 임의의 문자를 포함할 수 있습니다. MathML에는 구문 규칙이 없습니다. 전체 값이 아니라 속성 값의 일부일 수 있습니다.

속성 값의 인접한 키워드와 숫자는 공백 문자로 구분해야 합니다(h-unit 및 v-unit 문자 구문에 지정된 대로 숫자 뒤에 오는 단위 식별자 제외). 공백 문자는 필수는 아니지만 위에 나열된 토큰 사이에 허용됩니다. 단(CSS 호환성을 위해) 단위 식별자 바로 앞, "-" 기호와 숫자 사이, #과 rrggbb 또는 rgb 사이는 예외입니다.

치수를 지정하고 현재 글꼴에 종속되어야 하는 숫자 속성 값은 글꼴 관련 단위 또는 지정된 절대 단위(아래 설명)로 지정할 수 있습니다. 가로 치수는 일반적으로 em으로 지정되고 세로 치수는 ex로 지정됩니다. em 또는 ex 식별자는 번호 바로 뒤에 옵니다. 예를 들어, "+" 연산자의 가로 들여쓰기는 일반적으로 ems로 지정되지만 다른 단위를 사용할 수도 있습니다. 글꼴 관련 단위는 현재 글꼴 크기에 따라 렌더링된 요소의 크기를 늘리거나 줄일 수 있으므로 절대 단위보다 선호됩니다.

대부분의 숫자 속성의 경우 가능한 값은 일부 하위 집합으로 제한되고 다른 값은 오류가 아니지만(달리 명시되지 않는 한) 매퍼에 의해 가장 가까운 유효한 값으로 반올림되거나 내림됩니다. 유효한 값 세트는 렌더러에 따라 다를 수 있으며 MathML에 의해 정의되지 않습니다.

속성 구문에 따라 숫자 값에 숫자 또는 정수와 같은 빼기 기호("-")가 포함될 수 있는 경우 음수 값이 중요하지 않을 때 사용하는 것은 오류가 아닙니다. 대신 이전 단락에서 설명한 대로 애플리케이션에서 값을 처리해야 합니다. 더하기 기호("+")를 숫자 값의 일부로 명시적으로 지정하는 것은 구문에 구체적으로 명시된 경우("+" 또는 "+")를 제외하고 금지되며, 그 존재는 속성 값의 의미를 변경할 수 있습니다(설명된 대로 이러한 각 속성에서).

h-unit, v-unit, css-fontfamily 및 css-color-name 기호는 다음 하위 섹션에서 설명합니다.

1.7.4.2 단위가 있는 속성

일부 속성은 "단위 식별자"(종종 "단위"라고도 함)가 뒤따르는 숫자로 가로 및 세로 치수를 허용합니다. 구문 기호 h-unit 및 v-unit은 각각 수평 및 수직 차원을 나타냅니다. 가능한 측정 단위와 적용되는 크기는 아래 표에 나열되어 있습니다. 수평 및 수직 차원에서 동일하지만 구문 기호는 다릅니다(사용 방향을 상기시키기 위해).

단위 식별자와 의미론적 의미는 다음에서 가져옵니다. 그러나 MathML에서 숫자 뒤에 식별자가 오는 구문은 CSS의 구문과 동일하지 않습니다. CSS의 숫자는 소수점으로 끝날 수 없고 "+" 기호로 시작할 수 있기 때문입니다.

MathML의 유효한 수평 및 수직 단위:

표기 단위 em 및 ex는 "추가 참고 사항" 섹션에서 자세히 설명합니다.

%는 "상대 단위"입니다. 속성 값이 n%(모든 숫자 값 n에 대해)로 주어지면 값은 n을 곱한 기본값을 100으로 나눈 값으로 정의됩니다. 기본값(또는 상수가 아닌 경우 얻을 수 있는 방법) 각 요소의 속성 테이블에 설명되어 있으며 그 의미는 후속 속성 문서에 설명되어 있습니다. (mpadded 요소에는 %에 대한 고유한 구문이 있으며 단위 식별자로 사용할 수 없습니다.)

CSS와의 일관성을 위해 MathML의 길이 단위는 선택 사항일 수 있습니다. 이 경우 속성 구문의 단위 문자는 number 와 같이 대괄호로 묶입니다. 단위가 없는 속성 값의 의미는 각 속성에 대한 문서에 설명되어 있습니다. 일반적으로 지정된 숫자에 기본값을 곱합니다. (이 경우 단위가 없는 숫자 nnn은 % 기호가 있는 숫자 nnn에 100을 곱한 것과 같습니다. 예를 들어, (에 해당 ()

예외로(CSS 호환성의 경우에도) 0의 숫자 값은 구문에 필요한 경우에도 단위 식별자가 필요하지 않습니다. 이 경우 0을 곱한 숫자는 0이므로 단위 식별자의 유무는 중요하지 않습니다.

이 사양에 있는 대부분의 속성에 대해 활자체 세트에 사용된 단위는 표준 측정 단위로 선택됩니다. 특정 수량 값이 지정되지 않은 경우 표준 측정 단위는 일반적으로 표 또는 속성 설명에 지정됩니다. 가장 일반적으로 사용되는 단위는 em 또는 ex입니다. 그러나 특정 속성의 설명에 달리 지정되지 않는 한 모든 단위를 사용할 수 있습니다.

프레임 간격과 같은 일부 속성은 , 두 개 이상의 숫자 값을 포함할 수 있으며 각각 다른 측정 단위가 뒤따릅니다.

요구 사항은 아니지만 주로 수직 치수의 경우 단위 ex를 사용하고 수평 치수의 경우 em을 사용하는 것이 일반적입니다. 이러한 측정 단위는 속성이 적용된 요소를 표시하는 데 사용되는 글꼴과 크기에 따라 다릅니다. 그래서 그들은 해석해야합니다 ~ 후에 fontfamily 및 fontsize와 같은 속성은 동일한 요소에서 발생하는 경우 현재 글꼴이나 해당 크기를 변경하면 단위 크기가 변경될 수 있습니다.

각 측정 단위의 길이 정의(길이 값에 대한 MathML 구문 제외)는 글꼴이 에 정의된 값과 다른 em 및 ex에 대한 특수 값을 설정한다는 점을 제외하고 CSS에서와 동일합니다. CSS(각각 글꼴 크기 및 "x" - 높이).

1.7.4.3 CSS 호환 속성

아래 나열된 MathML 속성 중 일부는 CSS1에 정의된 텍스트 표시 속성에 해당합니다. 이는 렌더러가 기본 속성 값을 정의할 때 적절한 속성에 대해 CSS 환경을 쿼리할 수 있도록 하기 위해 수행됩니다.

MathML 및 CSS 속성을 통해 스타일 속성을 정의하는 기능에도 단점이 있습니다. 적어도 이것은 혼란스럽고 최악의 경우 전체 문서의 CSS를 변경할 때 방정식이 의도하지 않게 의미를 변경하게 합니다. 따라서 이러한 속성은 더 이상 사용되지 않습니다. 이에 따라 MathML 2.0은 4가지 새로운 수학적 스타일 속성을 도입합니다. 이러한 속성은 부울 값을 사용하여 수학에 사용되는 추상적인 기호 범주를 더 잘 전달하고 MathML과 CSS를 명확하게 구분합니다.

다음 표는 더 이상 사용되지 않는 MathML 1.01 스타일 속성을 해당 CSS 속성에 매핑합니다.

속성 및 스타일 시트가 처리되는 순서입니다.

CSS 또는 유사한 스타일 시트는 MathML 요소의 표시 속성에 대한 변경 사항을 지정할 수 있습니다. 표시 속성은 요소의 속성과 렌더러 모두에 의해 변경될 수 있으므로 다른 소스에서 변경이 발생하는 순서를 결정해야 합니다. 자동 협상의 예는 fontsize의 상황입니다. 이전 값과 독립적으로 새 속성 값을 설정하는 것과 같은 "절대" 변경의 경우(숫자로 증가 또는 곱하는 것과 같은 "상대적" 변경과 반대) 가장 최근의 절대 변경만 적용됩니다. 따라서 가장 높은 우선 순위 변경 소스는 마지막에 처리되어야 합니다.

CSS의 경우 다른 소스에서 MathML 요소의 표시 속성에 영향을 미치는 변경 사항이 처리되는 순서는 다음과 같아야 합니다. (먼저 변경됨, 가장 낮은 우선 순위)

상위 요소의 유형과 상위 요소의 위치에 따라 속성 또는 속성에 대한 자동 변경(위에서 언급한 대로 스크립트 수준에 따른 fontsize 변경 사항; 이러한 변경 사항은 일반적으로 표시 속성을 렌더링하기 전에 상위 요소 자체에 의해 적용됩니다. 현재 요소

독자의 스타일 시트에서: 스타일 ~ 아니다"중요하다"고 선언

현재 MathML 요소의 속성을 명시적으로 설정

독자의 스타일 시트에서: "중요"로 선언된 스타일(마지막 수정됨, 가장 높은 우선 순위).

CSS 스타일 시트에 의한 변경 순서는 CSS 자체에서 정의됩니다(이것은 CSS2에서 정의한 순서입니다). 다음 설명은 MathML 속성의 정확한 사양으로 인해 이 순서가 변경된 경우에만 적용됩니다.

설명: MathML의 표시 속성은 CSS에 정의된 순서에 따라 동일한 우선 순위로 처리되어야 하는 HTML 표시 속성(예: 정렬)과 유사합니다. 또한 이러한 우선 순위 선택을 통해 독자는 CSS 스타일을 "중요"로 정의하여 명시적 MathML 설정을 재정의해야 하는 설정을 결정할 수 있습니다. 콘텐츠 또는 프리젠테이션 요소로 구성된 MathML 표현식은 주로 의미를 전달하기 위한 것이며 "그래픽 표현"(있는 경우)이 이를 지원해야 하기 때문에(그러나 그 자체로는 중요하지 않음) 독자는 자신의 스타일 선호도를 원할 것입니다. 우선했다. 주요 예외는 표시 속성이 표현식의 의미를 변경하는 경우입니다.

1.7.4.4 기본 속성 값

MathML 속성의 기본값은 일반적으로 해당 요소에 대한 자세한 설명과 함께 제공됩니다. 속성 테이블에서 일반 글꼴로 제공된 기본값은 정확하며(명백한 설명이 아닌 한) 기울임꼴 구절은 기본값을 계산하는 방법을 설명합니다.

상속된 것으로 선언된 기본값은 mstyle에 대해 설명된 대로 디스플레이 환경에서 가져오거나, 어떤 경우에는 별도로 설명된 경우 주변 요소의 다른 속성 값 또는 해당 값의 일부에서 가져옵니다. 알고 있는 경우 정확하게 제공할 수 있는 값이 항상 사용됩니다. 주어진 요소의 내용이나 속성에 의존하지 않고 환경에만 의존합니다. (단, 이러한 속성이나 내용에 따라 의미가 달라질 수 있음)

자동으로 설명된 기본값은 고품질 이미지를 생성하는 방식으로 렌더러에서 계산해야 합니다. 이를 달성하는 방법은 일반적으로 MathML 사양에 지정되어 있지 않습니다. 알고 있는 경우 정확하게 제공할 수 있는 값이 항상 사용됩니다. 그러나 일반적으로 요소의 내용과 표시 환경에 따라 다릅니다.

속성 테이블에서 발생하는 기본값에 대한 기타 이탤릭체 설명은 각 속성에 대해 별도로 설명합니다.

여는 XML 태그에 있는 속성의 값으로 묶어야 하는 작은따옴표 또는 큰따옴표는 속성 테이블의 값 구문에 표시되지 않고 예제 텍스트에 표시됩니다.

일반적으로 MathML 속성에 정확하게 할당할 수 있는 값이 없으며 상속되거나 자동 속성에 대한 부재의 효과를 모방할 수 있습니다. "상속" 또는 "자동"을 지정하는 것은 확실히 작동하지 않으며 전혀 허용되지 않습니다. 또한 뷰 속성(여기에 특정 기본값이 제공됨)의 경우에도 mstyle 요소를 사용하여 포함된 요소를 변경해야 합니다. 따라서 MathML DTD는 대부분의 프레젠테이션 속성 기본값을 #IMPLIED로 정의하여 XML 프로세서가 이러한 속성에 특별한 기본값을 추가하지 못하도록 합니다. MathML 스키마는 동일한 방식으로 작동합니다.

1.7.4.5 MathML DTD의 속성 값

XML DTD에서 허용되는 속성 값은 일반 문자열로 정의하거나 다양한 방식으로(가능한 값을 열거하거나 특정 데이터 유형을 지정하여) 제한할 수 있습니다. XML 속성 유형의 선택은 DTD를 사용하여 수행할 수 있는 유효성 검사 범위에 영향을 줍니다.

MathML DTD는 경우에 따라 유효한 값의 열거를 포함하여 모든 MathML 속성에 대한 형식 XML 속성 유형을 정의합니다. 그러나 일반적으로 MathML DTD는 상대적으로 느슨하며 종종 속성 값을 문자열로 정의합니다. 이는 동일한 MathML 요소의 여러 속성이 동일한 값(예: true 및 false)을 가질 수 있도록 하고 사전 정의된 값 목록을 확장할 수 있도록 하는 SGML 파서와 호환되도록 수행됩니다.

동시에, 속성의 값이 DTD에서 문자열로 정의될 수 있다고 해도 위에서 설명한 것과 이 사양의 나머지 부분에서 설명한 것처럼 MathML에서는 특정 값만 유효합니다. 예를 들어 많은 속성에는 숫자 값이 필요합니다. 다음 섹션에서는 각 요소의 유효한 속성 값을 설명합니다. 그러나 DTD의 강성이 부족하다고 해서 이러한 요구 사항이 MathML의 일부가 아니거나 특정 MathML 렌더러에서 적용할 수 없다는 의미는 아닙니다.

또한 MathML DTD는 편의상 제공됩니다. 사양의 텍스트와 완전한 호환성을 의도하지만 충돌하는 경우 텍스트가 우선합니다.

1.7.5 모든 MathML 요소에 공통적인 속성

XSLT 및 CSS2와 같은 스타일 지정 메커니즘의 사용을 용이하게 하기 위해 모든 MathML 요소에는 각 요소에 대해 설명된 속성 외에 class, style 및 id 속성이 있습니다. CSS를 지원하지 않는 MathML 렌더러는 이러한 속성을 무시할 수 있습니다. MathML은 이러한 속성의 값을 일반 문자열로 정의하지만, 스타일 엔진에는 더 엄격한 구문이 있습니다. 따라서 해당 값은 MathML에서 유효합니다.

연결 메커니즘과의 호환성을 보장하기 위해 모든 MathML 요소에는 xlink: href 속성이 있습니다.

모든 MathML 요소에는 병렬 마크업에 사용하기 위한 외부 참조 속성도 있습니다. id도 이 컨텍스트에서 사용됩니다.

MathML 1.0의 레거시인 각 MathML 요소는 MathML DTD를 위반하지 않고 비표준 속성을 전달하기 위한 더 이상 사용되지 않는 다른 속성도 허용합니다. MathML 렌더러는 모든 비표준 MathML 속성에 응답하는 경우에만 이 속성을 처리해야 합니다. 그러나 MathML에 특정 정보를 전달하는 다른 방법이 있으므로 other 속성을 사용하는 것은 강력히 권장하지 않습니다.

1.7.6 입력에서 공백 축소

MathML은 토큰 외부에서 발생하는 공백 문자를 무시합니다. 공백이 아닌 문자는 여기에 사용할 수 없습니다. 토큰 내용에서 발생하는 공백 문자는 끝에서 제거됩니다. 즉, 내용의 시작과 끝에서 모든 공백 문자가 제거됩니다. MathML 요소 콘텐츠 내의 공백 문자는 원뿔형으로 축소됩니다. 즉, 1개 이상의 이러한 문자의 각 시퀀스는 1(널 문자라고도 함)로 대체됩니다.

XML에서와 같이 MathML에서 공백은 단순한 공백, 탭, 개행 또는 개행, 즉 유니코드 코드가 각각 U+0020, U+0009, U+000A, U+000D인 문자를 나타냅니다.

예를 들어,

(에 해당 (, 그리고

에 해당 정리 1:.

토큰 내용의 시작이나 끝에 공백 문자를 배치하거나 무시되지 않도록 두 개 이상의 공백 문자 시퀀스를 배치하려는 작성자는 표시할 수 없는 다른 공백 문자를 사용해야 합니다. 예를 들어, 비교

정리 1:

첫 번째 예가 표시되면 "Theorem"이라는 단어 앞에 공백이 없고 "Theorem"과 "1: " 사이에 공백이 하나 있고 "1: " 뒤에 공백이 없습니다. 두 번째 예에서는 "Theorem"이라는 단어 앞에 단일 공백이 표시되고 "1: " 앞에 두 공백이 표시되고 "1: " 뒤에는 공백이 표시되지 않습니다.

XML 프로세서가 토큰의 공백 문자를 MathML 프로세서에 전달하기 때문에 xml: space 속성은 이 상황에 적용할 수 없습니다. MathML 처리 규칙에 따라 삭제됩니다.

mi, mn, mo, ms, mtext, ci, cn 및 주석 토큰의 내용 외부에서 발생하는 공백 문자의 경우 공백 문자만 포함하는 mtext 요소와 달리 mspace 요소를 사용해야 합니다.

2. MathML로 작업할 때 최신 브라우저의 가능성

브라우저의 기능을 보여주기 위한 테스트 사례로 두 마크업의 예를 포함하는 간단한 XHTML 페이지를 만들었습니다. 우리는 그것에 대한 주요 요구 사항을 설명합니다. 첫째, 유효한 XHTML 문서여야 합니다. 예:

유효한 xml 문서여야 합니다.

루트 요소는 다음과 같이 XHTML 네임스페이스의 html 요소여야 합니다.

"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">

MathML 조각은 MathML 네임스페이스에 속해야 합니다. 예를 들면 다음과 같습니다.

...

아래에 사용된 테스트 케이스: test. xhtml.

2.1 모질라와 파이어폭스

사용 버전: Mozilla/5.0(Windows; U; Windows NT 5.0; en-US; rv: 1.7 5) Gecko/20041107 Firefox/1.0.

동일한 코어에 구축된 Mozilla와 Firefox에는 내장 MathML 마크업 렌더링 기능이 있습니다. 사실, 지금까지는 뷰 마크업만 지원하도록 제한되어 있습니다. 따라서 우리의 테스트 사례에서는 보기 마크업의 조각이 올바르게 표시되었으며 콘텐츠 마크업에 대해서는 말할 수 없습니다.

이 문제에 대한 해결책은 특별한 XSLT 스타일 "MathML용 XSLT 스타일시트"를 사용하는 것입니다. 이 접근 방식은 XSLT 변환에 대한 지원이 브라우저에 내장되어 있기 때문에 가능합니다. 이렇게 하려면 XSLT 스타일 세트를 다운로드해야 하며 페이지의 첫 번째 줄에 헤더 파일 mathml에 대한 링크를 표시해야 합니다. xsl:

보안상의 이유로 Mozilla는 선택 강조 표시가 있는 다른 MathML 소스 보기 도메인에 있는 XSLT 스타일을 허용합니다. 사실, 콘텐츠 마크업 및 XSLT 스타일을 사용할 때 소스 코드가 표시되지 않고 변환 결과가 표시됩니다.

다른 기능에는 검색 엔진과의 통합이 포함됩니다. 수식 조각을 선택하면 상황에 맞는 메뉴를 사용하여 검색 엔진에 쿼리를 보낼 수 있습니다.

그러나 그러한 검색이 아직 결과를 얻지 못했기 때문에 지금까지 이것은 미래를 위한 예비입니다.

2.2 마이크로소프트 인터넷 익스플로러

사용 버전: 6.0.2800.1106(SP1; Q867801; Q823353; Q833989)

Microsoft의 브라우저는 MathML을 기본적으로 지원하지 않습니다. 수학 공식을 올바르게 표시하려면 무료로 배포되는 MathPlayer 플러그인을 사용할 수 있습니다.


수학적 마크업의 실제 표시 외에도 MathML 표기법을 빠르게 복사할 수 있습니다. 원하는 경우 더 명확하게 하기 위해 공식을 확대할 수도 있습니다.

단점 중 하나는 수학적 표현의 일부를 선택하거나 복사할 수 없다는 점입니다. 또한 (Mozilla에서와 같이) 주변 텍스트와 함께 수식을 올바르게 복사하는 방법도 없습니다.

2.3 오페라

사용 버전: 7.54u1(빌드 3918, 플랫폼 Win32, 시스템 Windows 2000, Java가 설치되지 않음).

현재 개발 단계의 이 브라우저는 MathML 마크업을 올바르게 표시하는 기능이 없습니다.

중고 문헌 목록

1. Dorofeev A.V., Fedotov A.M. 인터넷 환경의 전자 출판물과 러시아어 인코딩의 다양성 // Computational technologies, 1997, v.2, N 3, pp.31-44.

2. Oleinik O.V., Tolkacheva E.M., Fedotov A.M. WWW // Computational technologies, 1997, v.2, N 3, pp.60-67에 대한 전자 판 및 수학 텍스트 프레젠테이션.

3. Shokin Yu.I., Fedotov A.M., Znamensky S.에. 전자 출판물 및 러시아어 인코딩의 다중성 문제 // 정보 기술 및 컴퓨팅 시스템, 1997, N 2, pp.90-101.

4. 즈나멘스키 S.에. 러시아어 TeX의 표준화: 유토피아 또는 필연 // 컴퓨팅 기술, 1997, v.2, N 3, pp.51 - 59.

5. 갈락티오노프 V.V. XML(Extensible Mark-up Language): 차세대 인터넷 소프트웨어 아키텍처를 정의하는 산업 표준입니다. 커뮤니케이션 JINR, Р10-2000-44, Dubna, 2000.

6. 미튜닌 V.A. 인터넷에서 수학 문서를 게시하고 보기 위한 도구 개요 - http://mathmag. spbu.ru/article/4/

7. 웹에서의 수학: 상태 보고서 - http://www.dessci.com/webmath /status/

8. 웹 페이지에 수학 표기법 포함하기 - http://mathforum.org/typeseting/

9. MathML 1.01 - http://www.w3.org/TR/REC-MathML/

10. MathML 2.0 - http://www.w3.org/TR/MathML2/

글로벌 컴퓨터 네트워크(특히 인터넷)의 보급으로 무엇보다도 그 안에 수학 텍스트를 배치할 필요가 생겼습니다.

MathML 언어는 XML 언어(e 엑스인장 아크업 anguage - Extensible Markup Language)는 다른 언어를 만드는 데 자주 사용됩니다. 이러한 XML 사용은 오늘날 매우 자연스럽고 새로운 유형의 데이터를 전달하기 위해 HTML을 사용하여 이 형식의 한계에 부딪힌 다른 경우에도 잘 작동했습니다. 현재까지 W3C는 프로젝트의 실행 가능성과 지속 가능성을 나타내는 MathML 언어 사양의 2판 버전 2.0을 발표했습니다.

XML 기반 마크업 언어:

  • WML(Wireless Markup Language): WAP(무선) 장치(휴대폰)용 데이터 형식.
  • 동기화 멀티미디어 통합 언어(SMIL):
  • 임시 레이아웃, 모양 등을 지정합니다. 멀티미디어 프레젠테이션용;
  • 멀티미디어 파일이 재생되는 순서를 지정합니다.
  • 보기에 SMIL 호환 플레이어가 필요합니다(AMBULANT, MS IE6).
  • 가이드 및 예시: http://www.multimedia4everyone.com/
  • SVG(Scalable Vector Graphics): 2차원 벡터 그래픽을 설명합니다.
  • 수학 마크업 언어(MathML): 수학적 표기법(공식)을 설명합니다.
  • CML(Chemical Markup Language): 화학식을 나타내기 위한 것입니다.
  • 다른.

MathML을 만들 때 W3C Mathematics Working Group에서 설정한 목표는 다음과 같습니다.

  • 모든 수준의 교육 및 과학 유형의 커뮤니케이션을 위한 수학 자료 코딩 제공;
  • 수학적 상징과 그 의미의 인코딩을 제공합니다.
  • 템플릿 생성 및 기타 수학적 편집 기술 지원
  • 순수한 표현 및 의미적 성격의 다른 수학적 형식으로의 변환은 물론 이러한 형식에서 생성된 수학적 마크업 언어로의 변환을 보장합니다. 출력 형식에는 그래픽 정보 표시 수단, 음성 합성, 컴퓨터 대수학 시스템에 입력하기에 적합한 형식으로 텍스트 표현, TAR과 같은 수학 텍스트를 설명하기 위한 다른 언어와의 호환성, "순수" 텍스트를 표시하는 기능( 즉, 수학 기호 및 표현을 포함하지 않음), 점자 출력을 포함하여 다양한 형식으로 텍스트를 인쇄하는 기능. 동시에 서로 다른 형식 간의 변환으로 인해 정보가 손실될 수 있습니다.
  • 특정 시각화 프로그램의 특성을 고려하여 정보를 전송하는 능력;
  • 긴 수학적 표현을 위한 효율적인 검색 프로세스 지원;
  • 확장성 제공(미리 알려지지 않은 방식으로).

MathML을 사용하는 일반적인 원칙은 수학적 구성이 일반 HTML 문서에 포함되고(브라우저 또는 특수 프로그램이 이 사양을 지원하는 경우) 문서가 네트워크에서 다운로드될 때 적절하게 재현된다는 것입니다.

MathML에서 처리해야 하는 첫 번째 사항과 이 마크업 언어를 유사 언어와 구별하는 것은 표현식을 인코딩하는 두 가지 방법을 사용하는 것입니다. 그 중 하나는 수식 구문( 프레젠테이션), 반대로 다른 하나는 표현의 의미를 반영합니다 ( 콘텐츠). 프리젠테이션 마크업은 분수, 위 첨자 및 아래 첨자와 같은 하위 표현식을 배치하는 방법을 지정하는 일부 추론 체계를 사용하여 작성된 표현식으로 수학적 상징을 설명합니다. 시맨틱 마크업은 수학적 객체와 기능을 설명합니다. 여기서 각 노드에 대해 표현식 트리가 특정 체계에 따라 구성되고 이 트리의 분기가 하위 표현식에 해당합니다.

현재 MathML을 사용하여 만든 웹 페이지는 다음 브라우저에서 볼 수 있습니다("+" 기호는 최신 버전도 작동함을 의미합니다).

  • 윈도우:

o Techexplorer 플러그인이 포함된 IE 5.0

  • 매킨토시:

o Techexplorer 플러그인이 포함된 IE 5.0 이상

모질라 0.9.9+

  • 리눅스/유닉스:

o Techexplorer 플러그인이 포함된 Netscape 6.1

모질라 0.9.9+

o Amaya, 모든 버전(Presentation MathML만 해당)

MathML의 모든 요소는 다음 세 그룹으로 나뉩니다. 대표, 요소 콘텐츠그리고 상호 작용집단.

뷰 요소는 시각적으로 지향된 수학 표기법의 2차원 구조를 설명합니다. 예를 들어, 요소 mrow일반적으로 표현식 부분의 수평 행을 나타내는 데 사용되며 요소 msup, 위 첨자를 표시합니다. 일반적으로 각 보기 요소는 행, 위 첨자, 아래 첨자 등과 같은 한 가지 유형의 표기법에 해당합니다. 모든 수식은 숫자, 문자 또는 기타 기호와 같은 가장 단순한 요소로 구성될 수 있는 부분으로 구성됩니다.

가장 중요한 표현 요소는 각각 식별자, 숫자 및 연산자를 나타내는 데 사용되는 mi , mn 및 mo 입니다. 일반적으로 이러한 요소는 다양한 스타일로 표시됩니다. 숫자는 로마자, 식별자는 기울임꼴, 연산자 주위에는 추가 공백이 있습니다.

마크업 용어로 대부분의 MathML 요소가 정의됩니다. 열리는그리고 폐쇄요소의 내용을 제한하는 태그. 조작 기호( )는 단일 태그로 정의됩니다.

프리젠테이션 마크업을 예로 사용하여 수학 공식의 레이아웃에 필요한 몇 가지 요소를 더 자세히 살펴보겠습니다.

토큰(토큰 요소)개별 문자, 이름, 숫자, 명칭 등을 나타냅니다. 기본적으로 토큰은 문자만 콘텐츠로 가질 수 있습니다.

MathML은 토큰 외부에서 발생하는 공백 문자를 무시합니다. 공백이 아닌 문자는 여기에 사용할 수 없습니다. 토큰 내용에서 발생하는 공백 문자는 끝에서 제거됩니다. 즉, 내용의 시작과 끝에서 모든 공백 문자가 제거됩니다. MathML 요소 콘텐츠 내의 공백 문자는 정식으로 축소됩니다. 즉, 1개 이상의 이러한 문자의 각 시퀀스는 1(널 문자라고도 함)로 대체됩니다.

주요 요소

지수

태그와 함께 사용할 수 있는 몇 가지 수학 연산 .

+ +
< >
<
<= >=
++ ++
.아니다.~ 아니다
그리고그리고
보이지 않는 곱셈 기호
+ +

MathML의 수식에 대한 몇 가지 예를 살펴보겠습니다.

1) 죄 2 α + 코스 2 α \u003d 1

α

+

코사인

α

=

그리스 문자 α는 코드 α를 사용하여 얻습니다(유니코드가 사용됨을 기억하십시오).

결과

또한 Internet Explorer에서 MathML을 사용하려면 MathPlayer를 설치해야 합니다.

MathML 마크업을 포함하는 모든 파일에는 문서 헤더 앞에 행이 있어야 합니다.

또한 모든 MathML 코드는 태그와 함께 열립니다.

그리고 태그로 닫힘.

2

2

엑스+와이

2엑스

엑스2

와이2

테이블과 행렬의 레이아웃을 위한 요소를 고려하십시오.

1

1

1

1

1

1

0

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

1

1

1

실시예 2

엑스+와이

=

1엑스+

1와이=

1

필요한 경우 다양한 수학 기호를 유니코드 인코딩 테이블에서 조회해야 합니다.

예시.

에스

-1

Σ

=0

적분을 사용하는 상당히 많은 예를 찾을 수 있으므로 여기에서는 다루지 않을 것이므로 독자가 표시된 리소스의 예를 숙지하는 것이 좋습니다.

위에서 언급했듯이 MathML은 표현 및 의미 표현을 허용합니다. 여기서는 가장 소화하기 쉽고 일반적으로 사용되는 프레젠테이션에 중점을 두었습니다. 그러나 다른 옵션에 대한 최소한의 아이디어를 제공하기 위해 작은 예시적인 예를 고려하고 두 가지 표현으로 작성하십시오.

예시. x 2 - 6x + 9 = 0

물론 MathML에서 수식을 입력하는 것은 다소 시간이 많이 걸리는 작업이며 약간의 노력이 필요합니다. 그러나 LaTeX에서 충분히 오래 일한 사람들은 큰 차이를 느끼지 못할 것입니다. 그러나 더 자주 사용자는 다른 도구를 사용하는 것을 선호합니다. 몇 가지 이름을 지정해 보겠습니다.

첫째, 수학 패키지(예: Mathematica 또는 Maple)를 사용하면 입력한 공식을 MathML 형식으로 저장할 수 있습니다.

이 리소스는 사용자의 컴퓨터에서 실행되는 Java 스크립트 ASCIIMathML.js(버전 2.0; 2007년 9월; http://www1.chapman.edu/~jipsen/mathml/asciimath.html , Peter Jipsen 작성)를 사용합니다. 데모 페이지 다운로드 http://www1.chapman.edu/~jipsen/mathml/asciimathdemo.html . 따라서 특히 이 리소스는 로컬에서 사용할 수 있습니다. 언급한 데모 html 페이지를 저장하는 것으로 충분하고 인터넷에 연결하지 않고도 간단한 수식을 변환할 수 있습니다.

결론적으로, 마크업 도구로서의 MathML은 다양한 수학적 작업을 생성하는 데에도 매우 적합합니다(위의 예 참조). 동시에 프로그래밍을 위해 예를 들어 JavaScript를 사용할 수 있습니다. 그러면 사용자는 재량에 따라 임의의 수의 작업 옵션을 생성할 수 있습니다. 또한 모든 작업에 대한 답변 생성을 제공할 수 있으며 이는 매우 간단합니다.

우리는 독자의 수학 텍스트 레이아웃 수단에 대한 지식이 거기서 끝나지 않을 것으로 기대하며, 독자가 관심 있는 도구를 독립적으로 선택하고 설명된 기술을 실제로 적용할 수도 있습니다.

문헌 및 인터넷 리소스

HTML5 이전에는 수식을 사용하는 것이 정말 골치 아픈 일이었습니다. 스스로 판단하십시오. 2005년에는 특수 브라우저를 사용하거나 텍스트를 적절한 HTML로 분할하고 이미지 또는 PDF에서 삽입하는 것이 필요했습니다. 검색 및 기타 편집 및/또는 화면/종이로 출력하는 작업은 전체 모노그래프가 사용되는 모호한 작업이었습니다.

2012년에는 이미 더 쉬웠습니다. 이제 필요한 플러그인(FireFox용 Firemath 및 Chrome용 Daum Equation Editor)을 연결할 수 있습니다. 그러나 표준(및 지원)의 모호성으로 인해 실제로 각 브라우저(및 해당 버전)에 대해 동일한 기사를 작성해야 했습니다. 또는 "귀하의 브라우저를 확장 프로그램으로 업데이트/추가해야 합니다."라는 마법 같은 인사말로 사용자를 맞이하세요.

불편한? - 예! 보편적인 솔루션을 찾는 데 시간이 많이 걸렸습니까? - 예! 어떤 유형의 녹음이 더 나은지(프레젠테이션 또는 콘텐츠), 어떤 변환기를 사용할지 생각하게 합니까? - 예! 예! 예!

결과적으로 출판 작업은 2개 또는 3개의 마크업 어휘를 개발하고 적어도 하나의 트랜스코더 프로그램의 작동에 대한 연구로 바뀌었습니다.

이제 HTML5의 출현으로 모든 것이 훨씬 쉬워졌습니다. 새 컨테이너가 있습니다. .
MathML의 모든 유효한 인스턴스는 이 컨테이너 안에 있어야 합니다.
중첩을 허용하지 않지만 내부에 임의의 수의 다른 자식 요소가 있을 수 있습니다.

태그 속성

다음 속성 외에도 태그 ">의 모든 속성을 허용합니다. .

클래스, 아이디, 스타일
스타일시트와 함께 사용할 때.
디렉토리
공식의 방향을 지정합니다. ltr - 왼쪽에서 오른쪽 또는 rtl - 오른쪽에서 왼쪽.
참조
지정된 URI에 대한 하이퍼링크를 설정하는 데 사용됩니다.
수학 배경
배경색. #rgb , #rrggbb 및 HTML 색상 이름을 사용할 수 있습니다.
수학 색
텍스트 색상입니다. #rgb , #rrggbb 및 HTML 색상 이름을 사용할 수 있습니다.
표시하다
이 속성은 출력 방법을 지정합니다. 가능한 값:

  • 차단하다- 이 요소가 텍스트의 의미를 변경하지 않고 아무 곳에나 배치할 수 있는 블록으로 현재 텍스트 범위 밖에 표시됨을 의미합니다.
  • 인라인 - 이 요소가 현재 텍스트 범위 내에 표시되고 이 텍스트의 값을 변경하지 않고는 밖으로 이동할 수 없음을 의미합니다.

기본값은 인라인입니다.

방법

더 이상 사용되지 않는 표시 속성 값입니다.
가능한 값은 display(display="block"과 동일한 효과를 가짐) 및 inline 입니다.
과다
텍스트가 너무 길어서 지정된 너비 범위에 맞지 않는 경우 표현식이 작동하는 방식을 결정합니다.
가능한 값: linebreak(기본값), scroll , elide , truncate , scale .

HTML5에서의 표현

HTML5의 MathML 2 + 2 = 2

XHTML에서의 표현

XHTML의 MathML 2 + 2 = 2
메모: MathML이 있는 XHTML 문서는 application/xhtml+xml로 제공되어야 합니다. 로컬 파일에 .xhtml 확장자를 추가하여 이를 쉽게 달성할 수 있습니다. Apache 서버의 경우 이 확장에 대한 .htaccess 파일을 올바른 MIME 유형으로 설정할 수 있습니다. MathML을 XML 문서로 저장했으므로 XML 문서의 형식이 올바른지 확인해야 합니다.

브라우저 지원

브라우저 지원

정식 버전
요소 크롬 파이어폭스(도마뱀붙이) 인터넷 익스플로러 오페라 원정 여행
XHTML 설명 (24일만) 1.0(1.7 이상) 9.5 5.1
HTML5 설명 (24일만) 4.0 (2.0) 5.1
디렉토리 12.0 (12.0)
href WebKit 버그 85733 7.0 (7.0) WebKit 버그 85733
수학 배경 (24일만) 4.0 (2.0) 5.1
수학 색 (24일만) 4.0 (2.0) 5.1
과다

모바일 버전

요소 기계적 인조 인간 안드로이드용 크롬 파이어폭스 모바일(게코) IE 모바일 오페라 모바일 사파리 모바일
XHTML 설명 1.0 (1.0)
HTML5 설명 4.0 (2.0)
디렉토리 12.0 (12.0)
href 7.0 (7.0)
수학 배경 4.0 (2.0)
수학 색 4.0 (2.0)
과다

의 프레젠테이션 및 수식에 사용됩니다. MathML은 수학 그룹에서 권장합니다.

MathML 사양 버전 1.01은 7월에 출시되었으며 버전 2.0은 2월에 출시되었습니다. 10월에는 MathML 버전 2.0의 두 번째 버전이 발표되었으며, 이는 현재 수학 그룹에서 발표한 최신 사양입니다.

MathML은 다음을 고려합니다. 성능, 하지만 또한 의미수식 요소. MathML을 보완하기 위해 수학적 의미 체계 마크업 시스템도 개발 중입니다. OpenMath라고 합니다.

예시

소프트웨어 지원

MathML을 직접 지원하는 주요 기능은 최신 버전과 변형입니다. 다른 많은 브라우저는 적절한 . 예를 들어 MathML을 지원하기 위해 MathPlayer 플러그인을 사용합니다.

또한 MathML은 및 와 같은 주요 사무용 프로그램과 수학 소프트웨어 제품에서 지원됩니다.

수학적 상징주의의 발달과 함께 방법이 개발되고 개선되었습니다.
저장 및 전송. 예를 들어 고대 바빌론의 수학자들은
중세 후기에 점토판에 최초로 인쇄된
마지막으로 현대 시대는 전자의 흐름이 끊임없이 증가하는 것이 특징입니다.
출판물. 수학적 텍스트의 디자인을 위한 적절한 방법을 찾는 것입니다.
인터넷에서 MathML을 만들었습니다.

이러한 도구가 필요한 이유는 HTML 형식이 많은 훌륭한 속성에도 불구하고 수학 표기법을 전송하는 기능이 다소 제한적이라는 사실 때문입니다. 대부분 HTML 페이지의 공식은 그래픽(래스터 또는 벡터)으로 표시되지만 이 방법에는 분명한 단점이 있습니다. 예를 들어, 그리기 공식은 편집이 거의 불가능하며 인쇄 품질은 일반적으로 많이 부족합니다. 이를 기반으로 웹의 경우 수학적 상징을 어떻게든 인코딩하고 클라이언트 프로그램(브라우저)에 대해 가능한 한 "투명하게" 인코딩하는 것이 바람직하다는 것이 이미 분명합니다. 이러한 아이디어의 발전은 오늘날 고려되는 MathML을 포함하는 전체 수학적 마크업 언어 제품군의 생성으로 이어졌습니다.

수학적 기호를 전자적 형태로 표현하는 문제는 별도의 사양을 개발해야 할 필요성에 국한되지 않는다는 점에 유의해야 합니다. 이것은 최종 솔루션과는 거리가 먼 복잡한 과학적, 기술적 문제이며, 종종 서로 잘 조정되지 않는 제안된 접근 방식이 많이 존재하는 것으로 확인됩니다. 그러한 접근 방식 중 하나는 MathML을 포함하는 특수 마크업 언어입니다. 물론 개발자들은 이 문제의 깊이를 알고 다음과 같은 제한적이지만 여전히 중요한 요구 사항을 충족하는 사양을 만드는 것을 목표로 설정했습니다.

  • 개발의 용이성과 기본 수학 표기법의 수동 세트;
  • 적절한 변환기가 제공해야 하는 다른 수학 형식과의 최대 호환성
  • 다양한 터미널 장치에 공식을 출력하는 기능;
  • 확장성 지원, 즉 새로운 기호, 체계 등의 도입

사양 구성 원칙과 관련된 이러한 목표에 응용 프로그램에서 MathML을 사용하는 특성과 관련된 다른 목표가 추가되었습니다. 정보 교환 수단(예: 공식 조각 복사/붙여넣기의 버퍼 작업)을 구성하기 위해 최고 품질의 화면 및 프린터에서 공식의 출력을 보장하는 것이 필요합니다. 이 모든 것이 애플리케이션 소프트웨어 개발자에 의해 구현될 것이 분명하지만 초기에 잠재적인 기회를 제시해야 합니다.

몇 마디로 관련 수학적 마크업 언어 그룹에서 MathML의 위치를 ​​간략하게 설명하겠습니다. TeX가 무엇보다도 먼저 언급되어야 하는 많은 대표자와 달리 MathML은 수학적 표현을 구성하기 위한 의미론적 수단을 가지고 있습니다. 실제로 동일한 TeX의 문서가 모든 요소의 위치에 대한 정확한 표시가 있는 일부 텍스트에 대한 자세한 설명이라면 MathML(보다 구체적으로 내용과 관련됨)이 훨씬 더 유연합니다. 문서의 최종 형식은 사용자의 요구 사항에 따라 쉽게 변경할 수 있습니다.

MathML 소개

MathML은 다른 언어를 만드는 데 자주 사용되는 확장 XML 마크업 언어의 하위 집합입니다. 이러한 XML 사용은 오늘날 매우 자연스럽고 새로운 유형의 데이터를 전달하기 위해 HTML을 사용하여 이 형식의 한계에 부딪힌 다른 경우에도 잘 작동했습니다. 현재까지 W3C는 프로젝트의 실행 가능성과 지속 가능성을 나타내는 MathML 언어 사양의 2판 버전 2.0을 발표했습니다.

MathML을 사용하는 일반적인 원칙은 수학적 구성이 일반 HTML 문서에 포함되고(브라우저 또는 특수 프로그램이 이 사양을 지원하는 경우) 문서가 네트워크에서 다운로드될 때 적절하게 재현된다는 것입니다.

MathML에서 처리해야 하는 첫 번째 사항과 이 마크업 언어를 유사 언어와 구별하는 것은 표현식을 인코딩하는 두 가지 방법을 사용하는 것입니다. 그 중 하나는 수식 구문의 직접 전달(프레젠테이션)을 기반으로 하고, 다른 하나는 표현(내용)의 의미를 반영합니다. 간단히 말해서, 첫 번째 방법은 의미에 관계없이 공식의 표기법을 전달하고, 두 번째 방법은 반대로 수학적 내용을 반영합니다.

구문 코딩

쌀. 하나

다양한 수학적 표현의 표현 형태를 보면,
상당히 많은 수의 특수 문자가 있는 경우
그것들을 배열하는 방법은 상대적으로 적습니다. 따라서 표현식을 작성할 수 있습니다.
위 첨자와 아래 첨자를 사용하여 공식의 한 부분이 다른 부분보다 위/아래에 있을 수 있습니다.
표현식은 행렬 요소 등에 있을 수 있습니다. 이 원칙은
모든 복잡성의 수학적 표현이 있는 구문 코딩의 기초
작은 템플릿 세트(소위 레이아웃 스키마)를 사용하여 형성됩니다.
수학 공식에서 만나는 기본 관계에 해당합니다.

이 원칙을 설명하기 위해 MathML에서 공통 분수가 어떻게 작성되는지 살펴보겠습니다. 분자와 분모의 두 가지 요소만 있으며 해당 템플릿에 반영됩니다.

여기 태그 , 이미 언급했듯이 실제 분수를 만드는 역할을 합니다. linethickness 속성은 구분선의 굵기를 결정하며 생략하면 표준 값이 사용됩니다(두 옵션 모두 그림에 표시됨).

분자는 태그로 표시됩니다. , 차례로 자식 요소를 포함합니다. 이 태그에는 기준선을 따라 수평으로 정렬되는 수식을 생성하는 중첩 표현식이 여러 개 포함될 수 있습니다. 우리의 경우 이것은 두 변수의 합입니다. 엑스그리고 와이(태그의 의미 그리고 아래에서 설명하겠습니다). 태그가 없는 항목은 레코드에서 만난 첫 번째 표현식이 분자( 엑스). 마지막으로 분모는 하나의 변수로 구성됩니다. , 태그에 의해 전달됨 .

MathML 표현에 사용되는 주요 요소는 기호(토큰)와 템플릿(위에서 언급한 레이아웃 스키마)입니다. 첫 번째는 문자(예: 변수 표시용)와 적절한 수학적 기호만 포함할 수 있는 언어의 요소이며 다른 요소는 포함할 수 없습니다.

요소 식별자를 입력하는 데 사용됩니다. 다음 규칙에 따라 작동합니다. 요소의 값이 단일 문자이면 변수로 취급되어 기울임꼴로 표시되고, 값이 문자열이면 로마자 형식으로 표시됩니다(이 속성은 다음과 같은 기능을 작성하는 데 사용됩니다. , 등). 요소 수학 연산자를 표시하도록 설계되었으며, , 우리가 아직 만나지 않은 것은 숫자를 표시하기 위한 것입니다. 설명된 각 요소에는 기본 문자 표시를 변경할 수 있는 특정 속성 집합이 있습니다.

이제 기본 수학적 표현을 전달하는 MathML 템플릿을 살펴보겠습니다. 위에서 두 가지를 만났습니다. 이들은 일반 분수를 지정하기 위한 태그와 기준선을 따라 정렬된 표현식입니다. 다른 가장 중요한 패턴은 다음 태그와 함께 전달됩니다.

  • 중첩된 표현식으로 급진적 기호를 출력합니다. 유사한 태그 루트를 표시하는 역할 N학위;
  • 괄호로 묶인 표현식을 지정합니다. 속성을 사용하여 중첩 표현식 및 기타 특성에 대한 구분 기호를 지정할 수 있습니다.
  • 위 첨자/아래 첨자를 전달하기 위한 태그입니다. 예를 들어 위 첨자가 있는 표현식
    (학위)는 다음과 같이 주어진다. HIGH_INDEX 표현

또한 거의 모든 가장 중요한 수학적 표현식과 행렬을 디자인하기 위한 템플릿이 있습니다(총 약 30가지 유형).

시맨틱 인코딩

이제 표현의 의미를 사용하여 코딩하는 방법으로 넘어 갑시다. 위에서 언급했듯이 공식의 수학적 내용을 반영합니다. 의미를 전달하는 열쇠는 요소입니다 . 간단한 예를 들어 사용법을 설명하겠습니다. 다음 코드는 그림 1과 같이 동일한 형식의 분수를 생성합니다. 하나.

쌀. 2

우리의 예에서 첫 번째 요소를 간다 나타내는
나눗셈(분수). 시맨틱 코딩에서 대부분의 연산자는
다음과 같은 태그에 의해 전달됩니다. , 닫는 꺾쇠 괄호 앞에
슬래시(소위 "빈" 요소)가 있습니다. 그런 다음 팔로우
인수: 하나 이상의 요소 , 합산 연산자 전달 엑스
그리고 와이, 그리고 - . 따라서 합계(나누기 연산자의 첫 번째 인수)
분수의 분자로 표시되고 변수 - 분모로. 수학ML
산술, 산술,
대수, 논리 등

이 예에서 발생한 각 연산자는 한 쌍의 인수에 적용되었습니다. 그러나 위의 요소에 대한 일반적인 관점에서 보면 다음과 같습니다. , 여러 인수가 있을 수 있습니다(연산자가 허용하는 경우). 예를 들어, 그림 1에 표시된 표현. 2는 다음과 같이 쓰여진다.

마지막 2개의 예에서 설명 없이 1점이 남았습니다 - 전송용 태그
알파벳 식별자 및 숫자. 그것 그리고 각기
- 요소의 완전한 유사체 그리고 구문을 인코딩할 때.
참고로 태그 의미론을 사용할 때 유사점이 없으며,
오퍼레이터에 대한 모든 정보는 특별한 오퍼레이터 태그에 의해 전송되기 때문에,
뒤에 오는 .

수식의 구조를 설정하는 것뿐만 아니라 . 예를 들어 관계(평등, 불평등, 포용 등)를 표현하기 위해 특별한 태그가 있습니다. . 다음 스니펫은 그림 1에 표시된 수식을 생성합니다. 삼.



엑스

와이



여기 수학적 표현은 관계 중 하나와 "빈" 태그를 포함한다고 말합니다. 특정 유형인 "미만"을 나타냅니다. ID는 왼쪽에 있습니다. 엑스, 오른쪽 - 친숙한 요소를 사용하여 결정된 두 변수의 합 .

우리가 MathML에 대해 제공한 정보는 완전하지는 않지만 이 언어를 스스로 사용하기 시작하기에 충분합니다. 또한 일상적인 작업을 제거하도록 설계된 특수 소프트웨어 도구가 있습니다.

MathML 소프트웨어

관련 W3C 페이지는 대략적인 링크를 제공합니다.
MathML 작업을 위한 34가지 권장 제품. 가장 중요한 것 같다.
브라우저의 상황은 인식 정도를 가장 많이 특성화하기 때문에
모든 웹 기술. 현재까지 두 제품만 올바르게 준비되었습니다.
MathML 해석: Amaya(동일한 W3C 사이트에서 다운로드 가능) 및
모질라. 불행히도, 다른 개발자들은 그들의 제품에 대한 지원을 포함하기 위해 서두르지 않습니다.
이 유망한 기술. 가장 인기 있는 브라우저 Microsoft 인터넷
기본 MathML의 Explorer 및 Netscape Navigator가 "이해하지 못함"
그러나 특별한
플러그인 - IBM , 디자인
과학, 이론가
인터렉티브.

동일한 3개 회사는 이미 MathML 문서 작성용으로 설계된 더 완전한 버전의 소프트웨어도 제공합니다. 특히 이 기사의 예제가 준비된 것은 IBM techexplorer Hypermedia Browser였습니다. 덜 전문화된 응용 프로그램의 도움으로 유사한 작업을 해결할 수 있습니다. 예를 들어 컴퓨터 수학 시스템(Mathematica, Maple, Mathcad)은 일반적으로 문서를 MathML "blotches"를 사용하여 HTML 형식으로 내보냅니다.

MathML은 준비를 위해 일부 데스크탑 출판 시스템에서도 지원됩니다.
과학 및 기술 문서. 이 클래스의 가장 유명한 제품 중
WebEQ라고 부를 수 있습니다.
완전한 세트 주기를 제공하는 Java 애플리케이션 패키지입니다.
MathML 및 WebTeX 형식의 문서 출판; 볼프람
프레젠테이션 품질의 수학 텍스트를 준비하는 퍼블리콘
MathML로 내보내는 기능 MacKichan의 워드 프로세서
주요 TeX 형식의 문서를 저장할 수 있는 소프트웨어
MathML에서.

MathML로/에서 변환하기 위한 특수 변환기도 있습니다. TeX는 가장 일반적인 소스 형식입니다. MathML은 차례로 동일한 TeX 또는 널리 사용되는 그래픽 형식으로 바뀝니다.

그러나 항상 사용할 수 있는 것은 아니지만 원하는 대로 사용할 수 있는 패키지가 없더라도 약간의 준비 후에 MathML 문서를 수동으로 만들 수 있습니다. 결국, 이것들은 (HTML과 마찬가지로) 간단한 텍스트 편집기로 작업하기 위한 일반 텍스트 파일입니다.

결론적으로 MathML은 비교적 최근에(버전 1.0에 대한 설명은 1998년에 출판됨) 등장했으며 초기 단계에 있음을 다시 한 번 강조합니다. 몇 년 안에 MathML이 더 강력하고 진보된 기술을 제공할 것이라는 점을 배제할 수 없습니다. 그러나 이 언어에 내재된 깊은 아이디어가 복잡한 과학 및 기술 문서를 제시하는 미래의 방법을 만들기 위한 견고한 토대가 될 것이라고 이미 말할 수 있습니다.