如何在 pythontex 中将章节编号传递给 python?

如何在 pythontex 中将章节编号传递给 python?

我正在使用 pythontex 将一些参数写入 JSON 文件,但想以章节编号的形式添加上下文信息(例如 \thesection 或 \thesubsubsection,也可能是页码或其他计数器)。

是否有一种直接的方法可以将部分计数器的值传递给 Python?

  • 约瑟夫

答案1

有多种方法可以实现此目的。以下是其中一种方法。有关另一种方法,请参阅\setpythontexcontextpythontex 文档。

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} 

相关内容