1. Markdown简介
1.1 什么是Markdown
- Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
1.2 为什么选择Markdown
优点:
- 使用简单的标记语法来控制格式(编写时控制格式方便快捷,便于复杂格式笔记的迁移)
- 纯文本轻量级(任意一款文本编辑器都可查看编辑,打开速度很快,而且支持quicklook等工具预览)
- 便于导出其他格式(配合pandoc可以一键导出pdf、html、word等格式,UI美观而且带书签)
- 支持Web语法和LaTeX语法(如有需求,可以对样式进行精细的控制)
- 支持代码高亮显示(非常适合写含有大量代码的技术博客)
缺点:
- 图片等多媒体文件不好储存(放本地不便于分享,放图床里需要联网。建议放图床里,并且导出pdf格式笔记备份)
- 渲染模式种类繁多,同一个文件用不同软件打开渲染结果都不同,而且有的软件缺乏对表格的渲染支持。
1.3 如何使用Markdown
Markdown基本语法如下:
1 | 大标题:# 空格 |
说明:Markdown还支持Web语法和LaTeX语法,可以对内容和格式进行精细控制,需要的话自行查找,这里就不赘述了。
2. Markdown笔记软件推荐
2.1 笔记软件需求
- 渲染支持全面:编辑器UI好看、Markdown渲染好看、支持代码高亮、支持渲染表格和LaTeX数学公式。
- 直接操作md文件:我有Nextcloud私有云盘自动备份,用它来解决跨平台支持问题,因此我希望能直接修改本地的md文件,而不依赖于软件本身,无需进行繁琐的导入导出。
- 支持全局搜索、大纲视图:笔记攒多了找东西不方便,因此需要一个能够直接从全局定位到具体笔记内容的搜索功能。
- 支持导出其他格式:为了适应不同场景的需求,需要导成其他格式,希望导出的结果好看且带书签。
- 用户界面支持中文:用纯英文的编辑器对于一些英文不好的人来说会导致上手门槛增大。
- 支持笔记加密:有些内容涉及隐私及不希望分享的笔记,最好是能够对其进行加密。
- 开源软件:商业版软件未来会收费,而且也不能保证未来不作恶,开源软件就放心得多。
2.2 笔记软件综评
目前市面上只有Typora基本符合我的需求,其他软件各有一些痛点,只能根据个人需求,在心中的权重有所取舍,挑选出的软件如下:
- 目前正在使用,各方面都比较出色的软件:Typora
- 曾经使用过,但有一些痛点问题的软件:MarkTest、Tea、Notable
- 下载体验过,感觉有些特色但不适合我的软件: Liandi、Sublime Text、Visual Studio Code、Joplin、Gridea
- 强烈不推荐使用,没有任何特色的垃圾软件:Markdownpad2
2.3 Typora
2.3.1 简介
Typora是一款目前免费的商业版软件,官网:https://www.typora.io/
另注:自 Typora 1.0 正式版开始,改成收费永久买断制的了,14.99美刀绑定三个设备,不过旧的 beta 版还可以继续免费使用。
2.3.2 优缺点
优点:直接操作本地文件、全局搜索、所见即所得、导出支持全面且美观、特殊插入支持全面、可作为通用的md文件编辑器、文件大纲、格式自动补全、快捷键支持全面、支持渲染表格、支持图片自动上传、支持自定义主题
缺点:剪切和复制文本有时会出现跳转bug
2.3.3 使用说明
1)导出其他格式
使用自带的导出功能即可(配合Pandoc可导出除pdf和html以外的格式、导出的pdf带书签)Pandoc官网
可能存在“安装完之后,还是提示需要安装pandoc”的问题,此时可重新启动电脑,或者卸载Typora重新安装。
2)Typora快捷键
1 | 1、文本编辑 |
复制带格式的文本:Ctrl+A(全选)——Ctrl+Shift+C(复制为Markdown)
3)取消拼写检查
- 文件——偏好设置——编辑器——拼写检查——不使用拼写检查
4)自定义主题
- 主题获取:https://theme.typora.io/(有大量的开源主题可供选择)
- 主题应用:将下载的css主题文件放到
C:\Users\xxx\AppData\Roaming\Typora\themes
目录里,重新打开Typora即可。
5)调整表格列宽
视图——勾选“源代码模式”,然后在调整列宽的标题栏里加若干空格符
一个更加优雅的方法则是使用空的 <img>
标签。例如:
1 | | a | b | c | |
另注:长文本需要指定列宽,控制换行
可以使用 <div style="width:[长度]">[单元格文本]</div>
的形式,长度单位可以是 pt
, px
, cm
等,例如:
1 | | a | b | d | |
2.4 MarkText
2.4.1 简介
MarkText是一款开源软件,项目地址:https://github.com/marktext/marktext
2.4.2 优缺点
优点:直接操作本地文件、全局搜索替换、UI和渲染好看、所见即所得、字数段落统计、大纲视图、支持渲染表格、支持导出pdf和html
缺点:英文软件界面、快捷键插入不方便、Bug太多、不支持自动更新版本
2.4.3 使用说明
该软件刚下载完打开什么都没有,并不适合我用,以下根据个人喜好进行调整:
调整用户设置:
- Step1:把侧边栏和标签栏调出,并进入用户设置界面(View勾选Toggle Side Bar和Toggle Tab Bar,然后File——Preferences)
- Step2:设置General(自动保存:开启
Automatically save the content being edited
;软件开启打开默认目录:选择Open a default directory
,然后设置路径) - Step3:设置Editor(设置编辑器宽度:最底下设置为150%)
- Step4:设置Theme(黑暗主题:Theme选择Dark)
- Step5:设置Image(设置插入图片后的动作:选择
Insert absolute or relative path of image
并设置存储路径)
2.5 Tea
2.5.1 简介
Tea是一款目前免费的商业版软件,官网:https://haocha.co/
2.5.2 优缺点
优点:UI和渲染超级好看、支持插件增强功能(大纲视图、机械键盘、树状文件夹、Markdown编辑)、所见即所得、速记便签功能、支持文内搜索、便于查看快捷键、格式自动补全
缺点:不是直接操作本地文件、导入导出不方便、不支持渲染表格、Bug太多、非开源软件
目前我已使用的插件存在以下Bug,未修复前不建议使用。
- Dracula主题插件:开启会导致速记功能看不到文字
- 炸裂模式插件:开启有时会导致Markdown语法不解析
- 备份到本地插件:备份出来的文件内容全都一样,数据丢失
2.5.3 使用说明
安装时会遇到如下问题:点“更多信息——仍要运行”即可
1 | Windows Defender SmartScreen 已阻止启动一个未识别的应用。运行此应用可能会导致你的电脑存在安全风险。 |
2.6 Notable
2.6.1 简介
Notable是一款开源软件,项目地址:https://github.com/notable/notable
2.6.2 优缺点
优点:直接操作本地文件、添加附件、链接分享、支持渲染表格
缺点:不支持全文搜索、所见与所得分离、不支持格式自动填充、快捷键支持少、更新弹窗、英文软件界面
2.6.3 使用说明
详见软件内置的help
1 | 生成的分享链接(24h后失效) |
3. 使用Typora内置的Mermaid作图
3.1 Mermaid简介
Mermaid 是一种简单的类似 Markdown 的脚本语言,通过 JavaScript 编程语言,将文本转换为图片。因此,真正实现画图功能的并不是 Typora 本身,它只是内置了对 Mermaid 的支持。
Mermaid 官方有一个在线的工具,我们也可以用它进行绘制,并支持多种格式的导出:Mermaid live editor
Mermaid 支持绘制非常多种类的图,常见的有时序图、流程图、类图、甘特图等。在 Typora 中,输入 ````mermaid` 然后敲击回车,即可初始化一张空白图。
3.2 具体作图语法
1)流程图
语法解释:graph
关键字就是声明一张流程图,TD
表示的是方向,这里的含义是 Top-Down 由上至下。
1 | graph TD; |
2)时序图
语法解释:->>
代表实线箭头,-->>
则代表虚线。
1 | sequenceDiagram |
3)状态图
语法解释:[*]
表示开始或者结束,如果在箭头右边则表示结束。
1 | stateDiagram |
4)类图
语法解释:<|--
表示继承,+
表示 public
,-
表示 private
,学过 Java 的应该都知道。
1 | classDiagram |
5)甘特图
甘特图一般用来表示项目的计划排期,目前在工作中经常会用到。
语法也非常简单,从上到下依次是图片标题、日期格式、项目、项目细分的任务。
1 | gantt |
6)饼图
饼图使用 pie
表示,标题下面分别是区域名称及其百分比。
1 | pie |
4. LaTeX的基本使用
4.1 LaTeX简介
LaTeX 是一种基于ΤΕΧ的排版系统,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。
对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。
4.2 LaTeX编译器和编辑器
4.2.1 LaTeX编译器
[1] 下载TeX Live(3.31GB)
官方下载地址:http://mirror.ctan.org/systems/texlive/Images/texlive2019.iso
身处中国大陆,下载速度很慢,建议使用清华大学镜像站or中国科技大学镜像站下载
清华大学镜像站:https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/texlive2019.iso
中国科技大学镜像站:https://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/texlive2019.iso
[2] 安装TeX Live
使用压缩软件解压texlive2019.iso文件,打开install-tl-advanced.bat
安装脚本,将TeX Live安装在你的系统中。
注:安装过程极慢,该干啥干啥去。
4.2.2 LaTeX编辑器
我最初使用LaTex的时候使用的是TeXstudio,个人感觉不是很好。现在推荐 Visual Studio Code + LaTeX Workshop扩展插件 的方案。
由于整理笔记的时候我电脑里已经没有了LaTex编译器的环境,就不具体演示了,下述配置方法是网上找的,未亲自尝试。
1 | 需将编译器配置到环境变量中(或者安装时选择添加到环境变量path),推荐安装TeXLive。Windows 上,Ctrl + Alt + B 编译,Ctrl + Alt + T PDF预览,Ctrl + 鼠标左键点击 PDF 反向定位到 tex 文本。 |
4.2.3 辅助输入LaTeX命令
初学者可能对LaTeX命令不太熟悉,可以借助一些工具辅助输入。但这只是一个过渡阶段,随着对LaTeX的熟悉,应越来越少地使用到。
在线工具:https://www.latexlive.com/(B站up主妈咪叔开发的LaTeX公式编辑器,可免费使用,这里还提供一份 LaTex帮助文档 ,可用于学习LaTex语法)

本地工具:MathType
安装MathType后直接使用, 并不能使公式转译为LaTeX命令, 还需要进行相应的设置。
5. 参考资料
[1] 基于 Markdown 的笔记应用程序Notable from Github
[2] 一个简单优雅的 Markdown 编辑器MarkTest,适用于 Linux、macOS 和 Windows from Github
[3] 使用 Typora 画图(类图、流程图、时序图)from 知乎
[4] Markdown 技巧:如何改变表格宽度(列宽) from 知乎