请问如何实现页码为下图这种样式?

发布于 2024-03-10 23:28:41
关注者
0
被浏览
740
1 个回答
Sagittarius Rover
Sagittarius Rover 2025-01-12
我要成为Typst糕手/(ㄒoㄒ)/~~

我不太擅长TikZ,如果对效果不满意可以自己修改一下,下面的代码也不太优雅...

可以使用fancyhdr宏包实现...

\documentclass[fontset=ubuntu]{ctexart}
\usepackage{zhlipsum}
\usepackage{tikz}
\usepackage{fancyhdr}
\newcommand*{\mypagestyle}[1]{%
    \begin{tikzpicture}[baseline={(0,0)},anchor=center,line cap=round]%
        \node[minimum width=1.5cm,inner sep=3pt] (O) {#1};
        \draw (O.north) -- (O.north west) arc (270:90:.05cm) -- ([xshift=.3cm,yshift=.1cm]O.north west) arc (270:450:.05cm) -- ++(-1.5cm,0) -- ([xshift=-.5cm,yshift=.15cm]O.west) -- ([xshift=-1.2cm,yshift=.1cm]O.south west) -- ([xshift=-.05cm,yshift=.1cm]O.south west);%
        \draw (O.north) -- (O.north east) arc (270:450:.05cm) -- ([xshift=-.3cm,yshift=.1cm]O.north east) arc (270:90:.05cm)-- ++(1.5cm,0)-- ([xshift=.5cm,yshift=.15cm]O.east) -- ([xshift=1.2cm,yshift=.1cm]O.south east) -- ([xshift=.05cm,yshift=.1cm]O.south east);%
        \draw ([yshift=.05cm,xshift=-.05cm]O.north west) -- ([xshift=-.05cm]O.south west) arc (180:270:.05cm) --([yshift=-.05cm]O.south east) arc (270:360:.05cm) -- ([xshift=.05cm,yshift=.05cm]O.north east);%
        \filldraw[fill=gray!30,draw] ([yshift=.15cm,xshift=.35cm]O.north west) -- ++(0,-.15cm) -- ++(-.35cm,0) arc (270:90:.05cm) -- ([xshift=.3cm,yshift=.1cm]O.north west) arc (270:360:.05cm);%
        \filldraw[fill=gray!30,draw] ([yshift=.15cm,xshift=-.35cm]O.north east) -- ++(0,-.15cm)-- ++(.35cm,0)arc (270:450:.05cm)-- ([xshift=-.3cm,yshift=.1cm]O.north east) arc (270:90:.05cm);%
    \end{tikzpicture}
}%
\fancypagestyle{myfancy}{%   
   \fancyhf{}%
   \fancyfoot[C]{\mypagestyle{\thepage}}%
   \renewcommand{\headrulewidth}{0pt}%
   \renewcommand{\footrulewidth}{0pt}%
}%
\pagestyle{myfancy}
\begin{document}
    \zhlipsum[1-10]
\end{document}

image.png

另外,在提问之前你又做了哪些尝试???在M$Office里找到一个样式直接在网上求实现???

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览