Is a successor for TeX/LaTeX in sight?

DocumentationLatexTex

Documentation Problem Overview


TeX/LaTeX is great, I use it in many ways. Some of its advantages are:

  • it uses text files, this way the input-files can be diffed and many tools exist to work with text
  • it is very flexible
  • it has a stable layout: if I change something at the start of the document, it doesn't affect other things at the end of the document
  • it has many extensions to reach different goals (a successor would start without extensions, but would have a good extension-system)
  • you can use standard build control tools to support complicated documents (thanks dmckee)
  • you can encapsulate solutions and copy&paste them to new documents or send them to others to learn from (thanks dmckee)

But on the other hand some little things are not so good:

  • it is hard to learn at the beginning
  • it is complicated to control position of images
  • a few things are a little counter-intuitive
  • sometimes you have to type too much (begin{itemize} ... \end{itemize})

So, does there exist a successor/alternative to LaTeX or at least is some hot candidate for an alternative in development. A real successor/good alternative would keep the advantages and fix the disadvantages, or at least some of them.

Documentation Solutions


Solution 1 - Documentation

There is a http://www.latex-project.org/latex3.html">LaTeX3</a> project that has been going on for basically forever. In that sense, it is a successor to the current LaTeX2e.

You forget/ignore the primary goal for TeX when it was created -- "TeX is a new typesetting system intended for the creation of beautiful books". The goal of TeX was typesetting, and its primary concerns were things like "Breaking Paragraphs Into Lines" (Donald E. Knuth and Michael F. Plass, Software--Practice and Experience, Vol. 11, pp. 1119-1184, 1981), ligatures, kerning, beautiful fonts (Knuth worked with Hermann Zapf in creating typefaces like AMS Euler), and precise control over layout of text on a page.

LaTeX was a later set of macros built on top of TeX that introduced "document management" capabilities like automatic numbering of equations and sections, cross-referencing, and so on. It goes by "LaTeX: a document preparation system".

One can very well imagine successors to LaTeX, alternatives that offer LaTeX's document management capabilities, and perhaps do it better -- like DocBook. (Well it's based on XML, but...) But it is hard to imagine alternatives that will replace TeX, the typesetting engine itself. TeX is probably among the programs with the least number of bugs in it -- Knuth offers $327.68 for every bug found in TeX, and has done so for a long time. A lot of thought has gone into it, with Knuth's characteristic pursuit of perfection. Every aspect of it is configurable, the code is public domain (well except for the restriction that if you make modifications you must call it by some other name -- this is because of TeX's goal that the same TeX file typeset on any machine anywhere in the world should produce an exactly identical-looking document forever into the future), and books have been written about TeX: The Program itself, and also about all the bugs that were discovered in TeX.

Some of TeX's ideas have been incorporated into Adobe's Indesign (for example), and those typesetting engines too have some innovative ideas, but TeX still remains superior. [Note: Knuth didn't intend TeX to be the standard forever, only "for the next 100 years or so" until something better comes along. For all we know, one might.]

There are TeX-based alternatives to LaTeX, such as ConTeXt and LuaTeX. It is possible that there are tasks for which they are better suited.

To answer your other objections: Although LaTeX has possibly introduced more complexity than is necessary, the TeX part of the learning is unavoidable -- if you want to create beautiful books there are some things you have to know, no matter what. And it is not hard to control position of images; TeX was designed to give you control over every http://en.wikipedia.org/wiki/Point_(typography)">point</a> on the page, but to exercise that control you may have to go beyond the simple constructs (although I've never had to...) And if you use a good editor or macros, you won't have to type too much \begin{itemize} ... \end{itemize}; that's just a lame complaint :P

Solution 2 - Documentation

The short answer is 'No' as LaTeX is the incumbent and quite good at its job. It's also free, so there is relatively little commercial incentive to attempt to replace it. In fact, TeX is sufficiently good at technical publishing that the commercial market for technical publishing tools is rather squeezed between TeX at the 'geek' end and word at the 'great unwashed' end.

The longer answer is 'There are alternatives'. LaTeX and other packages suffer heavily from leaky abstraction issues and often require technical intervention to get what you want out of it. This puts you in the business of understanding how it works behind the scenes, which is actually fairly technical. Thus, you can only really use it for non-casual applications if you have access to someone with that level of technical skill. Writing a report or book is fine. Building a single-source technical documentation workflow with LaTeX is quite a different proposition - you will need access to someone with a technical skill base.

Alternatives to LaTeX

  • Commercial technical publication tools. There is really only one left standing: Framemaker. This is a mature product but somewhat stagnant. However, it does have an open document and segment interchange format called MIF, a comprehensive API and extensive support for structured documentation. It's quite widely used in aerospace circles (for example) where reference documents for aircraft run to tens of thousands of pages. Additionally, there are several also-rans in this space: Ventura Publisher, Arbortext (which is based on a TeX derived back-end IIRC), and Interleaf, which is now known as Quicksilver.
    Adobe claim to be implementing technical publishing functionality in InDesign but I have not really evaluated its capabilities for this.

  • Lout A markup language with a completely different underlying architecture to TeX. I've never worked with Lout but I believe that it is somewhat easier to work on behind the scenes than TeX.

  • Troff/Groff. Originally designed for technical documentation within AT&T during the 1970s (actually a spinoff of the UNIX R&D work), it's still quite widely used for this today. For quite a long time most if not all O'Reilly books were typeset using it.

  • DocBook. This is an XML tag based format for structure documentation, and tends to work by rendering through foreign engines. I've never used DocBook, so I can't really comment on its usage in practice.

  • Wordperfect. This is a venerable word processing system that is considerably better at documentation-in-the-large than MS-Word. Although viewed as something of an also-ran it retains several niche markets such as law offices and is reasonably good (at least significantly better than Word) for large, complex and heavily cross-referenced documents.

  • Microsoft Word. Not recommended for serious technical publication tasks due to its instability on complex documents. However, as often as not it is the only choice due to political constraints. Indexing is especially painful.

EDIT: See this Stackoverflow post for a more in-depth rundown on Framemaker and other technical documentation tools. It's an answer to a question about technical documentation tools for someone who specifically didn't want to use a markup language based system.

Solution 3 - Documentation

Have you had a look at ConTeXt? It's a set of macros for TeX that can be used instead of LaTeX.

I haven't used it myself but the syntax in the example documents looks simpler than LaTeX in a number of cases.

Solution 4 - Documentation

I have already published five books typeset in ConTeXt four of which were museum catalogues with high-quality colour illustrations. It is definitely production ready.

Solution 5 - Documentation

TeX is actually a fairly special purpose typsetting system. It does what it does well, but there isn't a large enough need for something better. "When he designed TeX, Donald Knuth did not believe that a single typesetting system would fit everyone's needs" (wikipedia)

Most of the "newer" systems build guis and extend TeX, which I believe is the right approach.

There are very good reasons for the 'issues' you are facing, so if you want to propose that it be done differently please research those reasons first.

Second, you yourself indicate that TeX is great except for a few minor quibbles. Knuth built it expressly knowing that it wouldn't be suitable for all uses and all people, but he released the source code and built an extension API so that anyone could adapt it for their needs.

You have all the tools you need to make the changes you propose, and it will be far easier to update TeX than to start from scratch, or even adapt any other system. Truly, nothing comes close to TeX. That's not to say that it's the best, but merely to drive home the point that it would be a monumental effort to implement all the good things you mention and somehow overcome the bad (although by the time you get to the bad you may better understand why it exists).

Regardless, I hope you pursue this, even as an advocate, and get others interested in it. It would be great to see take up of TeX in other fields, but that does require modification and update for ease of use and a better support of other technical entities than mathematical equations.

-Adam

Solution 6 - Documentation

TeX and LaTeX set the bar high; it's hard to imagine something entirely new coming along and replacing them.

I've got a copy of Knuth's Computer Modern Typefaces (Book E in the Computers And Typesetting series, which I think is completed unlike TAOCP). I don't think many people get to see this book, and - indulge me - it really is worth looking at. You can see where some of Kunth's time went. Here's a quote from the preface:

> Another piece of luck came my way in > 1984, when I learned that the original > bronze patterns used to make the molds > of Monotype 8A were in San Francisco. > For years I had been working with > indirect and imprecise information > about the fonts that had stimulated > this work. First I had worked from > photographic blowups of letterpress > original pages from The Art of > Computer Programming; then Richard > Southall had prepared enlargements > from original proofs he had located in > England. At last I found the actual > 80-year-old patterns that had > generated the metal type. The present > owner of these patters, Mr. Othmar > Peters, kindly consented to let me > borrow them while I was preparing the > final draft of Computer Modern, and I > learned much by measuring them with > calipers.

You just don't get that kind of attention to detail in many places, and that's why TeX endures.

Solution 7 - Documentation

You cannot retain "it has many extensions to reach different goals" with something new. By definition something new that is not TeX/LaTeX will start with no extension.

Having been a core contributor to the GNU TeXmacs project, which aims to be something like "TeX except for the 21st century", I think have some good insight on the succession of LaTeX.

I am not aware of anything on the horizon that is any likely of dethroning LaTeX. The people of influence in the mathematical community are just too used to using LaTeX to seriously consider the effort required to learn any tool that could be equally flexible.

Maybe in 20 years, when all the folks that got their PhD when LaTeX was cool are retired will something else replace it. Hopefully, it will be something like TeXmacs, but without the unnecessary complexity.

Solution 8 - Documentation

You have http://www.luatex.org">LuaTeX</a>;.

Quote: "LuaTeX is an extended version of pdfTeX using Lua as an embedded scripting language. The LuaTeX projects main objective is to provide an open and configurable variant of TeX while at the same time offering downward compatibility."

Lua is very easy and fast, so hopefully LuaTeX will not be as hard anymore... hopefully :)

Solution 9 - Documentation

You might also be interested in XeTeX, which is a modern version of LaTeX in that it supports Unicode and many fonts. You can use it to directly input Japanese, Arabic etc. in one document. (This doesn't address the disadvantages that you gave, but it's still relevant to the discussion about LaTeX' shortcomings and alternative systems! )

Solution 10 - Documentation

www.patoline.org is a great alternative to TeX/LaTeX systems. It has already been packaged for Arch Linux, NixOS, and can be compiled from source on many Unix-like systems.

Solution 11 - Documentation

TeX is not a general purpose typesetting system: its core proficiency is in typesetting long texts with lots of math. In that it doesn't have any competition, I can imagine several reasons:

  • Donald Knuth was smart. He did amazing job with, for example, spacing in formulas.
  • Math notation changes across periods of time like centuries. There's a limited set of features that is necessary and thus no market for new typesetting systems.
  • Network effects. The only purpose of paper is to be read. Most papers advance on some others' research and are using their notation. With TeX you're sure you get the same fonts and the same spacing, and you have a technical ability to copy complex formulas from their papers.
  • In TeX it's trivial to define new macro, it's usually easy to say what a simple macros does from its definition and there many standard macro libraries. Any GUI-based system would likely make this process much less transparent.

While the drawbacks you quoted are real, it's much easier to look around for a decent editor/GUI shell built on top of TeX, of which are many, than to typeset in a different language. If you're into math, and want your articles to be preserved for decades, that is. For the general purpose typesetting, again, the programs you mentioned could well be a better choice.

Solution 12 - Documentation

org-mode, an Emacs extension, is able to generate LaTeX and PDF files. org-mode syntax is similar to Markdown. It's just readable. There are only several LaTeX code lines inside the 20KB document. org-mode resolves three problems you mentioned - you get all the awesome features from LaTeX and get rid of its ugly syntax.

Solution 13 - Documentation

THE DREAM TOOL IS NOT TEX

TEX is not great to work with. Tex is probably (I am not an expert in printing matters) good to provide a layer decoupling document from printing niceties and complexities.

The conceptual line is this :
A mathematician is not a secretary, his main concern is WHAT he wants to show, not HOW to show it. So one more layer of abstraction is needed above that of Latex.

General goal :
Hence there is a need (a dream) for a tool that allows to be much closer to what we can do by hand and of course faster than by hand (in fact I once saw a written answer scanned in .pdf catching red-handed one of the main author of Latex in not using it!).

Dream Tool specifications : (rough one to get the idea)
S1. About an hour of initial time in the learning curve.
S2. Allow to write a document quickly (by simple analogy) even when tired.
S3. Cut and paste of seen formula available.
S4. To correct a document faster than by hand (2 minutes instead of 5 by hand).

Today best tools abilities :
S1. About the same.
S2. Impossible while thinking about something else.
S3. Cut and paste of formula description (implementation).
S4. It take 20 minutes instead of 5 by hand (everything is specific you have to decipher back and forth).

Another example of sluggishness : Ask someone who wrote a latex document with 10 diagrams in category theory to draw all the squared ones in a slanted way, certainly not a quick job.

Solution 14 - Documentation

After all this time, nobody told something very important.

LaTeX texts are written in a text file, it can be used for Literate programming, an style proposed by Don Knuth to write very well documented programs. The idea is to explain how the program was developed in a way similar to math text. Pieces of code are presented like the formulas, in mathematical texts. This is a great idea, after some time you can read how the program was conceived and you can modify the parts explaining why the decision was taken in the same way.

Other advantage is that you can generate LaTeX code as an output of your programs, in this way you can publish your results beautifully typeset, or use programs like gnuplot to generate graphs then generate LaTeX code for the graph and insert it in your text, that is great because the resulting file is very light compared to graphs exported to some image format, to include it with \includegraphics or worse if you are using some word processor by pasting it.

LaTeX is not really hard to learn, just take your pace, use what you need starting with simple documents. When you advance in your studies you will need to learn new features and packages. If you try to master LaTeX by learning all the packages just to become a LaTeX expert, you are wasting your time, there is a huge amount of packages, but you don't need to learn them all. Try to start with guides like "the not so short introduction to LaTeX" lshort.pdf, or "A Gentle Introduction to TeX" gentle.pdf. If you are tired of typing long macros, learn to write your own for the pieces you use more, the guides have a section about that.

Where to find information, in ctan.org, tug.org, do not search in latex.com that domain stands for the rubber material.

There is a TeX/LaTeX Catalog, search it in ctan.org it is very helpful when you need an special feature. You can find it here http://texcatalogue.sarovar.org/index.html, but you can search texcatalogue if this link becomes outdated.

To finish my comment, there is a great advantage that LaTeX and other software do not change of versions frequently, TeX/LaTeX is a very complete system for typesetting, you can add (and share) more features if you need something that does not exist. Learning LaTeX is a good time investment, you just need to learn it once, then dedicate to do you work, not to learn the new version.

P.S. I forgot to say that it is possible to write programs to translate LaTeX to other markup languages, (and word processors formats if documented) and vice versa. In deed there are several that give acceptable results, although as far as I know there is not yet a program that translates any LaTeX code, but for the more common texts you can find several programs to translate them to HTML, LibreOffice can export a word processor document to LaTeX, although it is not very useful because few word processor users use the tags to mark paragraphs as headers, quotations, etc. the vast majority mark the text to change the font, size, alignment, etc. and this is translated into LaTeX. But you may need to do this when collaborating with people that use word or LibreOffice, and you have to integrate it with you LaTeX text, just ask them to use the right markings or export it as text and insert the needed macros manually, after all you have to review the whole text of your collaborator.

Once there was need to translate it to HTML to publish on the net or make portable presentations, but now the bandwidth allows to transmit PDF files fast, and packages like beamer allows one to write very nice presentations.

The advantages of TeX/LaTeX are of the size of the packages that can be written on it an the will to share them. Thanks to Knuth for his great ideas, we are still waiting the full set of his Art of Computing Programming.

Solution 15 - Documentation

I think http://www.docbook.org">docbook</a> is supposed to be an open xml based replacement for LateX.

"DocBook provides a system for writing structured documents using SGML or XML. It is particularly well-suited to books and papers about computer hardware and software, though it is by no means limited to them.

"In short, DocBook is an easy-to-understand and widely used DTD. Dozens of organizations use DocBook for millions of pages of documentation, in various print and online formats, worldwide."

-- From the http://www.dpawson.co.uk/docbook/">doc book faq

Solution 16 - Documentation

Apart from the issue of graphics being hard to position, your other criticisms of LaTeX are more to do with its UI or lack thereof.

If you want to use LaTeX to produce your documents but want an easier way to use it then you should really check out LyX. It's a GUI front-end to LaTeX and address several of your issues: it makes LaTeX easier to learn (in fact, you don't have to even know LaTeX to create a simple, mathless document), it's more intuitive, and it saves you typing. It also adds spell-checking, better graphics handling, navigation, and more.

Because LyX is merely a front-end to LaTeX you still get beautifully presented documents. LyX documents are also plain text so version control works well. In fact, LyX has support for subversion built-in.

If you haven't already guessed, I heartily recommend LyX. I wrote my entire PhD thesis using it and found it very worthwhile.

Solution 17 - Documentation

That doesn't really cut into the main disadvantages of LaTeX, but no matter :) Regarding your point

  • "sometimes you have to type too much (begin{itemize} ... \end{itemize})"

this is entirely by design. There is a tradeoff between terse (and easier to type) and understandable (and longer to type). Longer names also have fewer collisions, since TeX and LaTeX don't support namespaces (unfortunately).

Anyway, a good editor will obviate the complaint above. Set up key-bindings or tab-completions or whatever else takes your fancy and you never have to write

\begin{whatever}...\end{whatever}

ever again.

Solution 18 - Documentation

Your four disadvantages can be summarized as "It's too hard", "It's too hard", "It's too hard" and finally, "It's too hard". I think the solution then is to learn how to use the system properly.

Any system that is designed for a novice will show deficiencies in other ways, loss of control or loss of flexibility. Try MS Word if you want it to be easier to place images. There's no way around simplicity without effort of learning the program. TeX supports definition macros, so you can change that \begin{itemize} tag into something more palatable like \bi if you so choose. Once you have sufficiently learned your nook of the LaTex world, it's just as fast as regular typing.

I used to practice taking notes in a math class by writing in TeX, because it was faster to write in \sum_{n=1}^i than trying to find the symbols in MS Word.

Solution 19 - Documentation

Not really a successor, but you may want to look at *roff (groff, troff, nroff). I don't know much about it but I remember its format being terse. It is the tool used for man pages. Since I have only ever heard of it in passing, I can't give you any more help with it.

For example:

		.pl 10.0i
		.po 0
		.ll 7.2i
		.lt 7.2i
		.nr LL 7.2i
		.nr LT 7.2i
		.ds RF FORMFEED[Page %]
		.ds LH Internet Draft
		.\"   --> Header/footers: Set short title, author(s), and dates:
		.ds CH 2-nroff.template                  \" <Short title>
		.ds LF Postel, Braden                    \" <Authors>
		.ds RH October 25, 2006                  \" <Submission date>
		.ds CF Expires April 2007                \" <Expiration date>
		.hy 0
		.ad l
		.nf
		.\" 5678901234567 check 72 column width 12345678901234567890123456789012
		Internet Draft                                                 J. Postel
		<draft-rfc-editor-nroff-template-00.txt>                      RFC Editor
		Category: Informational                                          USC ISI
		Expires April 2007                                      October 25, 2006
		
		.ce
		Nroff Template for Internet Drafts and RFCs
		.ce
		<draft-rfc-editor-nroff.template-00.txt>
		
		.in 3              \"  Basic indent for text is 3 spaces
		.ti 0              \"  "Temporary indent" for next line: 0 spaces
		Status of this Memo
		
		Distribution of this memo is unlimited.
		
		By submitting this Internet-Draft, each author represents that any
		applicable patent or other IPR claims of which he or she is aware
		have been or will be disclosed, and any of which he or she becomes
		aware will be disclosed, in accordance with Section 6 of BCP 79.
		
		Internet-Drafts are working documents of the Internet Engineering Task
		Force (IETF), its areas, and its working groups. Note that other groups
		may also distribute working documents as Internet-Drafts.
		
		Internet-Drafts are draft documents valid for a maximum of six months
		and may be updated, replaced, or obsoleted by other documents at any

Solution 20 - Documentation

XSL-FO might suit your needs. While it's not nearly as powerful as TeX, it does play well with XML formats like DocBook. A popular open source implementation is Apache FOP: http://xmlgraphics.apache.org/fop/.

If you need very fine control over typography, you're better off with TeX or a proprietary tool like FrameMaker or InDesign*.

*beware: InDesign currently has weak XML support IMO

Solution 21 - Documentation

I just stumbled upon AsciiDoc which looks like a simple text markup language (á la markdown, textile), but it's a lot more powerful. It's roughly equivalent with DocBook, so it can emit html, pdf, or even docbook xml for further processing.

Solution 22 - Documentation

You may want to check out Wikipedia's categories Typesetting programming languages and Free typesetting software. Lout in particular sounds nice.

Solution 23 - Documentation

I have only skimmed through it, but Emacs Muse http://mwolson.org/projects/EmacsMuse.html might be interesting (I'm interested if any one has more experienced with it. I like the idea of generating to several backends, latex, texinfo or stuff.)

Solution 24 - Documentation

Technically speaking Sphinx is not a replacement of LaTex but something that will make your life easier and that (if desired) generates PDF (via LaTex), HTML or plain text output for you.

It's mostly geared towards code documentation but due to it using reStructuredText, people have found it easier to work with for other purposes, including writing books.

Solution 25 - Documentation

Tools for particular jobs:

The strength of Latex2e is that it is a standard document preparation & representation language that is good for the representation of articles and books. It is, however, not really great for typesetting. This is not a bad thing: premature formatting is the root of all typesetting evil: most publishers simply throw away author formatting at the beginning of the copy-editing process.

Context is super for typesetting; they cannot compete with Latex as a document representation language, because it does not really solve any problems that should be solved at the document preparation/editing stage, so there is no reason for anyone to change from the well-established latex.

Rather than fix the unimportant-to-publishing flaws of Latex2e through the Latex3 effort, I would rather see effort put into developing the following workflow:

  1. Document preparation: Latex2e
  2. Copy-editing: Latex2e
  3. Conversion: apply tool to take Latex2e -> Context
  4. Typesetting: Context
  5. Proofreading: make use of tool to check Latex2e content against Context content

Postscripts

  1. The above workflow pretty much matches the usual workflow, where authoring/editing is done in Word, and typesetting is done using Indesign or Quark Xpress.

Solution 26 - Documentation

Perhaps you have noticed the weird version numbers of TeX. When TeX reached version 3 Knuth didn't want TeX to evolve further into new versions like most software does. Instead he wanted it to converge to a final and bug-free TeX. Hence the version number now converges towards the mathematical number pi. After version 3 followed version 3.1, then 3.14 and the current version is 3.1415926.

In a similar fashion Metafont has a version that converges towards the mathematical number e (currently 2.718281).

Based on this, the answer to your question is that Knuth doesn't want TeX to evolve into TeX version 4.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMnementhView Question on Stackoverflow
Solution 1 - DocumentationShreevatsaRView Answer on Stackoverflow
Solution 2 - DocumentationConcernedOfTunbridgeWellsView Answer on Stackoverflow
Solution 3 - DocumentationMark ReidView Answer on Stackoverflow
Solution 4 - Documentationuser42785View Answer on Stackoverflow
Solution 5 - DocumentationAdam DavisView Answer on Stackoverflow
Solution 6 - Documentationmartin claytonView Answer on Stackoverflow
Solution 7 - DocumentationddaaView Answer on Stackoverflow
Solution 8 - DocumentationRobert GouldView Answer on Stackoverflow
Solution 9 - DocumentationFrankView Answer on Stackoverflow
Solution 10 - DocumentationRodolphe LepigreView Answer on Stackoverflow
Solution 11 - Documentationilya n.View Answer on Stackoverflow
Solution 12 - DocumentationNowakerView Answer on Stackoverflow
Solution 13 - DocumentationJérôme JEAN-CHARLESView Answer on Stackoverflow
Solution 14 - DocumentationeliasView Answer on Stackoverflow
Solution 15 - DocumentationvfilbyView Answer on Stackoverflow
Solution 16 - DocumentationMark ReidView Answer on Stackoverflow
Solution 17 - DocumentationWill RobertsonView Answer on Stackoverflow
Solution 18 - DocumentationKarlView Answer on Stackoverflow
Solution 19 - DocumentationvfilbyView Answer on Stackoverflow
Solution 20 - DocumentationsplicerView Answer on Stackoverflow
Solution 21 - DocumentationAdam SchmidegView Answer on Stackoverflow
Solution 22 - DocumentationHugh AllenView Answer on Stackoverflow
Solution 23 - DocumentationphtrivierView Answer on Stackoverflow
Solution 24 - DocumentationunodeView Answer on Stackoverflow
Solution 25 - DocumentationCharles StewartView Answer on Stackoverflow
Solution 26 - DocumentationMartin LiversageView Answer on Stackoverflow