前言
日常工作中,我們通常習慣使用Office軟件來編輯我們的文檔。編輯過程中,你有沒有遇到以下問題:
- 編輯中,經(jīng)常需要我們在編輯好圖文后,利用鼠標來選擇一定的樣式對文檔進行排版。從而不可避免的需要在鼠標、鍵盤操作之間來回切換。
- 更有甚者,當我們看到一篇文檔的排版非常漂亮并想要使用的時候,不得不一對照該文檔的格式進行操作應用。
- 我們在復制文檔的時候經(jīng)常希望將文字希望連帶格式一并復制粘貼過來,而這個時候往往出現(xiàn)格式丟失或者扭曲的現(xiàn)象。
那有沒有一種方法可以解決以上問題?
我們可以通過Markdown來定義文檔,然后使用外部工具進行排版。本文的編輯便是使用Markdown完成,然后通過Markdown here插件進行的排版。
什么是Markdown?
Markdown是一種標記性語言,它規(guī)定了建立標題、插入列表、插入圖片、插入公式等的規(guī)則,只要我們遵循
這些規(guī)則寫好文檔,就可以使用外部樣式工具來建立各種樣式的文章。
由于Markdown簡單易用且可以應用各種已經(jīng)定義好的樣式,普遍被科研工作者、新媒體文章作者和開發(fā)人員所使用。
Markdown的目標是易于閱讀,創(chuàng)作和編輯文章。
Markdown編輯工具
編輯Markdown文檔,可以直接使用文本編輯器。但是,不能直觀的感受編輯效果。我們可以選擇可以邊編輯邊查看效果的編輯軟件,從而獲取編輯什么,看到什么的體驗。以下推薦幾款常用Markdown編輯軟件。
Visual Studio Code
Visual Studio Code作為軟件開發(fā)人員工具,也可以同時方便快捷編輯Markdown。
Typora
Typora作為一款Markdown編輯器,可以邊編輯邊查看效果,同時提供了豐富的樣式選擇。
Markdown編輯
使用Visual Studio Code作為編輯器,選擇文件-》新建文件,再選擇文件-》保存,將文件保存為.md為后綴的文件,如還在用Word編輯文檔?OUT啦.md。
接下來,介紹下Markdown的語法規(guī)則。
標題
Markdown有六種標題,使用一到六個#號 + 一個空格 + 標題表示,一級標題使用1個#,二級標題使用2個#,以此類推。
每個例子后面的內(nèi)容可以直接復制粘貼到編輯器中,然后就可以看到效果。
例:
# 一級標題
## 二級標題
### 二級標題
#### 二級標題
##### 二級標題
###### 二級標題
效果如下圖:
段落
段落的前后要有空行,所謂的空行是指沒有文字內(nèi)容。
若想在段內(nèi)強制換行應該使用兩個以上空格加上回車(引用中換行省略回車)。
例:
第一個段落第一行
第二行(顯示在第一行后面)
第二個段落第一行
第二行(另起一行)
注意:上述寫法中,第二個段落第一行后面有2個空格,如下圖所示。
效果如下:
第一個段落第一行
第二行(顯示在第一行后面)
第二個段落第一行
第二行(另起一行)
引用
引用以> + 空格開始。
例:
> 百日依山盡,黃河入海流
效果如下:
百日依山盡,黃河入海流
引用還可以層疊嵌套,以2個或者更多個連續(xù)> + 空格表示嵌套引用。
例:
> 百日依山盡,黃河入海流
>> 王之渙
>>> 唐
效果如下:
百日依山盡,黃河入海流
王之渙
唐
代碼區(qū)塊
代碼區(qū)塊的建立是在每行加上4個空格或者一個制表符。
例:
function test() {
console.log('ok');
}
效果如下:
function test() {
console.log('ok');
}
注意:代碼區(qū)塊需要和前面的普通段落之間存在空行。
斜體和粗體
斜體
將文字包裹在*或者_字符中,表示文字是斜體。
例:
*斜體*
_斜體_
效果如下:
斜體
斜體
粗體
將文字包裹在**或者__字符中,表示文字是斜體。
例:
**粗體**
__粗體__
效果如下:
粗體
粗體
列表
無序列表
使用*、+、或-再加一個空格標記無序列表。
例:
* 第一項
這是第一項下的一段文字。
+ 第二項
- 第三項
- 第三項子項1
- 第三項子項2
- 第三項子項2的子項1
效果如下:
- 第一項
這是第一項下的一段文字。
- 第二項
- 第三項
- 第三項子項1
- 第三項子項2
- 第三項子項2的子項1
有序列表
有序列表的標記方式是將上述無序列表的符號換成數(shù)字,并輔以.再加一個空格。
例:
1. 第一項
1. 第一子項
2. 第二子項
2. 第二項
3. 第三項
效果如下:
- 第一項
- 第一子項
- 第二子項
- 第二項
- 第三項
注意:無序和有序列表都可以混合嵌套使用。
鏈接
鏈接有兩種形式:行內(nèi)式和參考式。
行內(nèi)式指直接在后面給出鏈接地址。
而參考式則是在文末給出鏈接地址的別名,在文章中直接使用鏈接地址的別名。
行內(nèi)式
例:
[IntelliJ IDEA常見亂碼場景及解決方案
](http://mp.weixin.qq.com/s?__biz=MzIxNDMxOTI5OA==&mid=100000001&idx=1&sn=817324d30eb8d0d3f427b6fb94bb4032&chksm=17a828ac20dfa1baeedc203cd11e1f98f8d2927ba871497f1ea04f6c09256aba7912c589a71f#rd "亂碼場景及解決方案")
效果如下:
IntelliJ IDEA常見亂碼場景及解決方案
參考式
例:
[IntelliJ IDEA常見亂碼場景及解決方案
][wrong_code]
效果如下:
IntelliJ IDEA常見亂碼場景及解決方案
wrong_code為文末定義的別名。如下圖:
圖片
添加圖片的形式和鏈接相似,只需在鏈接的基礎上前方加一個!
例:

效果如下:
例:
![PyCharm][pycharm]
pycharm為文末定義的別名。如下圖:
效果如下:
分割線
分割線使用三個或以上的連續(xù)*、-或者_。
例:
***
---
___
效果如下:
特殊字符
反斜杠
反斜杠\相當于反轉義作用,使符號成為普通符號。
例:
顯示\-
效果如下:
顯示-
符號`
符號`起到標記作用。
例:
`mark`
效果如下:
mark
代碼
使用三個```包裹。在```后面標注所使用的編程語言。
例:
效果如下:
刪除線
使用刪除線的文字使用~~包裹。
例:
~~刪除線~~
效果如下:
刪除線
表格
表格各列之間使用|分割;
表格表頭和數(shù)據(jù)行之間使用多個-分割。
關于表格數(shù)據(jù)對齊方式:
-
:在一列的左端表示左對齊; -
:在一列的右端表示右對齊; -
:在列的兩端都有表示居中對齊;
默認為左對齊。
例:
| 姓名 | 語文 | 數(shù)學 | 英語 |
|----------|:--------:|---------:|:---------|
| 張三 | 85 | 80 | 90 |
| 王五 | 80 | 90 | 80 |
| 李義山 | 90 | 100 | 90 |
效果如下:
| 姓名 | 語文 | 數(shù)學 | 英語 |
|---|---|---|---|
| 張三 | 85 | 80 | 90 |
| 王五 | 80 | 90 | 80 |
| 李義山 | 90 | 100 | 90 |
任務列表
任務列表以[]和[x]分別表示代辦任務和已完成任務。在[]和[x]之前應該有無序列表或者有序列表規(guī)則。
例:
- [x] 支持@提及, #引用, [github](https://github.com/), **格式**, 和<del>標簽</del>
- [x] 要求列表語法(無序、有序列表都可以)
- [x] 已完成任務
- [ ] 未完成任務
效果如下:
- 支持@提及, #引用, github, 格式, 和<del>標簽</del>
- 要求列表語法(無序、有序列表都可以)
- 已完成任務
- 未完成任務
Latex公式
科研人員常使用的Latex公式包裹在$$中。
例:
$$(x-y)^2\equiv(-x+y)^2\equiv x^2-2xy+y^2$$
效果如下:
直接嵌入HTML標記
可以直接嵌入HTML標記。
例:
<ol>
<li>1</li>
<li>2</li>
</ol>
<strong>粗體</strong>
效果如下:
<ol>
<li>1</li>
<li>2</li>
</ol>
<strong>粗體</strong>