
나는 현재 LaTeX에 특정 매크로를 "감시"할 수 있는 시스템이 있다면 편리할 것이라는 몇 가지 버그를 해결하려고 노력하고 있습니다. 매크로가 언제/어디에서 재정의되는지에 관심이 있습니다. 이상적으로는 말할 수 \spy\mymacro
있고 출력될 것입니다.
`file.cls -> \newcommand\macro`,
`package.sty -> \renewcommand\macro`
등등.
답변1
당신은 그것을 할 수 없습니다: 예를 들어 패키지는 다음과 같이 말할 수 있습니다.
\newcommand{\redefinefoo}[1]{\renewcommand{\foo}{#1}}
\providecommand{\foo}{whatever}
그리고 가능성에 대한 재정의는 \foo
어디에서나 일어날 수 있습니다.
\redefinefoo{something else}
발행되며, 이는 다른 매크로에 숨겨져 있을 수 있습니다.
\def
의 기반이기도 한 재정의는 \renewcommand
거의 모든 것을 망칠 수 있기 때문에 의문의 여지가 없습니다.
그러나 \tracingassigns=1
문서와 로그 파일에서 찾을 수 있다고 말할 수 있습니다.
{changing \foo=\long macro:->whatever}
{into \foo=\long macro:->something else}
파일 의 위치를 기반으로 log
재정의가 발생하는 위치를 추측할 수 있습니다.