% !TEX option = --shell-escape
% !TEX program = xelatex
\documentclass[fontset=fandol]{ctexart}

\setmainfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}

\usepackage{ragged2e}
\usepackage[svgnames]{xcolor}
\usepackage{pgfornament-han}
\usetikzlibrary{chains}
\usetikzlibrary{calc}
\usetikzlibrary{decorations}
\usetikzlibrary{decorations.text,decorations.markings}

\usepackage{cncolours}

\usepackage{geometry}
\geometry{hmargin=1in,vmargin=0.8in,headheight=10pt}

\usepackage{tcolorbox}
\tcbuselibrary{skins,raster}


%%%%%% 这段代码可以忽视，只是 --shell-escape 时调用 minted 不然就用 listings
\ifnum\shellescape=1
  \tcbuselibrary{minted}
  \setminted{breaksymbolleft={},breakindent=\ccwd}
  \newminted{latex}{}
  \newmintinline{latex}{}
\else
  \tcbuselibrary{listings}
  \newcommand{\latexinline}[1]{\lstinline|#1|}
  \lstnewenvironment{latexcode}{\lstset{language={[LaTeX]TeX}}}{}
  \lstset{basicstyle=\ttfamily}
\fi
%%%%%%%%


\tcbset{fonttitle=\kaishu\large\bfseries,colback=铅白!60!white,colbacktitle=绀青,coltitle=精白,colframe=墨灰}

\makeatletter
\newcommand{\getpgfornamenthanDim}[1]{%
 {\@pgfornamenthanDim{#1}宽：\@pgfornamentX\\高：\@pgfornamentY}%
}
\makeatother

\usepackage{fancyhdr}
\fancyhf{}
\renewcommand{\headrule}{}

\fancyhead[L]{%
\newbox{\fortyseven}
\savebox{\fortyseven}{\pgfornamenthan[scale=0.2,color=鸭卵青]{47}}
\tikzset{every node/.append style={inner sep=0pt,鸭卵青}}
\begin{tikzpicture}[overlay,remember picture]
\node[anchor=north west,shift={(14.5pt,-14.5pt)}] at (current page.north west)
  (nw) {\pgfornamenthan[scale=0.2]{25}};
\node[anchor=north east,shift={(-14.5pt,-14.5pt)}] at (current page.north east)
  (ne) {\pgfornamenthan[scale=0.2,symmetry=v]{25}};
\node[anchor=south west,shift={(14.5pt,14.5pt)}] at (current page.south west)
  (sw) {\pgfornamenthan[scale=0.2,symmetry=h]{25}};
\node[anchor=south east,shift={(-14.5pt,14.5pt)}] at (current page.south east)
  (se) {\pgfornamenthan[scale=0.2,symmetry=c]{25}};
%
\begin{scope}[start chain,node distance=0pt]
\node[anchor=north west,on chain] at (nw.north east) {\usebox{\fortyseven}};
\foreach \i in {1,...,15} {
  \node[on chain]{\usebox{\fortyseven}};
}
\end{scope}
%
\begin{scope}[start chain,node distance=0pt]
\node[anchor=south west,on chain] at (sw.south east) {\usebox{\fortyseven}};
\foreach \i in {1,...,6} \node[on chain]{\usebox{\fortyseven}};
\end{scope}
%
\begin{scope}[start chain=going left,node distance=0pt]
\node[anchor=south east,on chain] at (se.south west) {\usebox{\fortyseven}};
\foreach \i in {1,...,6} \node[on chain]{\usebox{\fortyseven}};
\end{scope}
%
% 垂直的话 chains 比较不好控制，我懒得折腾了，直接用 \foreach。
% 自己算一下， (47) 长度 155. 那么 scale = 0.2 的话……
\foreach \i in {0,...,21}
  \node[anchor=south west,rotate=-90,shift={($\i*(31bp,0)$)}] at (nw.south west)
    {\usebox{\fortyseven}};
%
\foreach \i in {0,...,21}
  \node[anchor=south east,rotate=90,shift={($\i*(-31bp,0)$)}] at (ne.south east)
    {\usebox{\fortyseven}};
%
%% 严格来说应该放在 \fancyfoot 吧，算了一样啦
\node[yshift=32pt,铜绿] at (current page.south) {\pgfornamenthan[scale=0.1]{51}};
\node[yshift=32pt,text=black] at (current page.south) {\large\thepage};
%
\end{tikzpicture}
}

\pagestyle{fancy}
\fancypagestyle{plain}{\pagestyle{fancy}}

\usepackage[colorlinks]{hyperref}

\title{汉风图纹 \texttt{pgfornament-han}}
\author{林莲枝、张晨南}
\date{2023/04/23\\\url{https://github.com/liantze/pgfornament-han}}

\begin{document}

\maketitle

\begin{abstract}
利用 \texttt{pgfornament} 宏包可以在 \LaTeX{} 文件里便捷地画出十分典雅漂亮的、欧式风格的花纹。（详情请自行访问 \url{http://ctan.org/pkg/pgfornament}）
 \texttt{pgfornament-han} 宏包的用意，正是为了尝试用 \texttt{pgfornament} 的已有机制，提供一些汉风的传统图纹。所有图纹均由\emph{张晨南}以 CAD 程式定稿、TikZ 绘制，再由\emph{林莲枝}转为适合 \texttt{pgfornament} 机制使用的宏包代码。
\end{abstract}

\part{基本用法}

\texttt{n} 为图纹编号的话，最简单的用法是 \latexinline{\pgfornamenthan[color=red,width=1.5cm]{n}}。
也可以用 \texttt{height} 或者 \texttt{scale} 设定大小。注意图纹比例是不变的，因此只有最后给出的选项有效。此外 \texttt{symmetry} 参数可以实现3种镜像，\texttt{v} (垂直）、\texttt{h}（水平）、\texttt{c}（中心=垂直+水平镜像），画边框的四个角点时很好用。其它TikZ 参数的应用：

\begin{latexcode}
\tikzset{pgfornamentstyle/.append style={draw=black,fill=red,line width=1}}
\pgfornamenthan[scale=2]{n}
\end{latexcode}

以下是一些范例。也记得翻到文档最后的附录，有惊喜。

\bigskip

\begin{tcblisting}{title={文本中的使用},listing side text,righthand width=5.5cm}
先来一个 \pgfornamenthan[color=blue,scale=0.18]{56}
寿字纹。原本的 \pgfornament[scale=0.2]{56} 依然可用。
\end{tcblisting}

\enlargethispage{\baselineskip}


\begin{tcblisting}{title={TikZ选项的应用},listing side text,righthand width=3cm}
\begin{tikzpicture}[baseline={(current bounding box.center)}]
  \tikzset{pgfornamentstyle/.style={
            draw=Goldenrod,fill=Red,line width=1pt}}
  \node[fill=black,circle,draw=Red,line width=2pt,inner sep=-8pt]
    at (0,0) {\pgfornamenthan[scale=0.38]{56}};
\end{tikzpicture}
\end{tcblisting}

\begin{tcblisting}{title={简单的边框范例}}

\begin{tikzpicture}[x=1pt,y=1pt]
    \tikzset{every node/.append style={inner sep=0pt,color=茜色}}
    \node (nw) {\pgfornamenthan[scale=0.35]{1}};
    \node[anchor=north west,right=140bp of nw] (ne) {\pgfornamenthan[symmetry=v,scale=0.35]{1}};
    \node[anchor=north west,below=0pt of nw] (sw) {\pgfornamenthan[symmetry=h,scale=0.35]{1}};
    \node[anchor=north east,below=0pt of ne] (se) {\pgfornamenthan[symmetry=c,scale=0.35]{1}};

    %% 用 pgfornmanet 自带的 \draw (A) to[ornamenthan=19] (B) 机制的话会导致线条高度跟着变化！只好折衷用tikz的 xscale 来实现加长了。\pgfornamenthan 本身的 scale 则要确保和角点的 scale 一致。
    \node[anchor=south west,xscale=2] at (sw.south east) {\pgfornamenthan[scale=0.35]{29}};

    %% 另外一种方法是用 decorations，同样需要注意一下各种长度参数
    \begin{scope}[decoration={markings,
      mark=between positions 0 and 0.75 step 70bp with
        { \node[transform shape,anchor=north west]{\pgfornamenthan[scale=0.35]{29}};}
      }]
      \draw[decorate] (nw.north east) -- (ne.north west);
    \end{scope}

  \node[font=\kaishu,align=center,xshift=70,text=black] at (nw.south east)
     {给我一片海棠红啊海棠红\\血一样的海棠红\\
     沸血的烧痛是乡愁的烧痛\\给我一片海棠红啊海棠红};
\end{tikzpicture}
\end{tcblisting}

\begin{tcblisting}{title={另一个简单的边框范例}}
\begin{tikzpicture}
  \tikzset{every node/.append style={铜绿,inner sep=0pt}}
  \node (nw) {\pgfornamenthan[scale=0.25]{12}};
  \node[right=50bp of nw] (ne) {\pgfornamenthan[scale=0.25,symmetry=v]{12}};
  \node[below=50bp of nw] (sw) {\pgfornamenthan[scale=0.25,symmetry=h]{12}};
  \node[below=50bp of ne] (se) {\pgfornamenthan[scale=0.25,symmetry=c]{12}};
  % 每个部件原宽度为200bp,因此绘画时如果以bp作为单位，会比较容易计算xscale的值。这里 scale=0.25 则部件有效宽度为50bp，刚好是两个角点符号之间的距离，因此不需要再设 xscale。
  \node[anchor=north west] at (nw.north east) {\pgfornamenthan[scale=0.25]{32}};
  \node[anchor=south west] at (sw.south east) {\pgfornamenthan[scale=0.25]{32}};
  \node[anchor=south west,rotate=-90] at (nw.south west) {\pgfornamenthan[scale=0.25]{32}};
  \node[anchor=south east,rotate=90] at (ne.south east) {\pgfornamenthan[scale=0.25]{32}};

\node[anchor=center,靛蓝,shift={(25bp,-25bp)}] at (nw.south east) {\pgfornamenthan[scale=0.5]{57}};
\end{tikzpicture}
\end{tcblisting}


\begin{tcblisting}{title=有些部件衔接可能需要手动\texttt{shift}}
  \begin{tikzpicture}\tikzset{every node/.append style={赤金,inner sep=0pt}}
    \node (nw) {\pgfornamenthan[scale=0.2]{23}};
    \node[right=53bp of nw] (ne) {\pgfornamenthan[scale=0.2,symmetry=v]{23}};
    \node[anchor=north west,xshift=2bp] at (nw.north east) {\pgfornamenthan[scale=0.2]{41}};
    \node[anchor=north east,xshift=-2bp] at (ne.north west) {\pgfornamenthan[scale=0.2,symmetry=v]{41}};
  \end{tikzpicture}
\end{tcblisting}

\begin{tcblisting}{listing only,title={框着整个页面的代码。很适合拿来设计奖状证书的有木有！}}
  \newbox{\fortyseven}
  \savebox{\fortyseven}{\pgfornamenthan[scale=0.2,color=鸭卵青]{47}}
  \tikzset{every node/.append style={inner sep=0pt,鸭卵青}}
  \begin{tikzpicture}[overlay,remember picture]
  \node[anchor=north west,shift={(14.5pt,-14.5pt)}] at (current page.north west)
    (nw) {\pgfornamenthan[scale=0.2]{25}};
  \node[anchor=north east,shift={(-14.5pt,-14.5pt)}] at (current page.north east)
    (ne) {\pgfornamenthan[scale=0.2,symmetry=v]{25}};
  \node[anchor=south west,shift={(14.5pt,14.5pt)}] at (current page.south west)
    (sw) {\pgfornamenthan[scale=0.2,symmetry=h]{25}};
  \node[anchor=south east,shift={(-14.5pt,14.5pt)}] at (current page.south east)
    (se) {\pgfornamenthan[scale=0.2,symmetry=c]{25}};
  %
  \begin{scope}[start chain,node distance=0pt]
  \node[anchor=north west,on chain] at (nw.north east) {\usebox{\fortyseven}};
  \foreach \i in {1,...,15} {
    \node[on chain]{\usebox{\fortyseven}};
  }
  \end{scope}
  %
  \begin{scope}[start chain,node distance=0pt]
  \node[anchor=south west,on chain] at (sw.south east) {\usebox{\fortyseven}};
  \foreach \i in {1,...,6} \node[on chain]{\usebox{\fortyseven}};
  \end{scope}
  %
  \begin{scope}[start chain=going left,node distance=0pt]
  \node[anchor=south east,on chain] at (se.south west) {\usebox{\fortyseven}};
  \foreach \i in {1,...,6} \node[on chain]{\usebox{\fortyseven}};
  \end{scope}
  %
  % 垂直的话 chains 比较不好控制，我懒得折腾了，直接用 \foreach。
  % 自己算一下， (47) 长度 155. 那么 scale = 0.2 的话……
  \foreach \i in {0,...,21}
    \node[anchor=south west,rotate=-90,shift={($\i*(31bp,0)$)}] at (nw.south west)
      {\usebox{\fortyseven}};
  %
  \foreach \i in {0,...,21}
    \node[anchor=south east,rotate=90,shift={($\i*(-31bp,0)$)}] at (ne.south east)
      {\usebox{\fortyseven}};
  %
  %% 严格来说应该放在 \fancyfoot 吧，算了一样啦
  \node[yshift=32pt,铜绿] at (current page.south) {\pgfornamenthan[scale=0.1]{51}};
  \node[yshift=32pt,text=black] at (current page.south) {\large\thepage};
  %
  \end{tikzpicture}
\end{tcblisting}

\part{纹样列表}

以下部件的原宽度、原高度皆以1bp为单元。


\setlength{\parindent}{0pt}\raggedright

\section{角点符号}

\subsection{接单线的角点符号}

有实心线型与对应的空心线型两种。以下皆同。

\bigskip


\foreach \n in {1,...,8}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}

\subsection{接双线的角点符号}

\foreach \n in {9,...,14}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}


\subsection{简单角点符号}

和其他角点符号配合，在一条对角线上使用其他角点符号，另一条对角 线上使用简单角点符号。

\bigskip

\foreach \n in {15,...,18}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}

\subsection{回纹的角点符号}

和连续的回纹配合。

\bigskip

\foreach \n in {19,...,22}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}

\bigskip\bigskip

和离散的回纹配合。

\bigskip

\foreach \n in {23,...,28}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}


\section{线型单元}

\subsection{单线、双线直线}

\foreach \n in {29,...,32}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}

\subsection{回字纹}

\subsubsection{连续}

\foreach \n in {33,...,36}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1.1cm) rectangle (1cm,0.9cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,height=0.6cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.9cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1.1cm) rectangle (2.8cm,0.9cm);
  \end{tikzpicture}\space\space
}%
\foreach \n in {37,...,40}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1.1cm) rectangle (1cm,0.9cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,height=1.1cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.9cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1.1cm) rectangle (2.8cm,0.9cm);
  \end{tikzpicture}\space\space
}

\subsubsection{离散}

\foreach \n in {41,...,44}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1.1cm) rectangle (1cm,0.9cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,height=0.6cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.9cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1.1cm) rectangle (2.8cm,0.9cm);
  \end{tikzpicture}\space\space
}

\subsubsection{离散连接}

\foreach \n in {45,...,48}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1.1cm) rectangle (1cm,0.9cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,height=0.6cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.9cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1.1cm) rectangle (2.8cm,0.9cm);
  \end{tikzpicture}\space\space
}

\subsubsection{圆周排布的回纹}
\foreach \n in {49,...,54}{%
  \begin{tikzpicture}
    \fill[牙色](-1.5cm,-1.5cm) rectangle (1.5cm,1.5cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=2.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0,0) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.6cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1.5cm,-1.5cm) rectangle (3.5cm,1.5cm);
  \end{tikzpicture}\space\space
}

\section{吉祥纹路}

\subsection{福字纹}

\foreach \n in {55}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}

\subsection{寿字纹}

\foreach \n in {56,57}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}

\section{云纹}

\subsection{对称符号}

\foreach \n in {58,...,61}{%
\begin{tikzpicture}
  \fill[牙色](-1.5cm,-1cm) rectangle (1.5cm,1cm);
  \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=2.8cm]{\n}};
  \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (1.3cm,-0.8cm) {\n};
  \node[anchor=west,text width=4em,font=\footnotesize] at (1.6cm,0) {\getpgfornamenthanDim{\n}};
  \draw[color=牙色] (1.5cm,-1cm) rectangle (3.5cm,1cm);
\end{tikzpicture}\space\space
}


\subsection{左右侧符号}

\foreach \n in {62,...,71}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}


\subsection{角落符号}

\foreach \n in {72,...,75}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}

\subsection{连接线}

\foreach \n in {76,...,77}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}

\section{动物}

\foreach \n in {78,...,78}{%
  \begin{tikzpicture}
    \fill[牙色](-1cm,-1cm) rectangle (1cm,1cm);
    \node[inner sep=0pt] (element) {\pgfornamenthan[color=茜色,width=1.8cm]{\n}};
    \node[inner sep=0pt,font=\footnotesize\bfseries\sffamily,color=紫檀] at (0.8cm,-0.8cm) {\n};
    \node[anchor=west,text width=4em,font=\footnotesize] at (1.1cm,0) {\getpgfornamenthanDim{\n}};
    \draw[color=牙色] (1cm,-1cm) rectangle (2.8cm,1cm);
  \end{tikzpicture}\space\space
}

\vfill

\begin{center}
\begin{tikzpicture}
  \tikzset{every node/.append style={铜绿,inner sep=0pt,node distance=0pt}}
  \node (nw) {\pgfornamenthan[scale=0.2]{6}};
  \node[right=100bp of nw] (ne) {\pgfornamenthan[scale=0.2,symmetry=v]{16}};
  \node[below=-8bp of nw] (sw) {\pgfornamenthan[scale=0.2,symmetry=h]{16}};
  \node[below=-8bp of ne] (se) {\pgfornamenthan[scale=0.2,symmetry=c]{6}};
  \node[anchor=north west,xscale=2.5] at (nw.north east) {\pgfornamenthan[scale=0.2]{30}};
  \node[anchor=south west,xscale=2.5] at (sw.south east) {\pgfornamenthan[scale=0.2]{30}};
  \node[font=\kaishu\Large,text=black,shift={(50bp,4bp)}] at (nw.south east) {待续};
\end{tikzpicture}
\end{center}

\clearpage
\appendix
\setlength{\parindent}{2\ccwd}\justifying
\ctexset{section/name={附录}}
\phantomsection\addcontentsline{toc}{part}{附录}

\section{传统中国颜色 \texttt{cncolours.sty}}

\begingroup


这是我比较早以前做的一个宏包了，色卡取自 \url{http://ylbook.com/cms/web/chuantongsecai/chuantongsecai.htm}。

感谢网友\href{https://github.com/heangfat}{\emph{端憲}}，加入了三正色，以及提供繁体中文的颜色名称。

\bigskip

\renewcommand{\baselinestretch}{2}
\newcommand\showcolour[1]{%
  \fcolorbox{乌黑}{#1}{\makebox[2em]{\phantom{M}}}~\makebox[5em][l]{#1}%
}

\begin{RaggedRight}
\showcolour{粉红}
\showcolour{妃色}
\showcolour{品红}
\showcolour{桃红}
\showcolour{海棠红}
\showcolour{石榴红}
\showcolour{樱桃色}
\showcolour{银红}
\showcolour{大红}
\showcolour{绛紫}
\showcolour{绯红}
\showcolour{胭脂}
\showcolour{朱红}
\showcolour{丹}
\showcolour{彤}
\showcolour{茜色}
\showcolour{火红}
\showcolour{赫赤}
\showcolour{嫣红}
\showcolour{洋红}
\showcolour{炎}
\showcolour{赤}
\showcolour{绾}
\showcolour{枣红}
\showcolour{檀}
\showcolour{殷红}
\showcolour{酡红}
\showcolour{酡颜}
\showcolour{鹅黄}
\showcolour{鸭黄}
\showcolour{樱草色}
\showcolour{杏黄}
\showcolour{杏红}
\showcolour{橘黄}
\showcolour{橙黄}
\showcolour{橘红}
\showcolour{姜黄}
\showcolour{缃色}
\showcolour{橙色}
\showcolour{茶色}
\showcolour{驼色}
\showcolour{昏黄}
\showcolour{栗色}
\showcolour{棕色}
\showcolour{棕绿}
\showcolour{棕黑}
\showcolour{棕红}
\showcolour{棕黄}
\showcolour{赭色}
\showcolour{琥珀}
\showcolour{褐色}
\showcolour{枯黄}
\showcolour{黄栌}
\showcolour{秋色}
\showcolour{秋香色}
\showcolour{嫩绿}
\showcolour{柳黄}
\showcolour{柳绿}
\showcolour{竹青}
\showcolour{葱黄}
\showcolour{葱绿}
\showcolour{葱青}
\showcolour{青葱}
\showcolour{油绿}
\showcolour{绿沉}
\showcolour{碧色}
\showcolour{碧绿}
\showcolour{青碧}
\showcolour{翡翠色}
\showcolour{草绿}
\showcolour{青色}
\showcolour{青翠}
\showcolour{青白}
\showcolour{鸭卵青}
\showcolour{蟹壳青}
\showcolour{鸦青}
\showcolour{绿色}
\showcolour{豆绿}
\showcolour{豆青}
\showcolour{石青}
\showcolour{玉色}
\showcolour{缥}
\showcolour{艾绿}
\showcolour{松柏绿}
\showcolour{松花绿}
\showcolour{松花色}
\showcolour{蓝}
\showcolour{靛青}
\showcolour{靛蓝}
\showcolour{碧蓝}
\showcolour{蔚蓝}
\showcolour{宝蓝}
\showcolour{蓝灰色}
\showcolour{藏青}
\showcolour{藏蓝}
\showcolour{黛}
\showcolour{黛绿}
\showcolour{黛蓝}
\showcolour{黛紫}
\showcolour{紫色}
\showcolour{紫酱}
\showcolour{酱紫}
\showcolour{紫檀}
\showcolour{绀青}
\showcolour{紫棠}
\showcolour{青莲}
\showcolour{群青}
\showcolour{雪青}
\showcolour{丁香色}
\showcolour{藕色}
\showcolour{藕荷色}
\showcolour{苍色}
\showcolour{苍黄}
\showcolour{苍青}
\showcolour{苍黑}
\showcolour{苍白}
\showcolour{水色}
\showcolour{水红}
\showcolour{水绿}
\showcolour{水蓝}
\showcolour{淡青}
\showcolour{湖蓝}
\showcolour{湖绿}
\showcolour{精白}
\showcolour{象牙白}
\showcolour{雪白}
\showcolour{月白}
\showcolour{缟}
\showcolour{素}
\showcolour{荼白}
\showcolour{霜色}
\showcolour{花白}
\showcolour{鱼肚白}
\showcolour{莹白}
\showcolour{灰色}
\showcolour{牙色}
\showcolour{铅白}
\showcolour{玄色}
\showcolour{玄青}
\showcolour{乌色}
\showcolour{乌黑}
\showcolour{漆黑}
\showcolour{墨色}
\showcolour{墨灰}
\showcolour{黑色}
\showcolour{缁色}
\showcolour{煤黑}
\showcolour{黧}
\showcolour{黎}
\showcolour{黝}
\showcolour{黝黑}
\showcolour{黯}
\showcolour{赤金}
\showcolour{金色}
\showcolour{银白}
\showcolour{铜绿}
\showcolour{乌金}
\showcolour{老银}
\showcolour{正青}
\showcolour{正赤}
\showcolour{正黄}
\end{RaggedRight}

\clearpage

\CJKfontspec{Noto Serif CJK TC}
以下是繁體中文字體名稱，由網友\href{https://github.com/heangfat}{\emph{端憲}}提供。姜黃、薑黃是兩種植物。未審此指何種，闕之。

\bigskip

\begin{RaggedRight}
\showcolour{粉紅}
\showcolour{妃色}
\showcolour{品紅}
\showcolour{桃紅}
\showcolour{海棠紅}
\showcolour{石榴紅}
\showcolour{櫻桃色}
\showcolour{銀紅}
\showcolour{大紅}
\showcolour{絳紫}
\showcolour{緋紅}
\showcolour{胭脂}
\showcolour{朱紅}
\showcolour{丹}
\showcolour{彤}
\showcolour{茜色}
\showcolour{火紅}
\showcolour{赫赤}
\showcolour{嫣紅}
\showcolour{洋紅}
\showcolour{炎}
\showcolour{赤}
\showcolour{綰}
\showcolour{棗紅}
\showcolour{檀}
\showcolour{殷紅}
\showcolour{酡紅}
\showcolour{酡顏}
\showcolour{鵝黃}
\showcolour{鴨黃}
\showcolour{櫻草色}
\showcolour{杏黃}
\showcolour{杏紅}
\showcolour{橘黃}
\showcolour{橙黃}
\showcolour{橘紅}
\showcolour{姜黄}
\showcolour{緗色}
\showcolour{橙色}
\showcolour{茶色}
\showcolour{駝色}
\showcolour{昏黃}
\showcolour{栗色}
\showcolour{椶色}
\showcolour{椶綠}
\showcolour{椶黑}
\showcolour{椶紅}
\showcolour{椶黃}
\showcolour{赭色}
\showcolour{琥珀}
\showcolour{褐色}
\showcolour{枯黃}
\showcolour{黃櫨}
\showcolour{秋色}
\showcolour{秋香色}
\showcolour{嫩綠}
\showcolour{柳黃}
\showcolour{柳綠}
\showcolour{竹青}
\showcolour{蔥黃}
\showcolour{蔥綠}
\showcolour{蔥青}
\showcolour{青蔥}
\showcolour{油綠}
\showcolour{綠沉}
\showcolour{碧色}
\showcolour{碧綠}
\showcolour{青碧}
\showcolour{翡翠色}
\showcolour{草綠}
\showcolour{青色}
\showcolour{青翠}
\showcolour{青白}
\showcolour{鴨卵青}
\showcolour{蟹殼青}
\showcolour{鴉青}
\showcolour{綠色}
\showcolour{豆綠}
\showcolour{豆青}
\showcolour{石青}
\showcolour{玉色}
\showcolour{縹}
\showcolour{艾綠}
\showcolour{松柏綠}
\showcolour{松花綠}
\showcolour{松花色}
\showcolour{藍}
\showcolour{靛青}
\showcolour{靛藍}
\showcolour{碧藍}
\showcolour{蔚藍}
\showcolour{寶藍}
\showcolour{藍灰色}
\showcolour{藏青}
\showcolour{藏藍}
\showcolour{黛}
\showcolour{黛綠}
\showcolour{黛藍}
\showcolour{黛紫}
\showcolour{紫色}
\showcolour{紫醬}
\showcolour{醬紫}
\showcolour{紫檀}
\showcolour{紺青}
\showcolour{紫棠}
\showcolour{青蓮}
\showcolour{群青}
\showcolour{雪青}
\showcolour{丁香色}
\showcolour{藕色}
\showcolour{藕荷色}
\showcolour{蒼色}
\showcolour{蒼黃}
\showcolour{蒼青}
\showcolour{蒼黑}
\showcolour{蒼白}
\showcolour{水色}
\showcolour{水紅}
\showcolour{水綠}
\showcolour{水藍}
\showcolour{淡青}
\showcolour{湖藍}
\showcolour{湖綠}
\showcolour{精白}
\showcolour{象牙白}
\showcolour{雪白}
\showcolour{月白}
\showcolour{縞}
\showcolour{素}
\showcolour{荼白}
\showcolour{霜色}
\showcolour{花白}
\showcolour{魚肚白}
\showcolour{瑩白}
\showcolour{灰色}
\showcolour{牙色}
\showcolour{鉛白}
\showcolour{玄色}
\showcolour{玄青}
\showcolour{烏色}
\showcolour{烏黑}
\showcolour{漆黑}
\showcolour{墨色}
\showcolour{墨灰}
\showcolour{黑色}
\showcolour{緇色}
\showcolour{煤黑}
\showcolour{黧}
\showcolour{黎}
\showcolour{黝}
\showcolour{黝黑}
\showcolour{黯}
\showcolour{赤金}
\showcolour{金色}
\showcolour{銀白}
\showcolour{銅綠}
\showcolour{烏金}
\showcolour{老銀}
\showcolour{正青}
\showcolour{正赤}
\showcolour{正黃}
\end{RaggedRight}

\endgroup

\clearpage

\section{萧山 Beamer 主题 Xiaoshan Beamer Theme \texttt{beamerthemeXiaoshan.sty}}

这个Beamer主题是以 \href{https://ctan.org/pkg/beamertheme-metropolis}{Metropolis} 为基础，用 \texttt{cncolours.sty} 调了一下颜色，加入少许汉风纹样。

\bigskip

\begin{tcblisting}{listing side comment,title={使用范例},pdf comment={xiaoshan-sample.pdf}}
\documentclass[linespread=1.2,aspectratio=1610]{ctexbeamer}

\usetheme{Xiaoshan}

\author{林莲枝}
\title{萧山Beamer主题}
\subtitle{\texttt{pgfornament-han}附录福利}

\begin{document}

\begin{frame}
  \maketitle
\end{frame}

\section{简介}

\begin{frame}
  \frametitle{其实是 Metropolis 主题的魔改}
  \begin{itemize}
    \item 改了颜色（用了 \texttt{cncolours.sty}）
    \item 加入 \texttt{pgfornament-han} 汉风纹样元素
  \end{itemize}
\end{frame}
......
\end{document}
\end{tcblisting}


\clearpage

\section{神马浮云 Beamer 主题 Heavenly Clouds Beamer Theme \texttt{beamerthemeHeavenlyClouds.sty}}

这个Beamer主题是我一次病中摸鱼摸出来的，脑洞略大。每一页的背景的云彩纹样，位置、大小、深浅都是随机的，所以如果内容页数比较多，编译时运算可能会比较花时间，请自行斟酌使用此主题。

\bigskip

\begin{tcblisting}{listing side comment,title={使用范例},pdf comment={heavenlyclouds-sample.pdf}}
\documentclass[aspectratio=1610,linespread=1.2]{ctexbeamer}
\usetheme{HeavenlyClouds}

\author{林莲枝}
\title{神马浮云\\Beamer主题}
\subtitle{\texttt{pgfornament-han}附录福利}

\begin{document}

\begin{frame}[noframenumbering]
  \maketitle
\end{frame}

\section{简介一}

\begin{frame}[fragile,allowframebreaks]
  \frametitle{此主题脑洞略大}
  ...
\end{frame}
...
\end{document}
\end{tcblisting}

一些注意事项：
\begin{itemize}
  \item Mac 或 Linux 系统上，\texttt{ctex}是不提供隶书\mintinline{latex}{\lishu}的，请自己设定。例：

  \mintinline{latex}{\providecommand{\lishu}{\CJKfontspec{Libian SC}[BoldFont=Baoli SC,Scale=1.2]}}

  \item 可以用 \mintinline{latex}{\simpleprogressmarker} 以简单圆点代替进度条上的神马。

  \item 标题页的寿字纹，可以用各自高校的标志代替。中国高校校徽很多都是圆形的。确保一下背景是透明色的 png 或 pdf 档就可以了。

  \mintinline{latex}{\titlegraphic{\includegraphics[width=2cm]{logo}}}


  \item 也可以在导言区加一句 \mintinline{latex}{\alttitlecircle}，会得到另一种标题页的装饰纹样。效果如下：

  \begin{tikzpicture}%[transform shape,scale=0.5]
    \newbox{\circleelem}%
    \savebox{\circleelem}{%
      \tikzset{pgfornamentstyle/.style={transform shape}}%
      \pgfornamenthan[width=0.5236cm,
         color=殷红!80!black,
         symmetry=h]{74}%
    }
    \begin{scope}[decoration={markings, mark=between positions 0 and 1 step 0.5236cm
    with { \node[transform shape,inner sep=0pt,outer sep=0pt]{\usebox{\circleelem}}; }} ]
    \path [postaction={decorate}] circle (1cm);
    \end{scope}%
    \node {\pgfornamenthan[width=1.25cm,color=殷红]{56}};
  \end{tikzpicture} \emph{效果有可能有点狂，请视场合斟酌使用。}

\end{itemize}

\section{天青 Beamer 主题 Tian Qing Beamer Theme \texttt{beamerthemeTianqing.sty}}

几年前看到一个很喜欢的舞台演出，根据个人印象做的一个Beamer主题。本来想取名「青花瓷」的。不过始终没能力重现出来那种感觉啦，眼高手低，惭愧。

（话说拿这个模板去做科研学术性报告，真的不会被导师丢出来吗。）


\bigskip

\begin{tcblisting}{listing side comment,title={使用范例},pdf comment={tianqing-sample.pdf}}
\documentclass[aspectratio=1610,linespread=1.2]{ctexbeamer}
\usetheme{TianQing}

\author{林莲枝}
\title{天青Beamer主题}
\subtitle{\texttt{pgfornament-han}附录福利}

\begin{document}

\begin{frame}
  \maketitle
\end{frame}

\section{基本测试}

\begin{frame}{天青色等烟雨，而我在等你}
    \begin{itemize}
        \item 炊烟袅袅升起， 隔江千万里。...
    \end{itemize}
\end{frame}
...
\end{document}
\end{tcblisting}

如果本地电脑上有比较漂亮的美术字体或书法字体，不妨自己设置一下zhkai，也许会有让人惊喜的效果。例：

\mintinline{latex}|\setCJKfamilyfont{zhkai}{Xingkai SC}|

\end{document}
