我是一个大学时代的人,在我的大学里,要呈现任何形式的作业,必须有一个标准的封面(带有大学徽标,课程名称,教授的姓名,我的名字和bla bla bla)。
因此,我有一个.tex文件,该文件会生成我的标准封面pdf。它类似于:
...
\begin{document}
%% College logo
\vspace{5cm}
\begin{center}
\textbf{\huge "School and Program Name" \\}
\vspace{1cm}
\textbf{\Large "Homework Title" \\}
\vspace{1cm}
\textbf{\Large "Course Name" \\}
\end{center}
\vspace{2.5cm}
\begin{flushright}
{\large "My name" }
\end{flushright}
...
因此,我想知道是否有一种方法可以制作一个Python脚本来询问我的作业标题,课程名称和其余字符串,并使用它们来生成封面。之后,它应编译.tex并使用给定的信息生成pdf。
任何意见,建议,摘要,库都可以接受。
您可以首先将模板tex文件定义为字符串:
content = r'''\documentclass{article}
\begin{document}
...
\textbf{\huge %(school)s \\}
\vspace{1cm}
\textbf{\Large %(title)s \\}
...
\end{document}
'''
接下来,使用argparse
接受课程,标题,名称和学校的值:
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--course')
parser.add_argument('-t', '--title')
parser.add_argument('-n', '--name',)
parser.add_argument('-s', '--school', default='My U')
将args粘贴进去只需要做一些字符串格式化content
:
args = parser.parse_args()
content%args.__dict__
将内容写到文件cover.tex之后,
with open('cover.tex','w') as f:
f.write(content%args.__dict__)
您可以subprocess
用来打电话pdflatex cover.tex
。
proc = subprocess.Popen(['pdflatex', 'cover.tex'])
proc.communicate()
您也可以lpr
在此处添加命令,以将打印添加到工作流程中。
删除不需要的文件:
os.unlink('cover.tex')
os.unlink('cover.log')
然后可以这样调用脚本:
make_cover.py -c "Hardest Class Ever" -t "Theoretical Theory" -n Me
放在一起
import argparse
import os
import subprocess
content = r'''\documentclass{article}
\begin{document}
... P \& B
\textbf{\huge %(school)s \\}
\vspace{1cm}
\textbf{\Large %(title)s \\}
...
\end{document}
'''
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--course')
parser.add_argument('-t', '--title')
parser.add_argument('-n', '--name',)
parser.add_argument('-s', '--school', default='My U')
args = parser.parse_args()
with open('cover.tex','w') as f:
f.write(content%args.__dict__)
cmd = ['pdflatex', '-interaction', 'nonstopmode', 'cover.tex']
proc = subprocess.Popen(cmd)
proc.communicate()
retcode = proc.returncode
if not retcode == 0:
os.unlink('cover.pdf')
raise ValueError('Error {} executing command: {}'.format(retcode, ' '.join(cmd)))
os.unlink('cover.tex')
os.unlink('cover.log')
在你完成模型后,你可以保存模型表结构、视图或外键成一个脚本文件。导出 SQL 功能为脚本生成一个 SQL 文件。选择 工具 -> 导出 SQL。 导出 SQL 的常规设置 文件 设置输出的文件名和位置。 对象 在现有的模型中选择你想导出的对象。 导出 SQL 的高级设置 下列选项是根据你所选择图表的数据库类型:MySQL、Oracle、PostgreSQL、SQLite、SQL Server 和
问题内容: 我需要执行一些python机器学习代码,并希望从Google Cloud Function中的节点进程执行它。 我想使用node,因为我有一些稍后要运行的firebase管理任务。我也有一个我满意的节点的部署工作流。 这可能吗?如果是这样,您能举个例子吗? 问题答案: 是的,这是可能的,您可能需要使用http://www.pyinstaller.org/来打包python代码。看看我的
问题内容: 假设我在SQL Server Management Studio中为某些表添加了新列。当我按保存时,有什么方法可以获取执行的更改脚本? 我要实现的是将相同的更改应用于其他数据库(出于调试目的,我们为每个开发人员都有一个单独的数据库)。 问题答案: 我假设您在MS SSMS中使用表设计器。 在设计器中进行更改,然后在点击之前,进入菜单并选择。
问题内容: 我有一个PHP应用程序,需要用查询结果生成PDF。被发现的最简单的方法是使用DOMPDF为我生成PDF。因此,做了一个为我生成HTML的函数,然后将其传递给DOMPDF。在开发和测试环境中,一切都很好,但是在生产环境中,我在内存使用方面存在一些问题。 因此,我想知道我的策略是最好的还是有更好更好的方法来做到这一点。 你会怎么做? 问题答案: 我曾经做过一个生成PDF的PHP项目。我使用
这篇文档阐述了如何通过使用Django视图动态输出PDF。这可以通过一个出色的、开源的Python PDF库ReportLab来实现。 动态生成PDF文件的优点是,你可以为不同目的创建自定义的PDF -- 这就是说,为不同的用户或者不同的内容。 例如,Django在kusports.com上用来为那些参加March Madness比赛的人,生成自定义的,便于打印的 NCAA 锦标赛晋级表作为PDF
问题内容: 我已经成功运行了几个Python脚本,并使用subprocess模块从基本脚本中调用了它们: 但是,每个脚本都执行一些模拟(来自C ++应用程序的.exe文件),这些模拟会生成一些输出到外壳程序。所有这些输出都从启动这些脚本的位置写入基本shell。我想为每个脚本生成一个新的shell。我试图在调用subprocess.call时使用该属性生成新的shell (也尝试过popen)