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. Git分支管理介绍

    分支管理 软件的版本控制以及分支管理贯穿于整个软件产品的生命周期,日常的项目管理对于开发团队能否有节奏且顺利的交付软件也很重要.本分支管理和版本控制规范主要分为3个部分,即分支管理规范.版本号规范.需 ...

  2. JavaScript数据类型typeof()和转换

    javascript属于弱类型,值包含:数字,字符串和布尔值,c++与java属于强类型;int a="a",string a="a" 报错;var a ;原始 ...

  3. [红日安全]Web安全Day2 - XSS跨站实战攻防

    本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...

  4. centos7下查看mysql配置文件适用顺序

    mysql --help|grep 'my.cnf' [root@izm5e2q95pbpe1hh0kkwoiz ~]# mysql --help|grep 'my.cnf' order of pre ...

  5. 如何在 vue 中添加权限控制管理?---vue中文社区

    前言 在一个项目中,一些功能会涉及到重要的数据管理,为了确保数据的安全,我们会在项目中加入权限来限制每个用户的操作.作为前端,我们要做的是配合后端给到的权限数据,做页面上的各种各样的限制. 需求 因为 ...

  6. opencv —— Sobel 一阶导数算子、Scharr 滤波器 一阶导数用于边缘检测

    sobel 算子的基本概念 sobel 算子是一个主要用于边缘检测的离散微分算子,它结合了高斯平滑和微分求导,用于计算图像灰度函数的近似梯度. 其基础来自于一个事实,即在边缘部分,像素值出现“跳跃”或 ...

  7. bzoj3162独钓寒江雪

    题意 \(n\)阶树,求本质不同的独立集个数 做法 重新编号后重心是不变的,如果有两个重心,可以加个虚点 用树哈希判子树有多少个相同的子树,设某种有\(k\)个,如果原本方案数为\(x\)个 则方案数 ...

  8. 硬件知识整理part2--电阻在反馈网络中的应用

    学而不厌,诲人不倦,不知老之将至.--孔子 电阻作为电路中基本的元器件之一.在电路设计中,我们有时会使用欧姆定律来大致估计一下电阻值的大小,但是大多时候我们是不用去过多考虑电阻值的大小,像我这样大方的 ...

  9. JS中0.1+0.2!=0.3

    在控制台输入0.1+0.2,会得出以下结果 即不等于0.3.下面我们说一下原因. 一.存储原理 1.在计算机中数字无论是定点数还是浮点数都是以多位二进制的方式进行存储的.2.在JS中数字采用的IEEE ...

  10. logback日志的基本使用

    logback的日志使用,有两种方式,可以在application.yml文件中配置,不过最常见的还是用一个单独的xml配置文件进行配置: 一.application.yml配置方式 logging: ...