Latex可以排版容易排版中国象棋, 围棋, 国际象棋棋谱和乐谱, 详情请见.

http://bbs.chinatex.org/forum.php?mod=viewthread&tid=4987&extra=page=1

这里以中国象棋棋谱为例:

中国象棋所需宏包:cchess(Chinese chess)\usepackage{cchess}

\normalboard 画出棋盘,然后用 position 环境置子,

纵线自左向右为:a, b, . . . , i,横线由下而上为:1, 2, . . . , 10

置子命令为

\piece {x}{y}{?}

x, y 为横纵坐标,如前所述,? 为棋子,符 号:

R車    N馬    B象    G士    K將    G士    B象    N馬    R車
                                                                           
         C砲                                                C砲        
P卒             P卒             P卒             P卒             P卒
                                                                           
       楚河                                             漢界           
                                                                            
p兵             p兵             p兵             p兵             p兵
         c炮                                                 c炮        
                                                                           
r車     n馬    b相    g仕    k 帥    g 仕   b相     n馬    r車
 

基本上红子就是黑子的小写字母版本

利用 \textpiece 命令可以排出具体的着法,比如:

\textpiece{c}八进四

命令可以达到 “炮八进四” 的效果

下面来看一个具体的源文件mychess.tex

 \documentclass{article}
\usepackage{cchess}
\begin{document}
\normalboard
\begin{position}
\piece{a}{}{r} \piece{i}{}{r}
\piece{b}{}{n} \piece{h}{}{n}
\piece{c}{}{b} \piece{g}{}{b}
\piece{d}{}{g} \piece{f}{}{g}
\piece{e}{}{c} \piece{e}{}{c}
\piece{a}{}{p} \piece{c}{}{p}
\piece{e}{}{p} \piece{g}{}{p}
\piece{i}{}{p} \piece{e}{}{k}
\piece{a}{}{R} \piece{i}{}{R}
\piece{a}{}{N} \piece{g}{}{N}
\piece{c}{}{B} \piece{g}{}{B}
\piece{d}{}{G} \piece{f}{}{G}
\piece{b}{}{C} \piece{h}{}{C}
\piece{a}{}{P} \piece{c}{}{P}
\piece{g}{}{P}
\piece{i}{}{P} \piece{e}{}{K}
\end{position}
\end{document}

注意一下编译的顺序: latex--- >dvips--- >ps2pdf

效果图:

一定要按这个步骤来编译, 不然得到的效果不好.

如果你的latex还没有chess宏包, (点击这 里).

或到:

http://www.ctan.org/tex-archive/macros/latex/contrib/cchess/

下载即可。

选自:http://quantumfield.spaces.live.com/blog/cns!f433639184bc15ec!322.entry

另外,还有xq.sty宏包,关于LaTeX排版象棋的详细讨论还可以查看CTeX论坛

LaTeX技巧009:中国象棋的LaTeX排版的更多相关文章

  1. LaTeX技巧472:定义一个LaTeX参考文献不带编号且有缩进的方法

    LaTeX_Fun的博客 LaTeX技巧381:参考文献项第二行缩进如何定义? \makeatletter\renewenvironment{thebibliography}[1]{\section* ...

  2. LaTeX技巧203:如何实现等号对齐_LaTeX_Fun_新浪博客

    LaTeX技巧203:如何实现等号对齐_LaTeX_Fun_新浪博客 我们在进行公式的输入排版的时候,通常希望公式比较齐整,所以需要一些等号对齐,或者左对齐,关于公式的左对齐前文已经介绍了方法.htt ...

  3. LaTeX技巧561:LaTeX如何让每一章带有目录?

    转自: http://blog.sina.com.cn/s/blog_5e16f1770102ds8b.html LaTeX技巧561:LaTeX如何让每一章带有目录? [问题描述] 当前章节列出该章 ...

  4. LaTeX技巧96:LaTeX 图片控制命令,位置控制

    LaTeX技巧96:LaTeX 图片控制命令,位置控制 2012-04-05 17:25:44 zd0303 阅读数 28512更多 分类专栏: Latex   LaTeX 控制图片的位置,就是加感叹 ...

  5. LaTeX技巧23:BIBTeX制作参考文献

    23BibTeX 是一种格式和一个程序,用于协调LaTeX的参考文献处理.BibTeX 使用数据库的的方式来管理参考文献. BibTeX 文件的后缀名为 .bib . 先来看一个例子 @article ...

  6. Latex技巧:插入参考文献

    LaTeX插入参考文献,可以使用BibTex,也可以不使用BibTex. 方法一:不使用BibTeX 先在文章文章末尾写好需要插入的参考文献,逐一写出,例如: \begin{thebibliograp ...

  7. Luogu P2051 [AHOI2009]中国象棋(dp)

    P2051 [AHOI2009]中国象棋 题面 题目描述 这次小可可想解决的难题和中国象棋有关,在一个 \(N\) 行 \(M\) 列的棋盘上,让你放若干个炮(可以是 \(0\) 个),使得没有一个炮 ...

  8. BZOJ 1801中国象棋 DP

    1801: [Ahoi2009]chess 中国象棋 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1426  Solved: 826[Submit][ ...

  9. C#中国象棋+游戏大厅 服务器 + 客户端源码

    来源:www.ajerp.com/bbs C#中国象棋+游戏大厅 服务器 + 客户端源码 源码开源 C#版中国象棋(附游戏大厅) 基于前人大虾的修改版 主要用委托实现 服务器支持在线人数,大厅桌数的设 ...

随机推荐

  1. Maven jar包冲突

    在pom.xml中引入一个依赖,maven会自动导入这个依赖的依赖,方便的同时也会造成jar包冲突: (1)A.B都依赖C,我们导入A(自动导入C).B(自动导入C),maven自动导入了2个C,到底 ...

  2. Lucene之索引库的维护:添加,删除,修改

    索引添加 Field域属性分类 添加文档的时候,我们文档当中包含多个域,那么域的类型是我们自定义的,上个案例使用的TextField域,那么这个域他会自动分词,然后存储 我们要根据数据类型和数据的用途 ...

  3. JS淘宝小广告

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  4. 解决mysql导入导出错误问题

    1.datetime类型: 当datetime的值为0000-00-00:00:00:00时,mysql是不接受此条数据的,当然可以 insert ignore into table--------- ...

  5. MySQL 8 用户定义函数

    MySQL Server可以通过创建或者加载UDFs(User-Defined Functions)来扩展服务器功能. 通过CREATE FUNCTION语句加载 UDF,比如: CREATE FUN ...

  6. SpringBoot整合NoSql--(一)Redis

    简介: Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器,因为值(v ...

  7. 灵活运用SQL Server2008 SSIS变量

      在SSIS开发ETL(Extract-Transform-Load),数据抽取.转换.装载的过程.我们需要自己定义变量 一.SSIS变量简介 SSIS(SQL Server Integration ...

  8. Dev-C++如何创建源代码模板?

    Dev-C++如何创建源代码模板? 预览图片 按下Ctrl+N或者点击新建源代码,就会自动出现这些代码了 以下是操作步骤 编写你的模板 这里有我的样例: #include<iostream> ...

  9. Android开发第一天---AndroidStudio的安装和第一个安卓开发

    今天已经是开始学习Android的第二天,我居然才把AndroidStudio开发环境安装并配置好,我只能说“我太难了”,下了好几个版本,终于找到了一个合适的,得出一个结论外国的东西是真的不太好用啊, ...

  10. 6-Z字形变换

    6-Z字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C ...