BOOKDOWN官網 - bookdown上有不少人發布了自己的電子書
bookdown-demo (一個demo,github源碼)- Rstudio出品,Yihui Xie開發,著名單細胞課程在用,y叔也在用 【強力推薦】
bookdown的優勢
- 完全開源,向收費說不
- 完全自定義,想干啥就干啥
- 有Rstudio背書,可以大膽的長期使用
- 靜態網站,很容易部署到Internet
- 支持LaTeX,可以直接導出tex文檔
- 導出排版好的PDF文檔和kindle文檔
- 使用十分方便,安裝后可以專心使用RMarkdown寫作
- 寫完后直接排序組合,一鍵build成書
R Markdown的優勢(值得系統學習)
- 代碼與文本共存,程序員的最愛
- 輕量級,再大的文件也有着極快的讀取速度
- 文末可以列出參考文獻,科研狗的最愛
目前生信領域有兩個用bookdown寫得比較好的文檔:
Analysis of single cell RNA-seq data - Hemberg / github
Data Integration, Manipulation and Visualization of Phylogenetic Trees - ggtree
快速開始(里面有詳細教程)
- 完全開源,直接fork到自己的github(參考),然后git pull,寫完直接push。
- 不想開源,那就下載bookdown-demo,可以用Dropbox來進行跨平台的編輯。
安裝bookdown的R包
install.packages("bookdown")
用RStudio打開bookdown-demo.Rproj
打開R Markdown文件:index.Rmd,點擊右側的Build,生成初始的網頁html文件,以及其他文件(PDF、epub,tex等)
撰寫文檔的基本邏輯
編寫一個一個的Rmd文檔,注意里面的標題要規范,最終書的標題就是從每一個Rmd文檔中提取出來的。
修改 _bookdown.yml 文件,里面的 rmd_files: ["index.Rmd", "intro.Rmd"] 就是書籍的章節順序,它會完全按順序組合,一級標題就是一個章,二級標題就是章下面的一個小結,如此展開,Rmd的文件數量不限,最終只歸總標題。
_bookdown.yml 文件里的 book_filename 是 PDF 文件的名字,index.Rmd 文件里的title才是真正的書名。
掌握了這些基本就可以開始寫書了。
內容與形式徹底分離了,內容在Rmd里,以后不管bookdown這個包如何更新,都可以迅速完成網站的遷移。
使用細節
使用以下功能能讓你的book更加專業,甚至能讓你直接使用本工具來寫畢業論文。
去掉一些不必要的花哨功能
去掉右側的Facebook等鏈接,得改包。
優化搜索功能,搜索是確實爛,得改進包。
插入數學公式
插入代碼
文內跳轉
隨時跳轉到文檔的任意一處,在標題后面添加 {#label} 來標記一個地方,然后用 \@ref(intro) 來構建跳轉鏈接。
圖像和表格也可以跳轉,只不過在其表頭要添加標記,跳轉格式一樣。
參考文獻
參考文獻稍微復雜些,需要在 book.bib 文件里手動輸入參考文獻。
我看有人用 betterbib,可以生成更為標准的參考文獻。
注意:就算把文獻添加到bib文件了,如果文中沒有引用,那也還是不會出現在文中的。
建議使用 zotero-better-bibtex 插件,瀏覽文獻官網,用插件導入文獻zotero,然后到處LaTeX的參考格式,加到bib文件里即可。
可以接着謝益輝做的事:
搭建一個平台,構建合適的接口,讓每個人都能開發自己的book;
主題,主題要能滿足每個人的需求;
封面,自定義封面;
自定義功能;
優化搜索;
創建一個網站,能夠自動讀取github的Rmd文件,來生成一個html和pdf的書籍。
RMarkdown的基本語法
基本的markdown語法
標題,一級二級三級等
有序無序列表
粗體斜體
專有引用
段落引用
分割線
插入鏈接
插入圖片
插入表格
插入視頻
插入代碼
RMarkdown進階語法
插入數學公式
插入跳轉鏈接
插入參考文獻
參考: