表格环境中的首字母缩略词未显示在首字母缩略词列表中

表格环境中的首字母缩略词未显示在首字母缩略词列表中

我对缩略词列表有疑问。表格中提到的缩略词未打印在缩略词列表中。

我使用acro包并使用 来调用首字母缩略词,\acs因为我只想要文本中的短格式。但这对问题没有任何影响。我使用 创建列表\printacronyms

我已经通过将首字母缩略词放在表格之外进行了测试。在这种情况下,它们会打印在列表中。

以下是一个例子:

\documentclass[10pt, a4paper]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{adjustbox}
    \usepackage{makecell}
    \usepackage{numprint}
    \selectlanguage{ngerman}
    \usepackage{float}
    \usepackage{tikz}
    \usepackage[linewidth=1pt]{mdframed}
    \usepackage{graphicx}
    
    \usepackage{acro}
    \DeclareAcronym{gesch}{
     short = gesch. ,
     long  = Geschätzt,
     class = abbrev
                          }
    
    \DeclareAcronym{tsd}{
     short = Tsd. ,
     long  = Tousend,
     class = abbrev
                          }
    \DeclareAcronym{utaut}{
     short = UTAUT ,
     long  = Unified Theory of Acceptance and Use of Technology ,
     class = abbrev
                          }                       
    \DeclareAcronym{usw}{
     short = usw. ,
     long  = Und so weiter ,
     class = abbrev
                          }

\begin{document}
    \pagenumbering{roman}

\newpage
\printacronyms
\newpage

    \pagenumbering{arabic}

\section{Theoretischer Hintergrund}

Test the acronyms \acs{usw}. The Theory is \acs{utaut}.

\begin{table}[H]
    \centering
        \begin{mdframed}
            \begin{adjustbox}{max width=0.99\textwidth,center}
                \begin{tabular}{llccc}
\hline 
\textbf{Stadt} & \textbf{Land} & \textbf{Bevölkerungsanzahl} & \makecell{\textbf{\acs{gesch}} \\ \textbf{Nutzer}} & \makecell{\textbf{\acs{gesch}} \\ \textbf{Nutzer in $\%$}} \\ 
 & & & & \\
Poznan & PL & \numprint{530} \acs{tsd} & \numprint{450} \acs{tsd} & 84,9$\%$ \\ 
Madrid & SP & \numprint{173} \acs{tsd} & \numprint{170} \acs{tsd} & 97,8$\%$ \\ 
& & & & \\ 
\hline
\hline
& & & & \\
Berlin & DE & \numprint{222} \acs{tsd} & \emph{\numprint{173}} \acs{tsd} & \emph{80,8$\%$}  \\
& & & & \\
\hline 
                \end{tabular}
            \end{adjustbox}
        \end{mdframed}
\caption[Geschätzte Anteile]{Geschätzte Anteile (Quelle: Eigene Verarbeitung)}
\label{tabi}
\end{table}

\end{document}

这是我得到的结果(也是经过多次编译后): 在此处输入图片描述

虽然这是我需要的(我在输入首字母缩略词后得到了这个外部table这样的环境 :)Test the acronyms \acs{usw}. The Theory is \acs{utaut}. \textbf{\acs{gesch}} \numprint{450} \acs{tsd}在此处输入图片描述

任何建议如何展示全部无论在文档中何处提到缩写词,它都会出现在列表中?

答案1

这个问题更好的标题可能是缩略词仅使用table环境中未显示在首字母缩略词列表中重现该行为的最小示例可能是:

\documentclass{article}
\usepackage{acro}

\DeclareAcronym{a}{
  short = a ,
  long  = the letter a
}

\begin{document}

\printacronyms

\begin{table}
  \ac{a}
\end{table}

\end{document}

在此处输入图片描述

这会导致缩写词列表为空。原因是浮动内部acro会关闭将缩写词标记为已使用的机制。这是因为浮动的放置通常与周围文本有些独立,否则缩写词可能会过早被标记为已使用。无论如何,我们假设用户会在运行文本中使用和解释缩写词。

然而,不幸的是,在 v3.2a(2020/11/08)之前没有记录此行为,显然用户可能更愿意恢复浮点数中的行为。v3.2a 及更高版本提供了关闭和打开它acro的选项。您还可以在浮点数的开头使用以仅针对某些浮点数关闭行为(这在早期版本中也有效)。patch/floats = true|false\acswitchon

\documentclass{article}
\usepackage{acro}

\DeclareAcronym{a}{
  short = a ,
  long  = the letter a
}

\acsetup{patch/floats=false}

\begin{document}

\printacronyms

\begin{table}
  \ac{a}
\end{table}

\end{document}

在此处输入图片描述

相关内容