我想用hyperref
包的不同设置来编译综合 LaTeX 符号列表。
首先,我尝试在不做任何修改的情况下编译它。但调用时make symbols-a4.pdf
出现错误:
(/usr/local/texlive/2019/texmf-dist/tex/latex/universa/uni.sty
! Undefined control sequence.
<argument> ...lse \noexpand \UniError {\bausquare
}\noexpand \fi }}
l.88 \DeclareUniChar{\bausquare}{"00}
?
抱歉,我不知道这个错误是什么意思。如何解决?
答案1
我写信给作者(Scott Pakin),他给了我一个非常重要的解决方法来构建文档(部分)。
这里我列出了解决方法和一些在构建时能帮助我的提示。
该软件包
uni.sty
需要修复(感谢 Scott Pakin):% change \else\noexpand\UniError{#1}\noexpand\fi}}}{% % to \else\noexpand\UniError{\noexpand#1}\noexpand\fi}}}{%
如果
rawtables-*.pdf
需要,使用 Linux 更方便,因为一些 perl 脚本使用了一些 mac 和 win 上没有的系统实用程序。此外,软件包的处理junicode
也lilyglyphs
依赖于 Linux。使用 TeX Live 2016 构建起来更容易,可以从ftp://tug.org/historic/systems/texlive。
这是由于各种软件包的开发,因为综合 LaTeX 符号列表包含来自各种软件包的命令。例如,在预构建版本中,软件包的
halloweenmath
日期为2017/01/06
,但在2017/04/25
软件包更新时,会添加几个与其他软件包中的命令冲突的命令,例如\skull
。因此,应格外小心以避免名称冲突。由于我对 LaTeX 的了解有限,我选择使用旧版本的 TeXLive 来避免解决这些名称冲突。使用 安装 TeX Live 比较简单
scheme-full
。如果选择不带文档安装,最好运行,tlmgr install --reinstall --with-doc lilyglyphs
因为构建例程似乎依赖于 lilyglyphs 文档的存在来查找一些相关文件。这部分10.8 关于本文档列出所有使用的包的版本。
一开始我用的是最新的 2019 版本,修改了一下之后错误消失了,但又出现了另一个错误。找到那个部分后,我意识到是软件包的更新导致源代码
symbols.tex
错误。
最后...我能够用我自己的设置构建一个部分版本hyperref
(因为有些软件包不能轻易安装tlmgr
,而且在通过缓慢的远程 Linux 进行数小时的调整后我变得太累了)。
这让我付出了太多代价。