用 Pandoc
撰寫學術文章

COSCUP-2019, Taipei, 17-18 Aug 2019

Andre Goderich 郭育賢
National Tsinghua University
yuhsien77@gmail.com
goderich.github.io/coscup2019

簡介

大綱

  • 學術論文撰寫工具
  • Pandoc
    • Pandoc 使用方式
    • Pandoc 與語言學
    • Pandoc 的工具
  • Pandoc 的優缺點

關於我

  • 清大語言所博士候選人
  • 用 Linux 已有十幾年
  • 學過 Python 和 Haskell

學術論文撰寫工具

文書處理器 vs LaTeX

文書處理器 LaTeX
較好上手 較難上手
排版容易跑掉 為排版而生
適合較短篇的文件
(幾頁)
適合較長篇的文章
(十幾頁UP)
邊寫邊排版 撰寫與排版分工

語言學文章的需求

  • 嵌入參考文獻
  • Syntax trees / Optimality Theory tableaux
  • Interlinear glossing
  • Cross-referencing
  • Unicode (中文、國際音標)

科學家為何要用自由軟體?

  • 資料以開放的格式儲存
    • 易匯出、分享
  • 價錢
  • 個人化

文科:
只有肥宅才會用LaTeX吧!

  • 以 Markdown 代 LaTeX!

什麼是 Markdown?

  • Markdown 不是程式,
    是文字格式化的方式
  • 需要編譯
  • 原始檔可以直接看

Markdown 語法

*italic*

**bold**

| foo | bar  |
|-----|------|
| baz | quux |

italic

bold

foo bar
baz quux

Markdown 不只一種!

  • Pandoc Markdown
  • Commonmark
  • Github-flavoured Markdown

Pandoc

什麼是 Pandoc?

  • 格式轉換神器
  • 柏克萊大學教授 John MacFarlane 所創
  • 支援 LaTeX 與 Markdown
  • 可輸出 PDF、docx、HTML 等等
  • 這份簡報:Markdown 轉 reveal.js

Pandoc Markdown 的特色

  • YAML metadata blocks
  • 參考文獻:透過Bib(La)TeX
  • Cross-referencing
  • Inline LaTeX: 需要時,可用LaTeX的力量

YAML metadata block

Bibliography with Pandoc

(需要用 pandoc-citeproc 過濾器)

Cross-referencing

(需要用 pandoc-crossref 過濾器)

Inline LaTeX for linguists

Syntax trees

Glossing

工具

工具一覽

  • 文字編輯器
  • PDF 輸出:LaTeX + Pandoc

文字編輯器

  • Emacs
  • Vim
  • Notepad++
  • Atom
  • VS Code

Pandoc

  • 命令列介面 (CLI)
  • 可另外裝圖形介面

總結

優缺點

優點:

  • 自由軟體!
  • 原始檔是純文字
  • 適合用 Git
    • 版本控制
    • 輕易合作
  • 較少 bug

缺點:

  • 需要花時間學習
  • 偶爾需用到 LaTeX
  • 命令列介面

如何開始用 Pandoc?

前往 https://pandoc.org/getting-started.html

閱讀說明書 https://pandoc.org/MANUAL.html

謝謝!