Pandoc

Last updated
Pandoc
Original author(s) John MacFarlane
Initial release10 August 2006(18 years ago) (2006-08-10)
Stable release
3.3 [1]   OOjs UI icon edit-ltr-progressive.svg / 29 July 2024(53 days ago) (29 July 2024)
Repository
Written in Haskell
Operating system Unix-like, Windows
Platform Cross-platform
License GNU GPLv2-or-later
Website pandoc.org

Pandoc is a free-software document converter, widely used as a writing tool (especially by scholars) [2] and as a basis for publishing workflows. [3] It was created by John MacFarlane, a philosophy professor at the University of California, Berkeley. [4]

Contents

Functionality

Pandoc dubs itself a "markup format" converter. It can take a document in one of the supported formats and convert only its markup to another format. Maintaining the look and feel of the document is not a priority. [5]

Plug-ins for custom formats can also be written in Lua, which has been used to create an exporting tool for the Journal Article Tag Suite, for example. [6]

CiteProc

An included CiteProc option allows pandoc to use bibliographic data from reference management software in any of five formats: BibTeX, BibLaTeX, CSL JSON or CSL YAML, or RIS. [7] The information is automatically transformed into a citation in various styles (such as APA, Chicago, or MLA) using an implementation of the Citation Style Language. [7] This allows the program to serve as a simpler alternative to LaTeX for producing academic writing in Markdown with inline citation keys. [8] Or the program can be used to convert any bibliographic data stream in the accepted formats into a list of citations in a chosen style. [9]

Supported file formats

Input formats

The input format with the most support is an extended version of Markdown. [10] Notwithstanding, pandoc can also read in the following formats:

Output formats

Pandoc can create files in the following output formats, which are not necessarily the same set of formats as the input formats:

See also

Related Research Articles

<span class="mw-page-title-main">LaTeX</span> Typesetting system

LaTeX is a software system for typesetting documents. LaTeX markup describes the content and layout of the document, as opposed to the formatted text found in WYSIWYG word processors like Google Docs, LibreOffice Writer and Microsoft Word. The writer uses markup tagging conventions to define the general structure of a document, to stylise text throughout a document, and to add citations and cross-references. A TeX distribution such as TeX Live or MiKTeX is used to produce an output file suitable for printing or digital distribution.

<span class="mw-page-title-main">Markup language</span> Modern system for annotating a document

A markuplanguage is a text-encoding system which specifies the structure and formatting of a document and potentially the relationships among its parts. Markup can control the display of a document or enrich its content to facilitate automated processing.

<span class="mw-page-title-main">Typesetting</span> Composition of text by means of arranging physical types or digital equivalents

Typesetting is the composition of text for publication, display, or distribution by means of arranging physical type in mechanical systems or glyphs in digital systems representing characters. Stored types are retrieved and ordered according to a language's orthography for visual display. Typesetting requires one or more fonts. One significant effect of typesetting was that authorship of works could be spotted more easily, making it difficult for copiers who have not gained permission.

A document file format is a text or binary file format for storing documents on a storage media, especially for use by computers. There currently exist a multitude of incompatible document file formats.

OPML is an XML format for outlines. Originally developed by UserLand Software as a native file format for the outliner application in its Radio UserLand product, it has since been adopted for other uses, the most common being to exchange lists of web feeds between web feed aggregators.

A lightweight markup language (LML), also termed a simple or humane markup language, is a markup language with simple, unobtrusive syntax. It is designed to be easy to write using any generic text editor and easy to read in its raw form. Lightweight markup languages are used in applications where it may be necessary to read the raw document as well as the final rendered output.

<span class="mw-page-title-main">JSON</span> Open standard file format and data interchange

JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays. It is a commonly used data format with diverse uses in electronic data interchange, including that of web applications with servers.

<span class="mw-page-title-main">Markdown</span> Plain text markup language

Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber created Markdown in 2004 as an easy-to-read markup language. Markdown is widely used for blogging and instant messaging, and also used elsewhere in online forums, collaborative software, documentation pages, and readme files.

AsciiDoc is a human-readable document format, semantically equivalent to DocBook XML, but using plain-text mark-up conventions. AsciiDoc documents can be created using any text editor and read “as-is”, or rendered to HTML or any other format supported by a DocBook tool-chain, i.e. PDF, TeX, Unix manpages, e-books, slide presentations, etc. Common file extensions for AsciiDoc files are txt and adoc.

<span class="mw-page-title-main">BibDesk</span> Reference management software

BibDesk is an open-source reference management software package for macOS, used to manage bibliographies and references when writing essays and articles. It can also be used to organize and maintain a library of documents in PDF format and other formats. It is primarily a BibTeX front-end for use with LaTeX, but also offers external bibliographic database connectivity for importing, a variety of means for exporting, and capability for linking to local documents and automatically filing local documents. It takes advantage of many macOS features such as AppleScript and Spotlight.

CiteProc is the generic name for programs that produce formatted bibliographies and citations based on the metadata of the cited objects and the formatting instructions provided by Citation Style Language (CSL) styles. The first CiteProc implementation used XSLT 2.0, but implementations have been written for other programming languages, including JavaScript, Java, Haskell, PHP, Python, Ruby and Emacs Lisp.

Doxia is a content generation framework that provides its users with powerful techniques for generating static and dynamic content. Doxia can be used in web-based publishing context to generate static sites, in addition to being incorporated into dynamic content generation systems like blogs, wikis and content management systems. Doxia is now a subproject of Apache Maven which uses it to convert APT markup documentation into HTML or other formats.

This is a comparison of data serialization formats, various ways to convert complex objects to sequences of bits. It does not include markup languages used exclusively as document file formats.

<span class="mw-page-title-main">Org-mode</span> Open source mode for GNU Emacs

Org Mode is a mode for document editing, formatting, and organizing within the free software text editor GNU Emacs and its derivatives, designed for notes, planning, and authoring. The name is used to encompass plain text files that include simple marks to indicate levels of a hierarchy, and an editor with functions that can read the markup and manipulate hierarchy elements.

<span class="mw-page-title-main">Journal Article Tag Suite</span>

The Journal Article Tag Suite (JATS) is an XML format used to describe scientific literature published online. It is a technical standard developed by the National Information Standards Organization (NISO) and approved by the American National Standards Institute with the code Z39.96-2012.

Gollum is wiki software that uses Git as the backend storage mechanism, and written mostly in Ruby. It started life as the wiki system used by the GitHub web hosting system. Although the open source Gollum project and the software currently used to run GitHub wikis have diverged from one another, Gollum strives to maintain compatibility with the latter. Currently it is used by GitLab server to store and interconnect wiki-pages with wiki-links, but the plan is to move complete away from Gollum in the future.

References

  1. "Release 3.3". 29 July 2024. Retrieved 23 August 2024.
  2. Mullen, Lincoln (23 February 2012). "Pandoc Converts All Your (Text) Documents". The Chronicle of Higher Education Blogs: ProfHacker. Retrieved 27 June 2014.
    - McDaniel, W. Caleb (28 September 2012). "Why (and How) I Wrote My Academic Book in Plain Text". W. Caleb McDaniel at Rice University. Retrieved 27 June 2014.
    - Healy, Kieran (23 January 2014). "Plain Text, Papers, Pandoc" . Retrieved 27 June 2014.
    - Ovadia, Steven (2014). "Markdown for Librarians and Academics". Behavioral & Social Sciences Librarian. 33 (2): 120–124. doi:10.1080/01639269.2014.904696. ISSN   0163-9269. S2CID   62762368.
  3. Till, Kaitlyn; Simas, Shed; Larkai, Velma (14 April 2014). "The Flying Narwhal: Small mag workflow". Publishing @ SFU. Retrieved 11 March 2018.
    - Maxwell, John (1 November 2013). "Building Publishing Workflows with Pandoc and Git". Publishing @ SFU. Retrieved 27 June 2014.[ permanent dead link ]
    - Maxwell, John (26 February 2014). "On Pandoc". eBound Canada: Digital Production Workshop, Vancouver, BC. Archived from the original on 28 February 2015. Retrieved 27 June 2014.
    - Maxwell, John (1 November 2013). "Building Publishing Workflows with Pandoc and Git". Publishing @ SFU. Retrieved 12 April 2019.
    - Krewinkel, Albert; Robert Winkler (8 May 2017). "Formatting Open Science: agilely creating multiple document formats for academic manuscripts with Pandoc Scholar". PeerJ Computer Science. 3: e112. doi: 10.7717/peerj-cs.112 . Retrieved 25 May 2017.
  4. "John MacFarlane". Department of Philosophy. University of California, Berkeley. Retrieved 25 July 2014.
  5. "Pandoc User's Guide". pandoc.org. Description. Retrieved 22 January 2019. ...one should not expect perfect conversions between every format and every other. Pandoc attempts to preserve the structural elements of a document, but not formatting details...
  6. Fenner, Martin (12 December 2013). "From Markdown to JATS XML in one Step". Gobbledygook. doi:10.53731/r294649-6f79289-8cw0k . Retrieved 27 June 2014.
  7. 1 2 "Citations". Pandoc User's Guide. Retrieved 2021-04-08.
  8. Tenen, Dennis; Grant Wythoff (19 March 2014). "Sustainable Authorship in Plain Text using Pandoc and Markdown". The Programming Historian (3). doi: 10.46430/phen0041 . Retrieved 27 June 2014.
  9. Denlinger, Kyle. "Research Guides: Zotero: Citations & Bibliographies". guides.zsr.wfu.edu. Retrieved 2023-06-21.
  10. "Pandoc's Markdown". Pandoc User's Guide. Retrieved 2019-08-01.
  11. 1 2 "pandoc 3.1.12 (2024-02-14)". pandoc.org. Retrieved 2024-03-05.
  12. Mullen, Lincoln (20 March 2012). "Make Your Own E-Books with Pandoc". The Chronicle of Higher Education Blogs: ProfHacker. Retrieved 27 June 2014.
  13. "Getting started with pandoc". pandoc.org. Creating a PDF. Retrieved 22 January 2019.
  14. See as an example MacFarlane, John (17 May 2014). "Pandoc for Haskell Hackers". BayHac 2014, Mountain View, CA. Retrieved 27 June 2014.{{cite web}}: CS1 maint: location (link) The source file is written in Markdown.