我正在使用 glossaries-extra 来查找西班牙语和英语首字母缩略词,效果很好。我关注了以下帖子:
但是我想改变在定义了 user1 的情况下列表中显示首字母缩略词的顺序。
我正在用这个
\documentclass{article}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[acronym, nomain, nonumberlist, toc]{glossaries-extra}
\setabbreviationstyle[acronym]{long-short-user}
\renewcommand{\glsxtrpostdescacronym}{%
\ifglshasfield{\glsxtruserfield}{\glscurrententrylabel}%
{ (\textit{\glscurrentfieldvalue})}%
{}%
}
\makeglossaries
\newacronym[user1=Signal to Noise Ratio]{snr}{SNR}{relación señal a ruido}
\newacronym{utn}{UTN}{Universidad Tecnológica Nacional}
\begin{document}
Primer uso de \gls{snr}. Segundo uso de \gls{snr}.
Primer uso de \gls{utn}. Segundo uso de \gls{utn}.
\printglossaries
\end{document}
我得到:
但我想要:
总之我想展示
短的用户1(长的)
如果定义了 user1,否则我只想显示
短长
有人能帮助我吗?
此致,
马蒂亚斯
答案1
我能想到两种方法。第一种方法是定义一个自定义样式,修改该样式以检查字段user1
。例如:
\documentclass{article}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[acronym, nomain, nonumberlist, toc]{glossaries-extra}
\setabbreviationstyle[acronym]{long-short-user}
\makeglossaries
\newacronym[user1=Signal to Noise Ratio]{snr}{SNR}{relación señal a ruido}
\newacronym{utn}{UTN}{Universidad Tecnológica Nacional}
\newglossarystyle{bilinguallist}{%
\setglossarystyle{list}% base it on the list style
\renewcommand*{\glossentry}[2]{%
\item[\glsentryitem{##1}%
\glstarget{##1}{\glossentryname{##1}}]
\ifglshasfield{\glsxtruserfield}{##1}%
{\textit{\glscurrentfieldvalue} (\glossentrydesc{##1})}%
{\glossentrydesc{##1}}%
\glspostdescription\space ##2}%
}
\setglossarystyle{bilinguallist}% set this new style
\begin{document}
Primer uso de \gls{snr}. Segundo uso de \gls{snr}.
Primer uso de \gls{utn}. Segundo uso de \gls{utn}.
\printglossaries
\end{document}
第二种方法修改了\glossentrydesc
显示描述时所有预定义词汇表样式所使用的样式。
使用基础glossaries
包时,此命令仅检查条目是否已定义并显示描述。glossaries-extra
包重新定义此命令以设置当前缩写样式并检查属性glossdescfont
,glossdesc
然后再显示描述。
如果您不想使用glossdescfont
和glossdesc
属性,您可以像\glossentrydesc
这样重新定义:
\documentclass{article}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[acronym, nomain, nonumberlist, toc]{glossaries-extra}
\setabbreviationstyle[acronym]{long-short-user}
\makeglossaries
\newacronym[user1=Signal to Noise Ratio]{snr}{SNR}{relación señal a ruido}
\newacronym{utn}{UTN}{Universidad Tecnológica Nacional}
\renewcommand{\glossentrydesc}[1]{%
\glsdoifexistsorwarn{#1}%
{%
\glssetabbrvfmt{\glscategory{#1}}%
\ifglshasfield{\glsxtruserfield}{#1}%
{\textit{\glscurrentfieldvalue} (\glsentrydesc{#1})}%
{\glsentrydesc{#1}}%
}%
}
\begin{document}
Primer uso de \gls{snr}. Segundo uso de \gls{snr}.
Primer uso de \gls{utn}. Segundo uso de \gls{utn}.
\printglossaries
\end{document}
结果和以前一样。