glossaries
有没有办法改变通过 定义包中首字母缩略词时首次出现时打印的方式\newacronym{cd}{CD}{compact disk}
。目前,我正在使用以下方法来实现它:
\newglossaryentry{BLAS}{%
type=\acronymtype,
name={BLAS},
description={Basic Linear Algebra Subprograms},
first={\glstext*{BLAS} (\glsdesc*{BLAS})}%
}
这种方法可行,但效果还不够理想,因为我需要特别设置 -item first
。还有其他想法吗?
答案1
您可以使用它\defglsdisplayfirst
来更改首次引用首字母缩略词时所采用的格式:
\documentclass{article}
\usepackage{glossaries}[2011/04/12]
\AtBeginDocument{%
\defglsdisplayfirst[\acronymtype]{%
\glsentryshort{\glslabel} (\glsentrylong{\glslabel})#4%
}%
}
\newacronym{BLAS}{BLAS}{Basic Linear Algebra Subprograms}
\makeglossaries
\begin{document}
\printglossary
\noindent
The \gls{BLAS} are \ldots
\end{document}
输出结果为:
答案2
如果你看一下部分13.3 定义自定义缩写样式的glossaries
文档,您就会找到您所需要的。
此代码的示例可以在以下位置找到:http://archive.cs.uu.nl/mirror/CTAN/macros/latex/contrib/glossaries/samples/sample-custom-acronym.tex。
答案3
我遇到了一些问题glsdisplayfirst
(缩写词后有多余的空格)。这是我使用newacronymstyle
(基于glossaries
官方示例代码)的解决方案示例自定义缩略词.tex):
\documentclass[hidelinks]{report}
\usepackage{hyperref}
\usepackage[acronym]{glossaries}
%define new style:
\newacronymstyle{custom-fn}% new style name
{% Check for long form in case of a mixed glossary
\ifglshaslong{\glslabel}{\glsgenacfmt}{\glsgenentryfmt}%
}%
{% Style definitions:
\glshyperfirstfalse
% Redefine the commands used by \glsgenacfmt on first use:
\renewcommand*{\genacrfullformat}[2]{%
\glsentryshort{##1} (\glsentrylong{##1})##2%
}%
\renewcommand*{\Genacrfullformat}[2]{%
\Glsentryshort{##1} (\Glsentrylong{##1})##2%
}%
\renewcommand*{\genplacrfullformat}[2]{%
\glsentryshortpl{##1} (\glsentrylongpl{##1})##2%
}%
\renewcommand*{\Genplacrfullformat}[2]{%
\Glsentryshortpl{##1} (\Glsentrylongpl{##1})##2%
}%
}
% Now set the new acronym style (to override the default style)
\setacronymstyle{custom-fn}
% Set an appropriate glossary style:
\setglossarystyle{altlist}
% Now define the acronyms (must be done after setting the custom
% style)
\newacronym{blas}{BLAS}{Basic Linear Algebra Subprograms}
\makeglossaries
\begin{document}
%\printglossaries
\noindent
First occurence of \gls{blas}.
\noindent
And second occurence of \gls{blas}.
\end{document}