如何在 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} 

相關內容