(패키지 .sty의) 텍스트가 mainmatter 섹션에 있는지 확인한 다음 일부 헤더를 포함 \pagestyle{LL}
하거나 다른 \pagestyle{plain}
헤더를 포함해야 합니다. 건설 \ifx\@mainmattertrue\pagestyle{LL}\else\pagestyle{plain}\fi
지역:
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{New}[2014/12/12]
\DeclareOption{LL}{\AtEndOfPackage{\llstyle}}
\ProcessOptions\relax
\RequirePackage{textcase}
\def\ps@LL{
%------------------Колонтитули---------------------
%------------------Верхні--------------------------
\renewcommand{\@evenhead}%
{\raisebox{0pt}[\headheight][0pt]{% начало блока
\vbox{\hbox to\textwidth{\strut
\small{\thepage\hfil\MakeUppercase{BlaBla}\hfil{GL}. \thechapter}}\hrule}}% конец блока
}% конец макроопределения
\renewcommand{\@oddhead}%
{\raisebox{0pt}[\headheight][0pt]{% начало блока
\vbox{\hbox to\textwidth{\strut
\small{{\S\hspace{1ex}}\thesection\hfil\MakeUppercase{Bla1}\hfil\thepage}}\hrule}}% конец блока
}% конец макроопределения
}
\def\@LLview{
\ifx\@mainmattertrue\pagestyle{LL}\else\pagestyle{plain}\fi
}
\def\llstyle
{
\@ifclassloaded{book}{\@LLview}{}
\@ifclassloaded{extbook}{\@LLview}{}
}
\endinput
작동하지 않습니다
\documentclass[12pt,twoside]{book}
\usepackage[cp1251]{inputenc}
\usepackage[english]{babel}
\usepackage[LL]{New}
\usepackage{lipsum}
\begin{document}
\frontmatter
\chapter{Intro}
\lipsum[1-6]
\mainmatter
\chapter{One}
\lipsum[1-10]
\end{document}
왜?
답변1
클래스 는 조건 book
을 정의합니다 \if@mainmatter
. 그래서
\if@mainmatter
<we are in the main matter>
\else
<we aren't in the main matter>
\fi
필요한 코드에 대한 구성표입니다. 예를 들어
\def\@LLview{%
\if@mainmatter
\pagestyle{LL}%
\else
\pagestyle{plain}%
\fi
}
이 들여쓰기 스타일은 필수는 아니지만 편리하다고 생각합니다. 당신 스타일대로라면 그럴 수도 있지
\def\@LLview{%
\if@mainmatter\pagestyle{LL}\else\pagestyle{plain}\fi
}
( %
첫 번째 줄 끝에서~이다필요).
처음에는 true로 설정되어 있습니다 \if@mainmatter
. 명령을 실행 \frontmatter
하고 \backmatter
이를 false로 설정하고 \mainmatter
true로 재설정합니다.
이 \@mainmattertrue
명령은 조건이 true를 반환하도록 설정하는 데 사용되며 비슷한 \@mainmatterfalse
.