Pythontex でセクション番号を Python に渡すにはどうすればいいですか?

Pythontex でセクション番号を Python に渡すにはどうすればいいですか?

私は pythontex を使用して JSON ファイルにいくつかのパラメータを書き出していますが、セクション番号 (たとえば、\thesection または \thesubsubsection、ページ番号やその他のカウンターも) の形式でコンテキスト情報を追加したいと考えています。

セクション カウンターの値を Python に渡す簡単な方法はありますか?

  • ヨゼフ

答え1

これを行うにはさまざまな方法があります。ここでは 1 つのアプローチを示します。別のアプローチについては、\setpythontexcontextpythontex ドキュメントを参照してください。

pythontex コマンドは、\pycコードをそのまま Python に送信するように設計されています。ここでの秘訣は、\thesectionPython 変数に格納する前に完全に展開することです。

\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} 

関連情報