Selecting any LaTeX Class in Compile

Shame there’s only a limited choice of LaTeX classes available in File > Compile > Compile for: MultiMarkdown → LaTeX (.tex). The current classes (Article, Memoir (book), and Manuscript) are okay but there are so many other classes available and hacking the resultant LaTeX output is beginning to get tedious. It would be so much better if one could select any class installed on the system and available to the user outside the Scrivener environment. LyX, for example, does a scan of the installed TeX/LaTeX system for any and all LaTeX classes then gives its users the while range.

These aren’t linked to any specific classes on the system (indeed you can even choose them and get a coherent result with LaTeX completely uninstalled) but are rather a few boilerplate examples provided by the MultiMarkdown LaTeX support package (which Scrivener has an embedded version of). There wouldn’t be an automatic way for us to generate these, keeping in mind Scrivener itself is quite ignorant of LaTeX. All of its support for generating and working with that system is through MMD, and it itself only has boilerplate sets for a few classes.

Have you ever set up a MultiMarkdown file for LaTeX before, without Scrivener? If not, you have to build a meta-data block that specifies external .tex files which will be used to overall define the class and display particulars of the document. If you omit that stuff, then you just get the main matter as formatted .tex (suitable for dropping into an existing boilerplate .tex file). Thus in order to correctly construct a .tex file that will typeset out of the box, one must be aware of MultiMarkdown meta-data block usage as well as be able to put together .tex boilerplates.

These selections just make all of that something you can ignore for simple things. It sets up the meta-data block behind the scenes for you, collects any .tex files necessary from the boilerplate example sources, and puts them all together where they will be expected.

If you want more power that is what the custom option is for, but of course you can also just handle the whole thing yourself, designing your document boilerplates (in texmf is a good place) and setting them up in the Meta-Data compile option pane to be used by the typesetting engine via \input.

I tend to either use Custom or an external system, depending on what I need it for. If it’s a look I commonly prefer (for example I like Article with a ToC for internal documentation) then I just create my own derivative of Fletcher’s boilerplates and declare those derivatives in my Meta-Data pane. For one-offs that I only mean to use once, such as the .tex boilerplates for the Scapple User Manual, then I store that in the Custom setting. For basic proofing where I don’t really care what it looks like yet, one of the simple “Article” or whatever choices work great for me.

You can download the LaTeX support files from the MMD download page.