![是否可以在 \newglossaryentry 内进行 \censor?](https://linux22.com/image/417770/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%9C%A8%20%5Cnewglossaryentry%20%E5%86%85%E8%BF%9B%E8%A1%8C%20%5Ccensor%EF%BC%9F.png)
如果我放入\censor
,\newglossaryentry
我会收到此错误:
错误:\glo@liberty@sortvalue 定义中的参数编号非法。
--- TeX 说 ---
什么原因导致了错误?如何解决?
\documentclass{report}
\usepackage[section=section]{glossaries}
\usepackage{censor}
\glsdisablehyper
\makenoidxglossaries
\setglossarystyle{tree}
\newglossary*{secret}{Secret}
\newglossaryentry{liberty}
{
type=secret,
name={Liberty},
% name={\censor{Liberty}},
description={missile}
}
\begin{document}
%\gls{liberty}
\censor{\gls{liberty}}
\printnoidxglossary[type=secret]
\end{document}
答案1
这是一个解决方法,需要编译两次。
\documentclass{report}
\usepackage[section=section]{glossaries}
\usepackage{censor}
\glsdisablehyper
\makenoidxglossaries
\setglossarystyle{tree}
\newglossary*{secret}{Secret}
\usepackage{xparse}
\newglossaryentry{liberty}
{
type=secret,
% name={Liberty},
name={\censor{Liberty}},
text={Liberty},
sort={Liberty},
description={missile \censor{XYZ}}
}
\begin{document}
\tableofcontents
%\StopCensoring
\censor{\gls{liberty}}\glsadd{liberty}
\printnoidxglossary[type=secret]
\end{document}