Two column layout / pdf

Hi all – Is there a way to enforce a two-column layout in CommonMark / Markdown? I’m thinking of resumes and academic papers in particular.

It’s part of CSS3 now. The only browser that doesn’t support it is Firefox:

Which leads to my second question. What’s the easiest way to convert a CommonMark file to PDF? Pandoc? I think there might still be a LaTeX dependency there, which is always rough on Windows. I get frustrated with TeX software because they tend to be 1 GB or more and are unreliable on Windows. If you know of one that works smoothly, I’d love to hear about it.


One of the founding principles of Markdown was that it is WYSIWYM (what you see is what you mean) not WYSIWYG (what you see is what you get).

So to that end:

Is there a way to enforce a two-column layout in CommonMark?

No, CommonMark does not and should not deal with styles. It is entirely about semantics and only generates HTML (or other appropriate document formats).

It is the job of CSS applied to the generated HTML–or other document styling algorithms for other document formats–to address the layout and styles. Likewise it would not make sense for CommonMark to deal with changing fonts and colors.

1 Like

I’ve never thought of Markdown as particularly semantic in nature. Maybe that’s because I compare it to explicitly semantic projects like the Text Encoding Initiative (TEI) and the Data Documentation Initiative (DDI) for social and behavioral sciences.

With TEI, you can markup individual sentences, you can identify text as prose or verse, and you can give meaning to text in many other ways. Now that’s semantic. Markdown doesn’t have anything like that, just lists, paragraphs, italics, etc.

I think a lot of Markdown is more presentational than semantic, so I’m surprised that you have the opposite view. HTML, Markdown’s target, hardly has any semantics. People talk about HTML5 like it added a bunch of semantics, but it’s really trivial stuff like an article tag, a main tag, and so forth. I mean, that’s hardly anything at all. You need to use something like markup to add semantics and meaning to HTML.

And I’ve never been sold on the bright line between semantics and style/presentation. I think italics and bold, or what some people insist on calling emphasis, are more than semantic constructs – they’re stylistic too. I think a lot of HTML elements have stylistic functions, and I don’t think there’s a bright line between style and semantics in the English language.


I think typically you want to apply some stylesheet to your rendered markdown. But since CommonMark supports raw HTML in the document, you can add a

body { column-count: 2 };

to the top of your document if you want.

1 Like

yeah, see

1 Like