Ich schreibe einige Parameter mit Pythontex in JSON-Dateien, möchte aber Kontextinformationen in Form von Abschnittsnummern hinzufügen (z. B. \thesection oder \thesubsubsection, vielleicht auch die Seitenzahl oder andere Zähler).
Gibt es eine einfache Möglichkeit, die Werte der Abschnittszähler an Python zu übergeben?
- Josef
Antwort1
Dies kann auf verschiedene Weise erfolgen. Hier ist ein Ansatz. Einen anderen Ansatz finden Sie \setpythontexcontext
in der Pythontex-Dokumentation.
Die Pythontex-Befehle \pyc
sind dafür gedacht, Code wortwörtlich an Python zu senden. Der Trick dabei ist, ihn vollständig zu erweitern, \thesection
bevor er in einer Python-Variable gespeichert wird.
\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}