2.2.0.5 build 18215: backslashes in MMD code

In the current release (2.2 15858) backslashes within in-line code settings are preserved, so:

converts, in the .tex file to;

which after typesetting gives:

But in the beta 2.2.0.5 build 18215 that behaviour has changed, and now gives:

which typesets as:

So for some reason the compile no longer respects the code markers for special characters. Can we have it back the way it was?

There’s nothing in Scrivener itself that does this, but the latest betas have updated to use MMD 3.0, so I’m not sure if that is to blame. I have pinged Ioa to take a look, seeing as he’s the MMD expert.

Best as I can tell this is a problem in MMD3.5. I put the sample text into into MultiMarkdown Composer and then exported the document as LaTeX and came up with the same result you did. I’ve fired off a report to Fletcher, so no need for you to.

Update: The current workaround is to put the path on its own line and tab it. The odd conversion does not happen when the item is declared within a verbatim block.

Ah. I must still be on MMD 3.2. So the Scrivener beta used its internal MMD 3.5 and ended up with that strange result.

That would explain why I hadn’t seen the behaviour before and so associated it with Scrivener.

With the workaround I’ll get back to trying the beta again.

Okay, I’ve done a bit more research and testing. It appears that the problem might be with NSTask (what Cocoa uses to execute shell commands) interpreting \t as TAB at some point. If you examine the TeX output rather than going straight to PDF, you’ll see that the generated .tex file from Scrivener (and MultiMarkdown Composer exhibits this as well) looks like this:

Place them in \texttt{c:	extbackslashLocal TeX Files	extbackslashtex	extbackslashlatex	extbackslashmmd}.

See, the \t part of \textbackslash becomes a tab character. This does not happen if you run mmd from the commandline:

$ multimarkdown -t latex test.md Place them in \texttt{c:\textbackslash{}Local TeX Files\textbackslash{}tex\textbackslash{}latex\textbackslash{}mmd}.

That aside, Scrivener should be using your MMD3.2 install, I’ll have to check on that. It should be deferring to the system’s copy if one exists.