Sign up ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I feel CSS's layout model is simpler than (La)TeX's layout model. At the time Knuth developed TeX, the idea leading to CSS model is a "difficult" things? Or the CSS layout model is not appropriate to be applied to (La)TeX.

share|improve this question
You seem to be (a) presuming that CSS is superior to LaTeX for laying out boxes and (b) asking why Knuth didn't invent CSS. This doesn't seem like an answerable question. – Matthew Leingang Dec 3 '10 at 12:21
You might be interested in the relatively new packages mdframed and adjustbox that have some very CSS-like features. – JohnJamesSmith Nov 27 '11 at 3:27

2 Answers 2

up vote 29 down vote accepted

If you read the Ph.D. thesis of Håkon Wium Lie's you will see that a lot of the concepts of CSS were based on TeX and LateX. Wium Lie and all the other contributor's to CSS came up with a system of separating content from presentation for HTML. The numerous forums and tutorials on the web is an indirect proof that the CSS model is not the best either. You probably find it easier as you are used to it. In addition CSS does not provide any means of programming. This has to be done via JavaScript. It also cannot help with mathematics etc.

When Knuth invented TeX, there was no Computer Science, no web, no html and no CSS. My personal opinion is exactly the opposite. If html was marked as LaTeX life would have been easier, the web would have looked better etc. If there is one aspect that I agree with you is the lack of a <div></div> concept and the ability to float sections left or right. This can be done using TeX but not as easily. There is an XML version of LaTeX called tralics perhaps you can have a look as to how it could have looked!


The current shortcomings of CSS/html can easily be observed by the fact that there are over 500 billion pdf documents on the web and the best way to create a pdf currently is with one of the TeX->pdf engines.

share|improve this answer
huh? "there was no Computer Science"??? tex was invented to typeset the second edition of "The Art of Computer Programming"; the first was composed in hot metal by a skilled monotype operator, and knuth's goal was to emulate the look of the first edition with which he was very pleased. – barbara beeton Dec 3 '10 at 22:17
@barbara For completeness I should have said and Computer Science was at its baby steps. The Foundations were laid out by books like the Art of Computer Science' and by conferences such as and plenty of discussions and papers on the GOTO statement! We still have debates, if it is science, mathematics art or engineering, but granted CS can now be considered a teen'. Thanks for the comment and the sharp eye. – Yiannis Lazarides Dec 4 '10 at 12:51
The existence of billions of pdf documents does not imply that TeX is superior to HTML/CSS. That only shows that PDF is the holy grail when it comes to "portable" documents, that is, documents that will print the same everywhere. I also wonder how many of those billions of documents are produced by TeX (outside of math heavy disciplines, of course). Think brochures, magazines, and the like. – Aditya Apr 9 '12 at 3:44

Note that the CSS layout model is not simple, because it includes a concept of stitching together boxes both horizontally and vertically, which is tricky (1) . The apparent simplicity of CSS lies in how parameters are passed to the layout engine, through stylesheets; by contrast, Tex uses a famously hard-to-master programming language to associate these parameters with the objects in the layout's domain model.

Also, there is one universally recognised reference implementation for Tex; CSS versions one and two were introduced during periods of intense fighting in the browser wars (2), which made it easy to produce some sort of document with the CSS2 box model, but far harder to ensure a good reader experience that with Tex.

The other important, growing Tex-based typesetting platform, Context NG, actually does permit specification along the lines of style sheets, using its \...setup commands and its supported for named setups: to the extent that this is more complex, it is in small part due to the historical tie to Knuth's macro language and the larger part due to supporting far more sophisticated layout needs. I seem to recall there was substantial work done in the Context world on laying out directly from simplified CSS stylesheets; links to the current state of this technology would be appreciated.

The why is about ideas: the ideas about programming languages, document presentation, and abstraction that guided the design of CSS came after Tex. Both Context and Latex have aimed to reduce the coupling of layout issues from content. It's an ongoing effort.

(1): I say a bit more about comparative complexity in my answer to What are the differences between the CSS and Latex box models? at Stack Overflow

(2): Read Nicole Henning's from-the-library-trenches account of the browser wars, from the perspective of MIT's efforts to promote internal usage of web standards. Now, with CSS version three, there is no dominant browser; instead, the HTML5 and CSS3 web standards represent a sort of peace treaty.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.