飞扬围棋

标题: 如何用LaTeX画棋局 [打印本页]

作者: 小澳龍    时间: 2018-6-24 21:24
标题: 如何用LaTeX画棋局
本帖最后由 小澳龍 于 2018-6-24 21:27 编辑

在飞扬上经常看到大神们用LaTeX制作的棋谱或死活题,最近在翻译一些GNU Go的文档(虽然过时了,主要是学习技术发展的思路),但是想用LaTeX+tikz画点局部的棋局时,google了几个sample,总觉得不太满意,比如想画出以下这种截图的效果。请问大神们可以贴出tex的源码借鉴下吗?感谢感谢!当然如果学会了,以后也可以自己编排棋谱分享给大家。




作者: hahihuhei    时间: 2018-7-2 15:23
没错的话坛子里都是用word来重排的,
用LaTex的很少。

现在latex上已经有的是igo.sty,
说实在效果不太满意。

我的做法是用goWrite生成矢量图(eps)后直接\includegraphics.
为了美观goWrite生成矢量图时会选用跟正文相同的字体。
正文中的手数则是用另外一组自己写的macro,
基本上就是用tikz画圆把手数圈起来,
为了达到每个圆一样大小,
我用了\phatom{},
然后再在原地显示真正的手数,
以下是我为黑子写的macro,

\newcommand*\bs[1]{\  \tikz[baseline=(char.base)]{               
                \node (char) {\phantom{A}};               
                \ifthenelse{#1<10}               
                        {%       
                            \node at (char.center) {\phantom{A}};       
                            \node (char) {\phantom{A}};       
                            \node [shape=circle,draw,fill=black, inner sep=1.5pt] at (char.center) {\phantom{\scalebox{0.75}{A}}};       
                            \node [inner xsep=0pt] at (char.center) {\color{white}\scalebox{.9}[1]{{\myfont\small {#1}}}};       
                        }       
                        {\ifthenelse{#1<100}       
                                {%
                                    \node at (char.center) {\phantom{A}};
                                \node (char) {\phantom{A}};       
                                \node [shape=circle,draw,fill=black, inner sep=1.5pt] at (char.center) {\phantom{\scalebox{0.75}{A}}};       
                                    \node [inner xsep=0pt] at (char.center) {\color{white}\scalebox{.8}[1]{{\myfont\small {#1}}}};%
                                    }
                                {%
                                    \node at (char.center) {\phantom{A}};
                                \node (char) {\phantom{A}};       
                                \node [shape=circle,draw,fill=black, inner sep=1.5pt] at (char.center) {\phantom{\scalebox{0.75}{A}}};       
                                \node [inner xsep=0pt] at (char.center) {\color{white}\scalebox{0.6}[1]{{\myfont\small {#1}}}};}
                        }       
                }               
            }                


写得很乱,
哈哈哈哈,
话说我重排的东西似乎太监了

作者: 小澳龍    时间: 2018-7-2 22:08
hahihuhei 发表于 2018-7-2 15:23
没错的话坛子里都是用word来重排的,
用LaTex的很少。

好的,太感谢您了,我研究一下,以后多交流!

作者: hahihuhei    时间: 2018-7-4 12:07
互相学习吧,
我是因为围棋才接触LaTeX的,
从那时开始所有的个人报告就变成了LaTeX,
同事同学都觉得我这是没事找事呢
作者: 天外肥羊    时间: 2018-7-4 17:05
高手
作者: lswluck    时间: 2019-1-7 11:25
hahihuhei 发表于 2018-7-2 15:23
没错的话坛子里都是用word来重排的,
用LaTex的很少。

这个怎么用?能否给个参考例子?谢谢!

作者: hunter_xie    时间: 2019-10-23 14:07
高手,上学时接触过一点Tex,高大上
作者: 九层楼    时间: 2023-2-6 10:04
谢谢分享 !




欢迎光临 飞扬围棋 (http://bbs.flygo.net/BBS/) Powered by Discuz! X3.2