Markdown应用教程ch5
- 格式:pdf
- 大小:1.42 MB
- 文档页数:6
科技文
孙建虎 2018‐03‐17
这是本系列课程的最后一次课,我们将以科技文写作为具体应用场景,拓展对 Markdown 的认识,这就有可能或者说必然会涉及一些相关标记语言、编程语言、工具软件或其他技术领域:CSS:
HTML
JS:JavaScript,一种脚本语言
‐ Node.js:一个基于 Chrome 引擎的 JavaScript 运行环
‐ remarkjs ,可用于制作幻灯片
LaTeX:一种基于 ΤeΧ 的排版系统
MathJax:一款运行在浏览器中的开源数学符号渲染引擎
R:The R Programming Language,用于统计分析、绘图的语言和操作环境
……
Markdown 相关工具软件
我们前面所讲的 Yu Writer、MdCharm、Marp 等均可归为专门的 Markdown 编辑器,还有一类可以称为通用文本编辑器,例如 Windows 系统自带的记事本,通用文本编辑器 Notepad++、Atom 等。
此外,还有许多与 Markdown 相关的工具软件,例如 Pandoc、GitBook Editor。
Markdown 编辑器
我们前几次课中推荐过的 Yu Writer、MdCharm、Marp 都是比较好的免费开源 Markdown 编辑器,此外还有一款名为 Typora 的 Markdown 编辑器:
代码与预览同一窗格
所见即所得的编辑器,真正的实时预览,输入代码后立刻得到结果
支持导出 PDF 等格式
但由于 Typora 目前处于测试版本,是免费的许可,正式版推出后很有可能不免费,所以并未在前几次课中推荐,但这并不妨碍我们尝试 Typora 。
部分 Markdown 编辑器许可及平台对比
我们选择 Markdown 编辑器除了关心其许可类型、支持的操作系统,更多关心的是其功能特色,如下这些可能算是比较基本的需求:
语法高亮
实时预览
自定义主题
导出 PDF 等格式
导航窗格
……
根据不同的应用背景,我们可能还关心编辑器支不支持基本语法以外的特性:
表格
数学公式
流程图
删除线
……
如果我们要用 Markdown 来编写幻灯片,可能还要使用 Marp、Haroopad 这类编辑器。
为了选择一款心仪的编辑器,有时候我们可能会做这样的对比:
部分 Markdown 编辑器功能特色等的对比
通用编辑器
许多人不愿意离开自己心爱的文本编辑器去编辑 Markdown 文档,例如习惯了使用 Atom 或者Notepad++ 的人们。
因此,人们利用通用编辑器良好的扩展性能给出了多种实现。
** Atom**
源码与显示:Markdown‐Writer for Atom
代码增强:一般的Markdown编辑器提供了代码着色等基本功能,Markdown grammar 除了能给代码着色,还提供了快捷的代码片段生成等功能。
PDF 文档预览:PDF View package
Atom 自带的 Markdown 预览插件 Markdown Preview 可以通过菜单 Packages > Markdown Preview > Toggle Preview Ctrl+Shift+M 获得,但其功能比较简单,Markdown Preview Plus (MPP) 对其做了功能扩展和增强,支持预览实时渲染(Ctrl + Shi + M),支持Latex公式(Ctrl + Shi + X),使用该插件前,需要先禁用 Markdown Preview。
Markdown Preview 为 Atom 提供了将当前文档渲染成 HTML 并预览的功能。
同步滚动是 Markdown 编辑器的必备功能,方便翻阅文档修改时能快速定位到预览的位置。
markdown‐scroll‐sync 不仅支持同步滚动,在光标位置发生变更时也会同步滚动,这个功能在很多Markdown编辑器中不具备。
图片功能支持的好坏直接决定了我是否选择使用一个 Markdown 编辑器。
也有不少编辑器和在线的图床绑定,但是这种方式受限于网络。
虽然 Markdown 支持插入本地图片,但是每次插入新图片都是一堆重复操作:截图-命名-保存-插入。
Markdown‐img‐paste 将这些操作一步完成,使用截图工具将图片复制到系统剪切板。
在 Markdown 新起一行输入文件名。
Ctrl + V 会自动把图片保存到Markdown文件相同目录下(因此要求Markdown文件应该先保存),并命名为刚输入的文件名,同时在刚才输入文件名行处生成img标签。
当然,如果想插入gif动图就不能这么简单了,还是老老实实地下载LICEcap手工插入吧。
一直对Markdown的table语法很无爱,直到遇到了markdown‐table‐editor,这操作效率简直炸了!Themeable markdown converter (Print to PDF, HTML, JPEG or PNG)输出为pdf,右键选择PDF
不少Markdown编辑器都会提供pdf导出功能,甚至将其作为收费功能。
而Atom的markdown‐themeable‐pdf、pdf‐view插件可以轻松实现pdf导出和预览功能。
以上介绍的Atom的Markdown插件,基本上满足了我对一个Markdown编辑器的所有幻想,实时渲染、同步滚动,公式、代码、图片、表格的快捷操作与支持,以及pdf文件导出、预览等。
希望此文对你有所帮助。
Notepad++
为方便在 Notepad++ 环境下编辑 Markdown 文档,人们主要是通过 Notepad++ 提供的用户自定义语言格式功能实现 Mardown 语法高亮,通过 Notepad++ 的插件实现 Markdown 实时预览。
Mardown 语法高亮的用户自定义文件可以在 GitHub 网站下载。
在 Notepad++ 中单击 语言(L) > 自定义语言格式... ,在弹出的 自定义语言格式 对话框中单击导入... ,在弹出的 打开 对话框中选择刚才下载的 *.xml 文件,并单击 打开(O) ,然后重启Notepad++即可。
编辑 Markdown 代码时,可以手动选择 语言(L) > Markdown ,打开已保存的 Markdown 文档会自动识别为Markdown 语言并相应语法高亮。
Markdown 实时预览插件可以到博客上下载,还有一个版本(不好用,不推荐)。
将下载的 *.dll 文件复制到 C:\Program Files (x86)\Notepad++\plugins ,重启 Notepad++即可在 插件(P) 下看到 NppMarkdown ,可以在 Notepad++ 中实现预览。
相关工具软件
GitBook/GitBook Editor
可以参阅 GitBook.md 。
Pandoc
可以在在线阅读 Pandoc User's Guid 。
科技文写作
科技文写作一般对格式要求较高,通常会涉及大量的图表和公式。
格式
Markdown 编辑器中与格式关系最为密切的就是 CSS 了。
例如在 Typora 编辑器中,可以在其主题网站下载 Acdemic 主题,解压后将其中的 acdemic.css 文件复制到 C:\Users\用户名
\AppData\Roaming\Typora\themes,然后启动 Typora 编辑器,单击 主题(T) >Acdemic ,则可以获得学术风格的排版效果。
图表和公式
对于图片,在基本语法中已经支持了,而表格和公式则要在扩展语法中支持。
GFM 支持表格、Markdown Extra 支持表格、Mul Markdown 支持表格、Pandoc's Markdown 支持表格,也就是说上次课我们列举的几个扩展语法中仅有 CommonMark 不会(以 Markdown 语法的方式)支持表格。
但事实上,由于 Markdown 基本规范中已经明确,Markdown 是支持内嵌 HTML 语法的,而 HTML 中有
<table>...</table> 这样的标签来插入表格,所以说,无论是基本语法还是扩展语法,对表格的支持应该都是没有问题的。
上次课我们列举的几个扩展语法中,Mul Markdown 支持数学公式、Pandoc's Markdown 支持数学公式,通过前期学习,我们知道 Markdown 与 HTML 有着千丝万缕的联系,而 HTML 显示数学公式最好的方案当属 MathJax 了,这是一种用于浏览器中显示数学公式的 JavaScript 渲染引擎,支持解析
TeX/LaTeX、MathML 和 ASCIIMathML 标记语言。
此刻,我们不妨在 Yu Writer 中通过单击界面顶部中央的 Table 和 Equation 按钮来尝试输入表格和公式。
我们知道,在科技文写作领域,LaTeX 是国际上的主流方案之一。
对于 LaTeX,很多人可能是又爱又恨:爱的是她确实很完美,很强大;恨得是她不直观,入门难,这也使得许多人对 LaTeX 望而却步,敬而远之。
R Markdown 可以说是一个折中方案,可以享受 LaTeX 和 Markdown 的各自优势。
可以参阅RMarkdown.md ,R Markdown 不仅可以进行科技文写作,还可以用来编写幻灯片。
您的不断支持 我的源源动力。