![忽略前缀的词汇表对齐](https://linux22.com/image/271415/%E5%BF%BD%E7%95%A5%E5%89%8D%E7%BC%80%E7%9A%84%E8%AF%8D%E6%B1%87%E8%A1%A8%E5%AF%B9%E9%BD%90.png)
这是一个后续问题词汇表和幻影。
它是关于词汇表中的以下内容:
象征 #象征 其他 #其他
而不是
象征 #象征 其他 #其他
我想像这样对齐术语并决定使用幻像,但是这个解决方案有一个缺点,那就是太多空白当我在文本中使用术语表符号时,幻影部分也会出现。有没有好的解决方案,让幻影部分只出现在术语表中,而在文本中使用术语时不出现?
\documentclass{report}
\usepackage[sanitize=none]{glossaries}
\makeglossaries%
\newglossaryentry{nc:line:num}{
name=thing,
symbol=\ensuremath{\protect\hphantom{\#}l},
description=other thing}
\newglossaryentry{nc}{
name=thingy,
symbol=\ensuremath{\#l},
description=something}
\usepackage{glossary-mcols}
\begin{document}
\printglossary[style=altlong4col]
\clearpage%
nc:line:num glossary entry '\glssymbol{nc:line:num}`, notice the whitespace after the '
\end{document}
答案1
下面的例子定义了一个名为的命令,\nohash
它在词汇表中输入了正确的间距,但在重新定义词汇表之后,符号可以在文本中毫无问题地使用:
\documentclass{report}
\usepackage[sanitize=none]{glossaries}
\makeglossaries
\newcommand*{\nohash}[1]{\hphantom{\#}#1}
\newglossaryentry{nc:line:num}{
name=thing,
symbol=\ensuremath{\protect\nohash{l}},
description=other thing}
\newglossaryentry{nc}{
name=thingy,
symbol=\ensuremath{\#l},
description=something}
\usepackage{glossary-mcols}
\begin{document}
\printglossary[style=altlong4col]
% reset \nohash:
\renewcommand{\nohash}[1]{#1}%
\clearpage
nc:line:num glossary entry `\glssymbol{nc:line:num}'.
For comparison: `\glssymbol{nc}'.
\end{document}
词汇表如下:
文本如下所示: