Latex图表制作:关于EPS文件转PDF文件及PDF裁剪自动化的Shell脚本制作

news/2024/11/25 14:00:02/

关于EPS文件转PDF文件及PDF裁剪自动化的Shell脚本制作

  • 前言
  • 一、EPS文件转PDF文件
    • 1. 过去的科研绘图方案
    • 2. 未来的科研绘图方案
  • 二、使用步骤
    • 1. 单例操作
      • a. 安装epstool
      • b. 切除EPS文件白边并保存临时EPS文件
      • d. 将EPS文件转换为PDF文件
    • 2. 批处理操作
      • a. Shell 脚本
      • b. 使用说明
  • 参考网站


在这里插入图片描述

前言

很快就要步入研二了,在写完一篇论文以后,即将进入第二篇论文写作时,察觉到之前的一篇论文还有许多可以改进的地方,一个方面就是绘图,一篇论文图画的好不好、能否吸引审稿人的眼球并获得其青睐是一个值得琢磨的问题,而在这种收益和付出正相关的事情上,就更应该投以关注。接下来不间断会更新一些科研方面的细节,比如绘图、制表诸如此类……(我又在挖新坑了)


一、EPS文件转PDF文件

EPS又名矢量图文件,是可插入Latex论文写作模板的一种文件格式。而更常见的是使用PDF格式文件,因为PDF一旦生成固定就不易被修改(相较Word、Txt这些文件而言)。

1. 过去的科研绘图方案

实际上在此之前的科研绘图过程中,本人的常规操作就是用python的matplotlib绘制图片并保存为PDF或者PNG文件。而保存为PDF后放到Latex论文中会出现一个问题,那就是所需的图表位于PDF页面正中央,四周都有白边,放到论文中就会显得图表有点小。因此需要对PDF进行剪裁。通过对PDF截图保存为图片,再将图片复制到一个只有一页的PPT(Power Point)中,同时设置好PPT页面大小和图片一致,最后另存为PDF文件即可完成裁剪。过程看上去有些繁琐,且这样保存的PDF存在另一个问题,PDF中的一些文字并不能再复制出来,因为其原本就是一张图片。而正常的PDF中的文字是可以被复制Copy的。

2. 未来的科研绘图方案

当然,读者可以使用WPS(需要付费)和Adobe等工具进行可视化裁剪。而手工裁剪的问题就是并不能很好地切除PDF白边,而且每次手动调整也是很麻烦的一件事情。因此接下来介绍的方法就是通过免费的工具用命令行的形式进行自动裁剪。

二、使用步骤

值得一提的是,本文都是这在Ubuntu这类Linux系统上进行的,如果是Windows操作系统可能并不适合。顺带一提,科研方面Ubuntu是必不可少的。有一些代码比如包含分布式的代码只能在Linux操作系统下进行,因为Windows没有Fork操作。

1. 单例操作

首先要在Ubuntu上安装相应工具包:epstool

a. 安装epstool

sudo apt-get install epstool

b. 切除EPS文件白边并保存临时EPS文件

以input_file.eps这个文件为例:

epstool --copy --bbox input_file.eps input_file.temp.eps

将结果暂时存为input_file.temp.eps

d. 将EPS文件转换为PDF文件

epstopdf --hires --outfile=output_file.pdf input_file.temp.eps

转换后在同目录下生成output_file.pdf文件即为最终我们要的结果。
如果这步执行出错就按照提示进行安装对应库,这里我被要求安装texlive-font-utils

sudo apt install texlive-font-utils

2. 批处理操作

上面是针对一个EPS文件,然而很多时候我们需要对多个文件进行批量转换,真正实现自动化一键式操作。这里就要使用到Shell脚本。
直接给出代码,然后再介绍使用方法。

a. Shell 脚本

使用vi eps2pdf.sh或者vim eps2pdf.sh创建一个新的Shell脚本文件。
源码已发布在github: https://github.com/Regan-Zhang/EPS2PDF

#!/bin/sh
for file in ./*;do # 遍历当前目录所有文件if [ "${file##*.}"x = "eps"x ];then # 如果文件后缀为eps,即为eps文件则进行如下操作echo "$file is eps file"filename=${file%.*} # 去除.eps后缀名echo "$filename"# 执行单例命令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脚本也放到这个目录下。
然后进行当前目录的terminal终端窗口,输入

sh ./eps2pdf.sh

即可运行完成。

参考网站

ubuntu, eps转pdf以及切除白边
Mac党的福音:两行命令搞定eps转pdf以及切除白边
shell 切分文件名提取文件扩展名或提取文件名


http://www.ppmy.cn/news/288047.html

相关文章

C# .NET EF框架 webapi 安装使用sqlite

文章目录 Sqlite安装使用Sqlite特点环境安装EF 是什么?EF使用举例 Nuget控制台 Sqlite安装使用 Sqlite特点 Sqlite是轻量级数据库,不需要安装,跨平台使用。是用来做小软件,小项目,快速移植的最优解。不需要像mysql和…

Tiptop开发工具 Genero Studio 2.40.11软件汉化包

提供Tiptop开发工具 Genero Studio 2.40.11的软件汉化包 如需此服务请联系微信/QQ:178459881。 https://item.taobao.com/item.htm?id594368603384

Fiddler汉化

1、下载汉化文件 链接:https://pan.baidu.com/s/1Gm0PpBIS5vPwnasLEvZ75Q?pwdib3y 提取码:ib3y 2、文件 FiddlerTexts.txt 放在fiddler安装路径 D:\软件\Fiddler下 文件FdToChinese.dll 放在路径D:\软件\Fiddler\Scripts下 3、重启Fiddler即可

cadcene17.4软件汉化

不用打开软件,直接添加环境变量变量名字:intl_enabled打开软件后就是汉化的了

自己动手汉化一个英文软件

作为中国开发者,通常需要用到国外的一些软件,比如editplus,Ultra Edit等软件,虽然网上已经有汉化版,但反思过后,他们是怎么汉化这些软件的,最近工作中要用到一个代码质量检测工具——sourcemoni…

Fiddler Windows 汉化抓包工具

前言 Fiddlerr 功能强大的抓包工具,Web调试工具,HTTP协议抓包调试工具。它能够捕获浏览器和程序的所有http/https通信连接,可以针对访问请求,分析请求数据报文、设置断点、调试web程序、解密和美化JS脚本、修改请求数据&#xff…

【工具分享】notion2022汉化教程

参照GitHub的教程:https://github.com/reamd7/notion-zh_CN 此处主要进行win端的处理: windows(自2.0.4版本后,任意语言都等价于中文了) notion 【1】PowerShell 法 在桌面搜索PowerShell 然后在Powershell输入复制…

爬虫管理工具 scrapydweb 汉化

全部本人纯手动汉化,如有不足请多关照 使用介绍: 需要自行安装所需要的依赖,可以先用pip下载scrapydweb(为了安装依赖),然后再pip uninstall scrapydweb 将压缩文件拷贝到服务器解压,进入文件目录执行 python setup.…