본문의 장 첫 번째 페이지에서는 페이지 번호 매기기를 억제하지만 앞부분에서는 *않습니다*

본문의 장 첫 번째 페이지에서는 페이지 번호 매기기를 억제하지만 앞부분에서는 *않습니다*

북클래스를 이용하고 있어요. 내 주요 내용의 모든 장 첫 번째 페이지에서 페이지 스타일(페이지 번호, 머리글, 바닥글)을 억제하고 싶지만~ 아니다in \frontmatter- 바닥글(오른쪽 모서리)에 로마 숫자를 넣고 싶습니다.

다음을 사용하여 문서 전체의 모든 장 첫 페이지에서 페이지 스타일을 억제할 수 있습니다.

\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                \thispagestyle{empty}% original style: plain
                \global\@topnum\z@
                \@afterindentfalse
                \secdef\@chapter\@schapter}
\makeatother

그러나 이는 \pagestyle{empty}머리말의 모든 "장"의 첫 번째 페이지에도 를 부과하므로 TOC 페이지에 번호가 매겨지지 않습니다. TOC 페이지에 번호를 매기고 싶지만 어떻게 해야 할지 모르겠습니다.

MWE:

\documentclass[a4paper,11pt,titlepage,oneside,openany]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kantlipsum}
% empty style for the first page of every chapter
\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                \thispagestyle{empty}% original style: plain
                \global\@topnum\z@
                \@afterindentfalse
                \secdef\@chapter\@schapter}
\makeatother

\usepackage{makeidx}

\usepackage[titles]{tocloft}

\usepackage{fancyhdr}
\fancyhead{} % clear default layout
\fancyfoot{} % clear default layout
\fancypagestyle{mainmatter}{%
\fancyhead[L]{\sffamily \small \color{darkgray}\MakeUppercase{\bfseries        \leftmark}}  
\fancyhead[R]{\nouppercase \scshape \small \thepage}
}

\fancypagestyle{frontmatter}{%
\fancyhead[L]{}
\fancyhead[R]{}
\fancyfoot[R]{\thepage}
}

\begin{document}
\frontmatter
\pagestyle{frontmatter}% frontmatter page style
\clearpage
\tableofcontents
\clearpage % with tocloft we need this
\listoffigures
\clearpage % with tocloft we need this
\listoftables
\clearpage

\mainmatter
\pagestyle{mainmatter}

\chapter{A}
\kant
\chapter{B}
\kant
\chapter{C}
\kant
\end{document}

답변1

memoir문서 섹션 \if@mainmatter에 있는지 여부를 조건으로 사용하는 데 사용할 수 있는 조건을 제공합니다 .\mainmatter

\documentclass[a4paper,11pt,titlepage,oneside,openany]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kantlipsum}
% empty style for the first page of every chapter, except in \frontmatter
\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                \if@mainmatter
                  \thispagestyle{empty}% plain page style in mainmatter
                \else
                  \thispagestyle{plain}% empty page style outside of mainmatter
                \fi%
                \global\@topnum\z@
                \@afterindentfalse
                \secdef\@chapter\@schapter}
\makeatother

\usepackage{makeidx}

\usepackage[titles]{tocloft}

\usepackage{fancyhdr}
\fancyhead{} % clear default layout
\fancyfoot{} % clear default layout
\fancypagestyle{mainmatter}{%
\fancyhead[L]{\sffamily \small \color{darkgray}\MakeUppercase{\bfseries        \leftmark}}  
\fancyhead[R]{\nouppercase \scshape \small \thepage}
}

\fancypagestyle{frontmatter}{%
\fancyhead[L]{}
\fancyhead[R]{}
\fancyfoot[R]{\thepage}
}

\begin{document}
\frontmatter
\pagestyle{frontmatter}% frontmatter page style
\clearpage
\tableofcontents
\clearpage % with tocloft we need this
\listoffigures
\clearpage % with tocloft we need this
\listoftables
\clearpage

\mainmatter
\pagestyle{mainmatter}

\chapter{A}
\kant
\chapter{B}
\kant
\chapter{C}
\kant
\end{document}

empty나는 각각 주요 내용과 머리말의 챕터 페이지 스타일로 및를 사용했지만 plain원하는 대로 이를 업데이트하거나 자신만의 새로운 스타일을 만들 수도 있습니다.

또한 memoir머리글/바닥글을 생성하는 기능을 제공하므로 필요하지 않습니다.fancyhdr이를 위해.

답변2

그만큼titlesec패키지는 \assignpagestyle{\chapter}{<style>}마찬가지로 사용할 수 있지만 \pagestyle각 장의 첫 페이지만 변경하는 명령을 제공합니다. 을 사용하여 수행하는 것과 동일 \thispagestyle{}하지만 명시적으로 갱신하지 않습니다 \chapter.

관련 정보