Markdown语法教程(超详细)


什么?你想学习怎么用Markdown撰写文档?你还在为搞不懂Markdown文档和Rmarkdown文档而发愁?那么看这一篇文章就够了!

本文涵盖:

  • Markdown的介绍
  • Markdown工具的使用
  • Markdown的语法
  • Markdown TOC
  • Markdown文档的导出
  • Rmarkdown的相关知识

本文将解决你面对Markdown及Rmarkdown时一切问题!


1.为什么要用Markdown写文档

我相信能来看这篇文章的人或多或少都了解一些Markdown的知识,但是可能不理解为什么要用Markdown写文档,接下来我将讲述Markdown是什么及它的使用优点

首先什么是Markdown?
Markdown是一种轻量级的标记语言,设计初衷是让人们可以使用简单的文本格式来书写和编辑文档。同时具有一定的格式化效果。通过使用Markdown语法,用户可以快遇地将纯文本转换为格式化的文档,例如标题。列表:链接、图片等。
甚至还可以实现Markdown文档对PDF、Word等格式的快速转换。
Markdown的文件通常以.md或markdown为扩展名。

其次Markdown便于学习,操作快捷。
Markdown语法简单直观,易于学习和使用,逐渐成为了各种平台上书写文档的常用格式。
设想一下如果你要完成一份毕业论文,如果你是从未接触过Office Word的人,在看见下述界面后你会有多头疼。
在这里插入图片描述
同时我相信大家都有过用Word写东西改格式的时候,怎么改格式都不对,突然改着改着整个文档都崩了的经历。
但是Markdown却没有这种学习成本,不需要你去弄懂这些按键的意义。
同时它作为非图形化的文档编写方式,在写文档的时候不需要用鼠标点来点去,像写代码一样,效率极高。

再其次Markdown是一种纯文本语言而非二进制文件格式,因此其特别适合用Git进行版本控制。
想象一下你有一份5M图文并茂的.doc文件,那么你要将它放到Git上还是网盘上呢?

  • 如果放到Git上,那么对文档的任何改动都会影响这个5M大小的二进制文档。
  • 如果放到网盘上,你将丢失大量的版本信息 。

但是使用Markdown后文档就和代码一样是纯文本,可以享受版本控制的优点了。

最后Markdown具有很强的可读性
在这里插入图片描述

例如这段Markdown代码,相信你对Markdown没有任何了解的情况下你也能知道这段话在讲什么,虽然它有一些奇怪的星号和井号但并不影响阅读。
但如果是LaTeX的话:
在这里插入图片描述
相信初学者连正文在哪里都找不到。


2.在VScode上编辑文档

虽然现在有很多类似于Typora之类的软件,但是它们大多都有一个很严重的问题:
那就是它们都不免费。。。咳咳,虽然我们可以使用学习版的,但是有能力的话建议大家还是支持一下这些正版软件,毕竟这些软件的开发者也不容易。
所以我在换一圈之后还是将目光投向了VScode这个大杂烩上面。
本文所介绍的所有语法不仅可在VScode编辑器上使用,在所有别的编辑器上面都是通用的
本文以VScode作为示例。
在使用VScode撰写文档之前,你需要下载如下几个插件:

  • Markdown All in One
    在这里插入图片描述
    这个插件集成了Markdown几乎所有的基础功能。
  • Markdown PDF
    在这里插入图片描述
    你将使用这个插件将.md文件转换为.pdf、.html乃至于.jepg .png文件。
  • Markdown Preview Github Styling
    在这里插入图片描述
    这个大家可下可不下,只是将Markdow的预览变成了Github的格式,会更熟悉一点。

3.基础Markdown语法


3.1标题

在这里插入图片描述

如图所示,Markdown以#作为标题的开头,几个井号就是几级标题,需要注意的是,你需要将文字和井号之间加一个空格,不然就会将井号识别为文本了。


3.2换行

在Markdown里你不能直接换行,需要现在上一段文字后面加两个空格再回车才能换行。
或者你可以直接按两次回车,但是这样的换行更类似于换段落,两端文字之间的行间距也会更大一点。


3.3文本

以下展示了几个基础文本编辑语法:
在这里插入图片描述
在这里插入图片描述
需要注意的是使用下划线和星号的效果相同,但是在部分编辑器中下划线无法实现该效果,故推荐全部使用星号,也免去了记忆负担。
在这里插入图片描述


3.4列表

3.4.1无序列表

在这里插入图片描述
如图为无序列表,可以用*-+作为列表的起始符。
需要注意的是三个符号不能混用,你可以看到相邻的同一种起始符的行间距较小,不同的起始符之间的行间距较大,这是因为VScode将不同的起始符视作是不同的列表了。

3.4.2有序列表

在这里插入图片描述

在这里插入图片描述
需要注意的是,使用两个空格加一个回车的换行会被视为在同一项中的换行,只有使用两个回车才会跳出这个列表。
在这里插入图片描述

3.4.3列表的嵌套

在这里插入图片描述
你只需要在*前面打四个空格即可得到有序列表嵌套无序列表。
同样的你也可以用有序列表嵌套有序列表等等等等。

3.4.4勾选框

在这里插入图片描述
需要注意的是勾选框的中括号需要用英文的,同时前面需要加上列表的符号,中括号之间需要输入空格或x分别表示未勾选和已勾选。


3.5代码块

  • 使用空格在这里插入图片描述
    你需要在每一行代码前面加四个空格,就会生成一个代码块,但是这种方法略显繁琐,而且需要和前文空开一行,故我更推荐第二种方法。
  • 使用```
    在这里插入图片描述
    这个符号我不知道怎么念。。。反正就是esc键正下方的键,但是需要用英文输入,不然就是一个点·了。
    同时你可以在三个这个符号后面加上这段代码使用什么语言写的,这样做会使VScode分辨代码并为其添加相应的高亮展示:
    在这里插入图片描述

3.6引用

当我们引用他人文章内容时,往往需要特别标注此部分,而Markdown为我们提供了更加方便的文本引用块,我们只需要在最前面添加大于号即可。
在这里插入图片描述
VScode会将被引用的文本用一个特殊的方框包裹起来,类似于代码块。
你也可以将引用嵌套起来使用:
在这里插入图片描述


3.7插入超链接

你也可以在文档中插入网址:
在这里插入图片描述
但是在文档中之间放入这么一段网址未免会显得有些不美观。
故我们可以使用第二种方法:

[链接名称](链接网址)

[链接名称][链接代码]
[链接代码]:链接地址

的形式插入到文档当中。
![在这里插入图片描述]
这时你点击文字就可之间跳转到对应网址。
需要注意的是冒号后面记得加一个空格。


3.8插入图片

插入图片非常简单,与链接类似,语法如下:
在这里插入图片描述
由于Markdown文档是纯文本格式,无法像Word那样真的放一张图片进去,因此我们只能使用本地图片地址或是网络图片地址,比如插入一张网络图片:
在这里插入图片描述


3.9插入表格

在Markdown中也支持创建一个表格,使得数据的展示更加整齐有序。
不过这个语法可能稍微有一点点复杂,首先我们来看一个表格的结构,表格分为表头和表体,其中表头就是最顶上一排的,用于表示当前列的数据类型,比如年龄、性别等,而表体就是每一行数据,我们来看看如何在Markdown中编写:
在这里插入图片描述
最上一排就是表头,需要在左右使用|表示这是一个表格,同时,下方需要添加分割线,分割线使用-减号表示,写一个或多个都可以,推荐与表的宽度一致,更加美观。这样,就可以顺利展示为一个表格了。
接着我们来编写表体,格式与表头是一样的,并且可以一直往下写:
在这里插入图片描述
同时Markdown的表格支持内容的对齐调整,只需要使用:冒号调整分割线即可:

  • (:- - - )为左对齐
  • (- - - :)为右对齐
  • (:- - - :)为居中对齐

3.10注脚

在Word中我们经常会用到脚注,尤其是论文中,经常会在某个词语的右上角标上123来表示这个词语在文档的底部有注释,如果不理解可以去页脚查看注释中的内容。
在Markdown中也可以像这样编写脚注(部分编辑器不支持),格式同样类似于超链接。
在这里插入图片描述


3.11HTML标签

我们也可以在Markdown文本中使用部分受支持的HTML标签,让文档内容更加个性化。
(如果未学过前端可以之间跳过)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/be7cfe1eef774de6a4faa8b19fe650cf.png
在这里插入图片描述


3.12数学公式语法

除了基础的文档格式Markdown可以支持外,它还可以编写数学公式,更加直观和规范地展示。

3.12.1公式块

需要编写数学公式,我们同样需要在特定的块中编写,公式块使用$美元符表示。多行公式使用连续的两个美元符:在这里插入图片描述
如果只想在行内编写,一行内容只需要使用一个美元符囊括即可:
在这里插入图片描述
公式块中展示的内容会自动变为标准的论文公式格式,并且字体也是非常标准的。

3.12.2特殊数学符号

在公式块中,大部分数学符号都可以通过键盘直接输入,但是还是有一些符号无法直接通过键盘输入,比如乘号、除号、根号等,我们需要借助一些特殊的代码来替代,这里建议大家之间百度:
在这里插入图片描述

3.12.3分数

分数使用\farc来表示,具体格式如下:
在这里插入图片描述

3.12.4开方

开方使用\sqrt来表示,具体格式如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/613d8d94f5d245ff8483bdd0b148e083.png

3.12.5上标与下标

在公式块中的上下标与Markdown中的不同,语法也不一样,其中^表示上标, _表示下标:
在这里插入图片描述
如果上标或下标内容多于一个字符,需要使用 {} 括起来,包括后续的其他代码如果出现只有一个字符生效的情况下,考虑使用花括号囊括全部内容:
在这里插入图片描述

3.12.6积分与极限

积分非常简单,直接使用上下标标注\int即可指定范围,后续的内容可以直接向后编写,会自动居中摆放:
在这里插入图片描述
极限与积分类似,同样使用下标标注\lim即可:
在这里插入图片描述

3.12.7其他符号

  • 向量$ \vec{a} $
  • 居中省略号 $ \cdots $
  • 底部省略号 $ \ldots $
  • 点乘 &\cdot&
  • 累加 同样用上下标标注即可 &\sum&

4.Markdown TOC

在我上面提到的Markdown All in One插件中已经包含了自动生成TOC(目录列表)的功能,同时它也可以随着你的编写自动生成更新后的TOC。
你只需要按住ctrl+shift+p调出VScode的命令面板,接着输入Markdown(注意m要大写),选择Creat Table of Contents即可。


5.Markdown的导出

在我上面提到的Markdown PDF插件中已经包含了导出为.pdf .html等格式的功能,你只需要在你需要导出的.md文件中单机鼠标右键,就可以看到Markdow PDF:Export(pdf),选取只后等待一会儿即可得到.pdf等格式的文件了。


6.Rmarkdown

最后,我将简要介绍Rmarkdown。
接下来我将使用Rstudio做演示。


6.1Rmarkdown简介

如果你从事统计分析、绘图、数据挖掘、生物信息相关方面的工作,那就一定绕不开一个数学编程语言——R语言。而Rmarkdown则是 R 语言环境中提供的 markdown 编辑工具,运用 rmarkdown 撰写文章,既可以像一般的 markdown编辑器一样编辑文本,也可以在 rmarkdown中插入代码块,并将代码运行结果直接输出在 markdown 里。R Markdown格式,简称为 Rmd 格式, 相应的源文件扩展名为.Rmd。输出格式可以是 HTML、docx、pdf等。
这是Rstudio的Rmarkdown官方文档,它已经非常清楚的介绍了Rmarkdown如何使用,内部构造、不同的输出类型,以及其他拓展。


6.2Rmarkdown的安装

现在我们假设你已经安装了R及Rstudio,并掌握了r语言的一些基本操作。
你可以通过下述代码安装rmarkdown软件包:

install.packages("rmarkdown")

你也可以通过下述代码安装LaTeX,对于从未安装过LaTeX的R Markdown用户,建议安装TinyTeX:

install.packages('tinytex')

你需要通过它来生成pdf文件。
TinyTeX是一种轻便,可移植,跨平台,易于维护的LaTeX发行版。R配套软件包tinytex可以帮助你在将LaTeX或R Markdown文档编译为PDF时自动安装缺少的LaTeX软件包,并确保将LaTeX文档编译正确的次数以解决所有交叉引用。

6.3新建rmarkdown文件

你需要点击Rstudio左上角的新建项目,选择Rmarkdown文件格式,即可建立一个rmarkdown编辑文件 。
在这里插入图片描述
在弹出的选项框里,可以申明rmarkdown的Title、Author以及默认的输出文件格式,一般可以选择HTML、PDF、Word格式。
在新建的rmarkdown文件里,有三块内容:

  • YAML :定义了rmarkdwon的性质,比如title、author、date、指定output文件类型等。
  • markdown文本:是rmarkdown的主要内容,由编辑人员按照markdown语法自行编写。
  • 代码块:rmarkdown的一个主要功能是可以执行文件内的代码块,并将代码执行结果展示在markdown里。这对撰写数据分析报告带来了极大的便利。Rmd文件中除了R代码段以外, 还可以插入Rcpp、Python、Julia、SQL等许多编程语言的代码段, 常用编程语言还可以与R代码段进行信息交换。

在新建的rmarkdown文件里可能你会觉得生成的一大堆东西过于繁琐,懒得看,你可以把这些东西全部删了,自己遵循markdown的语法编写你需要的东西就可以了。

rmarkdown的语法与markdown基本一致,故在此不过多赘述了。


6.4Rmarkdown的导出

rmarkdown的导出方式有两种,一种是基于rstidio导出,另外一种是使用命令行的方式导出

  • 手动导出
    手动导出方法很简单,在完成mardown编辑后,手动点击knit按钮,选择导出格式类型即可,Rstudio支持导出PDF、html、word三种类型。
  • 命令行方式导出
    命令行导出主要依靠rmarkdown::render实现,render函数主要包含如下几个参数:
  • input:指定需要导出的rmarkdwon文件地址
  • output_format:指定需要导出的文件类型,同样支持pdf、word、html等多种文件格式。若未指定output_format格式,则输出rmarkdown文件中output默认指定的格式类型。
  • 31
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Markdown是一种轻量级标记语言,它的语法简单易懂,可以快速的将纯文本转换成富文本格式。以下是常用的Markdown语法: 1. 标题 在Markdown中,使用#表示标题,#号的数目表示标题的级别,例如: # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 2. 列表 有序列表和无序列表都可以使用Markdown语法表示,有序列表使用数字加英文句点表示,无序列表使用*或-表示,例如: 有序列表: 1. 列表项1 2. 列表项2 3. 列表项3 无序列表: - 列表项1 - 列表项2 - 列表项3 3. 引用 在Markdown中,使用>表示引用,例如: > 这是一段引用的文字。 4. 链接 Markdown中,使用[]()表示链接,方括号中写链接文字,圆括号中写链接地址,例如: [百度](https://www.baidu.com/) 5. 图片 Markdown中,使用![]()表示插入图片,方括号中写图片说明文字,圆括号中写图片地址,例如: ![图片说明](https://www.example.com/image.jpg) 6. 粗体和斜体 在Markdown中,使用**text**表示粗体,使用*text*表示斜体,例如: **这是粗体文字** *这是斜体文字* 7. 代码 在Markdown中,使用单反引号表示代码,例如: `print("Hello World")` 8. 分割线 在Markdown中,使用三个或以上的-或*表示分割线,例如: --- 以上就是Markdown的常用语法,这些语法可以满足大部分文本的排版需求,而且简洁易懂,易于学习和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值