我已经用 Markdown 写好了文本,现在是时候开始用 LaTeX 排版了。我希望将 Markdown 源保留为最终来源,因为我希望能够同步内容更改和格式更改。稍后,我可能想使用相同的 Markdown 输入导出为其他格式进行电子出版,例如 HTML、EPUB/MOBI 或 LeanPub 的 Markdown 变体。
我想到的一个“微观管理”的例子是摆弄空格,例如在适当的地方使用~
和\,
。如果我~
在 Markdown 输入中只写了,Pandoc 当然会将其转换为\textasciitilde
。
我正在寻找一种工作流程的想法,使我能够微调排版但仍保留 Markdown 作为源。
答案1
我的系列排版 Markdown可能会引起你的兴趣。整个系列的重点是如何将内容(Markdown)与排版逻辑(例如,ConTeXt、LaTeX 或其他)分开。
下面的示例使用 ConTeXt 排版,但源文件 99.9% 是纯 Markdown,其中有一些使用 pandoc:::
语法注释的内联图像(这里未显示内联图像):
第 8 部分我的系列文章中有一节关于使用注释的部分。
每次运行 bash 脚本来重新编译文档很快就会变得乏味。为此,我开发了一个文本编辑器——叫做写作---提供以 HTML 文档形式呈现的内容的粗略实时预览。编辑器可以利用用户定义的.tex
文件导出主题 PDF,这些文件指示语境如何排版文档。
预览窗格中的注释使用<div style="limerick">
元素和相应的 CSS 进行处理。ConTeXt 中的注释根据注释的类名(例如\startlimerick
和\stoplimerick
)映射到启动/停止环境,用户必须定义。
这PDF 主题屏幕截图显示了同一源文档以多种方式呈现:
作为额外奖励,KeenWrite 还可以编辑 R Markdown 文件。这样就可以将计算结果添加到文档中。如果您觉得自己特别有勇气,可以结合变量、R 和近乎实时的文本图表渲染。我使用此功能为小说中的人物创建家谱。更改任何角色名称都会自动导致图表使用修改后的名称重新渲染:
从技术角度来说,文档的排版首先要将 Markdown 转换为 XHTML。ConTeXt 对 XML 文档的支持非常出色,允许对 XML 文档进行样式设置并渲染为 PDF 文档。