我想将水平线放在章节标题下方,如下图所示:
第二个我想修改页码,把它放在矩形框中,如下面第二和第三个图所示
你能教我怎么做吗?提前谢谢!
答案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}
章节标题的放大图像:
结果图像显示了具有所请求格式的页码: