.png)
입력 .tex 파일이 있는 경우 그 파일에서 모든 매크로 호출을 찾는 방법은 무엇입니까?
\documentclass{article}
\newcommand{\samplemacro}{This is a sample macro.}
\begin{document}
\samplemacro
\begin{itemize}
\item \samplemacro
\end{itemize}
\section[\samplemacro]{\samplemacro}
\tableofcontents
\end{document}
어떤 종류의 위치라도 괜찮습니다(예: 명령 시작/끝에 대한 바이트 오프셋). 시작은 명령이 처리되기 시작하는 시간이고 끝은 모든 인수가 사용된 직후입니다.
위의 예에서는 다음과 같이 얻는 것이 좋습니다.
[
'\documentclass{article}',
'\newcommand{\samplemacro}{This is a sample macro.}',
'\begin{document}',
'\samplemacro',
'\begin{itemize}',
'\item'
'\samplemacro',
'\end{itemize}',
['\section[\samplemacro]{\samplemacro}', '\samplemacro', '\samplemacro'],
'\tableofcontents',
'\end{document}'
]
정확한 구조는 실제로 중요하지 않으므로 내부 호출을 추적하지 않고 \samplemacro를 \section의 일부로 간주하거나 환경 콘텐츠를 \begin의 일부로 간주하는 것이 좋습니다. 말 그대로 어떤 루틴에 의해 어떤 토큰이 소비되는지에 관한 것입니다.
사용자 정의 구문 분석을 구현하는 것과 같은 매크로는 \section
하드코딩 구문 분석보다 luatex 후크를 사용하는 것이 훨씬 쉬워 보입니다.TexSoup하려고 노력하고 있습니다.