用python批量插入图片到latex中

用Python优雅地写出数学表达式的LaTeX代码 LaTeX音译“拉泰赫”,是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天、甚至几小时内生成很多具有书籍质量的印刷品。通过使用latexify-py,可以将数学表达式、函数、方程和公式等等,都优雅地转换为LaTeX代码,方便人们在文档或幻灯片中以纯正的格式来呈现数学表达式。 阅读详情

背景

        最近在用latex做笔记,有时笔记中需要插入较多图片,以手工的方式逐个插入图片费时费力,所以想到用python管理脚本,实现图片的自动插入。

方案

        我使用的解决方案是,为每一个图片生成一个独立的tex文件,放置该图片的引用信息,然后以“/include{img_tex_path.tex}”的方式,把图片插入到latex文件中的对应位置。

        用python为每一个图片生成独立tex文件的脚本如下:

import os 
import glob 

def write_fig_2_tex(fig_path,fig_width=12,fig_caption=""):
    # 图片信息整理
    fig_path = "/".join(os.path.split(fig_path)[:]) # 图片路径标准化
    fig_name = os.path.split(fig_path)[-1].split(".")[0] # 图片name
    fig_label = "fig:"+fig_name # 图片label

    # 创建并打开tex文件
    tex_path = fig_path.split(".")[0]+".tex"
    tex_file = open(tex_path,"w",encoding="utf-8")

    # # 写入图片引用信息--方式1
    # tex_file.write(
    #     "\\begin{{figure}}[htbp]\n"
    #     "\t\centering\n"
    #     "\t\includegraphics[width={}cm]".format(fig_width)+"{"+fig_path+"}\n"
    #     "\t\caption{"+fig_caption+"}\n"
    #     "\t\label{"+fig_label+"}\n"
    #     "\end{figure}\n"
    #     "\clearpage\n"
    # )

    # 写入图片引用信息--方式2
    tex_file.write(
        f"\\begin{{figure}}[htbp]\n"
        f"\t\centering\n"
        f"\t\includegraphics[width={fig_width}cm]{{{fig_path}}}\n"
        f"\t\caption{{{fig_caption}}}\n"
        f"\t\label{{{fig_label}}}\n"
        f"\end{{figure}}\n"
        f"\clearpage\n"
    )
    
    # 关闭tex文件
    tex_file.close()

if __name__ =="__main__":
	fig_dir = "data/chap05/figs/"
	fig_paths = glob.glob(fig_dir+"*.png")

	for fig_path in fig_paths:
		write_fig_2_tex(fig_path,fig_width=12,fig_caption=" ")

        如果想把一个文件夹下的所有图片的latex插入信息放进同一个tex文件中,可参考以下代码:

import os 
import glob 

img_dir = "data/chap01/sections/figs/"
tex_path = img_dir+"/figs.tex"

tex_file = open(tex_path,"w",encoding="utf-8")
#tex_file = open(tex_path,"w+",encoding="utf-8")

for i in range(1,60):
    img_path = img_dir+"/{}.png".format(i)
    if os.path.exists(img_path):
	
		# 图片信息整理
		fig_path = "/".join(os.path.split(img_path)[:]) # 图片路径标准化
		fig_name = os.path.split(fig_path)[-1].split(".")[0] # 图片name
		fig_label = "fig:"+fig_name # 图片label
		fig_width = 12
		fig_caption = f"sub-fig-{i}"
		
		tex_file.write(
			f"\\begin{{figure}}[htbp]\n"
			f"\t\centering\n"
			f"\t\includegraphics[width={fig_width}cm]{{{fig_path}}}\n"
			f"\t\caption{{{fig_caption}}}\n"
			f"\t\label{{{fig_label}}}\n"
			f"\end{{figure}}\n"
			f"\clearpage\n"
		)
tex_file.close()

扩展

        类似地,可以用python批量/自动处理其他latex文件或命令。

科研论文绘图:ppt, word,latex,python matplotlib绘图 ,矢量图,高清图,放大不失真 之前记录了多种科研绘图的方式,这里做一下汇总: 1. 用PPT绘图,保存为高清图片,链接 评价:不推荐使用。该方法确实可以把ppt保存为高清图片,包括jpg,tif,png等,并设置分辨率,但是保存得到的图片很大,而且得到的图片不是矢量图,不能无限放大不失真,因此,不适合在论文中插入。 2.用PPT绘图,保存为emf矢量图,插入word,链接 评价:推荐使用,适合插入word中。emf格式的图片是矢量图,插入word后可以无限放大不失真,适合插入论文中。 建议:在用ppt绘图时,最好调整ppt的. 阅读详情

相关推荐

LaTeX中插入图片

一、LaTeX中插入Visio图片 1、方法一 1.在Visio中画好图,保存成pdf文件; 2.打开pdf文件,将其裁剪成需要的大小; 3.在LaTeX中插入该pdf图片。 2、方法二 1.在Visio中画好图,然后依次选择“设计”->“大小”->“适应绘图”。然后另存为pdf文件; 2.在LaTeX中插入该pdf图片即可。 1.在Visio中画好图,然后依次选择“设计”->“大小”->“适应绘图”。然后另存为pdf文件; 使用福昕PDF编辑器裁剪PDF页面 二、LaTex插入

irober的博客 8428

使用Python写latex:pylatex的简单使用

文章目录Latex简述常用latex包简介fontenccjkgraphicsLatex文档结构命令文档类声明环境序言正文FloatsPyLaTex简述项目相关PyLatex入门导入相关包创建文档实例添加包添加其他序言创建章节的两种方式使用with直接添加使用命令的两种方式CommandNoEscape使用环境创建命令和环境创建命令在文档中手动添加方法声明建立类(可选)使用命令创建环境导出返回字符...

sailist的记录站 4万+

Mathpix API 与 Python 集成实战:5行代码实现批量图片公式转 LaTeX

本文详细介绍了如何通过Mathpix API与Python集成,仅用5行代码实现批量图片公式转LaTeX的高效解决方案。涵盖API密钥获取、核心代码实现、批量处理优化及错误处理技巧,显著提升科研写作和技术文档编辑效率。

cuanjingyue4687的博客 417

LaTex 使用plt.savefig保存矢量图并插入论文中

LaTex 使用plt.savefig保存矢量图并插入论文中

dream6985的博客 2347

Latex插入SVG图片的3种方法对比:Ubuntu22.04环境实测

本文针对LaTeX原生不支持SVG格式的痛点,在Ubuntu22.04环境下实测并对比了三种主流解决方案:手动转换、编译时自动转换及脚本批处理。文章详细剖析了各方法的原理、步骤与适用场景,旨在帮助用户根据项目需求(如自动化程度、图片数量)构建高效的SVG图片工作流,并保留矢量图质量。

flink9streamer的博客 666

pdf转eps并插入latex并生成DVI文件

马上夏令营了第一篇论文终于中了/(ㄒoㄒ)/~~,之前的插图都是pdf形式,会议要求全部转化为eps格式,整理了一下转化的方法: 使用在线转换网站进行转换 来源:https://www.reneelab.com.cn/pdf-to-eps.html 互联网上有很多供用户免费使用的在线转换工具,Convertio就是其中之一,其使用的方法也十分简单,只要打开Convertio的网站(https://...

csyifanZhang的博客 1866

【Python】用Python优雅地编写LaTeX(含源代码)

【Python】用Python优雅地编写LaTeX(含源代码)

wzk4869的博客 2504

latex 混淆矩阵

我们之前介绍过latex的表格。那么混淆矩阵本质上来讲也是一个表格。怎么简单,快速准确的画出来。 如果先画出来,在插入到论文中,难免会low,而且放缩的话图片会失真。百度上是没有搜索到。所以用google。 首先是不加颜色的,黑白的,使用了Tikz包 \documentclass{article} \usepackage[utf8]{inputenc} \usepackage[englis...

乱七八糟的笔记 3997

Lingyuxiu MXJ LoRA效果优化:基于Latex的技术文档生成

本文介绍了如何在星图GPU平台自动化部署🎨 Lingyuxiu MXJ LoRA 创作引擎镜像,实现高效AI图片生成。该镜像结合Latex自动化排版技术,可快速生成专业的技术文档和效果报告,适用于人像生成、效果对比及参数分析等应用场景,显著提升内容创作与文档制作效率。

weixin_42573757的博客 95

PCB中的CAF深度剖析与对策研究

摘要:本文系统研究了PCB板的导电阳极丝(CAF)问题,阐明了CAF是在电场作用下铜离子沿玻纤微裂通道迁移形成导电丝的现象,其形成需铜、水汽、电解质、偏压和迁移通道五个条件。CAF会导致PCB绝缘性能下降和信号传输异常,严重影响电子产品可靠性。研究提出了板材选择、钻孔工艺控制、叠板结构优化等预防措施,以及增大孔距、错位排列等设计注意事项,并介绍了IPC-TM-650-2.6.25测试标准。未来应在耐CAF材料、测试技术和制造工艺方面深入研究,以提升PCB可靠性。(150字)

2401_84691632的博客 1706

【HarmonyOS】ArkUI的组件扩展

ArkuI的组件扩展主要是通过等装饰器来对于一些常用的自定义组件进行封装, 来简化UI开发流程, 提高自定义组件的可复用性。

2302_79763237的博客 1169

LaTeX文档自动化插入Anything to RealCharacters 2.5D引擎生成图像

本文介绍了如何利用星图GPU平台自动化部署📸 Anything to RealCharacters 2.5D转真人引擎,并将其与Python脚本结合,实现从二次元角色图到写实风格图像的批量转换与处理。该方案的核心应用场景是自动化生成统一风格的图片,并高效插入LaTeX技术报告或论文中,极大提升了文档创作的效率与一致性。

weixin_42263617的博客 324

J-LINK下载程序出现No Cortex-M Device found in JTAG chain…问题,最全7种解决方法

J-Link下载程序出现No Corect 等的问题的7种方法 后来编辑JLinkSettings.ini文件,找到"Device"项,将其更改Device="Cortex-M0+"

cjmsea的博客 5613

AI头像生成器与LaTeX结合:学术头像自动生成

本文介绍了如何在星图GPU平台上自动化部署AI头像生成器镜像,实现学术文档头像的快速生成与集成。该方案能根据用户描述,自动生成风格专业、得体的学术头像,并通过脚本轻松插入LaTeX文档,有效提升论文、团队介绍等材料的制作效率与视觉统一性。

weixin_35754962的博客 183

FM20S用户手册--Linux系统启动卡制作及系统固化

评估板出厂时,默认提供一张配套的Micro SD卡,此卡为可正常使用的Linux系统 启动卡。评估板断电,将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将 启动方式选择拨码开关拨为1010(1-4).此档位为Micro SD启动模式。使用Linux 系统启动卡启动系统时,将使用此目录的BOOTbn文件启动FSBL和U-Boot。Linux系统启动卡制作时,已将固化系统的脚本文件mkemmcboot.sh拷贝至Linux系 统启动卡文件系统的"/opt/tools/"目录下。

创龙,嵌入式一体化解决方案商 302

STM32 IIC电量计LTC2944

LTC2944是一款电池电量计,设计用于端电压为3.6V至60V的多节电池。它测量电池充电和放电、电池电压、电流和自身温度。精密模拟库仑计数器通过电池正极端子与负载或充电器之间的检测电阻器对电流进行积分。电池电压、电池电流和硅温度由内部ADC测量。

baidu_34971492的博客 3161

LaTeX下载安装与李慕婉-仙逆-造相Z-Turbo文档生成

本文介绍了如何在星图GPU平台上自动化部署李慕婉-仙逆-造相Z-Turbo镜像,实现高效AI图片生成。该镜像专门用于生成动漫角色图片,用户可通过简单配置快速生成《仙逆》角色李慕婉的高质量图像,适用于技术文档插图、角色设计等创作场景,大幅提升内容生产效率。

weixin_35950531的博客 193

SAP_FI模块_固定资产期初导入全流程(含导入代码)

SAP 期初导入资产主数据以及金额相关的操作全流程记录,包含了批导程序的代码,以及错误记录

风沙的博客 1405

FLUX小红书极致真实V2图像生成工具LaTeX文档自动化排版实战

本文介绍了如何利用星图GPU平台自动化部署FLUX.小红书极致真实 V2 图像生成工具,并结合LaTeX实现文档自动化排版。通过该方案,用户可批量生成风格统一、高度逼真的产品效果图,并自动插入技术报告或学术论文中,显著提升内容创作与排版效率。

weixin_36212459的博客 345

CAPL通过lookupSignal和DBLookup获取DBC信号的属性信息

CAPL通过lookupSignal和DBLookup获取DBC信号的属性信息以及一些相关问题

天赐好车的博客 2890

MATLAB 开发项目实例 1000 例专栏之第37例:基于Simulink的无人机飞行控制系统设计

通过上述项目实例,我们成功地使用Simulink设计和仿真了一个无人机的飞行控制系统。这个项目展示了从无人机建模、路径规划、控制器设计到仿真验证的完整流程。Simulink的可视化和模块化特性使得系统的建模和仿真更加直观和高效。

xiaoheshang_123的博客 163

Banana Vision Studio高级技巧:LaTeX技术文档自动排版系统

本文介绍了如何利用星图GPU平台自动化部署Banana Vision Studio精准结构拆解与工业美学实验室镜像,实现技术文档制作的效率革命。通过该方案,用户可将Banana Vision Studio生成的专业技术图纸(如产品拆解图、爆炸图)与LaTeX排版系统无缝集成,自动化完成从图片处理到出版级技术文档(如产品手册、论文)生成的全流程。

weixin_36064575的博客 430

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SlideSCI:科研PPT制作效率提升300%的终极解决方案

你是否曾在深夜加班制作科研汇报PPT时,面对杂乱无章的图片、难以对齐的元素、复杂的数学公式而感到绝望?你是否计算过,每周花在PPT排版上的时间,足够你完成一次实验的数据分析?SlideSCI正是为了解决这些痛点而生——它不是一个普通的PPT插件,而是一场针对科研工作者工作流程的革命性变革。 ## 从繁琐到高效:科研PPT制作的范式转移 传统PPT制作流程中,科研工作者常常陷入以下困境: 1.

gitblog_01000的博客 429

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

latex插入eps后显示空白

写回复意见,改修改稿,我修改了图中一条曲线的名字后发现latex插入显示空白了。一脸懵逼,最后发现是python默认字体的锅,latex无法解析。权当一个记录。

雾隐雾现的至渝博客 1441

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

怎样高效实现公式图片转LaTeX:LaTeX-OCR实战技巧与专业方案

LaTeX-OCR(pix2tex)是一款基于深度学习的专业工具,能够将数学公式图片快速转换为LaTeX代码。这个强大的开源项目采用视觉Transformer(ViT)架构,结合ResNet骨干网络和Transformer解码器,为科研人员、学生和工程师提供了高效处理数学表达式的解决方案。 ## 学术场景实战应用:从截图到代码的智能转换 在学术研究和论文撰写中,数学公式的处理常常成为效率瓶颈。

gitblog_01065的博客 729

Python自动化办公:Latex公式一键导入Word文档

本文介绍如何利用Python自动化办公,通过latex2word库将LaTeX公式一键导入Word文档。该方法能高效解决论文、技术报告中复杂公式的排版难题,实现矢量级质量、可编辑的公式插入,大幅提升学生、科研人员和工程师的文档处理效率。

night的博客 980
上一篇: python字符串格式化代入数据
下一篇: util-删除空文件夹
wzg2016
博客等级 码龄10年 539粉丝 493原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值