在我学习如何使用 LaTeX 的过程中,我遇到了这个logicpuzzle
软件包,我发现它真的令人印象深刻,它可以真正生成各种网格而无需包含任何图片。
例如 :
于是我高兴地跳进了源代码就在这儿(所有内容似乎都位于 logicpuzzle.sty 中)而我所遇到的内容对我来说似乎很晦涩,以至于我什么也没学到。
在哪里或如何学习在 LaTeX 中做如此高级的事情?或者,至少,这如何更基本上完毕 ?
答案1
好的,以作者的身份跳上马头logicpuzzle.sty
。
正如 David 所写,logicpuzzle.sty
大量使用TikZ
。因此,您至少需要了解的基础知识TikZ
。
核心部分logicpuzzle
是谜题环境,就像magnets
上面其中一张图片中展示的那样:
\begin{magnets}
...
\end{magnets}
这将始终绘制基本网格。请参阅文档 ( texdoc logicpuzzle
) 并查看有关推出您自己的逻辑谜题的部分。
然后总是有与拼图相关的命令来填充网格,它总是TikZ
用于图形对象加上一些标准LaTeX
,例如用于填充行的命令。
基本思想是网格从(1,1)
到(columns+1,rows+1)
(TikZ
坐标为)。网格单元(1,1)
是左下角,网格单元(columns,rows)
是右上角。在扫雷拼图的\Mine
网格单元中放置地雷( ) ,意味着将节点放置在网格单元 的中心,坐标为 。最后,将 中定义的图形对象放入节点中。这正是 eg所做的。(2,2)
Tikz
(2,2)
(2.5,2.5)
\Mine -> \LP@Mine
\setcell{2}{2}{\Mine}
如果你想尝试了解发生了什么,我的建议是:
- 阅读“推出你自己的逻辑谜题”
- 看一个例子,并尝试理解一个又一个的宏
- 对于 (2.),你需要了解
TikZ
我担心这并不容易!;-)
目前,我正在将文档转换为.dtx
(文档化的源文件)。它尚未完成,也不会描述每个细节。您需要了解TikZ
。所以您阅读TikZ
,TikZ
然后TikZ
!;-) 如果您联系我,我可以向您发送一份包含(迄今为止)文档化的源代码的 PDF。
如果您找到了更简单的方法,请联系我!;-)
答案2
代码在 texlive 中(至少),因此大多数人不需要下载您链接到的 zip 文件。
其核心是
\begin{tikzpicture}[scale=.07*\LP@scale]%
\draw[fill=brown!95!black!95,line width=.1pt*\LP@scale]%
(.75,-1) .. controls (.5,.5) and (.5,3) .. (0.5,4) --%
(-0.5,4) .. controls (-.5,3) and (-.5,.5) .. (-.75,-1);%
\shade[top color=green!50!black!60,draw=black,line width=.1pt*\LP@scale,bottom color=green!50!black]%
(0,10) .. controls (0,8) and (1,7) .. (1.5,7)%
....
正如环境名称所示,这是 TikZ,一个用于 TeX 的绘图包。Tikz 有一个非常详尽的手册(texdoc tikz
应该显示它),或者您可以浏览标记为tikz-pgf在这个网站上,这在某种程度上是问题最常见的标签。