<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          R溝通|Bookdown中文書(shū)稿寫(xiě)作手冊(cè)(上)

          共 4591字,需瀏覽 10分鐘

           ·

          2021-09-07 07:42



          教程來(lái)自華東師范大學(xué)湯銀才教授,已受本人授權(quán)

          前言

          今年接了 5 本與貝葉斯近似計(jì)算包INLA相關(guān)的翻譯書(shū),將由高等教育出版社出版。在準(zhǔn)備翻譯的時(shí)候,我靜下來(lái)思考了一下二個(gè)問(wèn)題。一是互聯(lián)網(wǎng)時(shí)代在兼顧圖書(shū)質(zhì)量的同時(shí)怎么充分考慮讀者閱讀體驗(yàn)?二是什么是當(dāng)下最為成熟的圖書(shū)寫(xiě)作工具?特別是與數(shù)據(jù)科學(xué)密切相關(guān)的統(tǒng)計(jì)類(lèi)圖書(shū)的寫(xiě)作與出版。書(shū)稿模板的選擇成為首先要考慮的事。

          在書(shū)稿模板的選擇與測(cè)試過(guò)程中遇到了很多的坑,幸運(yùn)的是逐個(gè)踩過(guò)來(lái)了,但從 TEXTEX 到Rnw(Sweave+R), 再到Rmd (Knitr + R), 最后到Bookdown, 共經(jīng)歷了 4 個(gè)模板??焖?、高效、高質(zhì)量是寫(xiě)書(shū)人追求的目標(biāo)。目前來(lái)看Bookdown是最好的選擇,因?yàn)樗鼭M足我模板選擇的快速編輯、高效生成、高質(zhì)量輸出的要求。

          這本小冊(cè)子可視為一個(gè)寫(xiě)中文書(shū)稿的Bokdown模板,也是中文Bookdown寫(xiě)作的一本說(shuō)明書(shū),其中匯總了書(shū)稿中幾大核心要素的寫(xiě)作技巧。我主要參考了三個(gè)模板Bookdown模板和三本電子書(shū),羅列如下,在此一并對(duì)謝益輝、李東風(fēng)等表示感謝。

          1. 謝益輝, bookdown 中文范例[1]
          2. 謝益輝, A bookdown example for Chapman & Hall books[2]
          3. bookdown-chapterbib[3]
          4. 謝益輝, bookdown: Authoring Books and Technical Documents with R Markdown[4], 2021-03-15.
          5. 李東風(fēng),R 語(yǔ)言教程,第 23 章:用 bookdown 制作圖書(shū)[5], 2020-12-28.
          6. Yihui Xie, J. J. Allaire, Garrett Grolemund, R Markdown: The Definitive Guide[6], 2020-12-14.

          本文框架

          由于內(nèi)容較多,我們將通過(guò)三次推文進(jìn)行發(fā)布,盡情期待。當(dāng)然文末給出了原文鏈接,你可以直接學(xué)習(xí)。

          本文框架

          第 1 章 引言

          這是第1[7]章的內(nèi)容,回顧中國(guó)圖書(shū)發(fā)展的歷史及最新趨勢(shì). (R Core Team, 2020[8]Xie, 2015a[9]),

          1.1 中國(guó)圖書(shū)出版的變化

          中國(guó)的圖書(shū)出版經(jīng)歷一些折騰,方正系統(tǒng)一度非常流行,但現(xiàn)在看來(lái)是非常失敗的,主要是它在解決公式排版的同時(shí)沒(méi)有解決便利性,其本質(zhì)上想實(shí)現(xiàn)在其自創(chuàng)的中文系統(tǒng)中將 TEXTEX 命令做一個(gè)映射以實(shí)現(xiàn)數(shù)學(xué)公式排版,同時(shí)完成格式的定制。

          中國(guó)學(xué)術(shù)界也經(jīng)歷了一些折騰,如中科院張林波研究員等開(kāi)發(fā)的CCT系統(tǒng)和華東師范大學(xué)肖剛與陳志杰等老師開(kāi)發(fā)的天元系統(tǒng),它們是 TEXTEX 系統(tǒng)漢化版,較好地解決了漢字生成與調(diào)用,但因沒(méi)有考慮普適性或可拓展性而像方正系統(tǒng)一樣隨著CJK的逐漸成熟而逐漸被拋棄,均退出了歷史舞臺(tái)。而同期中科院吳凌云博士等在普及 TEXTEX 的同時(shí)開(kāi)發(fā)的 TEXTEX 中文套餐 CTEX 相當(dāng)成功,主要是針對(duì)漢字排版的ctex宏包,并對(duì)三個(gè)主流的文檔類(lèi)bookarticlereport進(jìn)行了定制,推出了相應(yīng)的中文文檔類(lèi)ctexbookctexartctexrep, 由此避免了傳統(tǒng)的基于CJK宏包需要的大幅定制,同時(shí)保證了與原有 TEX 系統(tǒng)的兼容性。這樣我們始終可以使用跨平臺(tái)的TeXLiVe進(jìn)行排版或各類(lèi)模板的開(kāi)發(fā),例如各個(gè)出版社的圖書(shū)模板、各個(gè)期刊的模板、各高校的碩士和博士畢業(yè)論文模板等。

          TEX 的出現(xiàn)1[10],而且始終屹立不倒的原因是什么?第一個(gè)原因是它解決了一個(gè)Word之類(lèi)文字編輯系統(tǒng)的痛點(diǎn),即從所見(jiàn)所得(WYSIWYG, What you see is what you get)到所想所得(WYTIWYG), 即通過(guò)一些 TEX 命令集構(gòu)成一個(gè)完整的編程語(yǔ)言,由它完成一個(gè)封閉的體系,具有類(lèi)似C語(yǔ)言一樣非常強(qiáng)大的開(kāi)發(fā)功能,由此形成了后來(lái)的latexmiktexlatex2.09luatexxetex等 TEXTEX 編譯引擎,它們?cè)诔浞掷秒娔X系統(tǒng)資源的同時(shí)實(shí)現(xiàn)高質(zhì)量輸出需要的精度。

          TEXTEX 屹立不倒的另一個(gè)原因是浮動(dòng)對(duì)象的處理,即包括公式,表格、圖形、頁(yè)碼、章節(jié)、文獻(xiàn)、定理等的標(biāo)簽化與引用,實(shí)現(xiàn)文檔內(nèi)部的自由跳轉(zhuǎn),結(jié)合Acrobat Reader這樣強(qiáng)大的pdf閱讀器的支持,使得讀者的閱讀體驗(yàn)得到大幅改善,并為圖書(shū)的電子化奠定了基礎(chǔ)。

          隨著數(shù)據(jù)科學(xué)這一新興學(xué)科的出現(xiàn),開(kāi)源的RPython (還有正在逐步流行的Julia)編程語(yǔ)言越來(lái)越強(qiáng)大。為了增加這類(lèi)圖書(shū)的可讀性,需要將代碼較完整地呈現(xiàn)在讀者面前,并且要求代碼的即時(shí)可復(fù)現(xiàn)能力,即數(shù)據(jù)的變化,其分析的結(jié)果(包括圖形和表格)也隨之發(fā)生變化。這就是現(xiàn)在逐步流行的文學(xué)化編程(literate programming), 它實(shí)現(xiàn)上最早也是 TEXTEX 的鼻祖 Knuth 提出的, 后來(lái)被謝益輝得到重視并廣泛推廣,并通過(guò)Rstudio傳遞給R的用戶。我們姑且把這種將寫(xiě)作與數(shù)據(jù)分析相結(jié)合的統(tǒng)計(jì)分析稱(chēng)為文學(xué)化統(tǒng)計(jì)編程(literate statistical programming), 在為數(shù)據(jù)科學(xué)愛(ài)好者帶來(lái)便利的同時(shí)也通過(guò)Bookdown為圖書(shū)的寫(xiě)作和電子化帶來(lái)了極大的好處,越來(lái)越多的網(wǎng)頁(yè)版電子書(shū)出現(xiàn)在(https://bookdown.org/)和(https://github.com/)等網(wǎng)站上。

          現(xiàn)在寫(xiě)書(shū)選擇什么類(lèi)型的模板,下面我們來(lái)作進(jìn)一步的探索與比較。

          1.2 統(tǒng)計(jì)類(lèi)圖書(shū)的核心要素

          統(tǒng)計(jì)類(lèi)圖書(shū)的排版除普通圖書(shū)的頁(yè)面及文字風(fēng)格等靜態(tài)元素外,核心要素體現(xiàn)在浮動(dòng)的對(duì)象上,使得圖書(shū)的閱讀體驗(yàn)更好地發(fā)揮出來(lái),即在不同頁(yè)面之間快速切換、跟蹤、搜索,必要的RPython代碼以語(yǔ)法高亮方式顯示。

          1. 章節(jié)標(biāo)題是浮動(dòng)的,最主要用于書(shū)簽的生成;
          2. 公式是浮動(dòng)的,這是數(shù)學(xué)、統(tǒng)計(jì)等理科書(shū)的特點(diǎn),公式引用必不可少;
          3. 圖形是浮動(dòng)的,統(tǒng)計(jì)圖形作為可視工具,在說(shuō)明數(shù)據(jù)或展示分析結(jié)果時(shí)經(jīng)常會(huì)引用相應(yīng)的圖形;
          4. 表格是浮動(dòng)的,通常是原始數(shù)據(jù)或統(tǒng)計(jì)分析的結(jié)果以表格形式展示出來(lái),它們可能被多次在不同的章節(jié)中引用;
          5. 定理是浮動(dòng)的, 這里定理是指與之相關(guān)的一大類(lèi),包括常用的定理、引理、推論、命題、例子等,它們?cè)谖闹幸矔?huì)被反復(fù)引用;
          6. 文本可以設(shè)置浮動(dòng)標(biāo)簽后被引用,最為常見(jiàn)的是圖形與表格的題圖(caption)通過(guò)文本方式來(lái)引用;
          7. 文獻(xiàn)是浮動(dòng)的,這在是談及前人的已有工作、成果比較或進(jìn)行綜述時(shí)經(jīng)常要引用大量已經(jīng)發(fā)表的論文、圖書(shū)、會(huì)議報(bào)告等.

          TEXTEX 有一套成熟的浮動(dòng)對(duì)象的排版方式,通過(guò)給浮動(dòng)對(duì)象打標(biāo)簽(label),然后引用(ref), Bookdown思路一樣,但比 TEXTEX 的處理稍復(fù)雜些(可能因不習(xí)慣引起)。我們?cè)诤竺嬲鹿?jié)中分別舉例說(shuō)明。

          1.3 統(tǒng)計(jì)數(shù)據(jù)分析類(lèi)圖書(shū)模板的選擇

          統(tǒng)計(jì)數(shù)據(jù)分析類(lèi)圖書(shū)既有理論或原理的講解,又會(huì)有一些案例分析,包括這些案例分析實(shí)現(xiàn)的代碼。我們可以考慮的模板主要有三種類(lèi)型。

          1.3.1 基于純 TEXTEX 模板

          全世界 90%的書(shū)是由 TEX 排版的,包括碩士和博士畢業(yè)論文模板,這要感謝鼻祖 Knuth!開(kāi)源成就了 TEX!

          如果僅僅是統(tǒng)計(jì)理論方面的書(shū)集,這顯然是最好的選擇,因?yàn)楦哔|(zhì)量公式的排版離不開(kāi) TEXTEX. 基于 TEXTEX 的排版存在三個(gè)明顯的缺陷或不足:

          1. 大量的 TEXTEX 命令需要記憶;
          2. 對(duì)于代碼的排版非常不便,特別是RPython代碼執(zhí)行后的輸出,尤其是圖形與表格;
          3. 代碼以listing等包來(lái)呈現(xiàn), 無(wú)法實(shí)時(shí)呈現(xiàn)代碼運(yùn)行的結(jié)果,不符合文學(xué)化編程的要求.

          1.3.2 Rmarkdown 與 TEXTEX 的結(jié)合

          數(shù)據(jù)科學(xué)時(shí)代更注重文學(xué)化統(tǒng)計(jì)編程,代碼伴隨是這類(lèi)圖書(shū)的特點(diǎn),自 Springer 出版R系列統(tǒng)計(jì)圖書(shū)后,這種風(fēng)格成為新趨勢(shì),大大方便了數(shù)據(jù)科學(xué)愛(ài)好者“便學(xué)習(xí)便練習(xí)”的學(xué)習(xí)方式。

          針對(duì)代碼伴隨,早期對(duì)這類(lèi)圖書(shū)有二個(gè)解決方案:

          1. Sweave/knitr + R

          本質(zhì)上它是在 TEXTEX 嵌入R代碼塊,并由R在后臺(tái)運(yùn)行后將結(jié)果也嵌入到 TEXTEX 中,再由 TEXTEX 的編譯引擎生成pdf。這個(gè)方案的基本沿用 TEXTEX 的方式,它僅解決了上面提到的第二個(gè)問(wèn)題。在數(shù)據(jù)科學(xué)時(shí)代,報(bào)告的快速生成成為新的要求,效率優(yōu)先!隨著knitr的出現(xiàn)Sweave退出舞臺(tái).

          1. Rmarkdown + Mathjax/TEXTEX

          Markdown作為一種輕量級(jí)的標(biāo)記語(yǔ)言成為網(wǎng)頁(yè)作為文字主要載體的互聯(lián)網(wǎng)時(shí)代首先的寫(xiě)作工作,但它顯然不適合數(shù)學(xué)與統(tǒng)計(jì)類(lèi)論文或圖書(shū)的撰寫(xiě),但knitrpandoc的出現(xiàn)使不同風(fēng)格的內(nèi)容整合與轉(zhuǎn)換成為可能,而不同風(fēng)格的內(nèi)容各有善長(zhǎng)的工具實(shí)現(xiàn),作為統(tǒng)計(jì)類(lèi)專(zhuān)業(yè)論文或圖書(shū)類(lèi)文檔主要的內(nèi)容有:

          1. 文字, 由 markdown 完成
          2. 公式,由 TEXTEX 完成
          3. 代碼,由R (或 Python) 完成

          要說(shuō)明的是,在網(wǎng)頁(yè)端,TEXTEX 的實(shí)現(xiàn)可由Mathjax來(lái)完或渲染(轉(zhuǎn)化或生成標(biāo)準(zhǔn)的公式),見(jiàn)第4[11]章說(shuō)明。

          隨著Rstudio的越來(lái)越成熟與強(qiáng)大(得益于許多優(yōu)秀包的出現(xiàn),如knitrkableExtra), Rstudio不僅是一個(gè)很好的代碼編輯器(Eidtor), 也是一個(gè)非常好的集成開(kāi)發(fā)環(huán)境(IDE),同時(shí)正在成為一個(gè)非常優(yōu)秀的論文、幻燈片及圖書(shū)等撰寫(xiě)與出版系統(tǒng)(PUB)。后者的基本流程是

          1. rmd文件通過(guò)knitr完成初步集成
          2. pandoc完成由rmdmd的轉(zhuǎn)化與融合
          3. pandoc完成由md轉(zhuǎn)化為 TEXTEX, 并由laTeX編譯生成pdf (形式多樣!)
          4. 或由pandocmd轉(zhuǎn)化為html, 其中的數(shù)學(xué)公式由Mathjax完成渲染.

          1.3.3 RmarkdownBookdown過(guò)渡

          在科技高度發(fā)達(dá)的互聯(lián)系時(shí)代,讀者使用的媒介基本有三類(lèi):較為專(zhuān)業(yè)的電腦,較為輕便的平板(電腦)和全功能的智能手機(jī)。前者以pdf類(lèi)圖書(shū)為主呈現(xiàn)給讀者,同時(shí)可以完成標(biāo)注等工作;后者以文字型的電子圖書(shū)為主,消磨時(shí)間為主;而平板的使用者逐漸成為電子類(lèi)圖書(shū)的新勢(shì)力,包括pdfepub之類(lèi)的電子書(shū)。 Bookdown注重不同類(lèi)型讀者的媒體使用的差異,并很好地實(shí)現(xiàn)統(tǒng)一編寫(xiě)與差異化輸出。目前Bookdown可以生成三類(lèi)圖書(shū):

          1. gitbook,可自由出版在git pages
          2. epub, 發(fā)表到大量的電子圖書(shū)平臺(tái)上
          3. pdf, 正規(guī)的圖書(shū)出版公司以電子或紙質(zhì)形式出版

          往期精品(點(diǎn)擊圖片直達(dá)文字對(duì)應(yīng)教程)

          機(jī)器學(xué)習(xí)

          后臺(tái)回復(fù)“生信寶典福利第一波”或點(diǎn)擊閱讀原文獲取教程合集




          瀏覽 43
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲.无码.变态.欧美.中文 | 精品少妇人妻AV无码专区在线 | 久草视频观看 | 韩国高清九久 | 三级视频网站 |