나는 내 논문에 다른 제목을 삽입하려고 노력해 왔습니다.
요구 사항은 로마자로 머리말을 표시하고 섹션이나 장의 이름을 표시하는 것입니다. 주요 부분의 제목에는 장 번호, 장 제목, 페이지 번호를 표시해야 합니다. 배경 내용은 다시 주요 부분과 동일하게 표시되므로 장 번호, 제목 및 페이지 번호가 표시됩니다. 꽤 쉬운 것 같습니다. 그러나 나는 어려움을 겪고 있습니다.
다음 코드를 시도했습니다. 그것은 앞부분에 잘 작동합니다. 메인과 백매터는 예상한 결과를 보여주지 않습니다. 본론에서는 장번호가 표시되지 않으며, "rightmark" 페이지에는 장 세부정보 대신 해당 절이 표시됩니다.
백매터도 마찬가지다. 머리글에 제목이 두 번 표시되지만 장 번호나 페이지 번호는 표시되지 않습니다.
첨부하면 동등한 코드를 찾을 수 있습니다.
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancypagestyle{main}{%
\fancyhf{}
%\fancyhead[EL,OR]{\textsl{\rightmark}}
%\fancyhead[OL,ER]{\textsl{\rightmark}}
\fancyhead[EL]{\thepage}
\fancyhead[ER]{\leftmark}
\fancyhead[OL]{\leftmark}
\fancyhead[OR]{\thepage}
\renewcommand{\chaptermark}[1]{%
\markboth{\thechapter{} #1}{\thechapter{}#1}}
}
\fancypagestyle{plain}{%
\fancyhf{}
\fancyhead[L]{\nouppercase{\rightmark}}
\fancyhead[R]{\nouppercase{\leftmark}}
\fancyhead[EL]{\thepage}
\fancyhead[OR]{\thepage}
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{#1}}
}
\fancypagestyle{back}{%
\fancyhf{}
\fancyhead[EL]{\thepage}
\fancyhead[ER]{\leftmark}
\fancyhead[OL]{\leftmark}
\fancyhead[OR]{\thepage}
\renewcommand{\chaptermark}[1]{
\markboth{\thechapter{} #1}{\thechapter{}#1}}
}
\appto\frontmatter{\pagestyle{plain}}
\appto\mainmatter{\pagestyle{main}}
\appto\backmatter{\pagestyle{back}}
%**Another way of doing it is the following:**
\documentclass[12pt,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[a4paper,width=150mm, top=25mm, bottom=25mm, bindingoffset=6mm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
%\usepackage[scaled]{uarial}
\setsansfont{Arial}
%\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{siunitx}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[]{unicode-math}
\setmainfont[Mapping=tex-text,Numbers={OldStyle,Proportional},Ligatures={TeX, Common}]{TeX Gyre Termes}
\setmonofont[Mapping=tex-text,Scale=0.8]{TeX Gyre Cursor}
\setsansfont[Mapping=tex-text,Numbers=OldStyle,Ligatures=Common]{TeX Gyre Heros}
\setmathfont[math-style=ISO,bold-style=ISO,vargreek-shape=TeX]{TeX Gyre Pagella Math}
\usepackage{makeidx}
\usepackage{multirow}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\fancypagestyle{plain}{%
\fancyhf{}
\fancyhead[L]{\nouppercase{\leftmark}}
\fancyhead[R]{\nouppercase{\leftmark}}
\fancyhead[EL]{\thepage}
\fancyhead[OR]{\thepage}
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{#1}}
}
%\fancypagestyle{main}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\chaptermark}[1]{
\markboth{\thechapter{} #1} {} }
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\nouppercase{\leftmark} }
\fancyhead[LO]{\nouppercase{\leftmark}
}
\graphicspath{images/}
\usepackage[style=alphabetic]{biblatex}
\addbibresource[style=alphabetic]{references.bib}
\usepackage{setspace}
\setstretch{1.1}
\usepackage{acronym}
\parindent0cm
\renewcommand*{\familydefault}{\sfdefault}
\makeatletter
% Define frontmatter, mainmatter and backmatter if not defined
\@ifundefined{frontmatter}{%
\newcommand{\frontmatter}{%
%In Roemischen Buchstaben nummerieren (i, ii, iii)
\pagenumbering{roman}
}
}{}
\@ifundefined{mainmatter}{%
% scrpage2 benoetigt den folgenden switch
% wenn \mainmatter definiert ist.
% \newif\if@mainmatter\@mainmattertrue
\newcommand{\mainmatter}{%
% -- Seitennummerierung auf Arabische Zahlen zuruecksetzen (1,2,3)
\pagenumbering{arabic}%
\setcounter{page}{1}%
}
}{}
\@ifundefined{backmatter}{%
% \newif\if@backmatter\@backmattertrue
\newcommand{\backmatter}{ %
%In Roemischen Buchstaben nummerieren (i, ii, iii)
\pagenumbering{roman}
}
}{}
\makeatother
\begin{document}
{\sffamily
%\maketitle
\begin{titlepage}
\begin{center}
\vspace*{2cm}
\begin{Huge}
{xx}
\end{Huge}
\vspace{0.5cm}
{\Large xx}
\vspace{1cm}
\textbf{xx}\\
\vspace{1cm}
zxx
\vspace{1cm}
\textbf{xx}
\vspace{0.5cm}
\textbf{(xx)}
\vspace{1cm}
von xx\\
\vspace{0.5cm}
xx \\
\vspace{0.5cm}
xx\\
\vspace{0.5cm}
xx\\
\vspace{1.5cm}
xx: \\
\vspace{0.5cm}
xx\\
\vspace{0.5cm}
xx\\
\vspace{1cm}
xx
% \includegraphics[width=0.4\textwidth]{university}
\end{center}
\end{titlepage}
\thispagestyle{empty}
\frontmatter
\pagestyle{plain}
\chapter{Vorwort}
\chapter{Danksagung}
xx
\chapter{Abstrakt}
xx
\chapter{Abstract}
xx
\chapter{Abkürzungsverzeichnis}
\begin{acronym}[SEPSEP]
\acro{abb}[Abb.]{Abbildung}
\end{acronym}
\newpage
\tableofcontents
\listoffigures
\listoftables
\mainmatter
\pagestyle{fancy}
\chapter{Einleitung}
xx
\chapter{ssssssssss}
xx
\chapter{eeeeeeeeee}
cccc
\backmatter
\appendix
\chapter{Anhang}
ffffffffff
}
\end{document}
답변1
백매터의 장은 번호가 없습니다. 그래서 페이지 헤더에도 번호를 매기지 않아야 한다고 생각합니다. 따라서 나는 \if@mainmatter
다음을 전역적으로 재정의하는 데 사용할 것입니다 \chaptermark
.
\makeatletter
\renewcommand{\chaptermark}[1]{\markboth{\if@mainmatter\thechapter{}\ \fi#1}{}}
\makeatother
예:
\documentclass[12pt]{book}
\usepackage[a4paper,width=150mm, top=25mm, bottom=25mm, bindingoffset=6mm]{geometry}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{}
\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\pagestyle{fancy}% before the redefinition of \chaptermark
\makeatletter
\renewcommand{\chaptermark}[1]{\markboth{\if@mainmatter\thechapter{}\ \fi#1}{}}
\makeatother
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO,RE]{\nouppercase{\leftmark}}
\renewcommand*{\familydefault}{\sfdefault}
\usepackage{lipsum}% nur für Fülltext
\begin{document}
\begin{titlepage}
\begin{center}
\Huge Titelseite\par
\normalsize
Weiterer Text auf der Titelseite
\end{center}
\end{titlepage}
\thispagestyle{empty}
\frontmatter
\chapter{Vorwort}
\lipsum[1]
\chapter{Danksagung}
\lipsum[2]
\chapter{Abstrakt}
\lipsum[3]
\chapter{Abstract}
\lipsum
\tableofcontents
\listoffigures
\listoftables
\mainmatter
\chapter{Einleitung}
\lipsum
\chapter{ssssssssss}
\lipsum
\chapter{eeeeeeeeee}
\lipsum
\backmatter
\appendix
\chapter{Anhang}
\lipsum
\end{document}
각 장의 첫 번째 페이지는 pagestyle 을 사용합니다 plain
. 동일한 레이아웃을 가져야 한다면 plain
프리앰블에서 fancypagestyle을 정의하세요.
\fancypagestyle{plain}{%
\fancyhf{}%
\fancyhead[LE,RO]{\thepage}%
\fancyhead[LO,RE]{\nouppercase{\leftmark}}%
}
또는
\fancypagestyle{plain}{}% change plain pagestyle to fancy
답변2
어쨌든 MWE를 만들어야 했기 때문에 여기에 있습니다.
\documentclass{book}
\usepackage{etoolbox}
\usepackage{lipsum}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancypagestyle{main}{%
\fancyhf{}
%\fancyhead[EL,OR]{\textsl{\rightmark}}
%\fancyhead[OL,ER]{\textsl{\rightmark}}
\fancyhead[EL]{\thepage}
\fancyhead[ER]{\leftmark}
\fancyhead[OL]{\leftmark}
\fancyhead[OR]{\thepage}
\def\chaptermark##1{\markboth{\thechapter{} ##1}{\thechapter{}##1}}%
}
\fancypagestyle{plain}{%
\fancyhf{}
\fancyhead[L]{\nouppercase{\rightmark}}
\fancyhead[R]{\nouppercase{\leftmark}}
\fancyhead[EL]{\thepage}
\fancyhead[OR]{\thepage}
\renewcommand{\chaptermark}[1]{%
\markboth{##1}{##1}}
}
\fancypagestyle{back}{%
\fancyhf{}
\fancyhead[EL]{\thepage}
\fancyhead[ER]{\leftmark}
\fancyhead[OL]{\leftmark}
\fancyhead[OR]{\thepage}
\renewcommand{\chaptermark}[1]{
\markboth{\thechapter{} ##1}{\thechapter{}##1}}
}
\appto\frontmatter{\pagestyle{plain}}
\appto\mainmatter{\pagestyle{main}}
\appto\backmatter{\pagestyle{back}}
\begin{document}
\frontmatter
\chapter{chapter}
\section{section}
\lipsum[1-10]
\mainmatter
\chapter{chapter}
\section{section}
\lipsum[1-10]
\backmatter
\chapter{chapter}
\section{section}
\lipsum[1-10]
\end{document}