MMD -> LaTeX - Paragraph and list questions

Thanks to the excellent help on this forum, I am making great progress in my quest to master the Scrivener - MMD - LaTeX workflow.

I’ve now reached the stage where most of my issues are small in nature. So without further ado:

  1. I’ve noticed that in order to have my paragraphs correctly formatted in LaTeX, I need to insert two carriage returns in Scrivener. Is this normal, or have I missed a compile preference somewhere at the output stage? (note, I’m using latex-snippet.xslt)

  2. There appear to be some idiosyncrasies with the translation from lists in Scrivener to itemised and enumerated lists in LaTeX. Most notably, the insertion of a CR or two can often be the difference between a list or no list appearing in the TEX file. Again, am I missing a preference somewhere, or are there any rules I should be following more closely to ensure that itemised and enumerated lists translate correctly?

Again, I am using latex-snippet.xslt.

Many thanks,


That’s really an MMD thing, more than Scrivener & LaTeX. MMD needs a clear line in between each “block level” element in the document. For this reason, it is best to make sure everything in the Separators compile pane is set to Empty Line; otherwise you can get one section flowing into the next section’s first paragraph.

If you need to insert a line feed, such as in verse, leave two blank spaces on the end of the line prior.

In Scrivener 2.x, you can get away with not doing this if you’ve used a good amount of paragraph spacing in between paragraphs. In the “Text Options” compile pane, there is an option to “Convert to plain text”. I recommend sticking with just converting paragraph spacing to an empty line, unless you are positive there are no indented portions of the draft—otherwise Scrivener will dutifully insert whitespace to offset the text, turning it into a code block in MMD.

So if you do need to fix vast amounts of manuscript, it might be easier to go that route than converting your text to double-spaced paragraphs.

I’ve never seen a list completely fall apart to the point of not showing up in .tex file, but lists need to have each list item on a separate line (and unlike most block elements, they do not need an empty line between them, but will not break if you insert one).

One question though: are you using rich text lists instead of typing out the numbers or using asterisks? Theoretically (so long as you don’t turn indents into whitespace with the above option) you can use Scrivener’s enumerated list styles with MMD, so long as you stick with 1. 2. 3. format. In the conversion to plain-text these will come out in the form MMD expects. Bullets, unless you create a custom list style that uses asterisks, will not work. MMD doesn’t scan for the “•” character.

Like I said, I’ve never seen them disappear before (worst case you either get a code block or the whole list gets placed into one paragraph), but I don’t use latex-snippet all that often, and so am not aware of its idiosyncrasies. I’d find the lists that are failing to appear in the .tex, in the project text and make sure they are typed out, rather than using the list feature.

If they are the list feature, it’s easy to fix. Just copy and paste into a plain-text editor and then back into Scrivener. For bullets, search and replace to turn them into asterisks.

If everything looks good, if you could paste a list that isn’t working into a code block here, someone could help diagnose it.

Thanks Ioa.

I’ve been pretty careful with the process, and it does seem to prefer an extra line - which is no problem.

I think I’ll take a close look at what my TEX files look like with invisibles on in Textmate to see what and where the carriage returns and blank lines actually are (probably something I should have done in the first place). Maybe I’ve configured Scrivener a little oddly.

Thanks again for your help,


Well, by the time it gets to a .tex file it’s already gone through thousands of lines of code. A better picture of what you are literally getting out of Scrivener, and what MMD has to work with, is compiling to plain “MultiMarkdown” and opening that in TextMate. This should show the list exactly as it will be parsed when you compile, and any “bugs” in it should stand out with invisibles on.

The .tex file is going to have different carriage return sequences than the raw file, as the XSLT injects and removes them as necessary.