将水平线放在章节标题和修改后的页码下方,并用方框围绕它

将水平线放在章节标题和修改后的页码下方,并用方框围绕它

我想将水平线放在章节标题下方,如下图所示:

在此处输入图片描述

第二个我想修改页码,把它放在矩形框中,如下面第二和第三个图所示 在此处输入图片描述 在此处输入图片描述

你能教我怎么做吗?提前谢谢!

答案1

部分图块的格式化是使用titlesec及其explicit选项;页码的格式是使用 完成的\fcolorbox,其放置是使用fancyhdr。仅提供了页码。由于未请求,因此未提供页眉中的其他元素,但可以使用fancyhdr功能轻松完成。

\documentclass{book}
\usepackage{xcolor}
\usepackage{fancyhdr}
\usepackage[explicit]{titlesec}
\usepackage{lipsum}

\newsavebox\mybox
\newlength\secnumwd

\definecolor{mydarkblue}{RGB}{0,163,243}
\definecolor{mylightblue}{RGB}{191,233,251}

\titleformat{\section}
  {\normalfont\Large\sffamily\color{mydarkblue}}
  {}
  {-5em}
  {%
    \savebox\mybox{\normalfont\Large\sffamily\color{mydarkblue}\bfseries\thesection}%
    \settowidth\secnumwd{\usebox\mybox}%    
    \parbox[t]{\secnumwd}{{\bfseries\thesection}}\hspace{1em}%
    \parbox[t]{\dimexpr\textwidth+5em-\secnumwd-1em\relax}{#1}%
  }
  [\vskip-1.75ex\hskip-5em{\color{gray!60}\titlerule[2pt]}]
\titleformat{name=\section,numberless}
  {\normalfont\Large\sffamily\color{mydarkblue}}
  {}
  {-5em}
  {#1}
  [\vskip-1.75ex\hskip-5em{\color{gray!60}\titlerule[2pt]}]

\newcommand\FrameBoxL[1]{%
  \fcolorbox{mylightblue}{mydarkblue}{\makebox[3cm][l]{\textcolor{white}{\bfseries#1}}}%
}
\newcommand\FrameBoxR[1]{%
  \fcolorbox{mylightblue}{mydarkblue}{\makebox[3cm][r]{\textcolor{white}{\bfseries#1}}}%
}

\pagestyle{fancy}
\fancyheadoffset[EL]{\dimexpr1in+\evensidemargin+\hoffset\relax}
\fancyheadoffset[OR]{\dimexpr\paperwidth-\oddsidemargin-1in-\textwidth-\hoffset\relax}
\fancyhf{}
\renewcommand\headrulewidth{0pt}
\fancyhead[OR]{\FrameBoxL{\thepage}}
\fancyhead[EL]{\FrameBoxR{\thepage}}

\begin{document}

\chapter{A test chapter}
\section{Test numbered section}
\lipsum[4]
\section*{Test unnumbered section}
\lipsum[1-10]

\end{document}

章节标题的放大图像:

在此处输入图片描述

结果图像显示了具有所请求格式的页码:

在此处输入图片描述

相关内容