前言
很快就要步入研二了,在寫完一篇論文以后,即將進(jìn)入第二篇論文寫作時,察覺到之前的一篇論文還有許多可以改進(jìn)的地方,一個方面就是繪圖,一篇論文圖畫的好不好、能否吸引審稿人的眼球并獲得其青睞是一個值得琢磨的問題,而在這種收益和付出正相關(guān)的事情上,就更應(yīng)該投以關(guān)注。接下來不間斷會更新一些科研方面的細(xì)節(jié),比如繪圖、制表諸如此類……(我又在挖新坑了)
一、EPS文件轉(zhuǎn)PDF文件
EPS又名矢量圖文件,是可插入Latex論文寫作模板的一種文件格式。而更常見的是使用PDF格式文件,因?yàn)镻DF一旦生成固定就不易被修改(相較Word、Txt這些文件而言)。
1. 過去的科研繪圖方案
實(shí)際上在此之前的科研繪圖過程中,本人的常規(guī)操作就是用python的matplotlib繪制圖片并保存為PDF或者PNG文件。而保存為PDF后放到Latex論文中會出現(xiàn)一個問題,那就是所需的圖表位于PDF頁面正中央,四周都有白邊,放到論文中就會顯得圖表有點(diǎn)小。因此需要對PDF進(jìn)行剪裁。通過對PDF截圖保存為圖片,再將圖片復(fù)制到一個只有一頁的PPT(Power Point)中,同時設(shè)置好PPT頁面大小和圖片一致,最后另存為PDF文件即可完成裁剪。過程看上去有些繁瑣,且這樣保存的PDF存在另一個問題,PDF中的一些文字并不能再復(fù)制出來,因?yàn)槠湓揪褪且粡垐D片。而正常的PDF中的文字是可以被復(fù)制Copy的。
2. 未來的科研繪圖方案
當(dāng)然,讀者可以使用WPS(需要付費(fèi))和Adobe等工具進(jìn)行可視化裁剪。而手工裁剪的問題就是并不能很好地切除PDF白邊,而且每次手動調(diào)整也是很麻煩的一件事情。因此接下來介紹的方法就是通過免費(fèi)的工具用命令行的形式進(jìn)行自動裁剪。
二、使用步驟
值得一提的是,本文都是這在Ubuntu這類Linux系統(tǒng)上進(jìn)行的,如果是Windows操作系統(tǒng)可能并不適合。順帶一提,科研方面Ubuntu是必不可少的。有一些代碼比如包含分布式的代碼只能在Linux操作系統(tǒng)下進(jìn)行,因?yàn)閃indows沒有Fork操作。
1. 單例操作
首先要在Ubuntu上安裝相應(yīng)工具包:epstool
a. 安裝epstool
sudo apt-get install epstool
b. 切除EPS文件白邊并保存臨時EPS文件
以input_file.eps這個文件為例:
epstool --copy --bbox input_file.eps input_file.temp.eps
將結(jié)果暫時存為input_file.temp.eps
d. 將EPS文件轉(zhuǎn)換為PDF文件
epstopdf --hires --outfile=output_file.pdf input_file.temp.eps
轉(zhuǎn)換后在同目錄下生成output_file.pdf文件即為最終我們要的結(jié)果。
如果這步執(zhí)行出錯就按照提示進(jìn)行安裝對應(yīng)庫,這里我被要求安裝texlive-font-utils
sudo apt install texlive-font-utils
2. 批處理操作
上面是針對一個EPS文件,然而很多時候我們需要對多個文件進(jìn)行批量轉(zhuǎn)換,真正實(shí)現(xiàn)自動化一鍵式操作。這里就要使用到Shell腳本。
直接給出代碼,然后再介紹使用方法。
a. Shell 腳本
使用vi eps2pdf.sh或者vim eps2pdf.sh創(chuàng)建一個新的Shell腳本文件。
源碼已發(fā)布在github: https://github.com/Regan-Zhang/EPS2PDF
#!/bin/sh
for file in ./*;do # 遍歷當(dāng)前目錄所有文件
if [ "${file##*.}"x = "eps"x ];then # 如果文件后綴為eps,即為eps文件則進(jìn)行如下操作
echo "$file is eps file"
filename=${file%.*} # 去除.eps后綴名
echo "$filename"
# 執(zhí)行單例命令
epstool --copy --bbox $file $filename.temp.eps
epstopdf --hires --outfile=$filename.pdf $filename.temp.eps
rm -f $filename.temp.eps # 刪除臨時文件
fi
done
read -p "Press any key to end"
b. 使用說明
將EPS文件全部放到一個文件夾下,然后將eps2pdf.sh腳本也放到這個目錄下。
然后進(jìn)行當(dāng)前目錄的terminal終端窗口,輸入
sh ./eps2pdf.sh
即可運(yùn)行完成。文章來源:http://www.zghlxwxcb.cn/news/detail-486109.html
參考網(wǎng)站
ubuntu, eps轉(zhuǎn)pdf以及切除白邊
Mac黨的福音:兩行命令搞定eps轉(zhuǎn)pdf以及切除白邊
shell 切分文件名提取文件擴(kuò)展名或提取文件名文章來源地址http://www.zghlxwxcb.cn/news/detail-486109.html
到了這里,關(guān)于Latex圖表制作:關(guān)于EPS文件轉(zhuǎn)PDF文件及PDF裁剪自動化的Shell腳本制作的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!