pdfstringdefDisableCommands para comandos con argumentos opcionales (nota al pie del proyector)

pdfstringdefDisableCommands para comandos con argumentos opcionales (nota al pie del proyector)

Estoy intentando eliminar \cite, \footnoteetc. de los títulos de los marcos del proyector para cadenas de pdf. Genero marcadores para todos los títulos de mis marcos usando \bookmark[page=\the\c@page,level=3]{\beamer@frametitle}, por lo que cada vez que dichos comandos surgen en un título de marco, causan problemas. Sé que puedo resolverlos manualmente usando \texorpdfstring, pero prefiero tener valores predeterminados que "simplemente funcionen", ya que estos errores son fáciles de pasar por alto.

Esto funciona bien para los casos básicos de \boldmathy \cite{key}, pero no puedo hacerlo funcionar con comandos que tienen parámetros opcionales como

\footnote[frame]{footnote text}

lo he probado por ejemplo

\pdfstringdefDisableCommands{%
  \def\boldmath{}% easy case you'll find in many examples
  \def\cite{\@gobble}% supposedly does not work with optionals either
  \renewcommand<>{\footnote}[1][]{}%
}

Pero eso no funciona.

Ejemplo mínimamente funcional (el problema está en el PDF)marcadores!):

\documentclass{beamer}
\usepackage{hyperref,bookmark}
\makeatletter
\setbeamertemplate{frametitle}{\insertframetitle
  \bookmark[page=\the\c@page,level=3]{\beamer@frametitle}}
\makeatother

\begin{document}
\begin{frame}{Frametitle \footnote[frame]{Footnote}}
  Frame text
\end{frame}
\end{document}

Este archivo tendrá un marcador como "Título del marco [marco]Nota al pie". Sólo quiero "título del marco". Y quiero resolver esto globalmente, no localmente, ajustando como \texorpdfstring{\footnote[frame]{Footnote}}{}(eso funciona, pero requiere revisar todos los fotogramas problemáticos individualmente). Problema con los marcadores

Respuesta1

\documentclass{beamer}
\usepackage{hyperref,bookmark}
\usepackage{xparse}
\makeatletter
\setbeamertemplate{frametitle}{\insertframetitle
  \bookmark[page=\the\c@page,level=3]{\beamer@frametitle}}
\makeatother
\NewExpandableDocumentCommand\gobbleoptandarg{om}{}
\pdfstringdefDisableCommands{\let\footnote\gobbleoptandarg}%
\begin{document}
\begin{frame}{Frametitle \footnote[frame]{Footnote}}
  Frame text
\end{frame}
\end{document}

información relacionada