.png)
Estoy intentando eliminar \cite
, \footnote
etc. 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 \boldmath
y \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).
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}