一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Linux - Linux折騰記(十四):優秀的文本化編輯思想大碰撞(Markdown、LaTeX、MathJax)

Linux折騰記(十四):優秀的文本化編輯思想大碰撞(Markdown、LaTeX、MathJax)

2019-10-13 16:14京山游俠 Linux

這篇文章主要介紹了Linux折騰記(十四):優秀的文本化編輯思想大碰撞(Markdown、LaTeX、MathJax),本文講解了Markdown的特點和工具、配置ReText使用比較漂亮的CSS、開啟數學公式支持等內容,需要的朋友可以參考下

這樣一個標題可能不太準確,因為確實無法準確地解釋什么叫“文本化編輯思想”。其實我這篇隨筆主要是想探討Markdown、LaTeX、MathJax,有興趣的朋友可以繼續往下看,同時別忘記了順手點個贊。

引言

  大家寫文章用什么工具?Windows的記事本嗎?肯定不會吧!一般人應該至少會用一個類似Word的“所見即所得”的可視化編輯器。理由:因為文章不僅僅只是文字嘛,它還包含有各種各樣的格式,比如字體、字號、顏色、標題、列表等等。“所見即所得”編輯器提供的編輯方法確實是最樸素的編輯思想:當你想要改變某些文字的樣式時,你只需要選中它,然后在各種菜單、對話框里設置它的格式即可。這種排版很美觀、樣式很豐富的文章,可以稱之為“富文本”。

  如果進行更深層次的思考,就會發現“富文本”存在很多缺點,特別是對于我們這些程序員、理工男來說更是這樣。下面略舉幾例:

1.“富文本”編輯起來太慢了,寫文章時,即要考慮文章內容,又要考慮文章格式,寫幾段字就要點半天鼠標;
2.“富文本”需要專業的編輯器來編輯和閱讀,如果沒有編輯器,或者編輯器不兼容,那只有欲哭無淚了;
3.“富文本”往往讓形式取代邏輯,文章可能從外觀上看各級標題的文字大小、縮進都很正確,但是邏輯上無法指定層級關系;
4.“富文本”中的格式信息太冗余了,淹沒了文章的內容;
5.“富文本”對計算機不友好,存儲格式不透明不說,也讓基于文本行比較的工具(如diff之類)無用武之地。

  所以,優秀的思想應該是這樣的:

1.文章就應該存儲為純文本的格式,用任何工具都可以閱讀和編輯;
2.該純文本的內容即要適合人類閱讀,也要計算機容易理解;
3.能正確指定文章各部分的邏輯結構;
4.內容和顯示分離,作者只用考慮文章的內容和邏輯結構,而文章怎么顯示得好看是專業的人和工具的事。

  這就是我標題中說的“文本化編輯思想”。這種思想在計算機領域由來已久,并逐漸形成一種哲學。比如互聯網上廣泛使用的HTML、XML等,就是把信息儲存為純文本,用任何工具都可以閱讀和編輯,并且能正確地指定內容的邏輯結構,而瀏覽器和CSS則控制文章如何顯示。但是,HTML標簽還是太多了,如果沒有瀏覽器,完全靠人工腦補閱讀起來還是太困難了。于是,就誕生了Markdown。

  在文本編輯領域還有另外一個難題,那就是數學公式(或者其它類似數學公式的東西,比如樂譜),它們顯示起來是二維的,而且其中使用的很多符號標準鍵盤根本無法輸入,使用的字體和正文也不一樣。好在Unix/Linux世界中,它們有一個比較好的解決方法,那就是LaTeX。當然,也有很多可視化的編輯器提供數學公式編輯的功能,比如Word的公式編輯器,比如TexMacs。但是正如前文所述,從優秀的“文本化編輯思想”來思考,最好的依然是LaTeX,因為使用LaTeX就是使用純文本的方式輸入數學公式,輸入速度快,人和計算機都容易理解。LaTeX的思想影響廣泛,很多編輯器都支持以LaTeX語法輸入數學公式。要在網頁上顯示數學公式,則非MathJax莫屬了,它是一個JavaScript庫,可以識別網頁中的LaTeX格式的數學公式并將其完美顯示出來。博客園的數學公式支持用的就是這個。

Markdown的特點和工具

  Markdown的宗旨就是“易讀易寫”,所以用Markdown語法寫的文檔,以純文本的格式直接閱讀也是非常方便的。如果對外觀的要求非常高,就可以通過相應的工具將Markdown文檔轉化成HTML或者PDF。Markdown的語法非常簡單,一般情況下一個多小時就學會了。參考地址在這里:Markdown語法說明(簡體中文)。

  目前,我在博客園中發博客基本上就是使用博客園的Markdown編輯器了。博客園的Markdown實現目前尚不完善,比如說沒有即時預覽功能、沒有續行為段功能、對 `\`$\` `的解釋不正確等等,但是用起來已經很舒服了,除了上傳圖片,基本上不用動鼠標。

為什么續行為段功能很重要?

續行為段,換一種說法就是忽略非空白行后面的換行符。這個功能很重要。如果沒有這個功能,則一段文字就是一個很長很長很長的行,這對基于文本行比較的自動化工具(比如diff)來說,無疑是一個致命的打擊。對于可以顯示行號的編輯器來講,行號也會很跳躍,讓人看著不舒服。不過最重要的,就是用戶永遠也不知道那個換行究竟是它自己加上去的,還是因為電腦屏幕不夠寬而自動換的行。

所以無論是Markdown還是LaTeX,都允許作者在源代碼中任意換行,只要多行文字中沒有空白行分割,就會把這些行合并成一個段落。在Markdown中如果要換行,則需在上一個行的末尾增加至少兩個空格,而LaTeX也允許用戶使用\\手動換行。那么問題來了,博客園為什么要去掉這么一個重要的功能呢?

  在Linux桌面系統中,我使用ReText編輯Markdown文檔。在Ubuntu中只需要sudo apt-get install retext即可以安裝該軟件,其效果如下:

Linux折騰記(十四):優秀的文本化編輯思想大碰撞(Markdown、LaTeX、MathJax)


 

配置ReText使用比較漂亮的CSS

  剛安裝的ReText對于文檔的預覽效果可能沒有我上圖中的那么好,應該是這樣的:

Linux折騰記(十四):優秀的文本化編輯思想大碰撞(Markdown、LaTeX、MathJax)

  上圖中的引用和代碼和正文的區分并不明顯,而且整個文檔的字體顯示也不好看。之所以會出現這種情況,是因為沒有給ReText指定相應的CSS文件。唯一的遺憾是ReText的某些配置無法通過菜單來完成,必須手動修改配置文件~/.config/ReText project/ReText.conf,我的配置文件如下圖:

Linux折騰記(十四):優秀的文本化編輯思想大碰撞(Markdown、LaTeX、MathJax)

  至于到哪里去找一個漂亮的CSS,那就仁者見仁、智者見智了。博客園中就有許多不錯的可以借鑒。

開啟數學公式支持

  在網頁中顯示數學公式全靠MathJax。博客園開啟數學公式支持非常簡單,在后臺管理頁面中打個勾就行了。由于MathJax使用$來界定數學公式,所以文章或評論中有很多$符號的同學們就要注意了。想想看,我的文章中用$多嗎?還真不少,介紹AT&T匯編語法時用過,探討Bash腳本編程的時候也用過,所以那兩篇文章的排版還真費了我不少勁。除了$,MathJax還使用\(\)$$$$、\[\]來界定數學公式。

  由于MathJax是如此的出名和優秀,所以ReText也有相應的MathJax擴展,不過這次修改的配置文件是~/.config/markdown-extensions.txt。我的配置文件如下圖:

Linux折騰記(十四):優秀的文本化編輯思想大碰撞(Markdown、LaTeX、MathJax)

  從圖中可以看出,配置文件的第1行就是開啟mathjax擴展。至于其它的擴展和功能,大家可以閱讀ReText的幫助文檔。

  看看博客園中數學公式的效果:$$\int_0^{+\infty} x^n e^{-x} \,dx = n!$$

  下圖是ReText中使用數學公式的效果:

Linux折騰記(十四):優秀的文本化編輯思想大碰撞(Markdown、LaTeX、MathJax)

  效果和效率都是不錯的哦!至此,我的文字工作正式被Markdown和MathJax全面接管。媽媽再也不用擔心我的語文作業和數學作業了。至于LaTeX編輯數學公式的語法,我這里再為大家送上一份資料:一份不太短的LaTeX 2e介紹

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品国产人成亚洲区 | 亚洲视频国产精品 | 国产色在线观看 | 亚洲图片综合区 | 国产在线伊人 | 久久亚洲精选 | 美女被免费视频 | 国产情侣偷国语对白 | 好姑娘在线观看完整版免费 | 国产99精品免费视频看6 | 亚洲精彩视频在线观看 | 男同激情视频 | 日本精品一区二区三区 | 国产精品女同久久免费观看 | 性伴交换多p | 久久99re2在线视频精品 | 国产日韩欧美综合在线 | 国产一区二区不卡视频 | 国产永久一区二区三区 | 亚洲日本视频在线观看 | 日韩成人在线免费视频 | 国产不卡视频 | 亚洲国产综合另类视频 | 好紧好爽范冰冰系列 | 毛片区| 香蕉免费一区二区三区在线观看 | 日韩网新片免费 | 男人日女人p| 国产伦码精品一区二区三区 | 国产精品自在线 | 黑人粗长巨茎小说 | 成年人视频在线 | 免费观看视频高清在线 | 40分钟在线观看免费 | 高清不卡一区二区 | 精品亚洲欧美中文字幕在线看 | 亚洲人成综合在线播放 | 桃色视频软件 | 韩剧在线免费观看 | 四虎1515h永久 | 精品久久成人 |