Comparison of document markup languages

The following tables compare general and technical information for a number of document markup languages. Please see the individual markup languages' articles for further information.

List of document markup languages

AsciiDoc - plaintext markup language similar to Markdown. AsciiDoctor - plaintext markup language (extending AsciiDoc) AsciiDoctor. Chemical Markup Language (CML). Compact HyperText Markup Language (C-HTML) – used for some mobile phones. Computable Document Format - used for interactive technical documents. ConTeXt – a modular, structured formatting language based on TeX. Darwin Information Typing Architecture (DITA) - modular open free format for technical and specialized documents. DocBook – format for technical (but not only) manuals and documentation. eLML – eLesson Markup Language: create eLearning content. Encoded Archival Description (EAD). Enriched text – for formatting e-mail text.

Markup language

markupmarkup languagesdocument markup language
ReStructuredText. Programming language. Style language.

Pandoc

DocBook. EPUB. FictionBook (FB2). Haddock. HTML. Journal Article Tag Suite (JATS). JSON. LaTeX. Lightweight markup language. man. Markdown: Strict, CommonMark, GitHub Flavored Markdown (GFM), MultiMarkdown (MMD) and Markdown Extra (PHP Extra) variants. OpenDocument (ODT). OPML. Office Open XML: Microsoft Word variant. Org-mode. reStructuredText. Textile. txt2tags (t2t). Wiki markup: MediaWiki, Muse, TikiWiki, TWiki and Vimwiki variants. AsciiDoc. ConTeXt. DocBook: Versions 4 and 5. EPUB: Versions 2 and 3. FictionBook (FB2). Haddock. HTML: HTML4 and HTML5 variants, respectively compliant with XHTML 1.0 Transitional and XHTML Strict. InDesign ICML. Journal Article Tag Suite (JATS). JSON.

LaTeX

latex2html
The final consonant of TeX (on which LaTeX is based) is intended by its developer to be pronounced similar to 'loch' or 'Bach'. However, English speakers often pronounce it /ˈtɛk/, like the first syllable of technical. The characters T, E, X in the name come from the Greek capital letters tau, epsilon, and chi, as the name of TeX derives from the τέχνη (skill, art, technique); for this reason, TeX's creator Donald Knuth promotes a pronunciation of (that is, with a voiceless velar fricative as in Modern Greek, similar to the ch in loch).

Lightweight markup language

Comparison of lightweight markup languageshumane markup languagelightweight
Presentation oriented languages include AsciiDoc, atx, BBCode, Creole, Crossmark, Epytext, Haml, JsonML, MakeDoc, Markdown, Org-mode, POD, reST, RD, Setext, SiSU, SPIP, Xupl, Texy!, Textile, txt2tags, UDO and Wikitext. Data serialization oriented languages include Curl (homoiconic, but also reads JSON; every object serializes), JSON, OGDL, and YAML. Markdown's own syntax does not support class attributes or id attributes; however, since Markdown supports the inclusion of native HTML code, these features can be implemented using direct HTML.

Literate programming

literate programLiterateliterate script
Emacs org-mode for literate programming through Babel, which allows embedding blocks of source code from multiple programming languages within a single text document. Blocks of code can share data with each other, display images inline, or be parsed into pure source code using the noweb reference syntax. CoffeeScript supports a "literate" mode, which enables programs to be compiled from a source document written in Markdown with indented blocks of code. Wolfram notebooks are a platform-agnostic literate programming method that combines text and graphics with live code..

PDF

PDF format.pdfPDF file
Everything you wanted to know about PDF but were afraid to ask – recording of talk by Leonard Rosenthol (Adobe Systems) at TUG 2007. How to produce PDF with XSL-FO. PDF To Excel Converter. Some interactive 3-D PDF examples.

HTML

HyperText Markup Language(X)HTML.html
The attribute identifies the natural language of the element's contents, which may be different from that of the rest of the document. For example, in an English-language document:. 1) The language for an element should be specified with a attribute rather than the XHTML attribute. XHTML uses XML's built in language-defining functionality attribute. 2) Remove the XML namespace . HTML has no facilities for namespaces. 3) Change the document type declaration from XHTML 1.0 to HTML 4.01. (see DTD section for further explanation). 4) If present, remove the XML declaration. (Typically this is: ). 5) Ensure that the document's MIME type is set to .

GitHub

github.comGistOctocat
GitHub Inc. is a web-based hosting service for version control using Git. It is mostly used for computer code. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features.

Comparison of notetaking software

notetaking softwarenotetaking programnotetaking
The tables below compare features of notable note-taking software.

Free software

freefree-softwarefreely
The way the license is written, if you use any open-source software, you have to make the rest of your software open source." This misunderstanding is based on a requirement of copyleft licenses (like the GPL) that if one distributes modified versions of software, they must release the source and use the same license. This requirement does not extend to other software from the same developer. The claim of incompatibility between commercial companies and Free Software is also a misunderstanding. There are several large companies, e.g. Red Hat and IBM, which do substantial commercial business in the development of Free Software.

Emacs

GNU EmacsEmacs (text editor)Emacs Pinky
At startup, Emacs executes an Emacs Lisp script named (recent versions also look for and ; Emacs will execute the first one it finds, ignoring the rest). This personal customization file can be arbitrarily long and complex, but typical content includes:. Setting global variables or invoking functions to customize Emacs behaviour, for example. Key bindings to override standard ones and to add shortcuts for commands that the user finds convenient but don't have a key binding by default. Example:. Loading, enabling and initializing extensions (Emacs comes with many extensions, but only a few are loaded by default.).

Unix

Unix-likeUNIX-basedUX
In addition to their use in the Linux operating system, many GNU packages – such as the GNU Compiler Collection (and the rest of the GNU toolchain), the GNU C library and the GNU core utilities – have gone on to play central roles in other free Unix systems as well. Linux distributions, consisting of the Linux kernel and large collections of compatible software have become popular both with individual users and in business. Popular distributions include Red Hat Enterprise Linux, Fedora, SUSE Linux Enterprise, openSUSE, Debian GNU/Linux, Ubuntu, Linux Mint, Mandriva Linux, Slackware Linux, Arch Linux and Gentoo.

KDE

PlasmaKDE Plasma DesktopK Desktop Environment
It aims to provide the users with rapidly updated Qt and KDE software, while updating the rest of the OS components from the Ubuntu repositories at the normal pace. KDE maintains that it is not a "KDE distribution," but rather an up-to-date archive of KDE and Qt packages. There is a "User" and two "Developer" editions of KDE Neon. WikiToLearn, abbreviated WTL, is one of KDE's newer endeavors. It is a wiki (based on MediaWiki, like Wikipedia) that provides a platform to create and share open source textbooks. The idea is to have a massive library of textbooks for anyone and everyone to use and create.

Document Style Semantics and Specification Language

DSSSLDSSSL Engine
DSSSL is compatible with any SGML-based document type, but it has been used most often with DocBook. In 1997, software engineer Geir Ove Grønmo published a syntax highlighting language definition for KEDIT. With the appearance of XML as an alternative to SGML, XML's associated stylesheet language XSL was also widely and rapidly adopted, from around 1999. Although DSSSL continued in use within the shrinking SGML field, XSL was very soon in use more extensively, and by more coders, than DSSSL had ever achieved. This was emphasised when previous SGML strongholds such as DocBook converted from SGML to XML, and also converted their favoured stylesheet language from DSSSL to XSL.

XSL Formatting Objects

XSL-FOFOformatting objects
One can easily write a document in TEI or DocBook, and transform it into HTML for web viewing or PDF (through an FO processor) for printing. In fact, there are many pre-existing TEI and DocBook XSLTs for both of these purposes. Ease of use – Another advantage of XSL-FO is the relative ease of use. Much of the functionality of the language is based on work from CSS, so a CSS user will be familiar with the basics of the markup attributes. Understanding what a specific section of an FO document will look like is usually quite easy.

WYSIWYG

what you see is what you getwhat-you-see-is-what-you-getdisplays the user's changes as they are added
The abbreviation clarifies that unlike in WYSIWYG editors, the user is able to customize WYSIWYW platforms to partly act as manual typesetting programs such as TeX or troff. WYSYHYG, what you see you hope you get, a term ridiculing text mode word processing software; used in the Microsoft Windows video collection, a video distributed around 1991 on two VHS cassettes at promotional events. YAFIYGI, you asked for it you got it, used to describe a text-command oriented document editing system that does not include WYSIWYG, in reference to the fact that users of such systems often ask for something they did not really want. It is considered to be the opposite of WYSIWYG.

Texinfo

GNU InfoGNU Makeinfotexi
List of TeX extensions.

Troff

ditrofftroff (typesetter runoff)Unix troff
DocBook. groff GNU troff/nroff replacement. nroff. SGML. TeX. Scribe (markup language). The Text Processor for Typesetters. The history of troff. OpenSolaris-derived port of troff and related programs. User manual for the Plan 9 edition of troff (In PostScript format). A History of UNIX before Berkeley section 3 describes the history of roff, nroff, troff, ditroff, tbl, eqn, and more. The original source code of nroff, troff and the preprocessors from AT&T Bell Labs in form of the Documenter's Workbench (DWB) Release 3.3 (ported to current UNIX systems from http://www2.research.att.com/sw/download).

GNU Emacs

Emacs
Org-mode for keeping notes, maintaining various types of lists, planning and measuring projects, and composing documents in many formats (such as PDF, HTML, or OpenDocument formats). There are static site generators using org mode, as well as an extension, Babel, allowing it to be used for literate programming. Planner, a personal information manager. Simple Emacs Spreadsheet (SES), a standard mode providing a spreadsheet. SQL Interaction Mode, a mode for interacting with various flavours of SQL database servers. Superior Lisp Interaction Mode for Emacs (SLIME) extends GNU Emacs into a development environment for Common Lisp.

XML

Extensible Markup LanguageExtensible Markup Language (XML).xml
Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The W3C's XML 1.0 Specification and several other related specifications —all of them free open standards—define XML.

Source code

codesourcesource file
B: TeX, The Program by Donald Knuth, PGP Source Code and Internals by Philip Zimmermann, PC SpeedScript by Randy Thompson, and µC/OS, The Real-Time Kernel by Jean Labrosse. The source code which constitutes a program is usually held in one or more text files stored on a computer's hard disk; usually these files are carefully arranged into a directory tree, known as a source tree. Source code can also be stored in a database (as is common for stored procedures) or elsewhere. The source code for a particular piece of software may be contained in a single file or many files. Though the practice is uncommon, a program's source code can be written in different programming languages.

Writing system

scriptwriting systemsscripts
A writing system is any conventional method of visually representing verbal communication. While both writing and speech are useful in conveying messages, writing differs in also being a reliable form of information storage and transfer. The processes of encoding and decoding writing systems involve shared understanding between writers and readers of the meaning behind the sets of characters that make up a script. Writing is usually recorded onto a durable medium, such as paper or electronic storage, although non-durable methods may also be used, such as writing on a computer display, on a blackboard, in sand, or by skywriting.

Java (programming language)

JavaJava programming languageJava language
Java Platform, Enterprise Edition (Java EE) – targeting large distributed enterprise or Internet environments. the Java API for RESTful Web Services (JAX-RS 2.0) useful for AJAX, JSON and REST services, and. the Java API for XML Web Services (JAX-WS) useful for SOAP Web Services. The core libraries, which include:. IO/NIO. Networking. Reflection. Concurrency. Generics. Scripting/Compiler. Functional programming (Lambda, Streaming). Collection libraries that implement data structures such as lists, dictionaries, trees, sets, queues and double-ended queue, or stacks. XML Processing (Parsing, Transforming, Validating) libraries. Security. Internationalization and localization libraries.