
내 목표는 책에 대한 이 레이아웃을 구현하는 것입니다(아마도 fancyhdr을 사용하지만 나는 모든 것에 열려 있습니다).
현재 레이아웃은 회색으로 표시됩니다. 즉, 나는 다음을 원한다:
- 각 페이지의 바닥글에 페이지 번호를 매기려면(부분 제목 페이지 제외)
- 현재 부분의 이름을 짝수(비특수) 페이지에 입력합니다(그림에 표시된 형식: PART I: XXX) + 그 아래 줄
- 현재 챕터의 이름을 홀수(비특수) 페이지에 입력합니다(그림에 표시된 형식: CHAPTER I: XXX) + 그 아래에 한 줄
내가 "특수 페이지"라고 부르는 것은 부분 제목의 페이지 또는 각 장의 첫 번째 페이지입니다.
- 그렇게하는 방법?
- 전문 편집자의 관점에서 짝수 페이지의 헤더(왼쪽/가운데/오른쪽에 있는 부분 제목)와 홀수 페이지의 헤더(왼쪽/가운데/오른쪽에 있는 장 제목)에 대해 어떤 정렬을 선택해야 합니까? (선호되는/더 "자연스러운" 정렬이 있습니까?)
다음은 기본 문서의 예입니다.
\documentclass[11pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{hyperref}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage{fancyhdr}
\usepackage{lipsum}
%Note: this is a very preliminary attempt...,
%Fancier solutions are welcome
%The page numbering does not work correctly
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead[LE]{\thepart} %How do I get the part name in capital letters
\fancyhead[RO]{\thechapter} %How do I get the chapter name in capital letters
\begin{document}
\mainmatter
\part{Premiere partie}
\chapter{Premier chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\chapter{Second chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\part{Deuxieme partie}
\chapter{Troisieme chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\chapter{Quatrieme chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}
답변1
당신은 시도 할 수 있습니다
\documentclass[11pt,a4paper]{book}
\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{hyperref}
\usepackage[head=15pt, top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage{lipsum}
\newcommand*\parttitle{}
\let\origpart\part
\renewcommand*{\part}[2][]{%
\ifx\\#1\\% optional argument not present?
\origpart{#2}%
\renewcommand*\parttitle{#2}%
\else
\origpart[#1]{#2}%
\renewcommand*\parttitle{#1}%
\fi
}
\usepackage{fancyhdr}\pagestyle{fancy}
\fancyhead{}
\fancyhead[RO]{\leftmark}
\fancyhead[LE]{Partie \thepart: \parttitle}
\fancyfoot{}
\fancyfoot[C]{\thepage}
\begin{document}
\part{Premiere partie}
\chapter{Premier chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\chapter{Second chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\part{Deuxieme partie}
\chapter{Troisieme chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\chapter{Quatrieme chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}
\fancyhead[RO]{\leftmark}
및 에서 글꼴 스타일을 편집해야 합니다 \fancyhead[LE]{Partie \thepart: \parttitle}
. 또한 \thispagestyle{empty}
새 장과 새 부분 이전에 흰색 페이지에 대한 작업이 필요할 수도 있습니다.
나는 온라인 라텍스 컴파일러에 문제가 있기 %
전에 먼저 생각했습니다. \usepackage[T1]{fontenc}
또한
답변2
다음은 당신이 원하는 것을 할 것입니다. 그것이 당신이 원하는 것인지 확실하지 않지만 마일리지는 다를 수 있습니다.
\pagestyle{fancy}
\fancyhf{}
\fancyhf[coh]{\rightmark}
\fancyhf[ceh]{\leftmark}
\fancyhf[cf]{\thepage}
\renewcommand\chaptermark[1]{\markright{\MakeUppercase{\chaptername{} \thechapter: #1}}}
\makeatletter
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{\MakeUppercase{\partname{} \thepart: #1}}{}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge\bfseries \partname\nobreakspace\thepart
\par
\vskip 20\p@
\fi
\Huge \bfseries #2\par}%
\@endpart}
\makeatother
전체 코드:
\documentclass[11pt,a4paper,french]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage{fancyhdr}
\usepackage{lipsum}
\pagestyle{fancy}
\fancyhf{}
\fancyhf[coh]{\rightmark}
\fancyhf[ceh]{\leftmark}
\fancyhf[cf]{\thepage}
\renewcommand\chaptermark[1]{\markright{\MakeUppercase{\chaptername{} \thechapter: #1}}}
\makeatletter
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{\MakeUppercase{\partname{} \thepart: #1}}{}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge\bfseries \partname\nobreakspace\thepart
\par
\vskip 20\p@
\fi
\Huge \bfseries #2\par}%
\@endpart}
\makeatother
\begin{document}
\mainmatter
\part{Premiere partie}
\chapter{Premier chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}
편집하다
위의 내용이 원하는 내용인지 확실하지 않은 이유는 장 사이에 빈 페이지가 있으면 이상해 보인다고 생각하기 때문입니다. 동의하지 않을 수도 있지만 그렇지 않은 경우 원하는 경우 제거할 수 있습니다.
장 사이의 페이지에 머리글을 원하지 않지만 페이지 번호를 원하는 경우 다음을 추가하십시오.
\usepackage{etoolbox,nextpage}
\patchcmd{\chapter}{\cleardoublepage}{\cleartooddpage[\thispagestyle{plain}]}{\typeout{Chapters successfully patched for no headers on pages between chapters.}}{\typeout{Could not patch chapters to eliminate headers on pages between chapters.}}
페이지 번호도 원하지 않으면 plain
으로 변경하세요 empty
.
그런데 내 개인적인 견해로는 이러한 헤더가 너무 무겁고 산만하다는 것입니다. 모두 대문자와 뱅 센터에 밑줄이 그어져 있습니다. 나는 텍스트의 내용에서 눈을 떼지 않으면서 정보를 제공하는 보다 미묘한 접근 방식을 권장합니다. (규칙을 삭제하거나 헤더를 한쪽 또는 다른 쪽으로 이동하고 대문자를 제거하거나....)
답변3
문제점 과 유사하게 대신 \part
문제점에 패치를 적용할 수 있습니다 . 그렇다면 이 두 매크로를 적절하게 정의하는 것이 문제입니다.\partmark
\markboth{}{}
\chapter
\chaptermark
\documentclass[11pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[top=1in, bottom=1in, left=1in, right=1in, headheight=13.6pt]{geometry}
\usepackage{fancyhdr}
\usepackage{etoolbox}
\usepackage{hyperref}
\usepackage{lipsum}
%Note: this is a very preliminary attempt...,
%Fancier solutions are welcome
%The page numbering does not work correctly
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhead[LE]{\leftmark}
\fancyhead[RO]{\rightmark}
\begingroup\lccode`~=`:
\lowercase{\endgroup
\newcommand{\partmark}[1]{%
\markboth{\MakeUppercase{\partname\space\thepart~ #1}}{}%
}
\renewcommand{\chaptermark}[1]{%
\markright{\MakeUppercase{\chaptername\space\thechapter~ #1}}%
}
}% end of \lowercase
\makeatletter
\patchcmd{\H@old@part}% would be \@part without hyperref
{\markboth{}{}}
{\partmark{#1}}
{}{}
\makeatother
\begin{document}
\mainmatter
\part{Premiere partie}
\chapter{Premier chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\chapter{Second chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\part{Deuxieme partie}
\chapter{Troisieme chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\chapter{Quatrieme chapitre}
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}
헤더에 프랑스어 콜론을 삽입하려면 특별한 트릭이 필요합니다. 기본적으로 \partmark
and는 \chaptermark
콜론의 활성 버전으로 정의됩니다.
를 로딩한 후에 패치를 하기 때문에 `\@part.dll 대신 hyperref
패치를 해야 합니다 .\H@old@part
fancyhdr
머리 높이에 대한 경고를 무시하지 마십시오 . 에 대한 옵션에 제안된 설정을 추가했습니다 geometry
.