meta-data file processed as normal input file (almost).

Hi Folks,
This is on Scrivener 2.4.1, OSX 10.8.5.

  1. Use a meta-data file (i.e., called “Meta-Data”) as the first file called in the “Contents” Option of the Compile Command.
  2. Compile a document using the MMD->LaTeX option, with any document class or custom headers selected.

Problem: The meta-data in the “Meta-Data” file is interpreted as if it was being typeset in LaTex. But, if I understand the Scrivener and MMD manuals, it should not be interpreted.

For example, if the file contains the line:

myfooter: \thepage~of~\zpageref{LastPage}

The resulting latex file will contain:

\def\myfooter{\textbackslash{}thepage\ensuremath{\sim}of\ensuremath{\sim}\textbackslash{}zpageref\{LastPage\}}

This makes using “Meta-Data” to customize LaTeX output more complicated, since it can’t contain actual LaTeX commands.

Thanks!

From what I can see, the Meta-Data file is working fine (at least from Scrivener’s point of view). If you put that same meta-data key into the compile pane (you can copy & paste an MMD meta-data line into the panel to save time, it will generate it out in the UI), and then compile you’ll find identical results. So it isn’t the Meta-Data file itself that is the fault here, but rather just how MultiMarkdown escaped data in the meta-data value field. If you look closely at the result, it is still turning this into a value by defining “myfooter” as an escaped version of the string you supplied to it. So it’s not like it is turning the “myfooter: ” part into LaTeX as well.

You’d need to raise this concern on the MMD support board (we just pass your meta-data along to MMD, if you compile to plain MultiMarkdown and examine the file, you’ll see what Scrivener is doing).

My question would be: why not put this line into your custom LaTeX footer tab? None of that will be parsed (we just dump that to a .tex file raw, no processing, and then include it with the appropriate MMD meta-data tag which in turn gets converted to an \input command in the output).