小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Markdown、Pandoc轉(zhuǎn)換tex文件為doc&docx與其它

 新用戶5228KeDY 2021-10-10

早就想把使用Markdown&pandoc的事情歸納、總結(jié)和梳理一下,但一直沒(méi)有時(shí)間。放假一天多,邊做事情邊喘氣兒的空隙,整理了一下。

Markdown是個(gè)好東西,LaTeX也是個(gè)好東西。以下的一些說(shuō)法只是屬于個(gè)人觀點(diǎn),還不一定正確,可視為吐槽,亦可視為一個(gè)人的電腦操作習(xí)慣。

把目錄放前面:

如果熟悉LaTeX,沒(méi)必要入Markdown的坑

Markdown并非一無(wú)是處,pandocMarkdown神通廣大

2.1 關(guān)于mddoc&docx

2.2 關(guān)于mdepub&mobi&azw&6pdf

借助pandoc轉(zhuǎn)化LaTeXdoc&docx

把結(jié)論也放前面:

1 Markdown非常適合隨寫隨用的小文檔,特別是有數(shù)學(xué)、物理背景的小文檔

2 不必?fù)?dān)心用Markdown平日里積累的小素材,日后難于整合,LaTeX+pandoc可以把散碎的Md文件串聯(lián)到一起,并輸出成任何你想要的格式

3 如果內(nèi)心早已有大型規(guī)劃與設(shè)計(jì),建議還是直接上LaTeX,畢竟專業(yè)

4 MarkdownLaTeX借助pandoc的支持力量,使得制作專業(yè)電子書文檔更現(xiàn)實(shí)

關(guān)于Markdown、RMarkdown、pandoc、LaTeX、Typora、ML標(biāo)記語(yǔ)言和epub、mobi等電子書格式,不贅述。

一 如果熟悉LaTeX,沒(méi)必要入Markdown的坑

最近聽(tīng)信了一些介紹,走向了Markdown的坑,使用的是TyporaRMarkdown。Markdown有它的優(yōu)勢(shì),比如憑空起一篇文稿,不用再去記憶一些文檔模板命令了,比如\documentclass和一堆堆的\begin、\end\section、\subsection、\emph{}\textbf{}等等,要么被徹底省略了,要么被###、***所取代。

相對(duì)LaTeX,Markdown簡(jiǎn)化之處甚多。當(dāng)然Markdown的出現(xiàn),絕對(duì)不是為簡(jiǎn)化LaTeX,原來(lái)的時(shí)候它們沒(méi)什么聯(lián)系的,只是因?yàn)槎咛焐际怯脴?biāo)記語(yǔ)言來(lái)排版文檔。

Markdown的好處,便是語(yǔ)法太簡(jiǎn)單,而且部分語(yǔ)法與html語(yǔ)法兼容,比LaTeX的學(xué)習(xí)與熟練的臺(tái)階,不知道要降低了多少。如果恰好在RStudio里面使用R語(yǔ)言,那RMarkdown應(yīng)該是使用者唯一的文檔編輯器的選擇,因?yàn)?/span>R代碼能夠把執(zhí)行結(jié)果放在文檔里,這種功能再?zèng)]有第二個(gè)編輯器能做到了。

Markdown似乎只是適合寫些小文檔的場(chǎng)合,比如讀書筆記,并不太適合寫長(zhǎng)篇。估計(jì)Markdown主打的就是短小精悍。Typorapandoc加在一起才100M多點(diǎn)兒,與動(dòng)耽1GOffice相比,簡(jiǎn)直是瑞士軍刀,相當(dāng)犀利。

但是,Markdown也有諸多不便:

⑴插圖尺寸的調(diào)整。比如我習(xí)慣把圖像分辨率按600dpi來(lái)輸出,這樣一旦打印,會(huì)相當(dāng)清晰。但是如果這樣的圖像直接插入到markdown,圖像就會(huì)非常大,解決的辦法是寫成

<img src="C:\3.jpg"style="zoom:40" div />

或者

<img src="C:\3.jpg"style=“width:200px height:200px” />

要特別注意上面那個(gè)zoom,實(shí)際是縮小60%的意思。下面的寫法里height可以省略。

此外,在RMarkdown里,以![](.\97.png)插入的圖像,默認(rèn)是以Base64序列化字符串內(nèi)嵌入到輸出的html文件里面的,即使未來(lái)原始圖像丟失,我們?nèi)匀豢梢酝ㄟ^(guò)輸出后的html文件還原一個(gè)圖像出來(lái)——這使RMarkdown生成的文檔比較大,這可能是為了保存R語(yǔ)言的執(zhí)行結(jié)果的原因;當(dāng)使用html語(yǔ)法插入圖像時(shí),圖像文件并不總是包含在輸出的html文件里。但無(wú)論以哪種方式插入圖像,Typora總不會(huì)把文件包含在html文件里。這比較怪。

⑵單行公式、圖像等的居中顯示。Markdown里,圖像不設(shè)置位置,是左對(duì)齊,寫成

<divalign="center">![caption](.\97.png)</div>

RMarkdown里輸出后才能居中顯示,在typora直接顯示為居中。

在插入單行公式時(shí),typora使用$$eqn$$并不顯示為居中,在RMarkdown里則顯示為居中;輸出后,二者均顯示居中。

⑶字體大小。通篇設(shè)置字體大小

<fontsize=3><!--設(shè)置字體大小為3,置文檔最前-->

內(nèi)容</font><!—chrunk,置文檔最后-->

一些稍麻煩的設(shè)置,不得不借助html語(yǔ)法和css樣式。若對(duì)文檔細(xì)節(jié)有要求,反倒不如LaTeX方便了,因?yàn)?/span>LaTeX有浩如煙海的極豐富的宏包加持。

二 Markdown并非一無(wú)是處,pandoc讓Markdown神通廣大

安裝了Typora,或者在RStudio里面安裝了RMarkdown之后,md文檔通過(guò)pandoc可以在諸多文檔格式之間轉(zhuǎn)換:Word、pdf、html、rtf、LaTeXepub、OPML以及圖像(png&jpg)及相關(guān)格式。

我們關(guān)心的,是兩件有趣的事:

markdownword格式的轉(zhuǎn)換,即mddoc&docx

pdf、epubmobi、azw3等電子書的制作,即mdepub。

2.1 關(guān)于md→doc&docx

先說(shuō)向Word的格式轉(zhuǎn)換。

因?yàn)樵谥袑W(xué)里使用MarkdownLaTeX的人太少了,基本沒(méi)有可能用mdtex格式與他人文稿溝通,但是你不可能不面對(duì)每天要寫不少文稿,所以,Word(doc&docx)格式是不得不考慮的轉(zhuǎn)換。

事實(shí)上,Worddoc&docx格式是相當(dāng)糟糕的文檔格式,壞文件和不明原因的文件損壞經(jīng)常發(fā)生,然而這種事情在mdtex文檔格式上是絕無(wú)可能發(fā)生的。

無(wú)論是Typora,還是RMarkdown,直接輸出Word格式就可以了。

有兩個(gè)事情值得一提。

一個(gè)是,如果在md文件里以$$$$$$輸入了公式,在導(dǎo)出為docx時(shí),會(huì)被自動(dòng)轉(zhuǎn)化成wordML公式,就是在word 2007以上版本的ALT+=輸入的公式。如果輸出的是doc格式,這些公式根本就不會(huì)被轉(zhuǎn)化,甚至Typora編輯器徹底就不讓你隨便玩doc格式——沒(méi)有這個(gè)選項(xiàng)。

另一個(gè)與doc&docx無(wú)關(guān)的話題,是Typora默認(rèn)就支持輸出pdf,而RMarkdown則需要一通復(fù)雜的設(shè)置,但總還都能實(shí)現(xiàn)我們需要的功能。特別是有人提出在RMarkdown里如何輸出中文Beamer的問(wèn)題,事實(shí)上,借助rticles宏包提供的CTex Documents模板,輸出為Article再簡(jiǎn)單修改一下即可轉(zhuǎn)換為Beamer幻燈片,絕對(duì)比在RMarkdown里靈活得多。Markdown的出現(xiàn),并不能替代LaTeX,Markdown控制功能太弱了。

2.2 關(guān)于md→epub&mobi&azw&6寸pdf

再說(shuō)電子書文檔。

現(xiàn)在全社會(huì)都在搞花式閱讀,手機(jī)以及移動(dòng)的閱讀器、電子書和電紙書等已經(jīng)很普及了。我們用Markdown借助pandoc就可以方便的生成epub格式,再借助Calibre轉(zhuǎn)成mobi&azw&6pdf格式。

為什么不是直接md格式轉(zhuǎn)換到pdf呢?頁(yè)面尺寸和適于手機(jī)閱讀的行距等,Calibre做得比其他工具出色得多。只此一點(diǎn)足夠作為理由。

導(dǎo)出電子文檔在手機(jī)閱讀器里的表現(xiàn):

總之,Markdown讓我們把文檔轉(zhuǎn)換成其它格式提供了太多太多的方便。

三借助pandoc轉(zhuǎn)化LaTeX為doc&docx

之所以要把LaTeX轉(zhuǎn)換成Word格式,就是因?yàn)橹辽僭谥袑W(xué)階段里,使用LaTeX的人太過(guò)稀少。若干年前,LaTeX轉(zhuǎn)Word,一般是使用Tex2Word軟件,但是它收費(fèi);另一個(gè)辦法是使用TTH(http://hutchinson.belmont./tth/),經(jīng)由html轉(zhuǎn)到word,其中的LaTeX公式會(huì)轉(zhuǎn)化成圖片格式而不能被再次編輯。

現(xiàn)在Markdown標(biāo)記語(yǔ)言排版經(jīng)由pandoc的轉(zhuǎn)化,提示我們,可以通過(guò)pandoc轉(zhuǎn)化texWord格式去。嘗試之后,發(fā)現(xiàn)效果可以接受,只需注意到⑴pdf圖像問(wèn)題、⑵beamer\only<presentation>{}和⑶UTF8編碼問(wèn)題。

Pandoc轉(zhuǎn)化word是以cmd命令進(jìn)行的,以下為CTRL+R運(yùn)行在cmd窗口中的情況形,注釋為后期添加,以#領(lǐng)起。

Microsoft Windows [版本 10.0.17134.523]

(c) 2018 MicrosoftCorporation。保留所有權(quán)利。

C:\Users\Administrator>pandocC:\Example\da.tex -o C:\elec.doc

Unknown writer: doc

# pandoc命令只在正常安裝了pandoc才能正常執(zhí)行,否則會(huì)提示錯(cuò)誤命令

# 失敗,不能直接輸出為doc格式

C:\Users\Administrator>cdc:\example

c:\Example>pandocda.tex -o d:\e.docx

pandoc: Cannot decodebyte '\xb1': Data.Text.Internal.Encoding.decodeUtf8: Invalid UTF-8 stream

# 錯(cuò)誤提示的意思是tex文件不是UTF8格式的

# 使用記事本打開(kāi),然后保存成UTF8格式

c:\Example>pandocda.tex -o d:\e.docx

# 正常執(zhí)行,得到e.docx文件

c:\Example>cd c:\22

# 進(jìn)入另一目錄,實(shí)驗(yàn)其他功能

c:\22>pandoc 22.tex-o 22.docx

# 正常執(zhí)行

c:\22>pandoc 22.tex-o 22.doc

Unknown writer: doc

# 不能直接轉(zhuǎn)doc

c:\22>pandoc 22.tex-o 22.rtf

[WARNING] Could notfetch resource '0.pdf': image is not a jpeg or png

[WARNING] Could notfetch resource 'pgf1.pdf': image is not a jpeg or png

[WARNING] Could notfetch resource 'pgf3.pdf': image is not a jpeg or png

[WARNING] Could notfetch resource '1.pdf': image is not a jpeg or png

[WARNING] Could notfetch resource '2.pdf': image is not a jpeg or png

[WARNING] Could notfetch resource '3.pdf': image is not a jpeg or png

[WARNING] Could notfetch resource '6.pdf': image is not a jpeg or png

[WARNING] Could notfetch resource '7.pdf': image is not a jpeg or png

[WARNING] Could notconvert TeX math '\sqrt{\frac{13}{17}}', rendering as TeX

# 轉(zhuǎn)rtf格式時(shí)會(huì)提示pandoc不能轉(zhuǎn)pdf格式圖像,只能轉(zhuǎn)jpgpng

# 轉(zhuǎn)rtf時(shí)不能轉(zhuǎn)LaTeX數(shù)學(xué)公式

# 實(shí)際測(cè)試,對(duì)使用的外來(lái)宏包,都能正常轉(zhuǎn)換

c:\22>pandoc 22.tex-o 22.html

[WARNING] Could notconvert TeX math '\sqrt{\frac{13}{17}}', rendering as TeX

# 轉(zhuǎn)html也不能轉(zhuǎn)換LaTeX公式,但保留的原始標(biāo)記語(yǔ)言信息并不丟失

c:\22>rem “OK!OVER!”

c:\22>

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多