SlideShare a Scribd company logo
1 of 16
Download to read offline
Pandoc — a universal document converter
DiverSE Coffee
Erwan Bousse Mathieu Acher
June 4, 2015
Erwan Bousse, Mathieu Acher Pandoc 1/16
Outline
1 Short introduction and demo
2 Pandoc usages
3 Some details of Pandoc
4 Pandoc for education and research?
Erwan Bousse, Mathieu Acher Pandoc 2/16
What is pandoc?
From their website: “If you need to convert files from one markup
format into another, pandoc is your swiss-army knife”
Command-line tool that processes a markup format
(markdown, wiki syntax, etc.), and produces a document
(LATEX, epub, docx, etc.)
Written in Haskell in a modular fashion (one module per
input language and per output language)
GPL licensed
Can also be used directly as a Haskell library
Erwan Bousse, Mathieu Acher Pandoc 3/16
Input markup formats
“A markup language is a system for annotating a document in a
way that is syntactically distinguishable from the text.”, Wikip´edia
Presentation-neutral:
markdown, reStructuredText, textile, DocBook, MediaWiki
markup, TWiki markup, Haddock markup, OPML, Emacs
Org-Mode, Txt2Tags
Not really presentation neutral:
HTML, LaTeX, Microsoft Word docx, EPUB
Erwan Bousse, Mathieu Acher Pandoc 4/16
Output document formats
HTML formats: XHTML, HTML5, and HTML slide shows
using Slidy, reveal.js, Slideous, S5, or DZSlides.
Word processor formats: Microsoft Word docx,
OpenOffice/LibreOffice ODT, OpenDocument XML
Ebooks: EPUB version 2 or 3, FictionBook2
Documentation formats: DocBook, GNU TexInfo, Groff man
pages, Haddock markup
Page layout formats: InDesign ICML
Outline formats: OPML
TeX formats: LaTeX, ConTeXt, LaTeX Beamer slides
PDF via LaTeX
Lightweight markup formats: Markdown (including
CommonMark), reStructuredText, AsciiDoc, MediaWiki
markup, DokuWiki markup, Emacs Org-Mode, Textile
Erwan Bousse, Mathieu Acher Pandoc 5/16
Demo: from Markdown to Stuff
Demo o/
Erwan Bousse, Mathieu Acher Pandoc 6/16
Pandoc usages
Motivations:
To go from a format to another (if you don’t care about
formatting, since only the content is kept)
To write things once, and to export to multiple formats
To write things in a nice lightweight language (instead of
horrible LATEX, for instance)
. . .
To make:
Slides (like these ones!)
Report
Book
Conference/journal paper? (yet to be tried )
. . .
Erwan Bousse, Mathieu Acher Pandoc 7/16
A view of pandoc (official website)
Erwan Bousse, Mathieu Acher Pandoc 8/16
Hidden Pivot Metamodel
http://hackage.haskell.org/package/pandoc-types-1.12.
4.2/docs/Text-Pandoc-Definition.html#t:Block
Erwan Bousse, Mathieu Acher Pandoc 9/16
Huge amount of options
http://pandoc.org/README.html#general-options
Erwan Bousse, Mathieu Acher Pandoc 10/16
Metadata and templates
YAML metadata to parameterize the template of the output
language
Provides an easy way to customize header + footer (very nice
for LATEX output)
Very simple template language to do so: conditionnals and
loops (with separators)
Erwan Bousse, Mathieu Acher Pandoc 11/16
Filters
Possibility to define filters to rework the AST (e.g. extend the
input language)
Erwan Bousse, Mathieu Acher Pandoc 12/16
Pandoc for education
A “case” for explaining advanced concepts
Software Languages
– parsing
– domain-specific languages, expressiveness, extensibility
– strategies for “growing up” and mixing different languages
(YAML, templating, Python bindings, grammar islands?)
Model-driven Engineering
– pivot metamodel, model transformations
Software Product Lines
– parameters (command line level), input variants, output
variants
– reuse/extensibility mechanisms
Erwan Bousse, Mathieu Acher Pandoc 13/16
Pandoc for research
A “case” for investigating SLE, MDE, and SPL problems
Languages: eg how to address language extensibility
problems?
Modeling: eg how to design a pivot metamodel?
Variability: eg how to test/maintain/introduce plenty of
parameters for plenty of inputs and plenty of outputs?
Erwan Bousse, Mathieu Acher Pandoc 14/16
Summary
Pandoc: useful tool for writing reports, slides, papers
Pandoc for interns, engineers, researchers, or assistants
Pandoc for educators and scientists (worth studying in details
Pandoc)
Open question: how to study Pandoc and render the
understanding/knowledge?
Erwan Bousse, Mathieu Acher Pandoc 15/16
Example: a customised markdown → beamer workflow
Available here:
https://git.framasoft.org/Gwendal/
better-pandoc-markdown2beamer
Makes use of:
A customised beamer output template with more metadata
handling (e.g. insitute) and a style
A filter to extend the input markdown with a new [columns]
syntax to create beamer columns
Erwan Bousse, Mathieu Acher Pandoc 16/16

More Related Content

Similar to Pandoc: a universal document converter

Talking Technologies
Talking TechnologiesTalking Technologies
Talking Technologies
Jisc Scotland
 

Similar to Pandoc: a universal document converter (20)

Olf2016
Olf2016Olf2016
Olf2016
 
Tlf2016
Tlf2016Tlf2016
Tlf2016
 
Concordances
Concordances Concordances
Concordances
 
Scale2016
Scale2016Scale2016
Scale2016
 
Fossetcon15
Fossetcon15Fossetcon15
Fossetcon15
 
Knoxbug2016
Knoxbug2016Knoxbug2016
Knoxbug2016
 
Intermediate Languages
Intermediate LanguagesIntermediate Languages
Intermediate Languages
 
Niatalk24jan10
Niatalk24jan10Niatalk24jan10
Niatalk24jan10
 
WALS and eLanguage (Leipzig)
WALS and eLanguage (Leipzig)WALS and eLanguage (Leipzig)
WALS and eLanguage (Leipzig)
 
Software for paper formatting
Software for paper formatting Software for paper formatting
Software for paper formatting
 
OOo to Daisy (Aegis project)
OOo to Daisy (Aegis project)OOo to Daisy (Aegis project)
OOo to Daisy (Aegis project)
 
ODT to Daisy (AEGIS project)
ODT to Daisy (AEGIS project)ODT to Daisy (AEGIS project)
ODT to Daisy (AEGIS project)
 
Epub IDPF update & futures-Garth Conboy
Epub IDPF update & futures-Garth ConboyEpub IDPF update & futures-Garth Conboy
Epub IDPF update & futures-Garth Conboy
 
Static analysis of textual models
Static analysis of textual modelsStatic analysis of textual models
Static analysis of textual models
 
Compiling Apertium Dictionaries with HFST
Compiling Apertium Dictionaries with HFSTCompiling Apertium Dictionaries with HFST
Compiling Apertium Dictionaries with HFST
 
Ant conc notes
Ant conc notesAnt conc notes
Ant conc notes
 
How to make mathematical eContent travel well
How to make mathematical eContent travel wellHow to make mathematical eContent travel well
How to make mathematical eContent travel well
 
Talking Technologies
Talking TechnologiesTalking Technologies
Talking Technologies
 
Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"Multilingual Drupal presentation from "Do it With Drupal"
Multilingual Drupal presentation from "Do it With Drupal"
 
Porting terminologies to the Semantic Web
Porting terminologies to the Semantic WebPorting terminologies to the Semantic Web
Porting terminologies to the Semantic Web
 

More from University of Rennes, INSA Rennes, Inria/IRISA, CNRS

24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
On anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variabilityOn anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Machine Learning and Deep Software Variability
Machine Learning and Deep Software VariabilityMachine Learning and Deep Software Variability
Machine Learning and Deep Software Variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeTransfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and ChallengesTeaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.orgFrom Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 

More from University of Rennes, INSA Rennes, Inria/IRISA, CNRS (20)

A Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AIA Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AI
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
On Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based AssistantOn Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based Assistant
 
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
 
Tackling Deep Software Variability Together
Tackling Deep Software Variability TogetherTackling Deep Software Variability Together
Tackling Deep Software Variability Together
 
On anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variabilityOn anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variability
 
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
 
Machine Learning and Deep Software Variability
Machine Learning and Deep Software VariabilityMachine Learning and Deep Software Variability
Machine Learning and Deep Software Variability
 
Mastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and ScienceMastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and Science
 
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeTransfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
 
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and ChallengesTeaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
 
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
 
Synthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product DescriptionsSynthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product Descriptions
 
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.orgFrom Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines
 
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
 

Recently uploaded

Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Marc Lester
 

Recently uploaded (20)

UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 

Pandoc: a universal document converter

  • 1. Pandoc — a universal document converter DiverSE Coffee Erwan Bousse Mathieu Acher June 4, 2015 Erwan Bousse, Mathieu Acher Pandoc 1/16
  • 2. Outline 1 Short introduction and demo 2 Pandoc usages 3 Some details of Pandoc 4 Pandoc for education and research? Erwan Bousse, Mathieu Acher Pandoc 2/16
  • 3. What is pandoc? From their website: “If you need to convert files from one markup format into another, pandoc is your swiss-army knife” Command-line tool that processes a markup format (markdown, wiki syntax, etc.), and produces a document (LATEX, epub, docx, etc.) Written in Haskell in a modular fashion (one module per input language and per output language) GPL licensed Can also be used directly as a Haskell library Erwan Bousse, Mathieu Acher Pandoc 3/16
  • 4. Input markup formats “A markup language is a system for annotating a document in a way that is syntactically distinguishable from the text.”, Wikip´edia Presentation-neutral: markdown, reStructuredText, textile, DocBook, MediaWiki markup, TWiki markup, Haddock markup, OPML, Emacs Org-Mode, Txt2Tags Not really presentation neutral: HTML, LaTeX, Microsoft Word docx, EPUB Erwan Bousse, Mathieu Acher Pandoc 4/16
  • 5. Output document formats HTML formats: XHTML, HTML5, and HTML slide shows using Slidy, reveal.js, Slideous, S5, or DZSlides. Word processor formats: Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML Ebooks: EPUB version 2 or 3, FictionBook2 Documentation formats: DocBook, GNU TexInfo, Groff man pages, Haddock markup Page layout formats: InDesign ICML Outline formats: OPML TeX formats: LaTeX, ConTeXt, LaTeX Beamer slides PDF via LaTeX Lightweight markup formats: Markdown (including CommonMark), reStructuredText, AsciiDoc, MediaWiki markup, DokuWiki markup, Emacs Org-Mode, Textile Erwan Bousse, Mathieu Acher Pandoc 5/16
  • 6. Demo: from Markdown to Stuff Demo o/ Erwan Bousse, Mathieu Acher Pandoc 6/16
  • 7. Pandoc usages Motivations: To go from a format to another (if you don’t care about formatting, since only the content is kept) To write things once, and to export to multiple formats To write things in a nice lightweight language (instead of horrible LATEX, for instance) . . . To make: Slides (like these ones!) Report Book Conference/journal paper? (yet to be tried ) . . . Erwan Bousse, Mathieu Acher Pandoc 7/16
  • 8. A view of pandoc (official website) Erwan Bousse, Mathieu Acher Pandoc 8/16
  • 10. Huge amount of options http://pandoc.org/README.html#general-options Erwan Bousse, Mathieu Acher Pandoc 10/16
  • 11. Metadata and templates YAML metadata to parameterize the template of the output language Provides an easy way to customize header + footer (very nice for LATEX output) Very simple template language to do so: conditionnals and loops (with separators) Erwan Bousse, Mathieu Acher Pandoc 11/16
  • 12. Filters Possibility to define filters to rework the AST (e.g. extend the input language) Erwan Bousse, Mathieu Acher Pandoc 12/16
  • 13. Pandoc for education A “case” for explaining advanced concepts Software Languages – parsing – domain-specific languages, expressiveness, extensibility – strategies for “growing up” and mixing different languages (YAML, templating, Python bindings, grammar islands?) Model-driven Engineering – pivot metamodel, model transformations Software Product Lines – parameters (command line level), input variants, output variants – reuse/extensibility mechanisms Erwan Bousse, Mathieu Acher Pandoc 13/16
  • 14. Pandoc for research A “case” for investigating SLE, MDE, and SPL problems Languages: eg how to address language extensibility problems? Modeling: eg how to design a pivot metamodel? Variability: eg how to test/maintain/introduce plenty of parameters for plenty of inputs and plenty of outputs? Erwan Bousse, Mathieu Acher Pandoc 14/16
  • 15. Summary Pandoc: useful tool for writing reports, slides, papers Pandoc for interns, engineers, researchers, or assistants Pandoc for educators and scientists (worth studying in details Pandoc) Open question: how to study Pandoc and render the understanding/knowledge? Erwan Bousse, Mathieu Acher Pandoc 15/16
  • 16. Example: a customised markdown → beamer workflow Available here: https://git.framasoft.org/Gwendal/ better-pandoc-markdown2beamer Makes use of: A customised beamer output template with more metadata handling (e.g. insitute) and a style A filter to extend the input markdown with a new [columns] syntax to create beamer columns Erwan Bousse, Mathieu Acher Pandoc 16/16