Latex 趣味应用之 中国象棋排版

由于LATEX是通过语法来排版的,任何想得到的东西,像是乐谱、棋谱(可动态)、化学结构式、电路图及物理学中的费曼图等等都可以先定义规则,然后再以简单的语法排版出来。而那些规则也往往早有人写出对应的宏包,所以用户只需要弄懂他的语法就可以了。 ——维基百科

Latex 作为专业的排版工具,除了在写Paper, 做Pre 方面展现出强大的优势外,还有一些比较有意思的应用。本篇文章主要介绍Latex 在 中国象棋排版上的应用。

Step1: 在Latex 文件所在目录下安装 cchess package.

即在使用\usepackage{cchess}之前,我们需要首先下载该package到latex文件的所在目录下。

  • cchess package 下载地址: cchess package 界面如下图所示:
    Latex 趣味应用之 中国象棋排版_第1张图片

    下载完成后,将其解压至当前的Latex文件所在目录下。

Step2: 在Latex 中进行编写。

命令 \normalboard 绘制棋盘,position确定棋子位置。先看一下最后的效果图。

Latex 趣味应用之 中国象棋排版_第2张图片
中国象棋

棋盘自下至上 依次为 1,2,3,...,10
自左至右依次为 a,b,c,..., i

各个棋子的名称对应如下:区分双方棋子为字母的大小写
K,k,S : king, general; 将,帥
G,g,T : guard, assistant; 士,仕
B,b,U : bishop, elephant; 象,相
N,n,V : knight,horse; 馬
R,r,W : rook, chariot, car 車
C,c,X : cannon, gun, gunner 炮
P,p,Y : pawn, foot-soldier 卒,兵

棋子位置命令为 \piece{列所在位置}{行所在位置}{棋子名称}

‘中国象棋’效果图代码如下:

\documentclass{article}
\usepackage{cchess}

\begin{document}
\normalboard
\begin{position}    
    \piece{a}{1}{r} \piece{i}{1}{r}
    \piece{b}{1}{n} \piece{h}{1}{n}
    \piece{c}{1}{b} \piece{g}{1}{b}
    \piece{d}{1}{g} \piece{f}{1}{g}
    \piece{e}{1}{k}
    \piece{a}{4}{p} \piece{c}{4}{p} \piece{e}{4}{p} \piece{g}{4}{p} \piece{i}{4}{p} 
    \piece{b}{3}{c} \piece{h}{3}{c}     
    \piece{a}{10}{R} \piece{i}{10}{R}
    \piece{b}{10}{N} \piece{h}{10}{N}
    \piece{c}{10}{B} \piece{g}{10}{B}
    \piece{d}{10}{G} \piece{f}{10}{G}       
    \piece{e}{10}{K}
    \piece{b}{8}{C} \piece{h}{8}{C}
    \piece{a}{7}{P} \piece{c}{7}{P} \piece{e}{7}{P} \piece{g}{7}{P} \piece{i}{7}{P}     
\end{position}
\end{document}

你可能感兴趣的:(Latex 趣味应用之 中国象棋排版)