編集

編集

私の目標は、本にこのレイアウトを実現することです (おそらく fancyhdr を使用しますが、何でも構いません)。

ここに画像の説明を入力してください

現在のレイアウトは灰色で表示されます。言い換えると、次のようになります。

  • 各ページのフッターにページ番号を付ける(部分タイトルページを除く)
  • 偶数ページ(特別でないページ)に現在のパートの名前を記入する(図に示す形式:PART I: XXX)+その下に線を引く
  • 奇数ページ(特別でないページ)に現在の章の名前を記入する(図に示す形式:CHAPTER I: XXX)+その下に線を引く

私が「特別ページ」と呼んでいるのは、パートタイトルのページや各章の最初のページです。

  1. どうやってするか?
  2. プロの編集者の観点から、偶数ページのヘッダー(パートタイトルを左/中央/右に配置する)と奇数ページのヘッダー(章タイトルを左/中央/右に配置する)にはどのような配置を選択すればよいでしょうか(推奨される/より「自然な」配置はありますか)。

基本的なドキュメントの例を次に示します。

\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}新しい章や新しいパートの前に白いページ用の の作業が必要になる場合があります。

私はオンラインLaTeXコンパイラの問題を%先に述べました。また\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

をissuesの場合と同様に、 の代わりに\partissue にパッチを適用できます。その後は、これら 2 つのマクロを適切に定義するだけです。\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と は\chaptermarkコロンのアクティブ バージョンで定義されます。

をロードした後にパッチを適用するので、 `\@part. の代わりにhyperrefパッチを適用する必要があります。\H@old@part

ヘッドの高さに関する警告を無視しないでくださいfancyhdr。 のオプションに推奨設定を追加しましたgeometry

ここに画像の説明を入力してください

関連情報