![相同缩写但含义不同的缩写](https://linux22.com/image/385454/%E7%9B%B8%E5%90%8C%E7%BC%A9%E5%86%99%E4%BD%86%E5%90%AB%E4%B9%89%E4%B8%8D%E5%90%8C%E7%9A%84%E7%BC%A9%E5%86%99.png)
我正在编写一份文档,其中包括两个首字母缩略词:TCP(机器人中的“工具控制点”)和 TCP(计算机网络中的“传输控制协议”)。
我已经研究过这两个 SE 问题两个单词的一个缩写和两个单词的缩写相同
但是,我觉得他们的答案并没有真正解决我的问题。我还怀疑这可能是一个风格问题,而不是 LaTeX 问题。
在词汇表中,我想创建两个单独的条目,如下所示:
TCP Tool Control Point
TCP Transmission Control Protocol
其定义glossary.tex
如下:
\newacronym{TCP}{TCP}{Tool Control Point}
\newacronym{TCP}{TCP}{Transmission Control Protocol}
我希望使用命令来引用这些缩写\acrshort{TCP}
。现在这显然不太好用,因为 TCP 的含义完全取决于上下文。
使用\acroextra{}
第二个链接中看到的解决方案感觉不对,因为这两个缩写在完全不同的上下文中使用,在词汇表中将它们放在一起可能会造成混淆。
我的第一次尝试是将一个首字母缩略词更改为TCP*
并像这样使用它:
TCP* Tool Control Point
TCP Transmission Control Protocol
并使用 来引用它\acrshort{TCP*}
。
由于这并不美观,我正在寻找一种好方法来完成具有相同首字母缩略词的两个独立词汇表条目。我还想坚持\acrshort{}
让词汇表尽可能简单。谢谢你的帮助!
最小工作示例:
\documentclass{article}
\usepackage{glossaries}
\makeglossaries
\newacronym{TCP*}{TCP*}{Tool Control Point}
\newacronym{TCP}{TCP}{Transmission Control Protocol}
\begin{document}
\acrshort{TCP} might stand for ``Transmission Control Protocol''.
\acrshort{TCP*} might also stand for ``Tool Control Point'' depending on the
context.
\printglossary[title={Glossary}]
\end{document}
答案1
一种可能性是使用层次结构。例如:
\documentclass{article}
\usepackage[subentrycounter]{glossaries}
\makeglossaries
\newglossaryentry{TCP}{name={TCP},description={\nopostdesc}}
\newacronym[parent=TCP]{TCP1}{TCP}{Tool Control Point}
\newacronym[parent=TCP]{TCP2}{TCP}{Transmission Control Protocol}
\begin{document}
First instance: \gls{TCP1} and \gls{TCP2}.
\gls{TCP} might stand for ``Transmission Control Protocol''.
\gls{TCP} might also stand for ``Tool Control Point'' depending on the
context.
\printglossary[title={Glossary},style=treenoname]
\end{document}
得出的结果为:
在这种情况下,该TCP
条目只是一个普通条目,而不是缩写词,因此只需\gls{TCP}
在需要时引用它即可。该short
字段未设置,因此\acrshort{TCP}
不起作用。但是,我建议您在文本中实际引用适当的TCP1
或TCP2
(如果需要,更改标签,使其更容易记住)。如果您有超链接,这将使读者找到正确的定义。
例如:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\usepackage[subentrycounter]{glossaries}
\makeglossaries
\newglossaryentry{TCP}{name={TCP},description={\nopostdesc}}
\newacronym[parent=TCP]{ToolCP}{TCP}{Tool Control Point}
\newacronym[parent=TCP]{TransCP}{TCP}{Transmission Control Protocol}
\begin{document}
First instance: \gls{ToolCP} and \gls{TransCP}.
\gls{TransCP} might stand for ``Transmission Control Protocol''.
\gls{ToolCP} might also stand for ``Tool Control Point'' depending on the
context.
\printglossary[title={Glossary},style=treenoname]
\end{document}
得出的结果为: