SlideShare a Scribd company logo
1 of 25
Download to read offline
Word, MathType, DITA,
MathML, and FOP
Doing Math With DITA and Word
10/27/2014 Contrext, LLC 1
About the Author
• Independent consultant focusing on DITA
analysis, design, and implementation
• Doing SGML and XML for cough 30 years cough
• Founding member of the DITA Technical
Committee
• Founding member of the XML Working Group
• Co-editor of HyTime standard (ISO/IEC 10744)
• Primary developer and founder of the DITA for
Publishers project
• Author of DITA for Practitioners, Vol 1 (XML Press)
10/27/2014 Contrext, LLC 2
Agenda
• The challenge: authoring math and publishing
using DITA
• Demonstration
• The tools
• The process
10/27/2014 Contrext, LLC 3
Executive Summary
• DITA 1.3 integrates MathML out of the box
• FOP and Antenna House XSL Formatter both
support MathML rendering
• MathType for Word is a low-cost equation editor
that supports MathML
• The DITA for Publishers Word-to-DITA framework
supports getting MathML from Word
• All together it means low-cost, high-quality math
publishing with DITA
10/27/2014 Contrext, LLC 4
THE CHALLENGE:
AUTHORING MATH AND
PUBLISHING USING DITA
10/27/2014 Contrext, LLC 5
Use Case: Authoring in Word,
Generating DITA
• Authors use Microsoft Word to author the
content:
– Academic papers
– Technical standards
– Technical documentation with math
• Convert the Word to DITA using the DITA for
Publishers Word-to-DITA framework
• Need to get MathML equations from authors
10/27/2014 Contrext, LLC 6
Math is Hard
• Many ways to author math
• MathML is the only XML standard for math
• MathML not practical to author directly:
requires an authoring tool of some sort
• For XML use need a way to get MathML from
authors along with the XML
10/27/2014 Contrext, LLC 7
Rendering MathML
• Requires MathML-aware tools
• May be production quality issues depending
on the renderer chosen
• May need to generate images for some
delivery targets (e.g., EPUB and Kindle)
10/27/2014 Contrext, LLC 8
Word and MathType
• Word has a built-in equation editor
– It does not produce MathML directly
• The Design Science MathType Word plugin can
produce MathML directly
– Can cut and paste from MathType as MathML
– Can convert MathType binary equations to “inline
MathML”
• No other automated way to get MathML from
the MathType equations
10/27/2014 Contrext, LLC 9
DITA and MathML
• Before DITA 1.3, no out-of-the-box MathML
integration in DITA
• Integration doable, e.g. DITA for Publishers,
Design Science solutions
• Need to implement MathML handling in the
DITA Open Toolkit or other DITA tools
10/27/2014 Contrext, LLC 10
DEMONSTRATION
10/27/2014 Contrext, LLC 11
Demonstration
• Real process for scientific journal articles
10/27/2014 Contrext, LLC 12
THE TOOLS
10/27/2014 Contrext, LLC 13
PDF Rendering: FOP and jEuclid
• Apache FOP is open-source XSL-FO engine
• When integrated with Apache jEuclid engine
renders MathML directly
• Rendition quality is good but may not be good
enough for some publications or equations
• To configure, just add jEuclid jar files to the
FOP installation
10/27/2014 Contrext, LLC 14
MathML in DITA
• DITA 1.3 integrates MathML out of the box
• This integration can be used with existing DITA 1.2 or
1.1 systems (not dependent on any other 1.3 features)
• Provides the <mathml> container for containing inline
MathML markup.
• Provides the <mathmlref> element for using MathML
markup by reference
• Provides elements for representing semantic equations
separate from the data format of the equations
• oXygenXML supports MathML in the editor and can
integrate with MathType
10/27/2014 Contrext, LLC 15
MS Word and MathType
• MathType is a low-cost Word plugin
– Visual editing of equations
– Can generate MathML
– Can convert binary MathType equations to “inline
MathML” in the word
– This conversion is not reversible
• Could also use Word’s proprietary equation
markup
– Not currently supported by the D4P Word-to-DITA
process
– But technically possible to convert to MathML
10/27/2014 Contrext, LLC 16
Word-to-DITA Framework
• Part of DITA for Publishers project
• Uses a style-to-tag-map to map Word styles to
DITA markup
• Supports translation of “inline” MathML to
MathML in the DITA
• Requires using MathType to convert binary
equations to inline MathML
10/27/2014 Contrext, LLC 17
THE PROCESS
10/27/2014 Contrext, LLC 18
0. Set Up
• Set up the style-to-tag mapping for converting
Word to DITA
– D4P provides an out-of-the-box mapping for built-
in Word styles
– See DITA for Publishers User Guide for details
• Add the jEuclid libraries to your FOP
installation
• Add the DITA 1.3 MathML and equation
domains to your local topic type shells
10/27/2014 Contrext, LLC 19
1. Author in Word
• Use Word with styles
• Use MathType to create equations
10/27/2014 Contrext, LLC 20
2. Generate Inline MathML
• Use MathType to convert
MathType equations to inline
MathML
• May want to save DOCX file to
a new location
– Conversion is not reversable
– Makes the Word largely
unusable
10/27/2014 Contrext, LLC 21
3. Generate DITA from The Word
Doc
• Run the D4P Word-to-DITA process
• Results in DITA XML
with MathML inline
10/27/2014 Contrext, LLC 22
4. Produce PDF with FOP
• Use normal DITA Open Toolkit process to
generate PDF using FOP
• Equations should
be rendered
10/27/2014 Contrext, LLC 23
Bonus: MathML In HTML
• The open-source MathJax package renders inline
MathML in any Javascript-capable browser
• The DITA 1.3 MathML support includes
generation of HTML with MathJax references
• Some browsers render MathML directly:
– Firefox
– IE 10+ (I think)
• Google has dropped MathML support from
Chrome
10/27/2014 Contrext, LLC 24
Resources
• DITA 1.3 spec: ???
• DITA for Publishers:
http://www.dita4publishers.org
• MathType: http://www.dessci.com
• FOP: http://xmlgraphics.apache.org/fop/
• Me: ekimber@contrext.com,
http://contrext.com
10/27/2014 Contrext, LLC 25

More Related Content

More from soapconf

Karen Mardahl - Desiring accessibility, soap! 2015
Karen Mardahl - Desiring accessibility, soap! 2015Karen Mardahl - Desiring accessibility, soap! 2015
Karen Mardahl - Desiring accessibility, soap! 2015soapconf
 
Emilie Boillat - Whatchamacallit: Controlled Vocabularies for Technical Write...
Emilie Boillat - Whatchamacallit: Controlled Vocabularies for Technical Write...Emilie Boillat - Whatchamacallit: Controlled Vocabularies for Technical Write...
Emilie Boillat - Whatchamacallit: Controlled Vocabularies for Technical Write...soapconf
 
Erin Vang - Rockstars, not typists! Expanding your influence in tech organiza...
Erin Vang - Rockstars, not typists! Expanding your influence in tech organiza...Erin Vang - Rockstars, not typists! Expanding your influence in tech organiza...
Erin Vang - Rockstars, not typists! Expanding your influence in tech organiza...soapconf
 
Anton Bollen - What Makes a Video Effective?; soap! 2015
Anton Bollen - What Makes a Video Effective?; soap! 2015Anton Bollen - What Makes a Video Effective?; soap! 2015
Anton Bollen - What Makes a Video Effective?; soap! 2015soapconf
 
Adam Sanyo - Conref, conkeyref, conrefpush: Reuse strategies when working on ...
Adam Sanyo - Conref, conkeyref, conrefpush: Reuse strategies when working on ...Adam Sanyo - Conref, conkeyref, conrefpush: Reuse strategies when working on ...
Adam Sanyo - Conref, conkeyref, conrefpush: Reuse strategies when working on ...soapconf
 
Ray Gallon - Complexity, Nemetics, and Wicked Tech Comm; soap! 2015
Ray Gallon - Complexity, Nemetics, and Wicked Tech Comm; soap! 2015Ray Gallon - Complexity, Nemetics, and Wicked Tech Comm; soap! 2015
Ray Gallon - Complexity, Nemetics, and Wicked Tech Comm; soap! 2015soapconf
 
Rick Yagodich - Onramp: Making the case for author experience; soapconf 2014
Rick Yagodich - Onramp: Making the case for author experience; soapconf 2014Rick Yagodich - Onramp: Making the case for author experience; soapconf 2014
Rick Yagodich - Onramp: Making the case for author experience; soapconf 2014soapconf
 
Ray Gallon - Your most important business asset - Build a better end-to-end c...
Ray Gallon - Your most important business asset - Build a better end-to-end c...Ray Gallon - Your most important business asset - Build a better end-to-end c...
Ray Gallon - Your most important business asset - Build a better end-to-end c...soapconf
 
Felix Sasaki - Value beyond content creation - Introducing ITS 2.0; soapconf ...
Felix Sasaki - Value beyond content creation - Introducing ITS 2.0; soapconf ...Felix Sasaki - Value beyond content creation - Introducing ITS 2.0; soapconf ...
Felix Sasaki - Value beyond content creation - Introducing ITS 2.0; soapconf ...soapconf
 
Kasia Mrowca - How to defeat feature gluttony; soapconf 2014
Kasia Mrowca - How to defeat feature gluttony; soapconf 2014Kasia Mrowca - How to defeat feature gluttony; soapconf 2014
Kasia Mrowca - How to defeat feature gluttony; soapconf 2014soapconf
 
Noz Urbina - Messages for your manager about content; soapconf 2014
Noz Urbina - Messages for your manager about content; soapconf 2014Noz Urbina - Messages for your manager about content; soapconf 2014
Noz Urbina - Messages for your manager about content; soapconf 2014soapconf
 
Agnieszka Tkaczyk - Using infographics in technical communication; soapconf 2014
Agnieszka Tkaczyk - Using infographics in technical communication; soapconf 2014Agnieszka Tkaczyk - Using infographics in technical communication; soapconf 2014
Agnieszka Tkaczyk - Using infographics in technical communication; soapconf 2014soapconf
 
Monika Konieczny - Gamification & storytelling: how to turn boring technical ...
Monika Konieczny - Gamification & storytelling: how to turn boring technical ...Monika Konieczny - Gamification & storytelling: how to turn boring technical ...
Monika Konieczny - Gamification & storytelling: how to turn boring technical ...soapconf
 
Kevin Duncan - Speaking the visual language using images for effective commun...
Kevin Duncan - Speaking the visual language using images for effective commun...Kevin Duncan - Speaking the visual language using images for effective commun...
Kevin Duncan - Speaking the visual language using images for effective commun...soapconf
 

More from soapconf (14)

Karen Mardahl - Desiring accessibility, soap! 2015
Karen Mardahl - Desiring accessibility, soap! 2015Karen Mardahl - Desiring accessibility, soap! 2015
Karen Mardahl - Desiring accessibility, soap! 2015
 
Emilie Boillat - Whatchamacallit: Controlled Vocabularies for Technical Write...
Emilie Boillat - Whatchamacallit: Controlled Vocabularies for Technical Write...Emilie Boillat - Whatchamacallit: Controlled Vocabularies for Technical Write...
Emilie Boillat - Whatchamacallit: Controlled Vocabularies for Technical Write...
 
Erin Vang - Rockstars, not typists! Expanding your influence in tech organiza...
Erin Vang - Rockstars, not typists! Expanding your influence in tech organiza...Erin Vang - Rockstars, not typists! Expanding your influence in tech organiza...
Erin Vang - Rockstars, not typists! Expanding your influence in tech organiza...
 
Anton Bollen - What Makes a Video Effective?; soap! 2015
Anton Bollen - What Makes a Video Effective?; soap! 2015Anton Bollen - What Makes a Video Effective?; soap! 2015
Anton Bollen - What Makes a Video Effective?; soap! 2015
 
Adam Sanyo - Conref, conkeyref, conrefpush: Reuse strategies when working on ...
Adam Sanyo - Conref, conkeyref, conrefpush: Reuse strategies when working on ...Adam Sanyo - Conref, conkeyref, conrefpush: Reuse strategies when working on ...
Adam Sanyo - Conref, conkeyref, conrefpush: Reuse strategies when working on ...
 
Ray Gallon - Complexity, Nemetics, and Wicked Tech Comm; soap! 2015
Ray Gallon - Complexity, Nemetics, and Wicked Tech Comm; soap! 2015Ray Gallon - Complexity, Nemetics, and Wicked Tech Comm; soap! 2015
Ray Gallon - Complexity, Nemetics, and Wicked Tech Comm; soap! 2015
 
Rick Yagodich - Onramp: Making the case for author experience; soapconf 2014
Rick Yagodich - Onramp: Making the case for author experience; soapconf 2014Rick Yagodich - Onramp: Making the case for author experience; soapconf 2014
Rick Yagodich - Onramp: Making the case for author experience; soapconf 2014
 
Ray Gallon - Your most important business asset - Build a better end-to-end c...
Ray Gallon - Your most important business asset - Build a better end-to-end c...Ray Gallon - Your most important business asset - Build a better end-to-end c...
Ray Gallon - Your most important business asset - Build a better end-to-end c...
 
Felix Sasaki - Value beyond content creation - Introducing ITS 2.0; soapconf ...
Felix Sasaki - Value beyond content creation - Introducing ITS 2.0; soapconf ...Felix Sasaki - Value beyond content creation - Introducing ITS 2.0; soapconf ...
Felix Sasaki - Value beyond content creation - Introducing ITS 2.0; soapconf ...
 
Kasia Mrowca - How to defeat feature gluttony; soapconf 2014
Kasia Mrowca - How to defeat feature gluttony; soapconf 2014Kasia Mrowca - How to defeat feature gluttony; soapconf 2014
Kasia Mrowca - How to defeat feature gluttony; soapconf 2014
 
Noz Urbina - Messages for your manager about content; soapconf 2014
Noz Urbina - Messages for your manager about content; soapconf 2014Noz Urbina - Messages for your manager about content; soapconf 2014
Noz Urbina - Messages for your manager about content; soapconf 2014
 
Agnieszka Tkaczyk - Using infographics in technical communication; soapconf 2014
Agnieszka Tkaczyk - Using infographics in technical communication; soapconf 2014Agnieszka Tkaczyk - Using infographics in technical communication; soapconf 2014
Agnieszka Tkaczyk - Using infographics in technical communication; soapconf 2014
 
Monika Konieczny - Gamification & storytelling: how to turn boring technical ...
Monika Konieczny - Gamification & storytelling: how to turn boring technical ...Monika Konieczny - Gamification & storytelling: how to turn boring technical ...
Monika Konieczny - Gamification & storytelling: how to turn boring technical ...
 
Kevin Duncan - Speaking the visual language using images for effective commun...
Kevin Duncan - Speaking the visual language using images for effective commun...Kevin Duncan - Speaking the visual language using images for effective commun...
Kevin Duncan - Speaking the visual language using images for effective commun...
 

Recently uploaded

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Eliot Kimber - Math ML with MathType, Word, DITA and FOP; soapconf 2014

  • 1. Word, MathType, DITA, MathML, and FOP Doing Math With DITA and Word 10/27/2014 Contrext, LLC 1
  • 2. About the Author • Independent consultant focusing on DITA analysis, design, and implementation • Doing SGML and XML for cough 30 years cough • Founding member of the DITA Technical Committee • Founding member of the XML Working Group • Co-editor of HyTime standard (ISO/IEC 10744) • Primary developer and founder of the DITA for Publishers project • Author of DITA for Practitioners, Vol 1 (XML Press) 10/27/2014 Contrext, LLC 2
  • 3. Agenda • The challenge: authoring math and publishing using DITA • Demonstration • The tools • The process 10/27/2014 Contrext, LLC 3
  • 4. Executive Summary • DITA 1.3 integrates MathML out of the box • FOP and Antenna House XSL Formatter both support MathML rendering • MathType for Word is a low-cost equation editor that supports MathML • The DITA for Publishers Word-to-DITA framework supports getting MathML from Word • All together it means low-cost, high-quality math publishing with DITA 10/27/2014 Contrext, LLC 4
  • 5. THE CHALLENGE: AUTHORING MATH AND PUBLISHING USING DITA 10/27/2014 Contrext, LLC 5
  • 6. Use Case: Authoring in Word, Generating DITA • Authors use Microsoft Word to author the content: – Academic papers – Technical standards – Technical documentation with math • Convert the Word to DITA using the DITA for Publishers Word-to-DITA framework • Need to get MathML equations from authors 10/27/2014 Contrext, LLC 6
  • 7. Math is Hard • Many ways to author math • MathML is the only XML standard for math • MathML not practical to author directly: requires an authoring tool of some sort • For XML use need a way to get MathML from authors along with the XML 10/27/2014 Contrext, LLC 7
  • 8. Rendering MathML • Requires MathML-aware tools • May be production quality issues depending on the renderer chosen • May need to generate images for some delivery targets (e.g., EPUB and Kindle) 10/27/2014 Contrext, LLC 8
  • 9. Word and MathType • Word has a built-in equation editor – It does not produce MathML directly • The Design Science MathType Word plugin can produce MathML directly – Can cut and paste from MathType as MathML – Can convert MathType binary equations to “inline MathML” • No other automated way to get MathML from the MathType equations 10/27/2014 Contrext, LLC 9
  • 10. DITA and MathML • Before DITA 1.3, no out-of-the-box MathML integration in DITA • Integration doable, e.g. DITA for Publishers, Design Science solutions • Need to implement MathML handling in the DITA Open Toolkit or other DITA tools 10/27/2014 Contrext, LLC 10
  • 12. Demonstration • Real process for scientific journal articles 10/27/2014 Contrext, LLC 12
  • 14. PDF Rendering: FOP and jEuclid • Apache FOP is open-source XSL-FO engine • When integrated with Apache jEuclid engine renders MathML directly • Rendition quality is good but may not be good enough for some publications or equations • To configure, just add jEuclid jar files to the FOP installation 10/27/2014 Contrext, LLC 14
  • 15. MathML in DITA • DITA 1.3 integrates MathML out of the box • This integration can be used with existing DITA 1.2 or 1.1 systems (not dependent on any other 1.3 features) • Provides the <mathml> container for containing inline MathML markup. • Provides the <mathmlref> element for using MathML markup by reference • Provides elements for representing semantic equations separate from the data format of the equations • oXygenXML supports MathML in the editor and can integrate with MathType 10/27/2014 Contrext, LLC 15
  • 16. MS Word and MathType • MathType is a low-cost Word plugin – Visual editing of equations – Can generate MathML – Can convert binary MathType equations to “inline MathML” in the word – This conversion is not reversible • Could also use Word’s proprietary equation markup – Not currently supported by the D4P Word-to-DITA process – But technically possible to convert to MathML 10/27/2014 Contrext, LLC 16
  • 17. Word-to-DITA Framework • Part of DITA for Publishers project • Uses a style-to-tag-map to map Word styles to DITA markup • Supports translation of “inline” MathML to MathML in the DITA • Requires using MathType to convert binary equations to inline MathML 10/27/2014 Contrext, LLC 17
  • 19. 0. Set Up • Set up the style-to-tag mapping for converting Word to DITA – D4P provides an out-of-the-box mapping for built- in Word styles – See DITA for Publishers User Guide for details • Add the jEuclid libraries to your FOP installation • Add the DITA 1.3 MathML and equation domains to your local topic type shells 10/27/2014 Contrext, LLC 19
  • 20. 1. Author in Word • Use Word with styles • Use MathType to create equations 10/27/2014 Contrext, LLC 20
  • 21. 2. Generate Inline MathML • Use MathType to convert MathType equations to inline MathML • May want to save DOCX file to a new location – Conversion is not reversable – Makes the Word largely unusable 10/27/2014 Contrext, LLC 21
  • 22. 3. Generate DITA from The Word Doc • Run the D4P Word-to-DITA process • Results in DITA XML with MathML inline 10/27/2014 Contrext, LLC 22
  • 23. 4. Produce PDF with FOP • Use normal DITA Open Toolkit process to generate PDF using FOP • Equations should be rendered 10/27/2014 Contrext, LLC 23
  • 24. Bonus: MathML In HTML • The open-source MathJax package renders inline MathML in any Javascript-capable browser • The DITA 1.3 MathML support includes generation of HTML with MathJax references • Some browsers render MathML directly: – Firefox – IE 10+ (I think) • Google has dropped MathML support from Chrome 10/27/2014 Contrext, LLC 24
  • 25. Resources • DITA 1.3 spec: ??? • DITA for Publishers: http://www.dita4publishers.org • MathType: http://www.dessci.com • FOP: http://xmlgraphics.apache.org/fop/ • Me: ekimber@contrext.com, http://contrext.com 10/27/2014 Contrext, LLC 25