LaTeX에서 "\let\clearpage\relax"로 "\clearpage"를 끈 후 다시 활성화하기

LaTeX에서 "\let\clearpage\relax"로 "\clearpage"를 끈 후 다시 활성화하기

내 문서에 목차가 있습니다. 내가 알아낸 대로 \tableofcontentsLaTeX는 하나( )를 삽입한 후 \clearpage기본적으로 a를 수행합니다.

무시하는 방법 \clearpage은 명령입니다 \let\clearpage\relax. 마녀는 문서가 끝날 때까지 이를 무시합니다. 내 문서에 다른 명령이 없는데 마지막 페이지가 지워졌습니다. 그래서 나는 \clearpage목차가 생성된 직후에 반응하고 싶습니다 .

나는 다음과 같은 것을 찾고 있습니다 :

\let\clearpage\relax
\tableofcontents
\*reactive it*

한 번 시도하면 \begingroup실패했습니다.

\begingroup
\let\clearpage\relax
\tableofcontents
\endgroup

어떤 아이디어가 있나요?

답변1

최소한 문서 클래스에서는 book빠른 테스트를 통해 다음을 제안합니다.\tableofcontents 그렇지 않다을 삽입 \clearpage하지만\chapter 하다. 따라서 \let\clearpage\relax.\chapter\tableofcontents​예를 들어 다음 예에서는 한 페이지에 조판합니다.

\documentclass{book}

\begin{document}

\tableofcontents

\begingroup
\let\clearpage\relax
\chapter{Hello, world!}
\endgroup
And goodbye.

\end{document}

위의 문서는 한 페이지에 렌더링됩니다(페이지 번호 없음).


질문에 대한 답변이지만 문제를 해결하지 못하는 이전 답변입니다(어쨌든 일반적으로 대신 \begingroup…을 사용해야 합니다 \endgroup).

다음을 저장하고 복원할 수 있습니다 \clearpage.

\let\oldclearpage\clearpage
\let\clearpage\relax
\tableofcontents
\let\clearpage\oldclearpage

\let단지 기존 명령과 중복되는 명령을 정의하면 됩니다.

  1. \let\oldclearpage\clearpage\oldclearpage와 동일 합니다 \clearpage.
  2. \let\clearpage\relax아무것도 하지 않는 명령인 \clearpage와 동일 합니다 .\relax
  3. \tableofcontentss는 아무것도 하지 않고 실행됩니다 \clearpage.
  4. 마지막으로, 원본과 동등한 와 동등하게 \let\clearpage\oldclearpage만듭니다 .\clearpage\oldclearpage\clearpage

답변2

\let\standardclearpage\clearpage
\let\clearpage\relax
\tableofcontents
%\*reactive it*
\let\clearpage\standardclearpage

관련 정보