在Inkscape中,可以保存pdf文件以及生成pdf_tex文件,以将其自动格式化为Latex文件。 可以通过单击将扩展名指定为.pdf的保存后的复选框来指定。
我有兴趣直接从python脚本中以特定格式保存matplotlib数字。
这种可能性存在还是可以通过一些技巧来完成?
谢谢
答案 0 :(得分:0)
一种选择是从matplotlib导出pdf,然后以编程方式使用inkscape,即通过命令行界面让它创建所需的格式。
import matplotlib.pyplot as plt
plt.bar(x=[1,2], height=[3,4], label="Bar")
plt.legend()
plt.xlabel("Label")
plt.title("title")
def savepdf_tex(fig, name, **kwargs):
import subprocess, os
fig.savefig("temp.pdf", format="pdf", **kwargs)
incmd = ["inkscape", "temp.pdf", "--export-pdf={}.pdf".format(name),
"--export-latex"] #"--export-ignore-filters",
subprocess.check_output(incmd)
os.remove("temp.pdf")
savepdf_tex(plt.gcf(), "latest")
plt.show()
还要注意,matplotlib可以保存为pgf
格式。作为上述替代方案,绝对值得尝试。请参见this example,并在其后附加plt.savefig("filename.pgf")
。在乳胶代码中,使用\input{filename.pgf}
。