我正在使用glossaries
包来处理我的首字母缩略词。它非常好,但我希望在第一次使用 后始终使用长格式而不是短格式\gls
。
有人知道我怎样才能\gls
在第一次出现后使用并获得长格式吗(没有使用\glsentrylong
或\acrlong
)?
梅威瑟:
\documentclass{scrbook}
\usepackage{hyperref}
\usepackage[nonumberlist]{glossaries}
\newacronym[longplural={acronyms},shortplural={ACRs}]{REF}{ACR}{acronym}
\begin{document}
\noindent
First use: \Gls{REF}\\
2nd and following use: \gls{REF}
\printglossaries
\end{document}
我目前得到这个:
我需要这个:
答案1
该命令决定了当您使用和 朋友\glsgenacfmt
排版首字母缩略词时具体打印什么。当首字母缩略词已被使用时,它会使用 (以及大写和复数形式)。\gls
\glsentryshort
我们可以重新定义,并用替换\glsgenacfmt
的所有实例。然后我们得到:entryshort
entrylong
\documentclass{article}
\usepackage[nonumberlist]{glossaries}
\renewcommand*{\glsgenacfmt}{%
\ifdefempty\glscustomtext{%
\ifglsused\glslabel{%
\glsifplural{%
\glscapscase
{\acronymfont{\glsentrylongpl{\glslabel}}\glsinsert}%
{\acronymfont{\Glsentrylongpl{\glslabel}}\glsinsert}%
{%
\mfirstucMakeUppercase
{\acronymfont{\glsentrylongpl{\glslabel}}\glsinsert}%
}%
}%
{%
\glscapscase
{\acronymfont{\glsentrylong{\glslabel}}\glsinsert}%
{\acronymfont{\Glsentrylong{\glslabel}}\glsinsert}%
{%
\mfirstucMakeUppercase
{\acronymfont{\glsentrylong{\glslabel}}\glsinsert}%
}%
}%
}%
{%
\glsifplural{%
\glscapscase
{\genplacrfullformat{\glslabel}{\glsinsert}}%
{\Genplacrfullformat{\glslabel}{\glsinsert}}%
{%
\mfirstucMakeUppercase
{\genplacrfullformat{\glslabel}{\glsinsert}}%
}%
}%
{%
\glscapscase
{\genacrfullformat{\glslabel}{\glsinsert}}%
{\Genacrfullformat{\glslabel}{\glsinsert}}%
{%
\mfirstucMakeUppercase
{\genacrfullformat{\glslabel}{\glsinsert}}%
}%
}%
}%
}%
{\glscustomtext}%
}
\setacronymstyle{long-short}
\newacronym[longplural={acronyms},shortplural={ACRs}]{REF}{ACR}{acronym}
\makeglossaries
\begin{document}
First use: \Gls{REF} \par
2nd and following use: \Gls{REF} and \gls{REF}
\printglossaries
\end{document}
免责声明:我对此不太熟悉glossaries
,我希望有更简单的方法,但我还没有找到。(当然,这并不意味着没有。)