Scrivener uses mmd, and mmd offers a command line option and a wrapper to convert mmd to latex:
fletcher.github.io/MultiMarkdow … index.html
Use mmd2tex as a convenience, or just multimarkdown -t latex. So if you have a very simple compile from Scrivener (compile.md),
[code]—
title: A test
author: Joanna Doe
Introduction
Blah blah blah.
[/code]
just run it through mmd on the commandline:
[code]➜ multimarkdown -t latex test.md
\def\mytitle{a test}
\def\myauthor{Joanna Doe}
\part{Introduction}
\label{introduction}
Blah blah blah.
\end{document}[/code]
This outputs to stdout, you can redirect it to a file:
multimarkdown -t latex test.md > test.tex
Or use the wrapper
mmd2tex test.md
Now if you want to make a complete document, you need to make sure you have the latex headers installed, so you should read the quickstart guide on how to do this:
github.com/fletcher/MultiMarkdo … kStart.pdf
If you installed via homebrew, then mmd does not include these and you need to get them manually. Then you need to put them in a location that you can easily reference. The default location (/usr/local/share/texmf/tex/latex/mmd6/) at least for me does not get picked up by my MacTeX system by default. Once you move these where LaTeX can find them then you should be good to create a full document (see new metadata value used):
[code]
title: A test
author: Joanna Doe
latex config: article
Introduction
Blah blah blah.[/code]
➜ multimarkdown -f -t latex test.md
\input{mmd6-article-leader}
\def\mytitle{A test}
\def\myauthor{Joanna Doe}
\input{mmd6-article-begin}
\part{Introduction}
\label{introduction}
Blah blah blah.
\input{mmd6-article-footer}
\end{document}
Pandoc is much simpler in this regard as it contains a default latex template it uses to generate a complete document, no setup needed:
➜ pandoc -s -t latex test.md
% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
%
\documentclass[
]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
\usepackage{xcolor}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{
pdftitle={A test},
pdfauthor={Joanna Doe},
hidelinks,
pdfcreator={LaTeX via pandoc}}
\urlstyle{same} % disable monospaced font for URLs
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
\title{A test}
\author{Joanna Doe}
\date{}
\begin{document}
\maketitle
\hypertarget{introduction}{%
\section{Introduction}\label{introduction}}
Blah blah blah.
\end{document}