參考學習資源:
- MathJax官方網站
- MathJax手冊
- MathJax使用LaTeX語法編寫數學公式教程
- Mathjax與LaTex公式簡介
- 小敏紙的博文
- http://edu.csdn.net/course/detail/553/6966?auto_start=1
注:
本教程是針對在線CSDN Markdown編輯器;和支持markdown語法的離線編輯器在語法,快捷鍵等方面存在差異; 本人使用MarkdownPad2離線編輯器,其相對於在線編輯器有一定的侷限性(公式,圖標等支持少)。
Csdn Markdown 作用,特點
- 事實上的網絡寫作標準
- 從排版中解放出來
- 專注文章寫作
- 功能強大(表格,流程圖,公式)優點
- 專注內容
- 易學易寫易讀
- 兼容性強
- 格式轉換方便
- 功能強大缺點
- 格式難於定義
-
需要額外的編譯器基本語法
1.標題(分六號)
# 一號標題 MarkdownPad2 ctrl + 1
## 二號標題 MarkdownPad2 ctrl + 2
### 三號標題 MarkdownPad2 ctrl + 3
#### 四號標題
##### 五號標題
###### 六號標題
2.引用
> 這裏是個引用 (> + 空格) ctrl+q ;換行自動引用;結束引用,刪掉>
空行;嵌套引用,再加 >
3.文本格式化
*斜體文字* 快捷鍵 ctrl + i
**加粗文字** ctrl + b
***加粗的斜體文字*** ctrl + b + i
~~添加刪除線的文字~~ 注:markdownpad不支持
4.代碼格式化
使用反引號"`"包含實現行內代碼。
如果需要在代碼內插入反引號,需要多個反引號開始和結束一段代碼。
如果需要代碼塊和語法高亮,可以採用三個反引號的方式,同時可以註明語言類型。 (Ctrl + k)
5.列表
無序列表無序列表使用星號、加號或是減號(加空格)作爲列表標記,如果不按列表顯示,前面記得加一空行。(ctrl + u)
有序列表使用數字接着一個英文句點(加空格)表示一個有序列表, 注意前面的數字對列表沒有影響。(MarkdownPad2 ctrl + shift + O)
列表嵌套列表可以嵌套,添加tab縮進表示層次。例如下面的Markdown代碼:
-
一級列表1
- 二級列表1
- 二級列表2
- 一級列表2
- 一級列表3
顯示結果也如此。
多段列表列表項裏可以包含多個段落,每個項目下的段落都必須縮進 4 個空格或是 1 個製表符。
(注:markdownpad2編輯後預覽結果存在差異,只有當一行不能完全顯示,纔會換行)
6.鏈接
行內式鏈接只要在方塊括號(顯示文本)後面緊接着圓括號並插入網址鏈接即可,如果你還想要加上鍊接的 title 文字,只要在網址後面,用雙引號把 title 文字包起來即可。(格式 [顯示文本](url "title"))
Markdown文件:歡迎大家訪問我的[博客](http://blog.csdn.net/whqet/ "博客")。
也可以不指定[鏈接](http://blog.csdn.net)的title。
瀏覽器運行結果:
參考式鏈接參考式鏈接需要進行鏈接內容定義,然後引用該定義設置鏈接。
鏈接內容定義格式爲:
[鏈接名]: 鏈接地址 "鏈接title"
[鏈接名]: 空格(或tab) 鏈接地址 空格 "鏈接地址"(可省略)
設置鏈接的格式爲:
[鏈接文字][鏈接名稱]
示例代碼:
請大家訪問我的[博客][blog],獲取更多信息。
[blog]: http://blog.csdn.net/whqet "我的CSDN博客"
網頁顯示:
7.轉義
Markdown 可以利用反斜槓來實現轉義,支持以下這些符號前面加上反斜槓來幫助插入普通的符號:
8.分割線
你可以在一行中用三個以上的星號、減號、底線來建立一個分隔線,行內不能有其他東西。你也可以在星號或是減號中間插入空格。下面每種寫法都可以建立分隔線:
* * *
***
*****
- - -
--------------------
9.圖片
Markdown 使用一種和鏈接很相似的語法來標記圖片,同樣也允許兩種樣式:行內式和參考式。
行內式圖片如下所示:
![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional title")
參考式圖片如下所示:
![Alt text][id]
[id]: url/to/image "Optional title attribute"
到目前爲止, Markdown 還沒有辦法指定圖片的寬高,如果你需要的話,你可以使用普通的標籤。
注意:CSDN圖片如果大於顯示區域,則圖片寬度自適應,如果圖片較小則以原始尺寸顯示。
10.目錄
[toc]
11.腳註
定義: [^name]: 文本調用: [^name]
12.表格
- - - - - | - - - 示例
|姓名|性別|年齡|分數|
|--|----:|---|---|
|王軍|男|20|80|
|麗麗|女|40|90|
注:冒號位置表示對齊方式(左,左對齊;右,右對齊)網頁顯示:
13.公式編輯
通過使用MathJax,我們可以讓Markdown解析LaTeX數學表達式,通常情況下,我們需要引入MathJax插件纔可能工作。
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?con fig=TeX-AMS_HTML"></script>
CSDN已經內置了這個插件,我們就不需要手動插入了,可以直接寫數學公式了。
MarkdownPad使用MathJax http://www.cnblogs.com/hellowangyang/p/3852906.html
行內公式
用 $...$ 的方式來包含行內公式 (markdownpad2不支持)
-
陳列公式
用$$...$$$方式包含內容
示例:
$$ H(p,q)=- \sum_x p(x) \log q(x) $$
網頁顯示:
- 基礎語法(MathJax語法)
(1)使用\alpha、\beta、\gamma表示希臘字母α、β、γ, 使用\Gamma 表示大寫希臘字母Γ等,如下表所示:(markdownpad2中以$$...$$包含纔可正常顯示)
(2)利用{}實現優先級。
(3) 常用數學運算符表示如下。
注:markdownpad2中以$$...$$包含纔可正常顯示
14.UML用例圖(markdownpad2不支持)
參看:http://blog.csdn.net/whqet/article/details/44281463
序列圖
示例1:基於js-sequence-diagrams實現了序列圖,使用下列的格式聲明一個序列圖:
網頁顯示:
示例1:
```sequence
title: 序列圖標題
```
網頁顯示:
示例2:
```sequence participant A participant B note left of A: 左側note note right of B: 右側note note over C: 覆蓋note note over A,B: 覆蓋多個actor note over B,C: 測試下\n 換行
```
網頁顯示:
示例3:
```sequence
A->A:自言自語
A->B:實線實箭頭
A-->B:虛線實箭頭
A->>B:實線虛箭頭
A-->>B:虛線虛箭頭
```
網頁顯示:
示例四:
```sequence
title: 作業通知提交序列圖教師-->班長: 通知明天作業
note left of 教師: 通知
班長-->同學們: 明天交作業同學們->>班長: 瞭解同學們-->教師: 交作業
note right of 同學們: 作業
```
網頁顯示:
語法:
注意冒號後有空格
流程圖
CSDN Markdown基於flowchart.js實現流程圖。
示例:
```flow st=>start: start e=>end op=>operation: My Operation cond=>condition: Yes Or No? st->op->cond cond(yes)->e cond(no)->op ``` 顯示:
語法