如何在 Beamer 中使用缩略词包

如何在 Beamer 中使用缩略词包

对于基于 beamer 的演示文稿,我想重复使用我在论文中创建的一些图形/表格/图解。这些图形/表格/图解存储在专用文件中,以便我可以单独处理它们(减少编译时间并始终拥有 MWE)。

因此,将这些内容纳入演示文稿中相当容易。在论文中,我使用了“acronym”包来管理首字母缩略词,这需要一个专门的部分来显示使用的首字母缩略词(由于排序,首字母缩略词定义也在外部文件中)。我想避免出现首字母缩略词定义,但这似乎会破坏使用首字母缩略词的图形/表格/图表。

添加首字母缩略词部分解决了首字母缩略词的问题,但看起来不太好看。“隐藏”带有首字母缩略词的页面实际上也不起作用......(在 MWE 中,首字母缩略词在框架标题中用作示例,但它们可以位于任何地方。)

有任何想法吗:

\documentclass{beamer}
\usepackage[printonlyused]{acronym}

\title{Title}
\author{Author}
\institute{An institute}

\mode<presentation>
\usetheme{Boadilla}

\begin{document}
% this would work but shows the acronyms
%\begin{frame}
%    \begin{acronym}[~~~~]
%        \acro{TLA}{Three Letter Acronym}
%        \acused{TLA}
%    \end{acronym}
%\end{frame}
% this hides the acronym page but doesn't work otherwise
\begin{frame}<presentation:0>[noframenumbering]
    \begin{acronym}[~~~~]
        \acro{TLA}{Three Letter Acronym}
        \acused{TLA}
    \end{acronym}
\end{frame}
\begin{frame}
    \frametitle{\ac{TLA} used here}
\end{frame}
\end{document}

答案1

\acrodef在序言中而不是在环境\acro内部aycronym以及\acs而不是的组合\ac应该会产生预期的输出。

\documentclass{beamer}
\usepackage{acronym}

\title{Title}
\author{Author}
\institute{An institute}

\mode<presentation>
\usetheme{Boadilla}

\acrodef{TLA}{Three Letter Acronym}
 
\begin{document}

\begin{frame}
    \frametitle{\acs{TLA} used here}
\end{frame}

\end{document}

答案2

根据@leandriis 使用 acrodef 的回答,我想出了这个解决方案。

看来\acro宏仅在环境中可用,acronym因此\newcommand使用它而不是\renewcommand将其映射到acrodef。为什么不直接使用\acrodef?所有\acro定义都已在外部文件中。重新定义命令可避免更改共享文件。

由于\acused可以在任何地方使用,因此可以模仿论文中使用的缩写。使用该\acused命令将强制使用稍后使用的特定缩写的缩写版本。

\documentclass{beamer}
\usepackage{acronym}

\title{Title}
\author{Author}
\institute{An institute}

\mode<presentation>
\usetheme{Boadilla}

\newcommand{\acro}[2]{\acrodef{#1}{#2}}
\acro{TLA}{Three Letter Acronym}
\acused{TLA}

\begin{document}
\begin{frame}
    \titlepage
\end{frame}
\begin{frame}
    \frametitle{\ac{TLA} used here}
\end{frame}
\end{document}

相关内容