我使用这个包\usepackage[acronym,toc]{glossaries}
在文中我通常通过 或 来写我的\gls{Acr}
缩写\acrshort{Acr}
词\acrlong{Acr}
这将显示我的缩写,例如:
缩写说明 (Acr)
乙酰辅酶
缩写说明
现在我的问题是:如何获得括号中的描述?
Acr(缩写说明)
我临时用过\acrshort{Acr} (\acrlong{Acr})
有没有更好的解决办法?
最小示例:
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp} % special chars
\usepackage{lmodern} % better fonts
\usepackage{relsize} % font size relative
\usepackage{xcolor}
\definecolor{navy}{RGB}{0,0,128}
\usepackage[
bookmarks,
bookmarksopen=true,
bookmarksnumbered,
colorlinks=true,
linkcolor=navy, % link colors
anchorcolor=black,% anchor link color
citecolor=navy, % referral to bibliography items in the text
filecolor=navy, % links to local files
menucolor=black, % Acrobat-menuecolor
urlcolor=navy,
backref,
plainpages=false, % needed for correct creation of bookmarks
pdfpagelabels=true, % needed for correct creation of bookmarks
hypertexnames=true, % needed for correct creation of bookmarks
linktocpage % page number linked to text in toc
]{hyperref}
\usepackage[acronym]{glossaries}
\makeglossaries
\newacronym{DIN}{DIN}{Deutsches Institut für Normung}
\begin{document}
Often I need the standard form: \gls{DIN}.
But sometimes I need it like this: \acrshort{DIN} (\acrlong{DIN}).
Better would be an single command that includes the bracket in the link.
\newpage
\printglossary
\end{document}
答案1
(将我的评论转移到答案中。)
您可以使用\glslink
提供指向词汇表条目的链接,其中包含您自己的自定义文本。这些命令\glsentrylong
仅\glsentryshort
显示长格式或短格式,而不执行任何其他操作(例如创建链接),因此您可以将它们组合起来以定义您的自定义命令:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\usepackage[acronym]{glossaries}
\makeglossaries
\newacronym{DIN}{DIN}{Deutsches Institut für Normung}
\newcommand*\myacr[2][]{\glslink[#1]{#2}{\glsentryshort{#2} (\glsentrylong{#2})}}
\begin{document}
Standard form: \gls{DIN}.
Other way round: \myacr{DIN}.
\printglossaries
\end{document}
得出的结果为:
请注意,这\glslink
不会改变第一次使用标志,所以如果我将上面的顺序更改为:
Other way round: \myacr{DIN}.
Standard form: \gls{DIN}.
然后\gls{DIN}
仍会完全展开。如果您想更改第一个使用标志,请使用\glsdisp
而不是\glslink
。