我正在使用 pythontex 将一些参数写入 JSON 文件,但想以章节编号的形式添加上下文信息(例如 \thesection 或 \thesubsubsection,也可能是页码或其他计数器)。
是否有一种直接的方法可以将部分计数器的值传递给 Python?
- 约瑟夫
答案1
有多种方法可以实现此目的。以下是其中一种方法。有关另一种方法,请参阅\setpythontexcontext
pythontex 文档。
pythontex 命令旨在\pyc
将代码逐字逐句地发送到 Python。这里的技巧是\thesection
在将其存储在 Python 变量中之前进行完全扩展。
\documentclass{article}
\usepackage{pythontex}
\makeatletter
\newcommand{\sectopy}{%
\edef\sectopy@val{\thesection}%
\expandafter\sectopy@i\expandafter{\sectopy@val}}
\def\sectopy@i#1{\pyc{section = #1}}
\makeatother
\begin{document}
\section{Section}
\sectopy
The section is: \py{section}
\end{document}