我可以使用glossaries
,我的意思是编译并生成第一个示例的 PDFhttp://mirrors.cqu.edu.cn/CTAN/macros/latex/contrib/glossaries/glossariesbegin.pdf:
\documentclass{article}
\usepackage{glossaries}
\newglossaryentry{ex}{name={sample},description={an example}}
\begin{document}
Here's my \gls{ex} term.
\end{document}
但我想使用glossaries
我提供的包。我的意思是我想拥有doc.tex
:
\documentclass{article}
\usepackage{doc}
\newglossaryentry{ex}{name={sample},description={an example}}
\begin{document}
Here's my \gls{ex} term.
\end{document}
和doc.sty
:
\ProvidesPackage{doc}
\usepackage{glossaries}
这就是我得到的:
$ pdflatex doc.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./doc.tex
LaTeX2e <2018-04-01> patch level 2
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/size10.clo)) (./doc.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/glossaries/base/glossaries.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/local/texlive/2018/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/local/texlive/2018/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/usr/local/texlive/2018/texmf-dist/tex/generic/xkeyval/keyval.tex))))
(/usr/local/texlive/2018/texmf-dist/tex/latex/mfirstuc/mfirstuc.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/etoolbox/etoolbox.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/textcase/textcase.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/xfor/xfor.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/datatool/datatool-base.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/local/texlive/2018/texmf-dist/tex/latex/substr/substr.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/datatool/datatool-fp.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp.sty
`Fixed Point Package', Version 0.8, April 2, 1995 (C) Michael Mehlich
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/defpattern.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-basic.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-addons.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-snap.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-exp.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-trigo.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-pas.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-random.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-eqn.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-upn.sty)
(/usr/local/texlive/2018/texmf-dist/tex/latex/fp/fp-eval.sty))))
! LaTeX Error: \PrintChanges undefined.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.64 \renewcommand{\PrintChanges}
{%
?
我确实PrintChanges
在http://mirrors-wan.geekpie.club/CTAN/macros/latex/contrib/glossaries/glossaries-code.pdf第 5 页 但即便如此我也不知道。我该怎么办?
答案1
不要将你的包命名为“doc”。doc.sty 已经存在(在 latex/base 中),并且当检测到它已被使用时,词汇表会包含特殊代码:
\@ifpackageloaded{doc}%
{%
\@gls@docloadedtrue
}%
{%
\@ifclassloaded{nlctdoc}{\@gls@docloadedtrue}{\@gls@docloadedfalse}%
}
\if@gls@docloaded
\let\glsorg@theglossary\theglossary
\let\glsorg@endtheglossary\endtheglossary
\let\glsorg@PrintChanges\PrintChanges
\renewcommand{\PrintChanges}{%
\begingroup
\let\theglossary\glsorg@theglossary
\let\endtheglossary\glsorg@endtheglossary
\glsorg@PrintChanges
\endgroup
}
\fi