美文网首页编程语言爱好者LaTex
Latex 趣味应用之 中国象棋排版

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

作者: Golden_humble | 来源:发表于2018-06-02 16:03 被阅读3次

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

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

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

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

    • cchess package 下载地址: cchess package 界面如下图所示:

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

    Step2: 在Latex 中进行编写。

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

    中国象棋

    棋盘自下至上 依次为 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 趣味应用之 中国象棋排版

        本文链接:https://www.haomeiwen.com/subject/jiersftx.html