
나는 책 클래스를 사용하고 있으며 기존 명령인 \@makechapterhead를 갱신하고 싶습니다. 원래 명령은 p.32에 나와 있습니다.이 문서. 특히 811번째 줄의 간격을 50에서 30으로 변경하고 싶어서 다음과 같이 했습니다.
\renewcommand{\@makechapterhead}{
\def\@makechapterhead#1{%
\vspace*{30\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
⟨book⟩ \if@mainmatter
\huge\bfseries \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
⟨book⟩ \fi
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
}
그런데 \@makechapterhead 정의에 잘못된 매개변수 번호가 있다는 오류가 발생했습니다. 이 문제를 어떻게 해결합니까?
감사해요.
답변1
문서의 서문에 다음을 추가할 수 있습니다.
\makeatletter
\let\@makechapterhead@ori\@makechapterhead
\renewcommand{\@makechapterhead}[1]{\vspace*{-20\p@}\@makechapterhead@ori{#1}}
\makeatother
의 원래 정의는 \@makechapterhead
에 백업되어 있습니다 \@makechapterhead@ori
. 다음으로 20pt의 네거티브 수직을 추가한 후 원본을 \@makechapterhead
적용합니다. 결과적으로 원하는 대로 50-20 = 30pt의 수직 공간을 얻게 되었습니다.