兴趣与特殊文档

LaTeX 并不只适合论文。它精密的排版能力也很适合 兴趣类和特殊文档:从 国际象棋 棋谱与局面图、数独填字游戏,到 编织图表 都可以处理。本页快速浏览这些宏包。

国际象棋 — skak / xskak / chessboard

skak / xskak(Ulrike Fischer 编写)可以根据 PGN(标准棋谱记法) 排版国际象棋内容。xskak 扩展了 skak,并会加载用于绘制局面的 chessboard 宏包。用 \newchessgame 开始一盘棋,用 \mainline{1. e4 e5 ...} 记录并输出走法,再用 \chessboard 绘制当前局面(也可以做局部棋盘、着色和标记)。

latex
\usepackage{xskak}
...
\newchessgame
\mainline{1. e4 e5 2. Nf3 Nc6}   % 棋譜 / the moves
\chessboard                       % 現在の局面 / the current position

数独与填字游戏 — sudoku / cwpuzzle

sudoku 宏包可以排版 9×9 的数独盘:各格用 | 分隔,每行末尾用 |. 结束。对于 填字游戏,可以使用 cwpuzzle(Gerd Neugebauer 编写)——它的 Puzzle 环境负责绘制框线和编号,格子可写成 |[number]X(字母格)或 |*(黑格)。cwpuzzle 也支持 Sudoku 和 Kakuro

latex
\usepackage{sudoku}
\begin{sudoku}
|2| | |6| |7| | |1|.
| |8| | | | | |5| |.
% …全 9 行 / all 9 rows…
\end{sudoku}

编织 — knitting

knitting 宏包(Ariel Barton 编写)提供 编织符号字体 和命令(\chart\textknit),可用于排版 麻花编织和蕾丝编织图表。在图表中把符号当作普通英文字母输入(对应表在 knitkey 中),也可以选择带网格或不带网格的显示方式。这是 LaTeX 覆盖范围之广的一个有趣例子。

latex
\usepackage{knitting}
...
\textknit{kpkp}   % 記号は英字で / symbols typed as letters