glossaries
我在使用和 时遇到了问题tikz
。在\gls
a 内部使用时tikzpicture
,第二次使用 会\gls
再次打印整个内容,而不仅仅是首字母缩略词。是否有我不明白的问题?请参阅下面的 MWE'ish 代码。
\documentclass[
10pt,
aspectratio=1610,
x11names,
]{beamer}
\definecolor{AADarkBlue}{RGB}{33,26,82}
\definecolor{AAGreyBlue}{RGB}{84,97,110}
\usepackage[automake,acronym,nopostdot,shortcuts=all,nonumberlist,xindy]{glossaries-extra}
\setabbreviationstyle{long-short}
\renewcommand{\glossarypreamble}{\scriptsize}
\makeglossaries
\AtBeginDocument{\glsaddall}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows}
\tikzset{
block/.style = {rectangle, draw=AAGreyBlue, fill=AADarkBlue!30, text width=3.5em, text centered, rounded corners, minimum height=3em},
line/.style = {draw=AAGreyBlue, color=AAGreyBlue, -latex'},
}
\newglossaryentry{PTCA}{
type=\acronymtype,
name={PTCA},
description={perkutane transluminale koronare Angioplastie},
first={perkutane transluminale koronare Angioplastie (PTCA)}
}
\begin{filecontents}{FlowTherapyOptionsPTCA.tex}
\begin{tikzpicture}[
node distance = .75cm,
auto,
font=\footnotesize,
]
\tikzset{
every node/.style={
text=AAGreyBlue
}
}
% Place nodes
\node [block, text width=8.25em] (PTCA) {\glsfirst{PTCA} notwendig};
\end{tikzpicture}
\end{filecontents}
\begin{filecontents}{FlowDosingScheme.tex}
\begin{tikzpicture}[
node distance = .75cm,
auto,
font=\footnotesize,
]
\tikzset{
every node/.style={
text=AAGreyBlue
},
}
% Place nodes
\node [block] (Cangrelor) {KengrexalVial};
\node [block, below left=of Cangrelor, text width=5cm, minimum height=1.5cm] (PTCA) {
stuff};
\node [block, below right=of Cangrelor, text width=5cm, minimum height=1.5cm] (Bridging) {
mor stuff};
% Draw edges
\path [line] (Cangrelor.265) |- ([xshift=-.25cm,yshift=-.25cm]Cangrelor.260) -| node [near start, above, font=\scriptsize] {\gls{PTCA}} (PTCA.north);
\path [line] (Cangrelor.275) |- ([xshift=.25cm,yshift=-.25cm]Cangrelor.270) -| node [near start, above, font=\scriptsize] {Bridging} (Bridging.north);
\end{tikzpicture}
\end{filecontents}
\begin{document}
\begin{frame}
\begin{figure}[p]
\input{FlowTherapyOptionsPTCA}
\end{figure}
\end{frame}
\begin{frame}
\begin{figure}[p]
\input{FlowDosingScheme}
\end{figure}
\end{frame}
\begin{frame}[allowframebreaks]
\printglossary[type=\acronymtype]
\end{frame}
\end{document}
答案1
\glsfirst 是 glossaries-user.pdf 第 6.2 节中提到的 \glstext 类命令之一。这些命令“不会更改或引用首次使用标志”——因此,当您在图片中使用 \gls{PTCA} 时,它被视为首次使用。
我猜你只是误解了命令名称:据我了解,\glsfirst 不能用于第一次引用词汇表条目时, 但如果你希望引用看起来就像第一次使用时一样。这完全说得通——如果您第一次使用词汇表条目时必须使用 \glsfirst,之后再使用 \gls,那么您就必须自己跟踪已经使用过的词汇表条目。这会使使用 glossaries-package 变得毫无意义,因为它会带走所有的魔力。
简短回答:使用 \gls 而不是 \glsfirst,就可以了!