Julia Markdown 中的 Latex 命令

Latex Commands in Julia Markdown

我有一个简单的 Julia Markdown 脚本,我想使用 Weave.jl:

将其转换为 PDF
---
title: Just a test
author: Me
date: 2022-01-03
output: pdf_document
---

# Some header
Some text.

\newpage

## Some other header
More text.

现在,该文档的关键是 \newpage 命令,该命令将作为 Latex 命令执行,即“创建分页符”。但是当使用 weave("myfile.jmd", doctype="md2pdf") Weave(或其他东西)时变得超级智能并将其转换为 {\textbackslash}newpage - 一种拒绝让我做我想做的事情的聪明方法:Latex 命令。

有什么办法可以避免这种情况吗?

这可能是您的渲染引擎。这被标记为 julia 并且您声明使用 .jmd 文件。

我经常使用这种注入 'plain LaTeX' 的惯用语,所以我只是将你的文件 'as is' 保存为 foo.Rmd 并在上面使用了我常用的 shorthand caller for Rmarkdown:

我建议尽可能多地分解命令,也许也可以尝试 pandoc。您可能会找到包装该杂散命令的内容。


根据其他答案,它只是 weave.jl 中的一个错误。它不应该这样做,但它确实这样做了。

@SundarR 的回答建议使用不同的子渲染器(正如我在 pandoc 中暗示的那样)以及带有两个反引号的(降价的“方言”需要?)解决方法。

我测试过,解决方法如下:

$\]\pagebreak\[$

来源:https://github.com/JunoLab/Weave.jl/issues/249

您可以改用“pandoc2pdf”让 pandoc 解释文件中的降价:weave("myfile.jmd", doctype="pandoc2pdf") 使用您给定的脚本可以工作并生成预期的 pdf。


备选答案:

Weave 文档提到 "md2pdf" uses Julia Markdown, and the Julia Markdown page 指定 LaTeX 语法位于双反引号之间。

---
title: Just a test
author: Me
date: 2022-01-03
output: pdf_document
---

# Some header
Some text.

``\pagebreak``

## Some other header
More text.

这有效并产生了预期的输出。 (``\newpage`` 由于某种原因出现错误,我对 LaTeX 不太满意,无法找出原因。)