¿Cómo pasar números de sección a Python en Pythontex?

¿Cómo pasar números de sección a Python en Pythontex?

Estoy escribiendo algunos parámetros en archivos JSON usando pythontex, pero me gustaría agregar información de contexto en forma de números de sección (por ejemplo, \thesection o \thesubsubsection, quizás también el número de página u otros contadores).

¿Existe una forma sencilla de pasar los valores de los contadores de sección a Python?

  • José

Respuesta1

Hay diferentes maneras de hacer esto. He aquí un enfoque. Para conocer otro enfoque, consulte \setpythontexcontextla documentación de Pythonex.

Los comandos de pythontex como \pycestán diseñados para enviar código palabra por palabra a Python. El truco aquí consiste en expandirlo completamente \thesectionantes de almacenarlo en una variable de 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} 

información relacionada