Stata連享會:Markdown 筆記

作者:連玉君 (知乎 | 簡書 | github)


? 好腦瓜不如爛筆頭!

? 兒時父母如此教導我們,博士時導師亦是如此要求。

? 手寫時代里,一支好鋼筆+一個好本子,才會寫東西的慾望;

? 鍵盤時代里,一個機械鍵盤+一個好的書寫工具才能真正願意打字;

? 只聽得鍵盤的清脆敲擊,不用去碰那隻老鼠,思緒方才能連貫。

Markdown 就是這個東西——一個好的書寫工具

至於為什麼,可以自行百度或簡書一下。

對於 Stata 用戶而言,我們可以用 markdown, markdoc, markstat 等命令直接寫 dofile,並將文章正文和圖形表格等一併輸出為網頁,Word 或 PDF等格式,即所謂的一種輸入,多種輸出。更為重要的是,可以實現可重複寫作,即論文中的數據、模型發生變化後,只需修改完 Stata 代碼後,使用上述命令更新輸出結果即可。你不用擔心老闆的反反覆復了

目 錄

  • 連玉君 Markdown 筆記
  • 1. Markdown 基礎
  • 1.1 標題
  • 1.2 列表
  • 1.3 文字效果和分隔線
  • 1.4 鏈接、圖片、注釋
  • 1.4.1 文本鏈接
  • 1.4.2 插入圖片
  • 1.4.3 腳註 / 章節附註 / 參考文獻
  • 1.4.5 縮寫名詞/專有名詞/索引條目
  • 1.5 文字高亮和代碼塊
  • 1.6 特殊字元
  • 1.7 表格
  • 1.8 目錄
  • 2. Markdown 進階功能
  • 2.1 數學公式
  • 2.2 流程圖、甘特圖等
  • 2.3 編輯器
  • 2.4 Markdown Here 插件
  • 2.5 HTML 與 Markdown 的相互轉換
  • 2.6 Markdown 與 Word 快捷轉換:Writage
  • 2.7 有道雲筆記 Markdown 編輯器快捷鍵
  • 參考文獻 (相關資料)

1. Markdown 基礎

  • 快速入門資料
    • 為什麼應該用 Markdown
    • 有道 Markdown 指南
    • 極簡 Markdown 指南
    • Markdown 語法
    • 語法-預覽對照範例: 範例1, 範例2

1.1 標題

  • 只要一段文字前加 # 號即可定義標題
  • # 號的個數代表標題的級數,共有六級標題
  • 書寫時,建議在 # 號後加一個空格,這是最標準的 Markdown 語法。

# 一級標題## 二級標題### 三級標題

1.2 列表

Markdown 可以支持有序列表、無序列表、記事列表。

  • 無序列表
    • 無序列表使用星號 (*)、加號(+)或是減號(-) 作為列表標記
    • 三者均可,其後需要加一個空格,如下兩種寫法等價:

- 紅色 - 綠色- 藍色* 紅色 * 綠色* 藍色

Note: 三者可以混用,但會導致行間距不一致。

  • 有序列表 有序列表則使用數字接著一個英文句點:

1. 打開冰箱2. 塞入大象3. 關上冰箱

  • 說明:
    • 其一,將文字前的數字序號從1. 2. 3. 修改為 1. 1. 1. 並不影響最終的顯示效果;
    • 其二,若希望有序列表從8. 開始編號,則第一行改寫為 8. 打開冰箱 即可。
  • 列表的縮進和混排

    若需縮進,只需在 - 前加兩個空格或四個空格 (敲一個 Tab 鍵相當於四個空格)。 例如:

- 一級列表 - 二級列表 - 三級列表 1. 四級列表 1. 三級列表

輸出效果為:

  • 一級列表
    • 二級列表
      • 三級列表
  1. 四級列表
  2. 三級列表
  • 記事列表
    • 用 - [x] 開頭的文本表示已完成的記事
    • 用 - [ ] 開頭的表示待辦記事
    • 上述標記後要加一個空格。如:

    - [x] 已完成記事- [ ] 待辦記事 - [ ] 吃啥? - [ ] 去吃個 subway 吧?

    輸出效果為:

    • 已完成記事
    • 待辦記事
      • 吃啥?
        • 去吃個 subway 吧?
    • 嵌套區塊引用

      區塊引用可以嵌套(例如:引用內的引用),只要根據層次加上不同數量的 >:

    > This is the first level of quoting.>> > This is nested blockquote.sdf>> Back to the first level.

    輸出效果為:

    This is the first level of quoting.

    This is nested blockquote.sdf

    Back to the first level.

    1.3 文字效果和分隔線

    • 文字效果的基本語法

    *斜體***粗體**++下劃線++~~刪除線~~==文本高亮==**** (分隔線1)---- (分隔線2)

    • 分隔線
      • 在一行中用三個以上的星號 (*)、減號 (-) 或是下劃線 (_) 來建立一個分隔線
      • 需要獨佔一行,中間可以有空格,但行內不能包含其他字元
      • 如下三種寫法等價:

    **** * *---

    • 範例---

      我用`Stata`已經有**十五年**了,

      它的++功能++很==龐大==。

      目前還沒有~~發現~~明顯的*缺點*。

      * * *

    輸出效果:

    我用Stata已經有十五年了,它的功能很龐大。目前還沒有發現明顯的缺點


    • 換行:Markdown 中使用兩個空格+回車實現換行。

    1.4 鏈接、圖片、注釋

    1.4.1 文本鏈接

    Markdown 支持兩種形式的文本鏈接語法:行內式和參考式。

    • 行內式: [文本](鏈接地址)

      也可以採用這種格式:[文本](鏈接地址 "可選說明文字")。 好處是當滑鼠停留在文本上時,可以顯示可選文字說明的內容。

    範例:

    學習 [Stata](http:\stata.com) 過程中遇到問題,

    可以查看 [老連](lingnan.sysu.edu.cn/lns

    "連玉君主頁")

    的 [知乎專欄](zhuanlan.zhihu.com/arli "連玉君 Stata 知乎專欄")。

    學習 Stata 過程中遇到問題, 可以查看 老連的 知乎專欄。

    • 參考式:

    [文本][標籤]

    [標籤]: 鏈接地址 "可選文字說明"

      • Npte: 第一行定義與第二行定義之間要有一個空行;
      • 參考式比較適合定義那些將在文中多次出現的文本鏈接;
      • 使用參考式的最大好處是代碼的可讀性比較高。
      • 範例:

    學習 [Stata][1] 時遇到問題,

    可以查看 [老連][2]

    的 [知乎專欄][Lzh]。

    [老連][2] 用 [Stata][1] 很多年了,人很好。

    [1]: http:\stata.com

    [2]: lingnan.sysu.edu.cn/lns "連玉君主頁"

    [Lzh]: zhuanlan.zhihu.com/arli "連玉君 Stata 知乎專欄"

    學習 Stata 時遇到問題, 可以查看 老連 的知乎專欄。 老連 用 Stata 很多年了,人很好。

    1.4.2 插入圖片

    插入圖片的方法與文字鏈接非常相似,也分為行內式和參考式兩種類型。這裡僅介紹行內式。

    • 語法格式: ![image](圖片鏈接地址)

      或 ![image](圖片鏈接地址 "說明文字")

    範例:

    這是老連講課的樣子

    ![](dwz.cn/lianyj45 "連玉君授課中")

    這是老連講課的樣子

    說明:

      • 插入圖片的語法和鏈接的語法很像,只是前面多了一個 !。將滑鼠移動至圖片區域內,游標下方會顯示連玉君授課中字樣。
      • 本地圖片沒有 http:// 開頭的鏈接,可以先通過新浪微博、極簡圖床、七牛圖床(攻略)等生成圖片鏈接網址。
      • 以新浪微博為例:在新浪微博發布一個微博(選擇僅自己可看),然後右擊圖片,選擇複製圖形地址(O)即可。
      • 也可以用極簡圖床在線生成圖片的地址。它可以支持粘貼、本地上傳、拖拽的方式生成圖片的 markdown 鏈接,然後直接拷貝到 markdown 編輯器,就可以生成圖片。
      • 我目前使用的方法是,在 簡書 中新建文章,然後把圖片拖入編輯框,圖片鏈接會自動生成。
      • 目前,Markdown 還無法指定圖片的寬高,如果需要,可以使用普通的 <img> 標籤,亦可參考 Markdown 圖片尺寸設定。
      • 許多 MarkDown 編輯器中直接按原圖大小顯示圖片,造成版面凌亂。如何讓圖片像簡書中那樣大小一致居中顯示呢?使用該命令<img src="圖片地址" width_="圖片顯示寬度" height="顯示高度" alt="圖片名稱"/>設置圖片大小,再用<div align=center></div>命令包裹達到居中效果,如:

    <div align=center><img src="//i1.wp.com/t.cn/R0aNoWh" width_="400" height="200" alt="Stata連享會二維碼"/></div>

      • Note: 經測試,簡書有道雲筆記都不支持上述設定方式,但在網易郵箱和微信公眾平台使用 Markdown here 插件時,都可以湊效。

    1.4.3 腳註 / 章節附註 / 參考文獻

    可以採用 文本[#] 模式添加章節附註。這個章節附註也可以用作學術論文的參考文獻。

    • 定義方法:

    Stata[^1] 可以很方便地估計各類面板數據[^xt]模型,連玉君(2008)[^連2008] 應用了動態面板模型。

    [^1]: 一個很流行的數據處理和統計分析軟體。

    [^xt] 也稱為追蹤數據。

    [^連2008]: 連玉君, 蘇治, 2008, 現金持有動態調整機制研究. 《世界經濟》,第 10 期。

    Stata[1] 可以很方便地估計各類面板數據[2]模型,連玉君(2008)[3] 應用了動態面板模型。

    • 說明:
      • 正文中的添加章節附註標籤:文字內容[^label]。
      • 定義章節附註內容:[^label]: 標籤的具體內容(冒號要採用英文半形錄入)。
      • label 可以是數字、英文字母、漢字,或者三者的組合。
      • [^label]: 標籤的具體內容 可以放在任何位置。

    1.4.5 縮寫名詞/專有名詞/索引條目

    • 定義方式

    *[縮寫名詞]: 名詞解釋文字

      • 範例:

    在 Stata 中,千萬別把 GMM 當成 郭美美。

    *[GMM]: Generalized Mothod of Moment (廣義矩估計方法)

    *[郭美美]: 一個網紅美女

    在 Stata 中,千萬別把 GMM 當成 郭美美。

    • 說明
      • 正文中引用縮寫名詞 (如上例中的 GMM郭美美) 時,前必須有一個空格;
      • 引用縮寫名詞時不能附加其他效果(如斜體、粗體等);
      • 一次定義,全文有效:一旦在文中任何一處定義了縮寫名詞, 則無論在定義之前還是之後出現的縮寫名詞都會顯示其釋義。我通常會把所有縮寫名詞都定義在 [toc] 語句下方,便於查看和修改。

    1.5 文字高亮和代碼塊

    • 文本高亮。需要高亮的文本,用 ` 包圍之。如,輸入 `stata`,顯示為 stata。
    • 引用代碼塊。可以使用兩組 ``` (獨佔一行) 包圍這段代碼,或將代碼縮進四個空格 (直接敲入Tab 鍵即可產生四個空格)。
      • 範例

    ```statasysuse auto, clear regress mpg price wei leng, robust```

    輸出效果:

    sysuse auto, clear regress mpg price wei leng, robust

    Notes:

      • 上述代碼引用效果是通過用 ````markdown(首) 和 ```` (尾) 包圍來實現的。二者都是獨佔一行。
      • ``` 後面的 stata 表示此段代碼為 stata代碼,Markdown 會自動使用 stata 代碼顏色渲染。根據需要,可以替換成 R, python,java 等。平時也可以不寫。
    • 代碼段中的反引號。 如果要在代碼區段內插入反引號 `,可以用多個反引號來開啟和結束代碼區段。
      • 範例:

    你可以在正文中呈現 `` ` ``,`` `stata` ``,

    以及 `` ```stata `` 的原貌。

    你可以在正文中呈現 `,`stata`,以及```stata 的原貌。

    • 列表中包含引用。 如果要在列表中放入引用,那> 就需要縮進 4 個空格或 1 個製表符:

    * A list item with a blockquote:

    > This is a blockquote

    > inside a list item.

      • A list item with a blockquote:This is a blockquote inside a list item.
    • 列表中放入代碼塊。 如果要在列表中放代碼區塊的話,該區塊就需要縮進兩次,也就是 8 個空格或是 2 個製表符:

    - 呈現相關係數矩陣 ``` pwcorr y x1 x2 x3 ```

      • 呈現相關係數矩陣

    pwcorr y x1 x2 x3

    1.6 特殊字元

    Markdown 中可以使用 HTML 標記來呈現一些特殊字元。參見 特殊字元列表,以及上標和下標。

    • 轉義符:在如下字元前加反斜杠 可以呈現其原貌:

    反斜線` 反引號* 星號_ 底線{} 花括弧[] 方括弧() 括弧. 英文句點! 驚嘆號上角文字: 19^th^下角文字: H~2~O

    • 範例:

    #陌上花開#,可緩緩歸`矣` !

    (我+你)-她 = Sad^2^ + H~2~O

    #陌上花開#,可緩緩歸`矣` !(我-你)+她 = Happiness3 + Sad2 + H2O

    • 段首空兩格
      • 在 Markdown 里直接打空格無法實現段首縮進。但由於 Markdown 支持 HTML 語法,可以用 &emsp;,&nbsp; 等 HTML 標記符 產生空格效果。
      • 範例:

    普通空格|&nbsp;| 半形空格|&ensp;|全形空格|&emsp;|&emsp;&emsp;讓我們另起一段吧。(此處:兩個空格+回車) 其實,在網頁中看文字,段首空兩行反而難受。

    輸出效果:

    普通空格||半形空格| |全形空格| | 讓我們另起一段吧。其實,在網頁中看文字,段首空兩行反而難受。

      • 另一種方法:切換到全形模式下(中文輸入法中按 shift + space)輸入兩個空格即可,寬度恰好是兩個漢字。不過,此法在有些編輯器(如,有道雲筆記的 Markdown) 中不適用。

    1.7 表格

    具體使用方式請看示例。

    | Tables | Are | Cool || ------------- |:-------------:| -----:|| col 3 is | right-aligned | $1600 || col 2 is | centered | $12 || zebra stripes | are neat | $1 |

    語法說明:

    • ----: 為右對齊
    • :---- 為左對齊
    • :---: 為居中對齊
    • ----- 為使用默認居中對齊

    Notes:

    • 輸入代碼時,無需對齊,上述呈現方式只是為了美觀;
    • 若想快速生成表格,可以到 TablesGenerator.com在線生成,或者用小軟體 exceltk0.0.4.7z。若是經常有大量表格需要生成,可以用 Typora 編輯器。
    • Markdown 不支持單元格合併,複雜表格只能使用 HTML 語句,參見 Markdown表格之合併單元格效果 。

    1.8 目錄

    自動生成的目錄有兩類:頂端目錄和側邊目錄。 對於有道雲筆記中的 Markdown 文檔而言,可以在需要插入目錄的地方輸入 [toc] 即可自動生成目錄。

    • 目錄的層級與你所定義的標題層級一致。
    • 有些編輯器不支持 [toc] 目錄功能,如【簡書】。

    相關鏈接

    • MarkDown 自動生成目錄

    2. Markdown 進階功能

    2.1 數學公式

    基本語法:

    • 行內公式:$行內公式$
    • 行間公式:$$行間公式$$

    例如:

    $$y_i = eta_0 + x_ieta_1 + epsilon_i$$其中,$epsilon_i$ 表示干擾項,$ i=1, 2, cdots, N $。

    輸出效果為:

    y_i = eta_0 + x_ieta_1 + epsilon_iyi=β0+xiβ1+?i

    其中,epsilon_i?i 表示干擾項,i=1, 2, cdots, Ni=1,2,?,N

    • 特別說明:
      • 上面介紹的是標準的 Markdown 語法中數學公式的寫法。有道雲筆記的語法比較特殊:
        • 行間公式要用 ```math 和 ``` 包圍;
        • 行內公式則用 `$ 和 $` 包圍。
      • 簡書 不支持 Markdown 數學公式,解決方法參見 方法1;方法2
    • 相關鏈接
      • 常用 LaTeX 數學公式寫法
      • Markdown LaTeX 完美教程
      • 如何在 Markdown 中添加數學公式?

    2.2 流程圖、甘特圖等

    StataChina-github 提供非常詳細的語法說明和範例。

    2.3 編輯器

    • 目前我主要用兩個:有道雲筆記簡書?Stata連享會。前者對 Markdown 的支持基本完整,但數學公式的格式略有差異,無法直接插入本地圖片;後者不支持直接錄入數學公式,但可以通過簡單地拖拽來插入本地圖片,本身自帶圖床功能。因此,可以把簡書作為有道的圖床。
    • 此外,在 github 上也可以在線寫 Markdown。
    • 微信公眾平台不支持 Markdown 格式,但可以通過下面將要介紹的 Markdown Here 插件來實現。
    • 7 款優秀 Markdown 編輯工具推薦

    2.4 Markdown Here 插件

    使用 Markdown Here (MDH) 插件,可以大幅提高 Markdown 的輸出效率和效果。除了在微信公眾平台、知乎等網站可以用這個插件快速的做好牛逼閃閃的排版效果以外,在髮網頁郵件的時候,用這個插件也可以讓自己一鍵編輯出高端大氣上檔次的專業風範郵件排版,給自己的職業形象加分。

    例:在知乎使用 Markdown

    思路: Chrome 瀏覽器 + Markdown Here 插件, 用後者將 Markdown 代碼渲染為 html 格式代碼。

    流程:

    • 下載一個叫 Markdown Here 的插件並安裝
    • 在 chrome 上打開知乎編輯器使用
    • Markdown 格式進行寫作
    • 寫作完畢,點擊瀏覽器右上角 Markdown here 插件圖標進行渲染,發布文章

    相關鏈接:

    • 使用 Markdown 寫知乎專欄的終極解決方案
    • 在知乎使用 Markdown
    • 將 Markdown 文章搬運到微信公眾號
    • 簡書+MDH | 微信公眾號+MDH 1 | 微信公眾號+MDH 2

    2.5 HTML 與 Markdown 的相互轉換

    有時看到別人用 Markdown 寫的文章不錯,想要弄到自己的文章中,但又不想重新按照 Markdown 的語法敲一次,可以使用在線工具轉換。

    方法: 選中網頁中的文字或鏈接,右擊,在瀏覽器彈出窗空中選擇查看選中部分的源碼,然後把彈出的源碼粘貼到如下在線工具中,轉換成 Markdown 格式。

    • HTML → Markdown : BeJSON | aTool

    2.6 Markdown 與 Word 快捷轉換:Writage

    Markdown 雖然語法簡潔,適合博客、筆記等非正式文檔的寫作。但對於格式複雜的正式報告、論文等正式文檔則不適合。

    解決這一矛盾的基本思路是: 用 Markdown 寫初稿,用 Word 進行精細化排版。轉換工具為 Writage。詳情參見:簡書-Writage。

    2.7 有道雲筆記 Markdown 編輯器快捷鍵

    • Ctrl+Shift+Y: 激活窗口
    • 選中多行文本後,按下 Tab 鍵,可以整體右移一個 Tab 鍵位;
    • Ctrl+D: 刪除游標所在的段落
    • Ctrl+Shift+D: 複製當前段落內容到下一行;
    • Ctrl+Cmd+K: (選中部分文本時) 按此鍵向下查找並選中相同的文本;
    • Ctrl+Shift+L 選中游標所在的段落,多次按下該組合鍵,可以向下選中多個段落;
    • Ctrl+[:將游標所在行向縮進一個 Tab 鍵位;
    • Ctrl+]:將游標所在行向縮進一個 Tab 鍵位

    參考文獻 (相關資料)

    • 完整版 Markdown 手冊
    • Markdown 編輯器語法指南 寫的非常精鍊,清晰

    aHR0cDovL3dlaXhpbi5xcS5jb20vci83VWptLXRmRUhJcGpyWk9kOXgzLQ== (二維碼自動識別)


    1. 一個很流行的數據處理和統計分析軟體。 ?
    2. 也稱為追蹤數據。 ?
    3. 連玉君, 蘇治, 2008, 現金持有動態調整機制研究. 《世界經濟》,第 10 期。 ?

    推薦閱讀:

    #R語言#Rstudio+Rmarkdown+latex輸出自動化報告

    TAG:stata学习 | Markdown | Markdown语法 |