![交叉引用文本中未显示的缩写词](https://linux22.com/image/284376/%E4%BA%A4%E5%8F%89%E5%BC%95%E7%94%A8%E6%96%87%E6%9C%AC%E4%B8%AD%E6%9C%AA%E6%98%BE%E7%A4%BA%E7%9A%84%E7%BC%A9%E5%86%99%E8%AF%8D.png)
我使用词汇表,除了标准缩略词外,还定义一些这样的缩略词:
\documentclass{scrreprt}
\usepackage{xcolor}
\definecolor{navy}{RGB}{0,0,128}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[
colorlinks=true,
linkcolor=navy,
anchorcolor=black,
urlcolor=navy
]{hyperref}
\usepackage[acronym,toc]{glossaries}
\makeglossaries
\newglossaryentry{P2P}{
type=\acronymtype,
name={P2P},
description={Peer-to-Peer},
first={Peer-to-Peer (P2P)},
see=[\glossaryname:]{Peer-to-Peer}
}
\newglossaryentry{Peer-to-Peer}{
name={Peer-to-Peer},
description={Eine direkte Kommunikation zwischen zwei Teilnehmern}
}
\newglossaryentry{Plug-in}{
name={Plug-in},
description={Ein Softwaremodul, das zur Laufzeit eingebunden werden kann und damit die Funktionalität eines Systems erweitert}
}
\newacronym{DIN}{DIN}{Deutsches Institut für Normung}
\newcommand*\acrshortlong[2][]{\glslink[#1]{#2}{\glsentryshort{#2} (\glsentrylong{#2})}}
\begin{document}
Works as expected:
gls: \gls{Plug-in}
gls: \gls{DIN}
acrshort: \acrshort{DIN}
acrshortlong: \acrshortlong{DIN}
gls: \gls{Peer-to-Peer}
Not as expected:
acrshort: \acrshort{P2P}
acrshortlong: \acrshortlong{P2P}
\glossarystyle{altlist}
\printglossary[type=\acronymtype]
\glossarystyle{altlist}
\printglossary
\end{document}
不幸的是,\acr... 命令无法按预期使用通过 \newglossaryentry 定义的 type=\acronymtype 的首字母缩略词
有人知道如何让这些交叉引用缩写也能按预期工作吗?
答案1
(将评论转换为答案。)
\glsentrylong
和等命令\glsentryshort
可访问long
和short
键。这些键(及其复数版本)由 设置,\newacronym
但如果需要,则在使用 时必须明确设置\newglossaryentry
。但是在这种情况下,只需使用 的可选参数来\newacronym
设置交叉引用信息就更简单了:
\newacronym[see={[\glossaryname:]{Peer-to-Peer}}]{P2P}{P2P}{Peer-to-Peer}