diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/chinesechess')
-rw-r--r-- | Master/texmf-dist/doc/latex/chinesechess/chinesechess.pdf | bin | 4072654 -> 4096186 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/chinesechess/chinesechess.tex | 137 |
2 files changed, 102 insertions, 35 deletions
diff --git a/Master/texmf-dist/doc/latex/chinesechess/chinesechess.pdf b/Master/texmf-dist/doc/latex/chinesechess/chinesechess.pdf Binary files differindex 22951bd3dbd..a965c4fe305 100644 --- a/Master/texmf-dist/doc/latex/chinesechess/chinesechess.pdf +++ b/Master/texmf-dist/doc/latex/chinesechess/chinesechess.pdf diff --git a/Master/texmf-dist/doc/latex/chinesechess/chinesechess.tex b/Master/texmf-dist/doc/latex/chinesechess/chinesechess.tex index 9220174cc84..60404db6235 100644 --- a/Master/texmf-dist/doc/latex/chinesechess/chinesechess.tex +++ b/Master/texmf-dist/doc/latex/chinesechess/chinesechess.tex @@ -123,7 +123,7 @@ { \__codedoc_cmd:no {#1} { #2 } } \ExplSyntaxOff -\def\vers{\texttt{v1.0.0} } +\def\vers{\texttt{v1.1.0} } \begin{document} \title{ @@ -150,15 +150,14 @@ \section{引言} -\pkg{chinesechess}是一个基于\pkg{l3draw}用\pkg{Expl3}开发的 -中国象棋排版宏包。它提供了\tn{cchessboard} 全棋盘、 -\tn{cchessbord*}空白棋盘和\tn{cchessman}棋谱排版命令。同时, +\pkg{chinesechess}是一个基于\pkg{l3draw}绘图宏包,用\pkg{Expl3}% +开发的中国象棋排版宏包。它提供了\tn{cchessboard}(全棋盘)、% +\tn{cchessbord*}(空棋盘)和\tn{cchessman}(棋谱)排版命令。同时, 该宏包还提供了用于打谱的排版环境\env{setcchessman},在该环境 -中,可以通过环境专用命令\tn{init}初始化棋谱状态,\tn{set}在 -指定位置布置棋子,\tn{del}删除指定位置的棋子,\tn{mov}实现 -棋子的移动,从而实现打谱操作,并在环境结束后以最终状态排版棋谱。 -另外,也可以通过星号环境\env{setcchessman*}实现棋谱的文本描述 -输出。 +中,可以通过环境专用命令\tn{init}(初始化棋谱状态),\tn{set}(在 +指定位置布置棋子),\tn{del}(删除指定位置的棋子),\tn{mov}(实现 +棋子的移动),从而实现打谱操作,并在环境结束后以最终状态排版棋谱。 +另外,也可以通过星号环境\env{setcchessman*}实现棋谱文本输出。 棋子、棋盘、背景等外观可以通过命令、环境选项或\tn{cchessset}% 命令进行设置。 @@ -226,8 +225,8 @@ 编码 & 红棋 & 编码 & 黑棋\\\hline K & 帥 & k & 將 \\ A & 仕 & a & 士 \\ - E & 相 & e & 象 \\ - H & 马 & h & 馬 \\ + B(E) & 相 & b(e) & 象 \\ + N(H) & 马 & n(h) & 馬 \\ R & 车 & r & 車 \\ C & 炮 & c & 炮 \\ P & 兵 & p & 卒 \\\hline @@ -274,7 +273,9 @@ 指定位置的棋子,\tn{mov}实现棋子的移动,从而实现打谱操作。 在环境结束后以最终打谱状态排版棋谱。 - 星号环境\env{setcchessman*}会同时排版棋谱的文本描述(如:车一进二等)。 + 星号环境\env{setcchessman*}用于记录排版棋谱的文本描述(如:车一进二等)。 + 可在在\env{setcchessman*}环境中用label选项进行标记,然后用\tn{printman}% + 输出该棋谱。 在\oarg{外观选项}中可以通过key-value的方式设置棋子、棋盘的颜色、 字体、字号、线宽等外观。 @@ -302,27 +303,6 @@ \end{setcchessman} \end{SideBySideExample} -\begin{SideBySideExample}[frame=single,numbers=left, - xrightmargin=.45\linewidth,gobble=2] - \centering - % 为便排版,进行缩放 - \cchessset{resize=real, - width=.30\linewidth} - \begin{setcchessman*} - % 残局初始化 - \init{ {{4,0}{K}}, {{2,2}{p}}, - {{1,7}{C}}, {{4,9}{k}} } - % 添加棋子 - \set{e,d}{P} \set{8,g}{h} - % 删除棋子 - \del{4,3} - % 移动棋子 - \mov{C}{b,h}{b,b} \mov{p}{2,2}{3,2} - \mov{K}{4,0}{4,1} \mov{h}{8,6}{6,7} - \mov{K}{4,1}{3,1} \mov{h}{6,7}{5,5} - \end{setcchessman*} -\end{SideBySideExample} - \subsection{打谱专用命令} \subsubsection{\tn{init}棋谱初始化命令} @@ -386,6 +366,52 @@ \textbf{\textsf{注意: }}该命令只能用于\env{setcchessman}环境中。 +\subsection{\tn{printman}输出打谱结果命令} + +\begin{function}{\printman} + \begin{syntax} + \cs{printman} \marg{\env{setcchessman*}环境的label标签} + \end{syntax} +\end{function} + + 输出由label标签指定的\env{setcchessman*}打谱环境生成的棋谱。 + +\subsection{\tn{getpiece}输出棋子命令} + +\begin{function}{\getpiece} + \begin{syntax} + \cs{getpiece} \oarg{棋子字号} \marg{棋子编码} + \end{syntax} +\end{function} + + 按\oarg{棋子字号}指定的字号将用\marg{棋子编码}指定的棋子在当前位置输出。 + + \marg{棋子编码}中的编码详见表表\ref{tab-piececode}。 + +\begin{SideBySideExample}[frame=single,numbers=left, + xrightmargin=.28\linewidth,gobble=2] + \centering + \getpiece{K}\getpiece{A}\getpiece{B}\getpiece{R}% + \getpiece{N}\getpiece{C}\getpiece{P} + + \getpiece{k}\getpiece{a}\getpiece{b}\getpiece{r}% + \getpiece{n}\getpiece{c}\getpiece{p} +\end{SideBySideExample} + +\subsection{\tn{piecechar}棋子字符设置命令} + +\begin{function}{\piecechar} + \begin{syntax} + \cs{piecechar} \marg{棋子编码} \marg{棋子字符} + \end{syntax} +\end{function} + + 用于将\marg{棋子编码}指定的棋子字符设置为指定的\marg{棋子字符}。 + + \marg{棋子编码}中的编码详见表表\ref{tab-piececode}。 + + \textbf{\textsf{说明: }}该功能也可以通过|piecechar|外观选项实现。 + \subsection{\tn{resetpiece}棋子字符复位命令} \begin{function}{\resetpiece} @@ -624,14 +650,14 @@ piecechar={E}{\faChessBishop}, piecechar={H}{\faChessKnight}, piecechar={R}{\faChessRook}, - piecechar={C}{\faBomb}, + piecechar={C}{\faMeteor}, piecechar={P}{\faChessPawn}, piecechar={k}{\faChessQueen}, piecechar={a}{\faShield*}, piecechar={e}{\faChessBishop}, piecechar={h}{\faChessKnight}, piecechar={r}{\faChessRook}, - piecechar={c}{\faBomb}, + piecechar={c}{\faMeteor}, piecechar={p}{\faChessPawn}, boardlinecolor=red] \end{SideBySideExample} @@ -862,6 +888,47 @@ redupper=red,blkupper=black] \end{SideBySideExample} +\bigskip + +\subsection{打谱} + +\subsubsection{label标签} + +\begin{option}{ opt = label, desc = {= \meta{棋谱标签}}, init=init-none } + 设置\env{setcchessman*}打谱环境交叉引用标签。 +\end{option} + +\subsubsection{每行棋谱步数} + +\begin{option}{ opt = mansperline, desc = {= \meta{每行棋谱步数}}, init=2 } + 设置\tn{printman}输出棋谱时,每行输出棋谱的步数。 +\end{option} + +\begin{SideBySideExample}[frame=single,numbers=left, + xrightmargin=.45\linewidth,gobble=2] + \centering + \printman{test} + + \bigskip + + % 为便排版,进行缩放 + \cchessset{resize=real, + width=0.90\linewidth} + \begin{setcchessman*}[label=test] + % 残局初始化 + \init{ {{4,0}{K}}, {{2,2}{p}}, + {{1,7}{C}}, {{4,9}{k}} } + % 添加棋子 + \set{e,d}{P} \set{8,g}{h} + % 删除棋子 + \del{4,3} + % 移动棋子 + \mov{C}{b,h}{b,b} \mov{p}{2,2}{3,2} + \mov{K}{4,0}{4,1} \mov{h}{8,6}{6,7} + \mov{K}{4,1}{3,1} \mov{h}{6,7}{5,5} + \end{setcchessman*} +\end{SideBySideExample} + % \bigskip % \title{ |