一个精心制作的页眉样式
如下图这是一个比较漂亮的页眉样式的,适合我们比较清爽的学术书籍的页眉设计样式,有喜欢的用户可以看看其下面的代码设计,用于自己的报告或者学术书籍的样式里。
那么这个时候,需要TiKZ来进行配合制作设计即可,代码实现如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
\documentclass[12pt]{book}
\usepackage{tikz}
\usepackage[a4paper, margin=4cm, headheight=23pt]{geometry}
\usepackage{lipsum}
\usepackage{fancyhdr}
\pagestyle{fancy}
\newcommand{\X}{\phantom{X}} % Filler to define baseline of empty circles
\fancyhf{}
\DeclareRobustCommand{\bul}{\begin{tikzpicture}[baseline={(current bounding box.south)}]
\fill [blue!40,anchor=base,baseline] circle (1mm);
\end{tikzpicture}}
\renewcommand{\chaptermark}[1]{\markboth{Chapter \thechapter~%
\bul~#1}{}}
\renewcommand{\sectionmark}[1]{\markright{Section \thesection~%
\bul~#1}{}}
\renewcommand\headrulewidth{0pt}
\fancyhead[LO]{\leftmark}
\fancyhead[RE]{\rightmark}
\fancyhead[RO]
{\begin{tikzpicture}[baseline, every node/.style={minimum size=8mm, anchor=base}]
\path node at (0,0) [shape=circle, fill=blue!20] (0,0) {\X}
node at (1,0) [shape=circle, fill=blue!40] (0,0) {\X}
node at (2,0) [shape=circle, fill=blue!60] (0,0) {\thepage};
\end{tikzpicture}}
\fancyhead[LE]
{\begin{tikzpicture}[baseline, every node/.style={minimum size=8mm, anchor=base}]
\path node at (0,0) [shape=circle, fill=blue!60] (0,0) {\thepage}
node at (1,0) [shape=circle, fill=blue!40] (0,0) {\X}
node at (2,0) [shape=circle, fill=blue!20] (0,0) {\X};
\end{tikzpicture}}
\begin{document}
\chapter{Test Chapter}
\lipsum[1]
\section{Test Section}
\lipsum[1-15]
\newpage
\section{Test Section 2}
\lipsum[1-15]
\end{document}
|
选自:https://tex.stackexchange.com/questions/341478/an-elaborate-fancy-header-book-design/341509
%A1=[-4 -1;2 0],A2=[-2 1;3 -2],A3=[-3 1;5 -2]; %P1=[1 0;0 1],P2=[1 0;0 1],P3=[1 0;0 1]; %Q1=[2 0;0 2],Q2=[2 0;0 2],Q3=[2 0;0 2]; %P1=[10 0;0 10],P2=[10 0;0 10],P3=[10 0;0 10]; %Q1=[20 0;0 20],Q2=[20 0;0 20],Q3=[20 0;0 20]; A1=[-4 -1;2 0.1],A2=[-2 3;1 -2],A3=[-5 2;3 -2]; P1=[0.6 0.2;0.2 0.8],P2=[0.6 0.2;0.2 0.8],P3=[0.6 0.2;0.2 0.8]; Q1=[4 0.1;0.1 0.2],Q2=[2 -1.6;-1.6 1.2],Q3=[4.8 -1.6;-1.6 1.6]; M1=[1 0;0 1],M2=[1 0;0 1],M3=[1 0;0 1]; for k=1:100 M=-2*A1*A1'*P1-2*P1*A1*A1'-2*A1*P1*A1-2*A1'*P1*A1'-2*A1*Q1-2*Q1*A1'-2*M1+M2+M3-3*P1+2*P2+2*P3, N=-2*A2*A2'*P2-2*P2*A2*A2'-2*A2*P2*A2-2*A2'*P2*A2'-2*A2*Q2-2*Q2*A2'-2*M2+M1+M3-3*P2+2*P1+2*P3, O=-2*A3*A3'*P3-2*P3*A3*A3'-2*A3*P3*A3-2*A3'*P3*A3'-2*A3*Q3-2*Q3*A3'-2*M3+M1+M2-3*P3+2*P1+2*P2; R=-Q1-2*P1*A1-2*A1'*P1, S=-Q2-2*P2*A2-2*A2'*P2, T=-Q3-2*P3*A3-2*A3'*P3; M1=M1+2*P1-P2-P3, M2=M2-P1+2*P2-P3, M3=M3-P1-P2+2*P3; [U1,S1] = eig((M+M')/2), [U2,S2] = eig((N+N')/2), [U3,S3] = eig((O+O')/2), P1=U1*max(S1,[0 0;0 0])*U1', P2=U2*max(S2,[0 0;0 0])*U2', P3=U3*max(S2,[0 0;0 0])*U3', [U4,O1] = eig((R+R')/2), [U5,O2] = eig((S+S')/2), [U6,O3] = eig((T+T')/2), [m1,n1]=size(O1); for i=1:m1 for j=1:n1 if O1(i,j)>=1 B1(i,j)=O1(i,j); else B1(i,j)=0; end end end [m2,n2]=size(O2); for i=1:m2 for j=1:n2 if O2(i,j)>=1 B2(i,j)=O2(i,j); else B2(i,j)=0; end end end [m3,n3]=size(O3); for i=1:m3 for j=1:n3 if O3(i,j)>=1 B3(i,j)=O3(i,j); else B3(i,j)=0; end end end Q1=U4*B1*U4', Q2=U5*B2*U5', Q3=U6*B3*U6', %k=k+1; end
A1=[-4 -1;2 0],A2=[-2 1;3 -2],A3=[-3 1;5 -2]; %P1=[1 0;0 1],P2=[1 0;0 1],P3=[1 0;0 1]; %Q1=[2 0;0 2],Q2=[2 0;0 2],Q3=[2 0;0 2]; P1=[10 0;0 10],P2=[10 0;0 10],P3=[10 0;0 10]; Q1=[20 0;0 20],Q2=[20 0;0 20],Q3=[20 0;0 20]; %A1=[-4 -1;2 0.1],A2=[-2 3;1 -2],A3=[-5 2;3 -2]; %P1=[0.6 0.2;0.2 0.8],P2=[0.6 0.2;0.2 0.8],P3=[0.6 0.2;0.2 0.8]; %Q1=[4 0.1;0.1 0.2],Q2=[2 -1.6;-1.6 1.2],Q3=[4.8 -1.6;-1.6 1.6]; M1=[1 0;0 1],M2=[1 0;0 1],M3=[1 0;0 1]; for k=1:60 M=-2*A1*A1'*P1-2*P1*A1*A1'-2*A1*P1*A1-2*A1'*P1*A1'-2*A1*Q1-2*Q1*A1'+2*M1-M2-M3-5*P1+3*P2+3*P3, N=-2*A2*A2'*P2-2*P2*A2*A2'-2*A2*P2*A2-2*A2'*P2*A2'-2*A2*Q2-2*Q2*A2'+2*M2-M1-M3-5*P2+3*P1+3*P3, O=-2*A3*A3'*P3-2*P3*A3*A3'-2*A3*P3*A3-2*A3'*P3*A3'-2*A3*Q3-2*Q3*A3'+2*M3-M1-M2-5*P3+3*P1+3*P2; R=-Q1-2*P1*A1-2*A1'*P1, S=-Q2-2*P2*A2-2*A2'*P2, T=-Q3-2*P3*A3-2*A3'*P3; M1=M1-2*P1+P2+P3, M2=M2+P1-2*P2+P3, M3=M3+P1+P2-2*P3; [U1,S1] = eig((M+M')/2), [U2,S2] = eig((N+N')/2), [U3,S3] = eig((O+O')/2), P1=2*U1*max(S1,[0 0;0 0])*U1'-P1, P2=2*U2*max(S2,[0 0;0 0])*U2'-P2, P3=2*U3*max(S2,[0 0;0 0])*U3'-P3, [U4,O1] = eig((R+R')/2), [U5,O2] = eig((S+S')/2), [U6,O3] = eig((T+T')/2), [m1,n1]=size(O1); for i=1:m1 for j=1:n1 if O1(i,j)>=1 B1(i,j)=O1(i,j); else B1(i,j)=0; end end end [m2,n2]=size(O2); for i=1:m2 for j=1:n2 if O2(i,j)>=1 B2(i,j)=O2(i,j); else B2(i,j)=0; end end end [m3,n3]=size(O3); for i=1:m3 for j=1:n3 if O3(i,j)>=1 B3(i,j)=O3(i,j); else B3(i,j)=0; end end end Q1=2*U4*B1*U4'-Q1, Q2=2*U5*B2*U5'-Q2, Q3=2*U6*B3*U6'-Q3, %k=k+1; end