bookdown - 撰寫和發表自己的網絡書籍/文檔


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進階語法

插入數學公式

插入跳轉鏈接

插入參考文獻

 

參考:

Markdown基本語法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM