fancyhdr - 科赫雪花是 \headrule 的一部分

fancyhdr - 科赫雪花是 \headrule 的一部分

我已重新定义 \headrule 以包含 \usetikzlibrary{decorations.fractals} 包中的 Koch Snowflake 部分。这是我的代码和屏幕截图:

\documentclass[10pt]{article}
\usepackage{fancyhdr}
\usepackage{tikz}
\usetikzlibrary{decorations.fractals}

\renewcommand\headrule{%
    \vspace{-0.75in}
    \hrulefill
    {\tikz[decoration=Koch snowflake]{\draw decorate{ decorate{ decorate{ (0,-2) -- (3,-2) }}};}}
}

\fancypagestyle{firstpage}{
    \fancyhead[L]{Name:}
    \fancyhead[C]{Period:}
}

\begin{document}
\thispagestyle{firstpage}

First Page

\end{document}

在此处输入图片描述 我的目标是让雪花的第 n 次迭代与文档的第 n 页相对应(我的文档只有大约 5-6 页)。我的想法是使用某种类型的 for 循环来执行此操作。我设想了类似的东西,我正在重新定义每个页面的 headrule。

\foreach \x in {1,...,final page}{%

\renewcommand\headrule{%

%%something with koch snowflake here%%

}

}

我认为我需要的装饰命令数量等于 \thepage。我确信有办法做到这一点,但我搞不清楚。任何帮助都非常感谢!

答案1

您可以递归定义一个宏,在每个页面上拾取一个新的decorate。这是通过

\xdef\MyDeco{decorate{\MyDeco}}

\documentclass[10pt]{article}
\usepackage{fancyhdr}
\usepackage{tikz}
\usetikzlibrary{decorations.fractals}
\setlength\headheight{16pt}
\renewcommand\headrule{%
    \vspace{-0.75in}
    \hrulefill
    {\tikz[decoration=Koch snowflake]{\draw \MyDeco;}}%
    \xdef\MyDeco{decorate{\MyDeco}}%
}
\xdef\MyDeco{decorate{ (0,-2) -- (3,-2) }}
\fancypagestyle{firstpage}{
    \fancyhead[L]{Name:}
    \fancyhead[C]{Period:}
}

\pagestyle{firstpage}

\begin{document}

First Page
\clearpage
Second Page
\clearpage
Third Page
\clearpage
Fourth Page

\end{document}

在此处输入图片描述

相关内容