在debian上用tex画中国象棋棋局图:宏包cchess 和 xq

OOo,TeX,KO,ABI,GIMP,Picasa,ProE,QCAD,Inkscape,Kicad,Eagle
回复
头像
careone
帖子: 839
注册时间: 2007-12-17 21:41

在debian上用tex画中国象棋棋局图:宏包cchess 和 xq

#1

帖子 careone » 2019-08-06 15:30

在debian上用tex画中国象棋棋局图:宏包cchess 和 xq

Careon 整理并打包 DEB,2019-8-05

附:

为了方便各位有需要的朋友,特意把上面两个宏包 cchess 和 xq 打包成 DEB 软件包。
包名暂定为:
tex-cchess-xq
有需要的朋友,可以直接下载和安装。下载地址:

https://sourceforge.net/projects/emacsl ... s/lyx-tex/

===============

目前有两个宏包可以实现:cchess 和 xq .

宏包1. cchess

缺点:棋子汉字图片稍微有点丑。


其它说明:大写字母代表黑方,小写字母代表红方。另外,仕/士是用字母 g (红仕)/G (黑士)来表示的。
其它的六种棋子,与 PGN 棋谱文件中的定义基本相同,即:

----
r/R: 红车/黑车
n/N 马
...
b/B 相/象
k/K 帅/将
c/C 炮
p/P 兵/卒
----
cchess-0-xelatex.png
用法:
\documentclass{article}
\usepackage{cchess}

这个宏包,早在 1997-06-16,由维护者 Frank Mit­tel­bach
和 Jac­ques Richer 就已经发布了。
下载地址:
https://ctan.org/tex-archive/macros/lat ... rib/cchess
http://mirrors.ctan.org/macros/latex/contrib/cchess.zip
压缩包大小:14.6 k

压缩包中,包含5个文件:
cchess46.mf
cchess46.tfm
cchessboard.tex
cchess.sty
ccpieces.mf

其中,
cchess.sty 和 cchessboard.tex 这两个文件,请放在下面的目录下:
(如果没有这个目录,请以 root 用户或者用 sudo 命令创建目录。下面的几个目录也是这样操作。)
/usr/share/texmf/tex/latex/cchess/
----------

2个 .mf 格式的是原始字体文件,需要放在下面的目录下:
/usr/share/texmf/fonts/source/cchess/

---
cchess46.tfm 是编译过的字体文件,请放在下面的目录下:
/usr/share/texmf/fonts/tfm/cchess/

再按照样例文件,新建一个 test1.tex.
最后运行命令 xelatex test1.tex
即可生成 test1.pdf 文件。

test1.tex 的内容示例如下:
----------

代码: 全选

\documentclass{article}
\usepackage{cchess}
\begin{document}

\normalsize 15
%% cchess package: https://ctan.org/tex-archive/macros/latex/contrib/cchess/
%% 

\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}{5}{c} \piece{e}{7}{c}
\piece{a}{4}{p} \piece{c}{4}{p}
\piece{e}{4}{p} \piece{g}{4}{p}
\piece{i}{4}{p} \piece{e}{1}{k}
\piece{a}{9}{R} \piece{i}{10}{R}
\piece{a}{8}{N} \piece{g}{8}{N}
\piece{c}{10}{B} \piece{g}{10}{B}
\piece{d}{10}{G} \piece{f}{10}{G}
\piece{b}{8}{C} \piece{h}{8}{C}
\piece{a}{7}{P} \piece{c}{7}{P}
\piece{g}{7}{P}
\piece{i}{7}{P} \piece{e}{10}{K}
\end{position}
\end{document}
----------

* 重要提示:
==========
1. 不要运行命令 pdflatex test1.tex
这样生成的图片,棋子是透明的,底下能看到棋盘十字格线,看起来会眼花。见附图。
图片

2. 如果编译 tex 到 pdf 时, 提示 grep cchess46.log 失败之类的提示,是因为上面的 .mf
和 .tmf 字体文件没有放到对应的目录下。请按上面的方法,确认文件是否已经放在对应的目录下。

=============================

宏包2:xq

用法:
\documentclass[twocolumn,11pt]{article}
\usepackage{xq}

这个宏包,最早于 2006-6-29 发布。
目前最新版本是 0.4, 2014-9-20 发布。
当前的维护者是 Se­bas­tian Pip­ping (in­ac­tive) 和 Stephan Wein­hold (in­ac­tive)。
下载地址:
https://ctan.org/pkg/xq
mirrors.ctan.org/fonts/xq.zip
压缩包大小:337.6 k


效果图:
xqexample.pdf.png
压缩包中,包含以下文件:

---------------
bugs-0-3.pdf
bugs-0-3.tex
ChangeLog
Makefile
README
xqaddsignsbase.mf
xqaddsignslarge.mf
xqaddsignsnormal.mf
xqbase.mf
xqexample.pdf
xqexample.tex
xqhints.mf
xqlarge.mf
xqnormal.mf
xq.sty
xqwestbase.mf
xqwestlarge.mf
xqwestnormal.mf
---------------

其中,xq.sty,请放在下面的目录下:
(如果没有这个目录,请以 root 用户或者用 sudo 命令创建目录。下面的几个目录也是这样操作。)
/usr/share/texmf/tex/latex/xq/
----------

再把一堆的 .mf 格式的原始字体文件,放在下面的目录下:
/usr/share/texmf/fonts/source/xq/
----

xqexample.tex 是示例文件,xqexample.pdf 是编译好的 PDF 文件。效果见附图。
xqexample.pdf.png
====

说明:
1. 在 xq 0.4 版本中,几种棋子的定义规则:
大写字母为红方棋子,小写为黑方棋子。
其中,马改用 H/h (Horse), 相/象 改用 E/e (大象)。
A/a 代表 红仕/黑士。
其它棋子与 FEN 棋谱文件定义规则相同。

2. 只要文件中不包含中文文字,不管是用 pdflatex (速度较快), 还是 xelatex (速度稍慢),都能正常生成 PDF 文件。
如果有包含中文,推荐为 xelatex 进行编译。

----------
附:

为了方便各位有需要的朋友,特意把上面两个宏包 cchess 和 xq 打包成 DEB 软件包。
包名暂定为:
tex-cchess-xq
有需要的朋友,可以直接下载和安装。下载地址:

https://sourceforge.net/projects/emacsl ... s/lyx-tex/
附件
cchess-1-pdflatex.png
魁拔不死,天下不宁。
魁拔既死,天下不平。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/
头像
careone
帖子: 839
注册时间: 2007-12-17 21:41

Re: 在debian上用tex画中国象棋棋局图:宏包cchess 和 xq

#2

帖子 careone » 2019-08-11 11:51

修改了 宏包 xq.sty , 显示的棋盘更适用中国象棋棋图的风格。
附图
xq 大棋盘风格, 显示效果好
xq 大棋盘风格, 显示效果好
---
xq 小棋盘风格。底部红方棋路编号 九到一 的位置有点偏右,待优化
xq 小棋盘风格。底部红方棋路编号 九到一 的位置有点偏右,待优化
魁拔不死,天下不宁。
魁拔既死,天下不平。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/
回复