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

这篇具有很好参考价值的文章主要介绍了Latex图表制作:关于EPS文件转PDF文件及PDF裁剪自动化的Shell脚本制作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


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

前言

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


一、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 切分文件名提取文件扩展名或提取文件名文章来源地址https://www.toymoban.com/news/detail-486109.html

到了这里,关于Latex图表制作:关于EPS文件转PDF文件及PDF裁剪自动化的Shell脚本制作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [python]裁剪文件夹中所有pdf文档并按名称保存到指定的文件夹

    最近在写论文的实验部分,由于latex需要pdf格式的文档,审稿专家需要对pdf图片进行裁剪放大,以保证图片质量。 原图: 裁剪后的图像: 代码粘贴如下。将input_folder和output_folder替换即可。(x1, y1), (x2, y2) 分别代表裁剪框的像素位置。

    2024年01月19日
    浏览(64)
  • Python自动化小技巧21——实现PDF转word功能(程序制作)

    案例背景 为什么这个年代PDF转word,某wps居然还要收费.....很多软件都可以实现这个功能,但是效果都有好有坏,而且有的还付费,很麻烦。 那就用python实现这个功能吧,然后把代码打包为.exe的程序,这样随便在哪个电脑上都能运行,给那些没有python环境的人一个便利。 代码

    2024年02月11日
    浏览(51)
  • 【微信小程序】导出 Excel 报表并分享,使用xlsx库生成 Excel,使用echars插入图表、使用pdfmake导出为PDF文件

    要在微信小程序中导出 Excel 报表并分享,可以使用第三方库 xlsx 来生成 Excel 文件,并使用 wx.saveFile 方法将文件保存到本地,然后使用 wx.shareFile 方法来分享文件。 以下是一个示例代码,演示如何在微信小程序中导出 Excel 报表并分享: 首先,安装依赖库 xlsx ,可以使用 npm

    2024年02月13日
    浏览(142)
  • python-自动化篇-办公-将PDF文件转存为图片

    因工作中的某些奇葩要求,需要将PDF文件的每页内容转存成按顺序编号的图片。用第三方软件或者在线转换也可以,但批量操作还是Python方便,所谓搞定办公自动化,Python出山,一统天下;Python出征,寸草不生~ O(∩_∩)O 不过这个需要用到 PyMuPDF 库,电脑运行cmd,输入“pip

    2024年02月19日
    浏览(59)
  • Python自动化小技巧23——PDF文件拆分为单独页面(PyMuPDF)

    其实编辑PDF用Adobe就行,它功能超级齐全,可是这玩意要收费...去弄免费破解版,找资源又得半天,所以用python来拆分PDF文件吧,可以批量化处理。 至于为什么不用WPS.....别问,问就是不想开会员。 脚本代码 先安装PyMuPDF库, 代码:  把输入路径和输出路径都改一下就行了,整

    2024年02月07日
    浏览(66)
  • python自动化办公——定制化将电子签名批量签写到PDF文件

    首先需要下载所需要的库 此外还需要下载poppler,这里使用的是poppler-0.67.0 这是一个处理PDF文件的工具包,里面包含了非常多的功能供我们使用。 下载地址:https://blog.alivate.com.au/poppler-windows/ 下载完压缩包之后,将压缩包解压到本地的某个地方,并记好路径。 现需要将类似这

    2024年02月09日
    浏览(62)
  • 关于微信原生小程序展示pdf文件的功能

    在原生小程序中,如果需要展示 PDF 文件,可以使用第三方组件库或者直接使用 web-view 组件来实现。 使用第三方组件库 小程序社区有一些开源的第三方组件库支持 PDF 展示功能,例如 weui-ext 的 pdf-viewer 组件。你可以在项目中引入该组件,然后传递 PDF 文件的 URL 或 Base64 数据

    2024年02月11日
    浏览(33)
  • Grafana制作图表-自定义Flink监控图表

    有时候我们在官网的Grafana下载的图表是这样的,如下图 相关配置说明  一口气搞懂「Flink Metrics」监控指标和性能优化,全靠这33张图和7千字(建议收藏) - 掘金 相关模板下载 Dashboards | Grafana Labs 在线正则 在线正则表达式测试 处理上面的前提是flink的监控数据已经采集到了

    2024年02月14日
    浏览(48)
  • 第八篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读使用Python库清洗处理从PDF文件提取的文本

    在使用pyPDF4或任何其他Python的PDF解析库提取PDF文件的文本后,进行清洗处理是非常重要的。这是因为PDF文件通常包含了各种格式化元素,如页眉、页脚、页码、图表、图片等,这些元素可能会干扰到你提取的文本内容。清洗处理的目标是去除这些干扰元素,仅提取出你真正需

    2024年03月22日
    浏览(66)
  • 【Latex】有关于Latex tabularray的一些很不错的教程、模板

    除了大家熟知的 tabular ,Latex在2021年出了一个table排版的新包: tabularray 。 笔者这几天初步体验了一下tabularray,个人觉得 tabularray 明显比 tabular 的使用体感好不少。 不管是从排版的效果、便捷程度,还是从语法上, 都要比tabular更加人性化 ( tabular的语法真的不敢恭维,有点

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包