\documentclass[twoside,11pt]{book}
\usepackage[left=2.5cm,right=2cm,top=2cm,bottom=2cm,papersize={15.5cm,23.5cm}]{geometry}
\usepackage{fancyhdr,xcolor,lipsum}
\fancyhead{}
\fancyfoot{}
\colorlet{myfancycolor}{black}
\fancypagestyle{mystyle}{
\renewcommand*\headrulewidth{1pt}
\fancyhead[OR]{%
\color{myfancycolor}\rule{2em}{2em}\raisebox{0.5em}{\hspace{-2em}\color{white}\makebox[2em][c]{\textsf{\thepage}}}%
\vspace*{-0.8em}%
}
\fancyhead[OL]{%
\leftmark
}
\fancyhead[EL]{%
\color{myfancycolor}\rule{2em}{2em}\raisebox{0.5em}{\hspace{-2em}\color{white}\makebox[2em][c]{\textsf{\thepage}}}%
\vspace*{-0.8em}%
}
\fancyhead[ER]{%
\rightmark
}
}
\pagestyle{mystyle}
\begin{document}
\chapter{CHAPTER ONE}
\section{Numerical Solution for Diffusion Equation with Neumann Boundary
Condition}
\lipsum[1-4]
\end{document}
我的章节标题很长。我使用“黑框”显示页码。在页眉中,章节显示在页码后面。如何添加缩进以使章节显示在页码右侧?
答案1
长章节标题的问题在fancyhdr
文档。
据此,您可以采用这三种解决方案之一。
- 您可以使用命令中的可选参数
\section
插入将显示在标题上的较短标题。代码:
\documentclass[twoside,11pt]{book}
\usepackage[left=2.5cm,right=2cm,top=2cm,bottom=2cm,papersize={15.5cm,23.5cm}]{geometry}
\usepackage{fancyhdr,xcolor,lipsum}
\fancyhead{}
\fancyfoot{}
\colorlet{myfancycolor}{black}
\fancypagestyle{mystyle}{
\renewcommand*\headrulewidth{1pt}
\fancyhead[OR]{%
\color{myfancycolor}\rule{2em}{2em}\raisebox{0.5em}{\hspace{-2em}\color{white}\makebox[2em][c]{\textsf{\thepage}}}%
\vspace*{-0.8em}%
}
\fancyhead[OL]{%
\leftmark
}
\fancyhead[EL]{%
\color{myfancycolor}\rule{2em}{2em}\raisebox{0.5em}{\hspace{-2em}\color{white}\makebox[2em][c]{\textsf{\thepage}}}%
\vspace*{-0.8em}%
}
\fancyhead[ER]{%
\rightmark
}
}
\pagestyle{mystyle}
\begin{document}
\chapter{CHAPTER ONE}
\section[Numerical Solution]{Numerical Solution for Diffusion Equation with Neumann Boundary
Condition}
\lipsum[1-4]
\end{document}
- 您可以使用
truncate
包。代码:
\documentclass[twoside,11pt]{book}
\usepackage[left=2.5cm,right=2cm,top=2cm,bottom=2cm,papersize={15.5cm,23.5cm}]{geometry}
\usepackage{fancyhdr,xcolor,lipsum}
\usepackage[fit]{truncate} %--> Added
\fancyhead{}
\fancyfoot{}
\colorlet{myfancycolor}{black}
\fancypagestyle{mystyle}{
\renewcommand*\headrulewidth{1pt}
\fancyhead[OR]{%
\color{myfancycolor}\rule{2em}{2em}\raisebox{0.5em}{\hspace{-2em}\color{white}\makebox[2em][c]{\textsf{\thepage}}}%
\vspace*{-0.8em}%
}
\fancyhead[OL]{%
\leftmark
}
\fancyhead[EL]{%
\color{myfancycolor}\rule{2em}{2em}\raisebox{0.5em}{\hspace{-2em}\color{white}\makebox[2em][c]{\textsf{\thepage}}}%
\vspace*{-0.8em}%
}
\fancyhead[ER]{%
\truncate{0.9\headwidth}{\rightmark} %--> changed
}
}
\pagestyle{mystyle}
\begin{document}
\chapter{CHAPTER ONE}
\section{Numerical Solution for Diffusion Equation with Neumann Boundary Condition}
\lipsum[1-4]
\end{document}
- 使用
\sectionmark
命令明确指定标题的较短标题。为了在所有可能的场景和目录中正确显示标题,您需要多次使用该\section
命令的可选参数。因此,包作者建议使用这样的宏\newcommand{\LongSection}[2]{\section[#1]{#1\sectionmark{#2}}\sectionmark{#2}}
。代码:
\documentclass[twoside,11pt]{book}
\usepackage[left=2.5cm,right=2cm,top=2cm,bottom=2cm,papersize={15.5cm,23.5cm}]{geometry}
\usepackage{fancyhdr,xcolor,lipsum}
\fancyhead{}
\fancyfoot{}
\colorlet{myfancycolor}{black}
\fancypagestyle{mystyle}{
\renewcommand*\headrulewidth{1pt}
\fancyhead[OR]{%
\color{myfancycolor}\rule{2em}{2em}\raisebox{0.5em}{\hspace{-2em}\color{white}\makebox[2em][c]{\textsf{\thepage}}}%
\vspace*{-0.8em}%
}
\fancyhead[OL]{%
\leftmark
}
\fancyhead[EL]{%
\color{myfancycolor}\rule{2em}{2em}\raisebox{0.5em}{\hspace{-2em}\color{white}\makebox[2em][c]{\textsf{\thepage}}}%
\vspace*{-0.8em}%
}
\fancyhead[ER]{%
\rightmark
}
}
\newcommand{\LongSection}[2]{\section[#1]{#1\sectionmark{#2}}\sectionmark{#2}}
\pagestyle{mystyle}
\begin{document}
\chapter{CHAPTER ONE}
\LongSection{Numerical Solution for Diffusion Equation with Neumann Boundary Condition}{Numerical Solution}
\lipsum[1-4]
\end{document}