latex宏包pythontex使用简明手册

1.背景

latex可以做许多事,因为latex语言具有一定的程序描述能力。但是,在一些情况下,所需要的编程工作,往往令人痛苦。

如果能够在latex文档中使用流行的编程语言进行文档自动化,那该多好?latex在2020年前后,就已经具备这种能力了,最新版的texlive已经完整地提供了这一功能,它以pythontex宏包的形式体现出来。要使用它,您的电脑应该安装python2,最好安装python3,其路径在系统环境变量PATH中。

简而言之:pythontex宏包使得我们可以在latex文档中使用python语言编写程序代码,输出python代码自身、代码执行结果或两者的混合到最终生成的PDF文档中。这种特性使得latex文档成为一种可再生的文档(reproducible document)。也使得在web应用中自动生成pdf文档多了一个可选的技术方案。

2. 基本示例

2.1 hello world

2.1.1 代码与输出结果

\documentclass{article}
\usepackage{pythontex}
\begin{document}
\begin{pycode}
print(r'\emph{Hello} world!')
\end{pycode}
\end{document}

上述latex文件正确编译后,pdf文档将出现如下内容:
在这里插入图片描述

2.1.2 说明

这个示例展示了pythontex的基本用法:
(1)在latex文档导言区中引入pythontex宏包
\usepackage{pythontex}
(2)使用pycode环境,可以把一段python代码的执行结果输出
到文档。
特别注意:不要用tab制表符进行缩进,一律使用空格缩进,否则就会造成语法错误。
其中,print函数是用来向文档中输出结果的。

2.1.3 如何编译使用了pythontex宏包的Latex文档

三步曲:

$ xelatex xxx.tex # 编译,将python代码分离出来
$ pythontex xxx.tex # 编译,执行python代码,把结果保存
$ xelatex xxx.tex # 把保存的结果编译到最终的输出文档

2.1.4 如何既输出python代码又输出代码执行结果

使用pyblock环境和printpythontex命令,代码和PDF内容如下:
在这里插入图片描述在这里插入图片描述

2.2 在Latex中嵌入python变量的值

2.2.1 示例代码与文档输出

在这里插入图片描述在这里插入图片描述

2.2.2 说明

使用pycode环境和py命令,可以避免复制粘贴错误。
使用py命令,可以执行一些简单的运算,把运算结果输出到文档中。
例如,可以通过命令\py{2**12}在文档中产生 2 12 2^{12} 212的运算结果。
相应于环境“pycode”、“pyblock”,pythontex包还提供了具有相同
功能的命令,分别为pyc,pyb,都可以带可选参数。具体请参考pythontex帮助文档。
\py{x}还可以写成\py#x#形式。

2.3 在latex文档中输出控制台会话

2.3.1 代码示例与输出结果

在这里插入图片描述在这里插入图片描述

2.3.2 说明

pyconsole环境相当于是把python在命令行下的输出作为文稿的输出。
如果希望把该环境中的变量的值嵌入到文档,怎么办?
使用命令:\pycon
具体请参考文档:pythontex.pdf

3. 更多高级示例

参考:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aganim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值