我一直在查看logicpuzzle
安装有 MikTex 的软件包。
我尝试使用文档
拼图.tex
\documentclass[fontsize=12pt]{article}
\usepackage{logicpuzzle}
\begin{document}
\begin{center}
\begin{ddsudoku}
\framepuzzle
\filldiagonals[orange!50]
\ddsudokucell{1}{5}{1}
\ddsudokucell{1}{4}{3}
\ddsudokucell{2}{3}{4}
\ddsudokucell{4}{1}{3}
\ddsudokucell{4}{3}{2}
\ddsudokucell{5}{4}{4}
\end{ddsudoku}
\hspace{1.5cm}
\begin{ddsudoku}
\framepuzzle
\filldiagonals[orange!50]
\setrow{5}{1,3,4,5,2}
\setrow{4}{3,2,5,1,4}
\setrow{3}{5,4,3,2,1}
\setrow{2}{2,5,1,4,3}
\setrow{1}{4,1,2,3,5}
\end{ddsudoku}
\end{center}
\end{document}
但是,当我尝试从该来源构建 PDF 时,出现以下错误:
puzzle.tex:7: LaTeX Error: Environment ddsudoku undefined.
当我编译我的源代码时,我被要求安装缺少的软件包并确认这些软件包,因此它们应该可用。
我在序言中是否遗漏了此包运行所需的其他任何内容?我尝试过使用其他拼图示例,ddsudoku
但它们会导致相同的错误(未定义的环境)。
答案1
更新:这个错误在不到 20 分钟内就被修复了!MiKTeX 更新将解决该问题。
[原始答案]
这是由于 MiKTeX 树中的名称冲突造成的texmf
。另一个包battleship
包含一个文件,logicpuzzle.sty
该文件遮盖了所需的包文件。在我看来,这是今天的logicpuzzle
包的旧版本(battleship
包含 2013 年的 1.0 版,当前版本为 2.5)。
我打开了错误报告与 MiKTeX 人员讨论此事。
由于 MiKTeX 永远不会寻找logicpuzzle.sty
超出 的battleship
包,即使该包未安装但已安装,目前只有一种方法可以解决这个问题:在搜索路径上创建位于 之前的logicpuzzle
的 coopy 。为此,请执行以下操作(请参阅logicpuzzle
battleship
这个答案详情请见):
- 为您的本地 texmf 树创建一个目录,例如
C:\local_texfm\
。 - 在该目录中,创建子目录
tex\latex\logicpuzzle
并将文件从 MiKTeX 安装目录中的相应文件夹复制到那里。 - 将该目录添加到您的 MiKTeX TEXMF 根目录(转到 MiKTeX 控制台中的设置 → 目录)。
- 刷新您的文件名数据库(在 MiKTeX 控制台的任务菜单中)。
这应该可以让它工作。
请注意,您必须自行更新此本地版本的包,并在 MiKTeX 错误修复后手动将其删除。