EDITAR

EDITAR

Meu objetivo é realizar esse layout para um livro (possivelmente usando o fancyhdr, mas estou aberto a tudo):

insira a descrição da imagem aqui

onde o layout atual é representado em cinza. Em outras palavras, eu quero:

  • colocar a numeração das páginas no rodapé de cada página (exceto páginas de título de parte)
  • colocar o nome da parte atual em páginas pares (não especiais) (com o formato mostrado na imagem: PARTE I: XXX) + uma linha abaixo dela
  • colocar o nome do capítulo atual em páginas ímpares (não especiais) (com o formato mostrado na imagem: CAPÍTULO I: XXX) + uma linha abaixo dele

O que chamo de “páginas especiais” são as páginas do título da parte ou a primeira página de cada capítulo.

  1. Como fazer isso?
  2. Do ponto de vista de um editor profissional, quais alinhamentos devo escolher para o cabeçalho nas páginas pares (título da parte à esquerda/centro/direita?) e para o cabeçalho nas páginas ímpares (título do capítulo à esquerda/centro/direita?) (existe um alinhamento preferido/mais "natural"?)

Aqui está um exemplo de documento básico:

\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}

Responder1

Você pode tentar com

\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}

Você deve editar o estilo da fonte em \fancyhead[RO]{\leftmark}e \fancyhead[LE]{Partie \thepart: \parttitle}. Além disso, talvez você precise trabalhar com \thispagestyle{empty}páginas em branco antes do novo capítulo e da nova parte.

Coloquei %antes dos \usepackage[T1]{fontenc}devidos problemas com o compilador de látex online. Também

Responder2

O seguinte fará o que você diz que deseja. Não tenho certeza se é isso que você deseja, mas sua milhagem pode variar.

\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

parte e capítulo

Código completo:

\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}

EDITAR

A razão pela qual não tenho certeza se o que foi dito acima é o que você deseja é porque acho que parece peculiar quando há uma página em branco entre os capítulos. Você pode discordar, mas, caso contrário, poderá eliminá-los, se desejar.

Se você não quiser cabeçalhos nas páginas entre os capítulos, mas quiser um número de página, adicione

\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.}}

Se você também não quiser um número de página, mude plainpara empty.

A propósito, minha opinião pessoal é que esses cabeçalhos são muito pesados ​​e distraem. Estão sublinhados, em todas as letras maiúsculas e no centro. Eu recomendaria uma abordagem mais sutil, que fornecesse informações sem desviar o olhar do conteúdo do texto. (Abandone a regra ou mova o cabeçalho para um lado ou outro e livre-se da capitalização ou....)

Responder3

Você pode corrigir \parto problema \partmarkem vez de \markboth{}{}, da mesma forma que \chapteros problemas \chaptermark. Depois é só definir adequadamente essas duas macros.

\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}

Observe que é necessário um truque peculiar para colocar os dois pontos franceses nos cabeçalhos. Basicamente, \partmarke \chaptermarksão definidos com uma versão ativa dos dois pontos.

Como fazemos o patch após o carregamento hyperref, precisamos corrigir \H@old@partem vez de `\@part.

Não negligencie o aviso fancyhdrsobre a altura da cabeça; Adicionei a configuração sugerida às opções de geometry.

insira a descrição da imagem aqui

informação relacionada