как передать номера разделов в python в pythontex?

как передать номера разделов в python в pythontex?

Я записываю некоторые параметры в файлы JSON с помощью pythontex, но хотел бы добавить контекстную информацию в виде номеров разделов (например, \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} 

Связанный контент