Mathematical Content Conversions David McKain 9 th September 2009.

Slides:



Advertisements
Similar presentations
XML: Extensible Markup Language
Advertisements

XSL-FO + MathML Render MathML to Display, PDF, SVG September 18
XSLT 11-Apr-17.
University of Jyväskylä/AHo & VLy Experiences of Document Transformations with XSLT and DOM Anne Honkaranta, Virpi Lyytikäinen, Pasi Tiitinen, University.
XSL XSLT and XPath 11-Apr-17.
Math Accessibility on the Web: A Journey of Wailing and Gnashing of Teeth Greg Kraus University IT Accessibility Coordinator North Carolina State University.
The OpenMath Project Mike Dewar NAG Ltd, UK
1 A Web-Based Integral Evaluator: A Demonstration of the Successful Integration of WebEQ, Maple, and Java Wanda M. Kunkle Department of Mathematics & Computer.
DT228/3 Web Development JSP: Directives and Scripting elements.
Senior Project – I.D. Math & Computer Science jsMath Equation Editor Dana Cartwright Advisors – Prof. Cervone & Prof. Striegnitz Editor Design -
IST 221 Internet Concepts and Applications Internet, WWW and HTML 1.
Technical Track Session XML Techie Tools Tim Bornholt.
Introduction to XSLT & its use in Grainger Library full-text & metadata projects Thomas G. Habing Grainger Engineering Library Presentation to ASIS&T,
UNIT-V The MVC architecture and Struts Framework.
XML – Extensible Markup Language Sivakumar Kuttuva & Janusz Zalewski.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Creating a Basic Web Page
5/5/2005Toni Räikkönen Internet based data collection from enterprises using XML questionnaires and XCola engine CoRD Meeting May 11th 2005.
Encoding and fonts Edward Garrett Software Developer, ELAR.
XP 1 HTML: The Language of the Web A Web page is a text file written in a language called Hypertext Markup Language. A markup language is a language that.
Scientific Markup Languages Birds of a Feather A 10-Minute Introduction to XML Timothy W. Cole Mathematics Librarian & Professor of.
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
JavaScript II ECT 270 Robin Burke. Outline JavaScript review Processing Syntax Events and event handling Form validation.
Sheet 1XML Technology in E-Commerce 2001Lecture 7 XML Technology in E-Commerce Lecture 7 XSL Formatting Objects, Java Data Binding.
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
QTIWorks Demo Sue Milne, University of Glasgow & ELandWeb Ltd David McKain, University of Edinburgh Niall Barr, University of Glasgow.
Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor
CITA 330 Section 6 XSLT. Transforming XML Documents to XHTML Documents XSLT is an XML dialect which is declared under namespace "
New Printing Options from RTF Charles Engelke Info Tech, Inc. Trnsport Users’ Group October 15, 2004.
XML eXtensible Markup Language. Topics  What is XML  An XML example  Why is XML important  XML introduction  XML applications  XML support CSEB.
E0262 – MIS – Multimedia Storage Techniques XML (Extensible Markup Language  XML is a markup language for creating documents containing structured information.
TeX2Star A System for Converting TeX to OpenOffice By Jeffrey Starr.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Introduction to XML This presentation covers introductory features of XML. What XML is and what it is not? What does it do? Put different related technologies.
XML Steve Fisher/RAL. 20 October 2000XML - Steve Fisher/RAL2 Warning Information may not be all completely up to date.
Chapter 4: Working with ASP.NET Server Controls OUTLINE  What ASP.NET Server Controls are  How the ASP.NET run time processes the server controls on.
AxKit A member of the Apache XML project Ryan Maslyn Kyle Bechtel.
XML eXtensible Markup Language. XML A method of defining a format for exchanging documents and data. –Allows one to define a dialect of XML –A library.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
COP 3813 Intro to Internet Computing Prof. Roy Levow XML.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Python Documentation Projects Developers Day 8th International Python Conference 27 January 2000.
Martin Kruliš by Martin Kruliš (v1.1)1.
STEAM - Why Is Math Accessibility So Hard?. The difference between maths & text.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
STEAM - Why Is Math Accessibility So Hard?
Google maps engine and language presentation Ibrahim Motala.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
XSLT, XML Schema, and XPath Matt McClelland. Introduction XML Schema ▫Defines the content and structure of XML data. XSLT ▫Used to transform XML documents.
Rendering XML Documents ©NIITeXtensible Markup Language/Lesson 5/Slide 1 of 46 Objectives In this session, you will learn to: * Define rendering * Identify.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
An OpenDocument Developers Kit (ODDK) What do we need to make Application Developers Productive with ODF? Rob Weir IBM
© 2007 IBM Corporation ODF Programmability – What we need & What we have Robert Weir Software Architect IBM Software Group
XML Introduction Bill Jerome.
Unit 4 Representing Web Data: XML
Dongwon Lee, Ph.D. IST 516 Fall 2011
XML in Web Technologies
Core WG Meeting November 16th, 2017.
Rich Internet Application Frameworks: a Comparison of Flex, JavaFX, and Silverlight Hi, I am Minseung Kim, the topic that I am going to talk about is Rich.
Introduction CSE 1310 – Introduction to Computers and Programming
Prepared for Md. Zakir Hossain Lecturer, CSE, DUET Prepared by Miton Chandra Datta
Chapter 7 Representing Web Data: XML
INFO/CSE 100, Spring 2005 Fluency in Information Technology
XML Problems and Solutions
Middleware, Services, etc.
CS 240 – Advanced Programming Concepts
Presentation transcript:

Mathematical Content Conversions David McKain 9 th September 2009

Outline Motivation Quick summary of mathematical formats LaTeX -> MathML conversion example Reality check Tools for LaTeX -> MathML Conversion techniques

Motivation: Philosophy Lots of content already out there – in lots of different formats! One size never fits all – TeX/LaTeX: concise, easy to author, hard to manipulate – XML: verbose, hard(er) to author, easy to manipulate MathML is more complex than you think… – So often needs converted between itself Prevent bit rot

Motivation: Practical examples Bog standard LaTeX to PS/DVI/PDF – This is really a conversion! – LaTeX is both a format and a process – Whole document conversion – Easy turn-key solution LaTeX PDF

Example: “Single Source, Multiple Output” More complex! Building block approach = useful Another “whole document” conversion Probably needs development effort PDF Slides LaTeX Web Pages XML

Example: Dynamic maths in a browser Server- side Converter Server- side Converter Web Page with embedded LaTeX fragments $\frac{1}{2}$ Web Page with embedded LaTeX fragments $\frac{1}{2}$ Embedded JavaScript Embedded JavaScript Rendered Web Page LaTeX replaced by MathML, image or other trickery Rendered Web Page LaTeX replaced by MathML, image or other trickery readLaTeX to MathML LaTeX to images Good for: diverse browser mix, constrained delivery conditions Good for: diverse browser mix, constrained delivery conditions

Example: CAA question Student’s Browser Middleware Computer Algebra System Parse Response Process Response Show Feedback Get Outcome Render Question Randomise Start

Typical formats TeX/LaTeX MathML (Presentation & Content) OpenMath HTML/XHTML Docbook Typesetting/display (PDF, PS, DVI) Other proprietary formats (e.g. Word) Computer Algebra System syntaxes Will focus on this now! Both are schizophrenic, but in different ways!

Example: Conversion challenges We’ll look at how this could be input using LaTeX and MathML This will demonstrate some of the challenges and limitations of any TeX MathML conversion processes. Consider the following function application: f(x+2α) Consider the following function application: f(x+2α)

LaTeX markup version This can be input in LaTeX (math mode) as: f(x+2\alpha) LaTeX is most concerned about “display” – Its main function is to lay out each symbol in a rather beautiful way – It doesn’t care or know about “semantics”, e.g. whether brackets match or not – “Semantic” information can be specified though most people don’t bother

Presentation MathML spectrum f ( x + 2 α ) f ( x + 2 α ) f ⁡ x + 2 ⁢ α f ⁡ x + 2 ⁢ α Similar to LaTeX! Renders the same but encapsulates lots more meaning More semanticLess Semantic

Content MathML version f x 2 α f x 2 α This is not too far from the “semantic” PMathML version

Conversion challenges Contextualisation: f(x+2α) was a function earlier. What about a(x+2α)? e? Internationalisation: f’(x) vs df/dx, gcd vs ggT Style: “s.t.” vs “:” vs “|” vs bracketing Symbol Reuse: 2|6 vs {n | n is prime} Wiggle Room: Presentation MathML representations are non-unique

LaTeX MathML possibilities LaTeX (Low Semantic) Presentation MathML (High Semantic) Presentation MathML OR Content MathML Routine, modulo equivalents Harder, requires context knowledge OK, but needs knowledge about preferred notation Most converters focus on this

Conversion guidelines Easiest to convert to a format with roughly same or lower semantic level – LaTeX simple Presentation MathML – Semantic Presentation MathML Content MathML – Content MathML -> OpenMath Conversion to higher semantic level possible if some of the “challenges” can be controlled: – E.g. restrict to “UK school level algebra” and LaTeX to Content MathML is possible... kind of… – Has applications to e-Learning & e-Assessment

Conversion tools There are lots of good tools out there, especially in the LaTeX -> simple PMathML direction. I’m not going to try to list them all. (Phew!) Some lists can be found at: – ware_cat_converters.html ware_cat_converters.html – Useful to consider some “discriminating factors” to help make an appropriate decision

Discriminating factors Whole document vs. math fragments Level of TeX/LaTeX completeness Configurability/extensibility of outputs Software library vs. service Client (e.g. browser) vs. “server” Choice of programming language License/terms of use … Thinking about these factors can help make the most appropriate decision for a given scenario

Some (La)TeX-y to XML Converters (1) NameConvertsMaths OutputPlatformConfig?LicenseNotes TeX4htWhole docMathML, Images TeXVeryLPPL TtMDocMathML, Images C“Free” PlasTeXDocImagesPython“Renderers”Good for Python platforms LaTeXMLDocMathML, Images PerlPost-processorPublic Domain SnuggleTeXDoc (almost) or Fragments MathML, Images, XHTML+CSS JavaJava API, XSLT, DOM hooks BSD GELLMUDoc with special LaTeX markup MathML, LaTeX ELISPGenerates intermediate XML GPLInteresting approach TralicsDocMathMLC++Custom

Some (La)TeX-y to XML Converters (2) NameConvertsMathsPlatformConfig?LicenseNotes MathTranFragmentsImagesWeb ServiceNot sureUseful SOA idea ORCCAFragmentsXMLJavaVia Mapping file??? LaTeXMathMLFragmentsMathMLBrowser JavaScript As aboveLGPLBased on ASCIIMath ASCIIMathMLFragmentsMathMLBrowser JavaScript Not reallyLGPL

Conversion techniques (geeky!) Pipelining & reuse of components Build on what’s already there… where possible Use XML early and often… if possible – Saves having to write custom parsers – Lots of XML tools already out there – XSLT & XPath are great. (Version 2.0 even better!)