.png)
명령이 호출되는 페이지 번호로 목차에 줄을 추가하는 명령을 정의하고 싶습니다. 첫 번째 시도는 다음과 같습니다.
\def\mytoc{}
\def\addlinetomytoc#1{
\g@addto@macro\mytoc{
#1\dotfill\thepage\par
}
}
이런 식으로 에 전화하면 \toc
각 줄에 TOC의 페이지 번호가 보고되고 그 이유를 이해하게 됩니다.
그래서 저는 이렇게 수정했습니다.
\def\mytoc{}
\def\addlinetomytoc#1{
\edef\@tmp{\thepage}
\g@addto@macro\mytoc{
#1\dotfill\@tmp\par
}
}
이 경우 모든 행에 대해 마지막으로 호출한 페이지 번호를 얻었고 \addlinetomytoc
그 이유도 이해했습니다. 하지만 지금은 갇혀 있고 다른 해결책을 찾을 수 없습니다.
( 필요한 것을 얻지 못하면) 작동하지 않기 \edef\mytoc{...}
때문에 나는 다음과 같은 일을 할 수 없습니다 .\dotfill
\edef
\dotfill
몇 시간 동안 이 작업을 시도했지만 해결책을 찾을 수 없습니다. 누구든지 저를 도와주실 수 있나요?
답변1
. 이후에 \thepage
발행하지 않는 한 일반적으로 잘못된 페이지 번호를 가리키기 때문에 이것이 무엇에 유용한지 잘 모르겠습니다 .\addlinetomytoc
\clearpage
\thepage
어쨌든 토큰을 추가할 때 확장해야 합니다 .
\def\mytoc{}
\def\addlinetomytoc#1{%
\begingroup\edef\x{\endgroup
\noexpand\g@addto@macro\noexpand\mytoc{%
\unexpanded{#1\dotfill}\thepage\noexpand\par
}% end of \g@addto@macro
}\x
}
이 방법 \x
은
\endgroup\g@addto@macro{#1\dotfill}<expansion of \thepage>\par}
실행하면 \x
올바른 일이 일어날 것입니다.